3

平均的な長さのフレーズのセット(約10000)があり、その中で特定のフレーズを検索したいとします。私が探しているフレーズには、いくつかのエラーが含まれている可能性があります。たとえば、1つまたは2つの単語を見逃したり、単語を置き忘れたり、ランダムな単語を使用したりします。たとえば、データベースに「赤いバイクに乗っているときにクリスティンを見ました」と表示されます。 「青いバイクに乗っているときにクリスティンを見た」、または「バイクに乗っているときにクリスティンとマリオンを見た」など、多くのことを望んでいます。この問題へのいくつかの良いアプローチは何でしょうか?私はレベンスタインの距離について知っています、そして私はまたこの問題が簡単で良い解決策を持っていないかもしれないと思います。

4

1 に答える 1

1

優れたテキスト検索エンジンは、あなたが説明するような機能、fshを提供します。一般的なアプローチは、単語のいずれかが出現した場合に一致するクエリを作成し、互いに近接して出現する用語の数に基づいて、出現確率に反比例して重み付けされた重みを使用して結果を並べ替えることです。偶然に共起する可能性があります。情報検索と呼ばれるこの種のことの全体的な理論があります、しかし多分あなたはそれについて知っています。さらに、大文字と小文字や句読点などを正規化し、いくつかの基本的な言語変換(ステミング)を適用し、場合によっては、特にドメイン知識がある場合に同義語の辞書を導入することによって、単語レベルのあいまいさを確実に考慮したいと思います。それを調整するために利用可能。

このようなものをいじり回すことに興味がある場合は、オープンソースの検索エンジンを試してみてください。Vikによるこの記事は2009年の観点から合理的な調査を提供し、MiddletonとBaeza-Yatesによるこの記事はトピック。

于 2011-09-18T22:01:31.723 に答える