言葉遣いが完全にランダムな一連の文字列があり、キーワードに最適な一致を見つける必要があります。トリプレットとレーベンシュタインのアルゴリズムを使用してみましたが、まだ不規則な結果が得られます。文字列を最初の文字で並べ替えてから、レーベンシュタインのアルゴリズムを実行して、より正確な結果を取得できるようにしましたが、役に立ちませんでした。
私のキーワードはおそらくそれぞれ 1 ~ 3 語ですが、一致させようとしているターゲット文字列は 10 ~ 20 語を超えることがあります。キーワードを正しい文字列に効果的に一致させるために使用できる他のアルゴリズムはありますか?
これを使ってみたトリプレットアプローチ:
ratio = (3*|A ∩ B|)/(|A| + |B|)
ここで、A と B は、次のようなトリプレット (単語の 3 文字、1 によるインデックス付けによって生成される) の配列です。
stackoverflow -> sta, tac, ack, cko, kov, ove, ver, erf, rfl, flo, low
A ∩ B は A と B の同様のトリプレットです。この方法は有効に思えましたが、多くの不規則な結果が得られました。
このあいまい一致を改善する方法はありますか?