1. ホーム
  2. algorithm

[解決済み] Googleの "Did you mean? "はどうなっているのか?アルゴリズムの仕組みとは?[クローズド]

2022-03-23 11:26:17

質問

ポートフォリオ管理ツールの社内サイトを開発しています。 テキストデータ、会社名などがたくさんあります。 検索エンジンの中には、「Did you mean: xxxx"」というクエリに対して非常に素早く反応するものがあり、とても感心しています。

ユーザーのクエリをインテリジェントに受け取り、生の検索結果だけでなく、可能性の高い代替回答がある場合などに "Did you mean?" で応答できるようにする必要があるのです。

[で開発しています。 ASP.NET (VBです。恨まないでください。)] 。

UPDATE OK、何百万人もの「無報酬ユーザー」なしで、これを真似るにはどうしたらいいでしょうか?

  • 既知の」または「正しい」用語ごとに誤字を生成し、ルックアップを実行する?
  • 他のもっとエレガントな方法?

解決方法は?

以下は、ソースからの直接の説明です(ほぼ)。

サーチ101!

分 22:03

見る価値あり!

元グーグルCTOのダグラス・メリルによると、基本的には次のようなことだそうです。

1) googleで(スペルミスの)単語を書き込む。

2) 欲しいものが見つからない(結果をクリックしない)。

3) スペルを間違えたことに気づき、検索ボックスで単語を書き直す。

4) 欲しいものが見つかった(最初のリンクをクリックする)

このパターンを何百万回と繰り返すと、最も一般的なスペルの間違いと、最も一般的な訂正がわかります。

こうすることで、Googleはほぼ瞬時に、あらゆる言語のスペルチェックを提供することができるのです。

また、これは、もし一晩で皆がnightをquot;nigth"と綴り始めたら、代わりにその単語を提案するという意味でもあります。

EDIT

@ThomasRutter です。ダグラスはこれを「統計的機械学習」と表現しています。

どのクエリがどのユーザーから来たかを知っているため、誰がクエリを訂正したかがわかる(クッキーを使用)。

もし、ユーザーがクエリを実行し、10%のユーザーだけが結果をクリックし、90%が戻って別のクエリ(修正した単語で)を入力し、今度は90%が結果をクリックしたとしたら、彼らは修正を見つけたことを知ることができます。

また、表示するすべてのリンクの情報を持っているので、それらが2つの異なるクエリであるかどうかを知ることができます。

さらに、スペルチェックに文脈を含めるようになったので、文脈によって異なる単語を提案することもできるようになりました。

こちらをご覧ください グーグルウェーブのデモ ( @ 44m 06s ) では、文脈を考慮してスペルを自動修正する方法を紹介しています。

ここで その自然言語処理の仕組みについて解説しています。

そして、最後に、自動化された 機械翻訳 ( @ 1h 12m 47s )を追加しました。

<サブ 動画に分と秒のアンカーを付けて、直接コンテンツに飛べるようにしています。うまくいかない場合は、ページを再読み込みするか、手でマークまでスクロールしてみてください。