SOUNDEX機能ブロック

SOUNDEX機能ブロックは、文字列の音声的類似性を計算します。

Soundex値には、発音が似ている単語が同じSoundex値を生成するという特性があります。これは、正確な綴りではなく発音を知っている場合にデータベース検索に使用できます。関数Soundexは、文字列の最初の文字から始まる4文字の文字列を返します。

入力STR

この入力は、計算する必要がある文字列を定義します。

出力

Soundexコードを含む文字列を返します。

基本ルール

各Soundexコードは、Antcasの場合のようにA532など、文字に続けて3つの数字で構成されます。コード化する単語が多くの文字を含んでいるため、より多くの数字を生成できる場合は、3番目の数字で終了します。単語が少ない文字を含む場合は、最後の数字をゼロで埋めます。したがって、アジア人の名前リーはL000としてコード化されます。

数字 表す文字
1 B, F, P, V
2 C, G, J, K, Q, S, X, Z
3 D, T
4 L
5 M, N
6 R

母音A, E, I, OU、子音H, WYは、最初の文字以外は無視されます。ドイツ語に関しては、さらに定義できます:母音字Ä, ÖÜは無視され、ß(シャープS)は単純なSとしてコード化されます。

元の文字列内で連続する複数の文字が同じSoundexコードを持つ場合、結果には一度だけ表示されます。例えば、abfxA120になります(最初の文字であるaが残り、bfはどちらも同じコード1を生成し、x2を生成します。最後にゼロが追加されて4文字になります)。

Soundex手法の実用的な応用では、主に2つの点が批判されています:まず、英語に非常に特化しており、次に非常に粗い分析しか提供しないことです。

それでも、このアルゴリズムは音声検索に最も頻繁に使用されるものであると結論付けることができます。これは、Oracleデータベース用のPL/SQL標準コマンドが非常に早い段階で実装されたことが確実に寄与したでしょう。