// Phonex - 面向姓名匹配的高级语音编码
最长 8 位编码,更好地区分相似姓名。
将发音相近的辅音归为同一组。
可变长度编码,支持尾部零填充。
Phonex 是为姓名匹配优化的语音编码算法。它保留首字母,对 PH→F、KN→N 等字母组合应用特殊规则,按发音将相近的辅音归类,并在不影响辅音分隔的前提下删除元音。最终生成 4–8 位编码,在允许拼写差异的同时,尽量保留姓名的发音特征。
辅音映射: B,P,V,F → B C,K,Q,G,J → C S,Z,X → S D,T → D L → L M,N → M R → R 特殊组合: PH → F,KN → N GH → 移除 WR → R 示例: STEPHEN → SDBM0 S-T[D]-[e]-PH[F→B]-[e]-N[M] ASHCRAFT → ASCRF0 A-S[S]-H[移除]-C[C]-R[R]-A[移除]-F[B]-T[D] KNIGHT → NCD0 KN[N]-I[移除]-GH[移除]-T[D]
Phonex 是一种改进自 Soundex 等传统方案的语音编码算法,用于将姓名映射为便于比较的编码。它在处理辅音簇、不发音字母以及英文姓名中常见的拼写差异方面表现更好。
Phonex 使用更精细的辅音分组,对 PH、KN、GH 等特殊字母组合有专门规则,生成 4–8 位(而非固定 4 位)编码,并更好地保留姓名的语音结构。
当你需要在存在多种拼写形式的英文姓名之间进行匹配时,例如家谱研究、客户数据库去重或任何依赖姓名语音匹配的场景,Phonex 都非常适用。
Phonex 主要针对英文姓名优化,对其他语言的姓名效果可能有限。对于非英文姓名,可以考虑 Double Metaphone 或 Daitch-Mokotoff 等算法。