1. ホーム
  2. nlp

[解決済み] Did you mean "を実装するには?重複

2022-05-16 04:07:07

質問

重複の可能性があります。

Googleの "あなたは意味しましたか?"アルゴリズムはどのように動作しますか?アルゴリズムはどうなっているのか?

あなたのWebサイトにすでに検索システムがあるとします。どのようにすれば "を実装することができますか? <spell_checked_word> という意味ですか? 検索クエリ ?

どのように解決するのですか?

Google が行っていることは、非常に非自明であり、また最初は直感に反するものです。辞書と照らし合わせるようなことはせず、統計情報を利用して、あなたのクエリよりも多くの結果を返した類似のクエリを識別しているのです。

ここで解決すべき問題は様々ですが、自然言語処理に関連する統計の基礎として、ぜひ読んでおきたい本があります。 統計的自然言語処理の基礎 .

具体的には、単語とクエリの類似性という問題を解決するために 距離の編集 という文字列の類似性の数学的な尺度を使用すると、驚くほどうまくいきます。私は Levenshtein を使用していましたが、他のものも調べてみる価値があるかもしれません。

Soundex は - 私の経験では - たわごとです。

実際には、スペルミスのある単語の大規模な辞書を効率的に保存および検索し、サブ秒単位の検索を行うことは自明ではありませんが、最善の策は、既存の全文インデックス作成および検索エンジン(つまり、データベースのものではない)を利用することです。 Lucene は現在最高のもののひとつであり、偶然にも多くのプラットフォームに移植されています。