検索エンジンの世界をモデリングします。 Yandexでの講義

今日は、現実をモデル化して、思考、情報を認識し、データを分析する方法について説明します。 一緒に、検索エンジンで現在使用されているモデルを再発明し、改善します。検索品質メトリックス、ランキングファクターの作成時、さらには新しいインターネットサービスの構築時です。 これがヒョードル・ロマネ​​ンコの講義の目的です。







ただし、講義のメイントピックに進む前に、モデリングに関連するいくつかの哲学的問題を検討する価値があります。



男はモデルで考え、彼らの助けを借りて彼は彼の周りの世界を知覚し、理解します。 この考えの例として、悪い人と良い人しかいない世界の単純なモデルを示します。 悪い人は常に嘘をつき、良い人は真実を語ります。 誰かが私たちに嘘をついた場合、私たちは彼を悪者と見なし、彼を信頼しません。 しかし、この悪者が突然真実を語り始めると、認知的不協和、つまり観察されたモデル間の不一致が発生する可能性があります。 これに対応する方法はいくつかあります。 たとえば、見たものを否定し、モデルのフレームワーク内に留まる人もいます。 ただし、このアプローチは科学的とはほど遠いものです。 受け入れられたモデルを放棄するか、それを拡張しようとする方がより正しいでしょう。



科学的方法



知識を獲得するための最も成功したアプローチは次のとおりです。特定の理論とモデルを作成するために、いくつかの経験(経験的知識)があります。 私たちが思いつくすべての仮説は、最初は等しいです。 彼らは私たちの経験やその一部を説明し、新しい経験を予測することができます。 モデルは正確である必要はなく、近似であることができます。主なことは、モデルを理解、説明、または予測するのに役立つことです。 一般に、モデルの正確性または不正確性について話すことは完全に真実ではなく、モデルはその有用性の観点から認識されなければなりません。 たとえば、相対性理論の発明の後、ニュートン力学が完全に真実ではないことが明らかになりました。 しかし同時に、彼女が表すモデルは非常に有用であり、多くのことを説明し予測するのに役立ちます。



オッカムのカミソリとして知られる原理は、科学者にとって非常に有用です。 これは、エンティティを不必要にモデルに導入する必要がないことを意味します。 同じユーティリティを使用してより単純なモデルを作成できる場合は、それを使用することをお勧めします。



検索の開発とデータ分析も、高レベルのパターンを明らかにするという分野の科学的作業の一種です。 膨大な量のデータ、ユーザーアクションログがあり、これらに基づいてモデルを作成し、アクションを予測し、これに基づいて優れたサービスを作成できます。 さらに、新しいモデルがめったに表示されない物理学などでは、モデリングのためのスペースがはるかに多くあります。 新しいモデルの検索では、少なくとも毎日考え出すことができ、それぞれが何らかの方法で役立ちます。



Pagerank



たとえば、WebページとWebリンクのグラフで考慮されるPageRankモデルについて説明しましょう。 インターネットはグラフの形式で表すことができ、上部がページで、端がリンクです。 ページは重要で便利な場合もあれば、自動生成の結果である場合もあり、ほとんどのユーザーにとって意味的な負荷や価値はまったくありません。 私たちの仕事は、ページの特定の権限を計算し、それを扱うことが一般的に興味深いと思われる可能性を判断することです。 この指標に基づいて、検索結果のページを選択してランク付けできます。



Googleによって発明された非常にシンプルな古典的なPageRankアルゴリズムがあります。 インスピレーションとして、科学論文のグラフが使用されました。 各科学研究には、使用された文献や関連出版物への言及があります。 さらに、彼らが特定の作品に言及するほど、それは科学の世界でより権威あると見なされます。 したがって、モデルは非常に単純に配置され、これはいわゆるランダムウォーカーモデルです。 人気の異なるWebページがあり、その間にリンクの形式のリンクがあります。 ユーザーはこれらのページをたどり、発信リンクをクリックする可能性があります。 このようなユーザーが多数いると仮定すると、それらはランダムなページから始まります。 そして、ユーザーが特定のページにいる確率を計算する必要があります。 これはすべて次のように考えられます。 Nページがあり、最初の時点で1 / Nの確率を持つユーザーがランダムページに到達するとします。 85パーセントの確率で、それぞれ15パーセントの読書に飽きている可能性があり、ユーザーはサーフィンを続け、ランダムなアウトバウンドリンクをたどる可能性が等しくなります。 ユーザーが退屈している場合は、ランダムページからやり直します。 グラフ上の関数は反復的と見なされます。 ある反復で、あるノードから反復tまでのPRの値。 このPageRankを取得し、発信リンクに均等に配布します。Pag​​eRankデルタ-dPRと呼ばれる値がリンクエッジに表示されます。 十分な反復が実行されると、ノードでの重みは実質的に変化しなくなると主張されています。



興味深いことに、実際のWebグラフでは、このような単純なモデルは非常に興味深い特性を明らかにしています。 たとえば、多くのリンクを含むページの場合、アウトバウンドリンクデルタで構成されるため、PRは高くなります。 また、彼女が参照するページのPRもかなり高くなります。



このモデルはページトラフィックを予測できますが、考え抜かれた当時はインターネットが異なっていたという事実に関連する問題もあります。 ページはそれほど多くなく、すべてのリンクは手動で配置されました。 現在、Yandexデータベースでは、Runetに約200億ページしかないため、有用なページはそれほど多くありません。 そして、古典的な形式のアルゴリズムの主な問題は、スパムサイトを作成し、その上にページを生成できることです。その唯一の目的は、PRを上げる必要がある特定のページへのリンクを持つことです。 さらに、従来のPRは古いページを優先します。



講義を最後まで見て、古典的なPageRankの問題に対処する方法、検索の品質を測定および改善する方法、ファウンドモデルとワイドモデルが何であるか、また検索で機械学習が必要な理由を学びます。



All Articles