> phonex | encoder <
// Phonex - 名前マッチングのための高度な音声エンコード
拡張コード
最大 8 文字のコードで、名前をより細かく区別できます。
スマートな子音グループ化
発音が似た子音を音声的にグループ化します。
柔軟な長さ
ゼロ埋めに対応した可変長コード。
>> 技術情報
Phonex の仕組み
Phonex は名前のマッチング精度を高めるための音声エンコードアルゴリズムです。最初の文字を保持し、PH→F や KN→N のような特別な綴り規則を適用し、似た子音をグループ化し、子音の間を区切る場合を除き母音を削除します。これにより、綴りの揺れを許容しながら名前の発音の特徴を表す 4〜8 文字のコードを生成します。
Phonex を使う理由
- 黙字(発音しない文字)をより適切に処理。
- 子音のグループ化が強化されている。
- 英語の名前に最適化。
- 一般的な綴りのゆれに強い。
- より長いコードでマッチング精度を向上。
Phonex エンコード例
子音のマッピング:
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 とは何ですか?
Phonex は Soundex などの従来方式を改良した音声エンコードアルゴリズムです。子音クラスタや黙字、英語の名前でよく見られる綴り違いをより良く扱います.
Phonex は Soundex とどう違いますか?
Phonex はより高度な子音グループを使用し、PH・KN・GH などの特別な綴りを処理し、4 桁ではなく 4〜8 文字のコードを生成し、名前の音声構造をより忠実に保持します。
Phonex を使う場面は?
Phonex は綴りが揺れる英語の名前の照合、系譜研究、顧客データベースの重複排除など、名前の発音ベースのマッチングが重要なあらゆる用途に適しています。
Phonex の制限はありますか?
Phonex は英語の名前向けに最適化されており、他言語の名前には十分に機能しない場合があります。非英語の名前には、Double Metaphone や Daitch-Mokotoff などのアルゴリズムの利用を検討してください。
// 比較
| アルゴリズム | Year | Preprocessing | Output |
|---|---|---|---|
| Soundex | 1918 | none | first letter + 3 digits |
| Phonex | 1996 (Lait & Randell) | letter-combination rules (e.g. WR → R, MB → M, TCH → CH), trailing S removal | first letter + consonant codes |
// algo
Phonex = Soundex + pre-processing 1. upper-case, keep A-Z only 2. replace letter combinations (WR -> R, MB -> M, TCH -> CH ...) 3. drop a trailing S after a consonant 4. keep first letter, code the remaining consonants 5. skip vowels and repeated codes, pad / truncate
>> その他の質問
Q: Phonexとは?
A: Phonexは1996年にLaitとRandellが発表した音声アルゴリズムで、名前を先に前処理(文字の組み合わせの置換など)してからコード化することでSoundexを改良しています。
Q: SoundexではなくPhonexを使うべき場面は?
A: 名前にWR、MB、TCHのような文字の組み合わせを含む表記ゆれがある場合です。前処理により、素のSoundexで起きる誤一致が減ります。
Q: Phonexはあいまい検索の代わりになりますか?
A: いいえ。Phonexは発音の似た名前を大まかに絞り込む前段のフィルタです。正確な順位付けにはLevenshteinなどの編集距離と組み合わせます。