音声マッチングアルゴリズム

私は名前のための様々な表音マッチングコード変換を適用するデータクリーニングパイプラインに取り組んできました。最近、この記事さまざまなアルゴリズムを比較します。ほとんどのアプリケーションで、この論文はPhonexが私のユースケースに最適であることを発見しました。

元の論文は、 Phonexのこのドキュメントを参照してください。 Phonexにエンコードするためのいくつかのステップ:

アルゴリズムは各名前を4文字のコードに変換します。   同等の名前を識別するために使用され、次のように構成されています。

     

次の規則に従って名前を前処理します:

     
      
  1. 名前の末尾にあるすべての末尾の 'S'文字を削除します。

  2.   
  3. 主要な文字ペアを次のように変換します:

  4.   
     

KN→N WR→R PH→F

     
      
  1. 次のように先頭の1文字を変換します:
  2.   
     

H→E、I、O、U、Y→A K、Q→C P→B J→G V→F Z→S <      

次の規則に従って前処理された名前をコードします:

     
      
  1. 名前の最初の文字を保持し、A、E、H、I、O、U、W、Yのすべての出現を他の位置にドロップします。

  2.   
  3. 最初の文字の後ろの残りの文字に次の数字を割り当てます。

  4.   
     P、B、F、P、V→1 C、G、J、K、Q、S、X、Z→2 D、T→3   C. L→4母音または母音が続く場合。 M、N→5次を無視する   R→6母音または母音が続く場合

     
      
  1. コードの最後の文字と同じコード桁がある場合は、現在の文字を無視します。

  2.   
  3. 「文字、数字、数字、数字」のフォームに変換するには、末尾のゼロ(3桁未満の場合)を追加するか、   右端の数字は3つ以上です。

  4.   

これらのルールに従って、Richardはどのように変換すべきですか?具体的には、 'h'と最後の 'r'に問題があります。これは、エンコーディングルールのいずれもトリガーしていないようです。

0

答えはありません

0