// MRA - 用於智慧姓名比對的 Match Rating Approach 演算法
計算姓名之間的數值相似度。
使用前 3 與後 3 個字元產生精簡編碼。
依姓名長度自動調整匹配門檻。
Match Rating Approach(MRA)是 Western Airlines 於 1977 年提出的姓名語音比對演算法。它會先刪除母音(首字母除外)、合併連續重複的子音,並將結果壓縮為最多 6 個字元(長度超過 6 時取前 3 + 後 3),以產生姓名的 MRA 代碼;在比對階段,則從頭尾兩端對代碼逐字比較,依兩個代碼的總長度動態計算匹配門檻,判斷是否視為「匹配」。
編碼步驟:
1. 刪除母音(保留第一個字母)
2. 刪除連續重複的子音
3. 若長度 > 6,保留前 3 + 後 3 個字元
範例:
CATHERINE → CTHRN
C[a]TH[e]R[i]N[e] → CTHRN
KATHERINE → KTHRN
K[a]TH[e]R[i]N[e] → KTHRN
SMITH → SMTH
SM[i]TH → SMTH
匹配門檻:
總長度 ≤ 4:需要 5 個相同字元
總長度 5–7:需要 4 個相同字元
總長度 8–11:需要 3 個相同字元
總長度 ≥ 12:需要 2 個相同字元
CTHRN vs KTHRN:
總長度 = 10,需要 3 個相同字元
實際:4 個相同字元 → MATCH!
Match Rating Approach(MRA)是一種用於姓名比對的語音演算法,由 Western Airlines 於 1977 年設計。它結合編碼與比對兩個階段,為每個姓名產生語音代碼,並計算兩個姓名之間的相似度分數。
不同於僅產生代碼的 Soundex 或 Metaphone,MRA 內建更複雜的比對邏輯來計算相似度分數,並會依姓名長度自動調整匹配門檻,因此在各種姓名類型上都更具彈性與準確性。
相似度分數表示在從頭與尾兩端比較兩個 MRA 代碼時,字元相同的數量。所需的最低分數取決於代碼總長度——越短的姓名需要越高的相似度才能被視為有效匹配。
MRA 非常適合用在需要精細姓名比對的情境,例如客戶資料庫去重、家譜研究、詐欺偵測以及跨系統紀錄關聯,特別適合找出不同拼法但可能為同一人的紀錄。