> metaphone | 音声 | サウンド <
// Metaphone ― 発音に基づいて単語をインデックス化するための音声アルゴリズム
音声ベース
つづりではなく発音に基づいて単語をエンコードします。
ファジーマッチング
綴りが異なっても似た発音の単語を見つけます。
英語向けに最適化
英語の発音ルールに特化して設計されています。
>> 技術情報
Metaphone の仕組み
Metaphone は、英語の発音に基づいて単語をエンコードする音声アルゴリズムです。文字や文字の組み合わせを音声コードに変換するために、一連の変換ルールを適用します。似た発音の単語は同じコードになるため、ファジーマッチング、スペルチェック、データベースでの名前照合などに役立ちます。
Metaphone を使う理由
- つづりの違いをまたいだデータベースでの名前照合
- スペルチェックと修正候補の提示
- アプリケーションでのファジー検索
- 姓の異綴りを扱う系譜学・家系調査
- 音声認識および音声処理
Metaphone の例
よく使われる変換:\nPH → F (phone → FON)\nCH → X (church → XRCH)\nC+E/I/Y → S (center → SNTR)\nG+E/I/Y → J (george → JRJ)\n\n似た発音の単語:\nSmith → SM0\nSmythe → SM0\nSchmidt → XMT\n\nKnight → NT\nNight → NT\n\nCough → KF\nCoffee → KF
>> よくある質問
Metaphone とは何ですか?
Metaphone は、1990 年に Lawrence Philips によって提案された音声アルゴリズムです。より複雑な規則を用いて英語の発音パターンをより正確に表現することで、Soundex を改良しています。
Metaphone は Soundex とどう違いますか?
Metaphone はより高度な規則を用い、文字の位置や組み合わせを考慮します。姓向けに設計され、単純な数値コードを使う Soundex と比べ、英語の単語に対してより高い精度を提供します。
Metaphone コードは何に使われますか?
Metaphone コードは、スペルチェッカー、検索エンジン、データベースの重複排除、系譜調査、そして綴りは違っても発音が似ている単語を照合するあらゆるアプリケーションで利用されます。
Metaphone は特定の言語向けですか?
はい。Metaphone は英語の発音向けに設計されています。他の言語では、Cologne phonetic(ドイツ語)や Caverphone(ニュージーランド英語)など別の音声アルゴリズムの方が適している場合があります。
// クイックリファレンス
| Letters | Code | 説明 |
|---|---|---|
| PH | F | PH → F |
| TH | 0 | TH → 0 (zero = “th”) |
| SH, CH | X | SH, CH → X |
| KN GN PN AE WR | — | drop first letter at word start |
| WH | W | WH → W at word start |
| C + I/E/Y | S | C → S, otherwise K |
| DG + I/E/Y | J | DG → J |
| A E I O U | — | vowels kept only at word start |
// algo
word -> upper-case letters only 1. apply initial-letter rules (KN, GN, PN, AE, WR, WH, X) 2. scan left to right, mapping letters by the rule table 3. skip duplicate adjacent letters (except C) 4. drop vowels unless first letter 5. output = remaining codes
>> その他の質問
Q: Metaphoneアルゴリズムとは?
A: 1990年にLawrence Philipsが考案したMetaphoneは、英語の発音規則に基づいて単語を音のコードに変換します。似た発音の語は同じコードになります。
Q: MetaphoneとSoundexの違いは?
A: Soundexは文字グループだけを使い、固定4文字を返します。Metaphoneは文脈規則(PH→F、KN→Nなど)を適用し、可変長の文字コードを生成するため、英語の名前をより正確に区別できます。
Q: Metaphoneコードの「0」とは?
A: 0は伝統的に「th」の音(thinkなど)を表します。THとTを区別するための記号で、Soundexのような数字ではありません。