先日、少し触れた検索ランキングシステムのドキュメントが流出した件ですが、iPULLRANKで細かく解説してくれています。ようやく文章を読み終えましたが…かなりの長文なので、一部を和訳しながらご紹介したいと思います。原文の記事順に合わせて、私が気になったところを五月雨式に解説します。長文になりますため、前編と後編に分けてご紹介しますが、気になる方はお付き合いくださいませ。
「アルゴリズムの秘密:Google検索の内部エンジニアリング文書が流出」よりご紹介
iPULLBANKのMike King氏による記事です。以下に原文の意訳&私の解説、という順で紹介していきます。原文の記事冒頭は背景や感想、注意事項が記載されていますので割愛し、ポイントだけ抜き出していきます。原文に書いてあるのですが、Googleはあくまでもスパマーに攻略させないために真実を話していなかったという点があり、確かにそこには同情するが、あるものを「無い」と言ったりしている点においては“虚言である”という言い方をしています(言い方が強くなってしまうことについても悪しからず…というような述べ方をしています)。
14,000を超える機能と2,596の項目
引用)iPULLBANKの記事より一部抜粋&意訳
今回漏洩した情報のほとんどはGoogle検索ランキングにおける要素の概論であり、細かくどこがどう機能しているかまでは(Google現役社員じゃない限り)分からないとのことです。ですので定量的な検索ランキングシステムの機能というよりも定性的な概念の漏洩という感じのようですね。
Googleにはドメインオーソリティのようなものがある
Google検索チームのアナリストであるGary Ilyes氏はこの主張を何度も繰り返しています。また、John Mueller氏はこのビデオの中で「Webサイトのオーソリティスコアはありません」と宣言もしています。
しかし実際には、ドキュメントごとに保存される圧縮品質シグナルの一部として、Googleが計算する“siteAuthority”と呼ばれる機能があります。この指標がどのように計算され、その先の評価関数で具体的にどう使用されているのかは分かりませんが、この指標が存在し、Q*ランキングシステムで使用されることが明確に判明しました。確かにGoogleは全体のドメインオーソリティ性を持っていました。
引用)iPULLBANKの記事より一部抜粋&意訳
Googleがそれをどう使用していて、どこまでランキングに影響させているかまでは分からないようですが、確かに“siteAuthority”という評価指標はあったとのことです。つまりGoogleがドメインオーソリティを“Mozのドメインオーソリティ”という指標をAPIとして使用し、評価してはいないだけで、“ドメインの権威性”という意味での評価はしていたということになります。まぁ…あったでしょうね。そうじゃなきゃ中古ドメインが安易に検索上位になっている事実を説明しようがありませんから…(笑)。
検索ランキングにクリック数を使っている
また、情報検索においては、最適度の指標としてクリック数がベストプラクティスであることも分かっています。
Gary Ilyes氏は、このクリック測定の推察問題に何度も言及してきました。ある時は、Google検索エンジニアのPaul Haahr氏が2016年のSMX Westでのライブ講演で語った内容を強調し「ランキングにクリックを直接使用しているというのは間違いだ」と述べました。さらにその後、Gary氏がRand Fishkin(Mozの創設者兼CEO、長年のSEO実践者)氏を揶揄し「滞留時間、CTR、Fishkinの新しい理論が何であれ、それらは大抵でっち上げだ」と発言しています。しかし実際のところ、Navboostには完全にクリックシグナルに当てた特定の項目指標があります。
この項目概要では、ランキングシステムの1つである“賭けにならないためのクリック指標およびインプレッションシグナル指標”として定義されています。悪いクリックのされ方、良いクリックのされ方、最後のクリック、離脱されるクリック、離脱されないずっと読まれる最後のクリック等は全て評価指標として加味されます。Googleの“Scoring local search results based on location prominence”特許によれば、“スクワッシングとは、1つの大きなクリックシグナルによって全体のバランスが崩れることを防ぐ機能”です。言い換えれば、システムはクリックデータを正規化し、クリックシグナルに基づく操作が暴走しないようにしているのです。Google社員らは、特許やホワイトペーパーに記載されているシステムが実際に運用されているものであるとは限らないと主張していますが、NavBoostがGoogle検索システムの重要な部分でなければNavBoostを作ることなんて無意味です。
これらクリックベースの測定の多くは、インデックスシグナルに関連する別の項目評価指標にも見られます。その1つは、特定のドキュメントに対する“最後の良質なクリック”日付です。これは、コンテンツの衰退(または時間の経過によるトラフィックの減少)によって、対象ページがSERP順位における想定クリック数を増加させ続けないように調整する働きにもなっています。
さらにドキュメントに記載されている情報では、クリックユーザーを識別することで不正クリックの数をカウントするシステムがあり、そのデータを国とデバイスごとに分類しているとのことです。
また、セッション中にどの検索結果がクリック後に最も滞留されたかも保存されてます。ですので、検索結果をクリックするだけでは不充分で、ユーザーはその次のページ上でかなりの時間を費やす必要があります。“ロングクリック”は滞在時間と同様に検索セッションを最適化する尺度であり、このドキュメントでは“滞在時間”と呼ばれる特定の機能の記載はなかったものの、“ロングクリック”というのは事実上、滞在時間と同じであり、この問題に関するGoogleの声明とも矛盾しています。
様々な情報筋で、NavBoostが“既にGoogleの最も強力なランキングシグナルの1つ”であることを示唆しています。漏洩文書には、Navboostの名前が計84回も明記されており、タイトルにNavboostが使われている項目が5つあります。また、Googleがサブドメイン、ルートドメイン、URLレベルでの評価指標も検討しているという証拠があり、これは本質的にサイト評価基準を従来と違う方法で扱うことを示唆しています。
つまり、Googleはこのドキュメントで“CTR”や“滞在時間”について正確な言葉で言及していませんが、Rand氏が証明した考察、つまり検索結果のクリック数と良質な検索セッションの評価指標があることは事実です。証拠はかなり決定的であり、Googleがランキングアルゴリズムの一部としてクリックとクリック後の動作まで使用していることに、まず疑いの余地はありません。
引用)iPULLBANKの記事より一部抜粋&意訳
はい、ここが最も重要なポイントでした。Googleはクリック数を見ていて、それによって順位を上げたり下げたり、上げ続けたりする作用がある一方で、一部の外れ値によって全体の数字が底上げされたり、古い情報がいつまでもクリック数だけで上位表示され続けたりしないように調整しているとのことです。そしてそれらは過去13ヶ月間を検証データとして活用しているとのことです。また、検索結果からのクリック状況(クリックしたりされなかったり、クリック後にその先のサイトページにどれくらいセッションしたか、最後にクリックしたのはどのページか等)も活用しているとのことです。前述の機能がNavboostであり、後述の機能がGlueです。そして、Navboostは主にGoogle検索ランキングに使用されますが、GlueはGoogleのあらゆる商品開発やシステム構築に役立てられているとのことです。
ドメイン年齢や信頼性で識別するシグナルは存在した
つまり、サンドボックスが存在することが判明しました。Rand氏は分かっていました。
引用)iPULLBANKの記事より一部抜粋&意訳
ドメイン年齢を信頼できる評価の一因として活用していたとのことです。それはあくまでも新参者のスパムを駆逐するために取り入れていたようで、急にテキトーなドメインでテキトーにアタックしてくるWebサイトを排除するために活用するhostAgeという属性概念だと思いますが、それでも信頼を得るまで運用しなければならないこともあり…それはつまりドメイン年齢による検索上位というものが存在することに繋がります。
ランキングにChrome情報を使っている
ページ品質スコアに関連する項目の1つには、Chromeからの閲覧数をサイトレベルで測定する機能があります。サイトリンクの生成に関連すると思われる別の項目にもChrome関連の属性が確認されています。
2016年5月に流出したRealTime Boostシステムに関する内部プレゼンテーションでも、Chromeデータが検索に利用されるようになったことが記載されています。つまり、何が言いたいかはお分かりでしょう。Googleの広報担当者は善意を持って対応してくれていますが、彼らを信頼するのも考え物です。核心に近付きすぎると口籠ります。
引用)iPULLBANKの記事より一部抜粋&意訳
はい、Chrome情報も思いっきり活用しているわけですね。そしておそらく内部リンク外部リンクも含めて実際にユーザーが辿ったリンク動線も情報として評価活用していると推察できます。
Googleのランキングシステムの論理構造
Jeff Dean氏の“Building Software Systems at Google and Lessons Learned”という講演の中で、初期のGoogleは各クエリを1,000台のマシンに送り、250ミリ秒以下で処理し、応答させていたと述べました。またシステムの論理構造を抽象化した初期バージョンを図式化しました。
著名な研究エンジニアであるMarc Najork氏は、最近のGenerative Information Retrievalプレゼンテーションで、RAGシステム(別名:Search Generative Experience/AI Oververs)を使用したGoogle検索の抽象化モデルを紹介しました。
そして、Googleの内部告発者であるZach Vorhies氏が、Google内の様々なシステム相関性を内部名称で示したスライドをリークしました。
これら3つの高水準モデルを使用すると、これらのコンポーネントのいくつかがどのように連携して機能するかを想像できます。ドキュメントから収集した情報によると、このAPIはGoogleのSpanner上に存在しているようです。 Spannerは基本的にグローバルにネットワーク化されたコンピュータの集合体を1つとしながら、コンテンツの容量とコンピューティングの無限の拡張性を可能にする論理構造です。
引用)iPULLBANKの記事より一部抜粋&意訳
科学的なことは専門的すぎて分かりませんが、Googleは検索ランキングシステムにおける可能性や容量は無限に改善・強化できるような仕組みになっており、そのうえで各モデル機能がどう相関しているかが何となく分かります(詳細は原文の図式を見ると想像できます)。
各種ランキングシステムの内部名称と機能
クローリング(回遊)
- Trawler – Webクローリングシステム。クロール待ちリストを整備し、クロール割合を管理し、ページ更新頻度を把握。
インデクシング(インデックス)
- Alexandria – コアインデックスシステム。
- SegIndexer – 階層ページをインデックス内の階層に配置するシステム。
- TeraGoogle – ディスク上に長期間保存するドキュメント用のセカンドインデックスシステム。
レンダリング(読み込み)
- HtmlrenderWebkitHeadless – JavaScriptページのレンダリングシステム。おかしなことに、これはChromiumではなくWebkitにちなんで名付けられています。ドキュメントにはChromiumについての言及があるため、Googleは当初WebKitを使用していて、Headless Chromeの登場後に切り替えを行った可能性があります。
プロセシング(処理)
- LinkExtractor – ページからリンクを抽出する。
- WebMirror – 正規コンテンツと複製コンテンツを管理するシステム。
ランキング(評価)
- Mustang – 主要な評価方法、ランキング方法、配信システム。
- Ascorer – 再ランキング調整の前にページをランク付けしておく主要なランキングシステム。
- NavBoost – ユーザーのクリックログに基づく再ランキングシステム。
- FreshnessTwiddler – 鮮度に基づいたドキュメントの再ランキングシステム。
- WebChooserScorer – スニペット評価で使用する機能名。
サービング(配信)
- Google Web Server – GWSは、Googleのフロントエンド管理サーバです。ユーザーに表示するデータのペイロードを受信します。
- SuperRoot – Google検索の頭脳で、Googleのサーバにメッセージを送信し、結果の再ランク付けと表示のための後処理システムを管理。
- SnippetBrain – 検索結果のスニペットを生成するシステム。
- Glue – ユーザーの行動を利用してあらゆるGoogle製品機能の検索結果をまとめるシステム。
- Cookbook – シグナルを生成するシステム。実行時に値が生成される。
前述したように、これらのドキュメントにはさらに多くのシステムが概説されていますが、それらが何をするのかは完全には分かりません。
引用)iPULLBANKの記事より一部抜粋&意訳
Googleがクロールして、インデックスして、読み込んで、処理して、評価して、配信する、という検索結果までの各機能の名称と役割を端的に紹介してくれています。これらを覚えておくと今後のGoogleからの情報を体系的に理解できるようになると思います。
後編に続く
一旦以上にしておきます。続きは後編にてご紹介します。ではでは。