Google で使用されている検索アルゴリズム/概念は何ですか?
8 に答える
インデックス作成
基本に立ち返りたい場合:
Googleはインターネットの転置インデックスを使用しています。これが意味するのは、Googleが各ページの用語に基づいてクロールしたすべてのページのインデックスを持っているということです。たとえば、Googleという用語は、このページ、Googleホームページ、Googleのウィキペディアの記事などに対応しています。
したがって、Googleにアクセスして検索ボックスに「Google」と入力すると、Googleはインターネット上で利用可能なすべての用語のインデックスをチェックし、「Google」という用語のエントリと、その用語を含むすべてのページのリストを見つけます。その中で参照されています。
ベテランユーザーの場合:
ただし、Googleのインデックスは、単純な転置インデックスを超えています。これがGoogleが最高である理由です。Googleのクローラー(スパイダー)は賢いです。とても賢い。特定のWebページにある用語を追跡するだけでなく、関連するページにある単語を追跡し、それらを特定のドキュメントにリンクします。
つまり、ページにGoogleという用語が含まれていて、そのページに別のWebページへのリンクがある場合、または別のWebページからリンクされている場合、他のページもGoogleという用語でインデックスで参照される可能性があります。これ以上のことは、特定のクエリに対して特定のページが返される理由について説明します。
ページが検索結果の順序どおりに並べられている理由を知りたい場合は、さらに興味深いものになります。
ランキング
基本に取り掛かるには:
おそらく、検索エンジンが結果を並べ替えるために使用できる最も基本的なアルゴリズムの1つは、用語頻度-逆ドキュメント頻度(tf-idf)として知られています。簡単に言えば、これは、ドキュメント内の検索用語の相対的な重要度によって結果が並べ替えられることを意味します。つまり、10ページでGoogleという単語を1回リストするドキュメントは、1ページでGoogleという単語を10回リストするドキュメントほど重要ではありません。
ベテランユーザーの場合:
繰り返しになりますが、結果のランキングに関しては、Googleは基本的な検索エンジンよりもかなり多くのことを行います。Googleは、前述の特許取得済みのPageRankアルゴリズムを実装しています。短い形式では、PageRankは、特定のページの人口/重要性を考慮に入れることにより、tf-idfアルゴリズムを拡張します。この時点で、人気/重要性は、Googleが私たちに教えてくれない多くの要因によって判断される可能性があります。ただし、最も基本的なレベルでは、他のページのロードとロードがそれにリンクしているため、Googleは1つのページが別のページよりも重要であると判断できます。
PageRankはGoogleが検索エンジンに使用しているリンク解析アルゴリズムですが、特許はスタンフォード大学に譲渡されていました。
「大規模なハイパーテキスト Web 検索エンジンの解剖学」は少し時代遅れだと思います。スケーラビリティに関する最近の講演:大規模な情報検索システムの構築における課題
この質問には正統に答えることはできません。Google (およびその他の検索エンジン) が使用するアルゴリズムは、最も機密性の高い秘密であり、常に変化しています。すべての正解は、1 か月または 1 年後に無効になる可能性があります。
(これが質問に実際に答えていないことは知っていますが、それがポイントです。答えはありません。)
逆インデックスとMapReduceは、ほとんどの検索エンジンの基本です (私は信じています)。コンテンツにインデックスを作成し、そのインデックスに対してクエリを実行して関連性を表示します。ただし、Google は、各単語がどこに出現するかを単にインデックスするだけではなく、その単語が何回出現したか、どこに出現したか、他の単語との関係でどこに出現したか、順序付けなども行います。使用されるもう 1 つの単純な概念は「これには、「and」、「the」などを含めることができます (基本的には、頻繁に発生し、一般にクエリの焦点ではない「単純な」単語)。さらに、ページ ランク (TStamper で言及) などを使用して、関連性と重要性によってページを並べ替えます。
MapReduce は基本的に、1 つのジョブを小さなジョブに分割し、それらの小さなジョブを多くのシステムで実行できるようにします (一部はスケーラビリティのため、一部は速度のため)。私の記憶が正しければ、Google はサーバー グレードのコンピューターではなく、「平均的な」コンピューターを利用してジョブを分散することができました。1 台のコンピューターの処理能力がピークに達しているため、多くのテクノロジは、多くの物理マシンによってジョブが実行されるクラウド コンピューティングに向かっています。
Google がどれだけ検索しているかはわかりませんが、より正確にクロールしています。違いは、特定のポイントから開始し、到達可能な場所までクロールし、ある種の行き止まりに達するまで繰り返すことです。
ページ ランク アルゴリズムなどに興味を持っていたときに、年明けのパーソナル検索の導入 (あまりコメントされていません) がかなり変化しているように見えることに気がつきました - Google ゴールド スタンダードの失敗と Google のパーソナライズを参照結果