[解決済み] Googleの "Did you mean? "はどうなっているのか?アルゴリズムの仕組みとは?[クローズド]
質問
ポートフォリオ管理ツールの社内サイトを開発しています。 テキストデータ、会社名などがたくさんあります。 検索エンジンの中には、「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 )を追加しました。
<サブ 動画に分と秒のアンカーを付けて、直接コンテンツに飛べるようにしています。うまくいかない場合は、ページを再読み込みするか、手でマークまでスクロールしてみてください。
関連
-
[解決済み] O(log n)とは具体的にどのような意味ですか?
-
[解決済み] ゲーム「2048」の最適なアルゴリズムとは?
-
[解決済み] ビッグ・オー、どうやって計算・概算するんだ?
-
[解決済み] 円周率の計算が正確かどうかを判断するにはどうしたらよいですか?
-
[解決済み] 素数かどうかを判断するのに、なぜ平方根まで確認するのか?
-
[解決済み] Hi/Loアルゴリズムとは?
-
[解決済み] Googleの "Did you mean? "はどうなっているのか?アルゴリズムの仕組みとは?[クローズド]
-
[解決済み】アルゴリズムの時間複雑性を求めるには?
-
[解決済み] Breadth First Search (BFS)が同じことをより速くできるのに、なぜDijkstraのアルゴリズムを使うのですか?
-
[解決済み] バックトラックと深さ優先探索の違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 短縮URLの作成方法を教えてください。[クローズド]
-
[解決済み] Big-O表記とLittle-O表記の違いについて
-
[解決済み] サイクルリンクリストのサイクル開始ノードを見つけるにはどうしたらいいのでしょうか?
-
[解決済み] 時計回りに並べると?
-
[解決済み] ディズニーのファストパスは有効か、有用か 待ち行列論
-
[解決済み] 円形のデータの集合の平均はどのように計算するのですか?[クローズド]
-
[解決済み] Kotlin - 配列から重複する文字列を削除する方法は?
-
[解決済み] O(1), O(n log n), O(log n)の複雑さを持つアルゴリズムの例
-
[解決済み] 短い文字列のための効率的な圧縮アルゴリズム[closed]。
-
[解決済み] Did you mean "を実装するには?重複