编码 | 匹配 | 评分

> match | rating | approach <

// MRA - 面向智能姓名匹配的 Match Rating Approach 算法

0 字符
0 字符
[SCORING]

相似度评分

计算姓名之间的数值相似度分数。

[6-CHAR]

6 字符编码

使用前 3 位和后 3 位生成紧凑编码。

[INTELLIGENT]

智能匹配

根据姓名长度自动调整匹配阈值。

>> 技术说明

Match Rating Approach 的工作原理

Match Rating Approach(MRA)是 Western Airlines 在 1977 年提出的姓名语音匹配算法。它先通过删除元音(首字母除外)、去重连续辅音,并将结果压缩为最多 6 个字符(长度超过 6 时取前 3 + 后 3),得到姓名的 MRA 代码;在比较阶段,则从首尾两个方向对代码进行字符比对,根据两个代码的总长度动态计算匹配阈值,从而判断是否“匹配”。

为什么选择 MRA

  • 在处理姓名变体时比 Soundex 更精确
  • 内置相似度评分体系,便于排序
  • 同时兼顾发音差异和拼写差异
  • 适合用于数据库去重与合并
  • 对家谱研究和记录关联非常有效

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?

Match Rating Approach(MRA)是一种用于姓名匹配的语音算法,由 Western Airlines 于 1977 年提出。它将编码阶段与比较阶段结合起来,为每个姓名生成语音代码,并给出两个姓名之间的相似度评分。

MRA 与其他语音算法有何不同?

与只生成代码的 Soundex 或 Metaphone 不同,MRA 包含一套更复杂的比较算法,用于计算相似度分数;它会根据姓名长度自动调整匹配阈值,因此在不同类型姓名上更灵活、更准确。

相似度评分代表什么含义?

相似度评分是指对两个 MRA 代码从首尾进行比对时,匹配字符的数量。所需的最低分数取决于代码总长度——越短的姓名,需要越高的相似度才能被视为“匹配”。

哪些场景适合使用 MRA?

MRA 非常适合需要精细姓名匹配的场景,例如客户数据库去重、家谱和族谱研究、欺诈检测以及跨系统记录关联,尤其适合识别不同拼写形式下的潜在重复记录。

已复制!