通常、返されるすべての単語に対してSoundexを生成し、一致する文字の一部として探している単語のSoundexeに対してリスト全体をスコアリングし、それらのスコアを使用してどの単語がより可能性が高いかを判断することをお勧めします一致する。
たとえば、startencodestoとstopencodesto。_ 一致した文字のパーセンテージとして単語に対してそれらをスコアリングすると、次の表になります。S363
S310
Word Soundex S363 S310
---- ------- ---- ----
stocks S320 0.50 0.75
stock S320 0.50 0.75
stop S310 0.50 1.00
start S363 1.00 0.50
stops S312 0.50 0.75
starks S362 0.75 0.50
---- ----
Average Score 0.63 0.71
残念ながら、これは間違った答えを出します(あなたが開始を言ったことを知っていても、停止を言った確率は高くなります)。あなたの2つの単語には多くの共通点があるからです。レコグナイザーがターゲット単語の1つと一致し、同じゴーラウンドで別の単語と混同した場合、話者が実際にどの単語を言ったかを知る方法はありません。
これを回避するには、goandstopやbeginandendなど、あまり類似していない単語を選択します。次に、Soundexを完全に破棄して、返されたリストでターゲットの単語を探すことができます。他の言語でも同様の問題が発生する可能性があるため、アプリケーションの他のローカリゼーションでこれを監視する必要があります(たとえば、フランス語、allezとarrêtez)。
HTH。