Soundex
Soundex は英語の名前を発音に基づいて 1 文字+3 桁の数字に符号化する音韻アルゴリズムで、よく似た発音の名前に同じコードを与える。人名のあいまい検索に使われる。
目的
英語の発音で名前を符号化し、綴りが違っても発音が似ていればマッチできるようにする。
メカニズム
先頭文字を保持し、母音と h/w/y(a,e,i,o,u,h,w,y)を落とし、子音をグループごとに数字へ写像し(b,f,p,v→1、c,g,j,k,q,s,x,z→2、d,t→3、l→4、m,n→5、r→6)、隣接する同グループコードを崩し、0 で埋めて 3 桁にする。
ユースケース
- 人名データベースの検索
- 家系や系譜をたどる検索
- スペル訂正
- レコードの重複排除
例
- 入力
RobertOutputR163Robert and Rupert share the same code
よくあるエラー
- Soundex suits English only; other languages need adjustments
- Use a language-specific phonetic algorithm