メインページに戻る
Japan Blog

Google サーチクオリティチームの紹介



※ 3 月になってご提供している毎週月曜日のエンジニアリングブログシリーズの 3 回目です。今週も過去に米国のブログにポストされたものの中から、検索技術に関するものを抄訳してお届けします。

先週、Udi Manber ( ウディ マンバー ) が Google 検索結果のランキングを担当するクオリティグループを紹介しました。彼は「クオリティ」( Google で「クオリティ」といえばこのグループを指します ) 内のさまざまなチームを紹介し、その中には、ランキングのコア部分、国際化、ユーザーインターフェース、評価、ウェブスパム、その他のチームなどがありました。今日はその中の一つ、コアランキングチームについてご紹介します。

まず自己紹介から。私は Amit Singhal といいます。Google のランキングチームを担当している Google フェローです。1990 年にコンピューターサイエンスを専攻する大学院生として検索に出会って以来、19 年間に渡って検索分野で働いています。学術的な世界では、検索分野は情報検索 ( Information Retrieval または IR ) として知られています。IR 研究者として10 年間過ごした後 2000 年に Google に入社し、それ以来 Google の検索ランキングに取り組んでいます。

Google の検索ランキングは、ユーザーのクエリーに対して最も関連性の高い文書を探すために用いられる多くのアルゴリズムから成り立っています。私たちはこのランキングを 1 日に数億ものクエリーに対しておこない、何十億というウェブページの集合から検索結果を求めています。Google の提供する検索サービスの大半で、入力されるクエリー一つ一つに対してこれらのアルゴリズムが実行されています。当社のウェブ検索は一番利用されている Google 検索サービスであり、かつ最も広く知られたものですが、そのランキングアルゴリズムはある程度の変更を加えた上で、画像検索、ニュース検索、YouTube、地図検索、商品検索、書籍検索、その他の Googleの 検索サービスでも利用されています。

Google のランキングに関して、私が最もよく聞かれる質問は、「どのようにやっているの?」というものです。もちろん、Google のようなランキングシステムを構築するには多くのことが必要とされるため、その背景にある技術については今後お話する機会もあると思います。まずは、Google 検索ランキングの背景にある理念を簡単に紹介したいと思います。

  1. 共通の方法を用いて個別に最高の結果結果を返す
  2. シンプルさを保つ
  3. 人手による介入を行わない

1 つ目の、共通の方法を用いて個別に最高の結果結果を返す、の意図するところは、私たちは検索への情熱をもっており、なんとしてもユーザーのクエリーそれぞれに対して、最も関連性の高い結果を返すようにしたいと思っています。私たちはよくこれを「ひとつのクエリーも取り残さない」原則と呼んでいます。どの国のどの言語でのどのようなクエリーであっても、最高とは言いがたい結果を返してしまう場合には(検索は決して「解決済みの問題」ではないので実際に起きてしまうことです)、それは必ず将来の改善に向けた励みとして活用しています。

システムをシンプルなものとしたいというのは、システムの設計者なら誰もが望むことではないでしょうか。そうはいっても、検索システムを開発していくとユーザーからのバラエティに富んだクエリーに多言語で応えなくてはならない上に、さらに新たな種類のクエリーにも対応しようとしてシステムがどんどん複雑になっていくという方向に行きがちです。2 つめの原則にあるように、結果の品質に妥協することなくシステムをシンプルに保つべく、懸命に努力しています。これは継続的な取り組みであり、やるだけの価値のあることです。私たちは毎週 10 ヶ所ほどランキングに変更を加えていますが、どの変更をリリースする際にもシンプルさには配慮しています。おかげで当社のエンジニアは、あるクエリーに対して、ある特定のページがそのようにランキングされた理由を正確に理解しています。このシンプルかつ分かりやすいシステムは、Google にスピーディーな革新をもたらし、それが結果として現れています。「シンプルさを保つ」という理念が役に立っているのです。

Google のランキングについての「Google は検索結果を手動で操作しているの?」という疑問の答えは、3つめの原則でお答えします。これに対しては、当社の 3 つめの理念をもって回答しましょう。「人手による介入を行わない」のです。私たちの見解では、ウェブとは人々が作り上げたものなのです。皆さん自身がページを作成し、ページにリンクしているのです。私たちはこのように人間が貢献してできたウェブをアルゴリズムを通じて活用しています。検索結果の最終的な順位決定はアルゴリズムが巨大なインターネットコミュニティからの貢献に基づいて決めているのであって、私たちの手でおこなわれているのではありません。いかなる個人の主観的な判断も、つまるところ主観的なものに過ぎないわけで、ウェブページやリンクに埋め込まれた膨大な人間の知識から Google のアルゴリズムによって引き出された情報のほうが、個人の主観よりも優れていると私たちは確信しています。

当社がその結果を人手で調整しないという原則を支持する 2 つ目の理由は、うまくいかないクエリーというのは当社のランキングアルゴリズムの改善点を示す隠れたサインであることが多いためです。ランキングの基礎をなすアルゴリズムを改善することで、特定のクエリーだけが改善されるにとどまらず、同じ種類のクエリーすべてが改善され、それはすべての言語に及ぶことが多いのです。ただし、Google が推奨しているウェブサイト向けポリシーは明確に書かれており、当社のポリシーにそぐわなかったり、その他いくつかの理由(法的要件、児童ポルノ、ウイルス、マルウェアなど)に該当するサイトには、適切な措置を行うことがあります。

今後も Google ランキングの背景にある技術の概要を説明し、実際に動いている最先端のランキング技術をいくつかお話していきます。お楽しみに!