※先週から始まった毎週月曜日のエンジニアリングブログシリーズの 2 回目です。
今週は過去に米国の Google ブログにポストされたものの中から、検索技術についてを抄訳してご紹介します。
私が担当している「サーチクオリティ」(Search Quality)は、Googleの検索結果のランキングを担当し、Googleに寄せられる1日に何億もの質問に対し、一瞬にして、ウェブ上の何十億ものページから、どれをどのような順番で表示するかを決める仕事です。
非常に多くの人々に極めて頻繁に利用されているにもかかわらず、Googleのランキングは驚くほど知られていません。これは完全に私たちの責任において、あえてそうしているのです。それには 2 つの理由があります。ひとつはシンプルに、そしてどこの会社とも同じように、他社に自社の秘密の方策を公開したくないからです。もうひとつは、不正利用を防ぐためです。ランキングの仕組みに簡単にアクセスできるようにしてしまうと、そのシステムは標的にされやすくなってしまうのです。情報を公開しないことによるセキュリティは決して最良の手段ではなく、私たちもそれだけに頼っているわけではありませんが、実際に多くの不正利用を防いでいるのです。
ランキングのアルゴリズムの詳細は、多くの点で Google の重要資産です。私たちはそれらをとても誇りに思っており、その保護を非常に重要視しています。ある概算では、これまでにプログラマ/科学者 1000 人の 1 年間分に相当する労力がその開発に投入されており、技術革新の速度は一向に衰えていません。
しかし完全に秘密主義的であることは理想的ではありません。この投稿はこれまでよりももう少し情報を公開していこうという新たな取り組みの一環です。私たちは、皆さんに対して定期的に、新しい事柄をお話したり、古い事柄を説明したり、アドバイスしたり、ニュースを配信したり、話し合いをしたりしていきます。私たちのグループについての一般的な情報からご説明します。
まずは自己紹介です。私はUdi Manber(ウディ マンバー)と申します。私は Google の「サーチクオリティ」を担当する技術担当副社長です。私は Google に在籍して 3 年になりますが、検索技術に関しては 20 年にわたり取り組んでいます。
チームの中心をなすのは、ランキングの核となる部分に取り組んでいるチームです。ランキングは難しいものであり、その難易度は人々の想像をはるかに超えるものです。その理由のひとつは、言語とは本質的に曖昧なものだということ、そして文書とは規則に従ったものではないことです。情報を伝える方法についての標準的な規格などというものはないので、私たちは誰がどういった理由で書いたウェブページであれ、理解する必要があります。しかもそれは、問題の半分でしかありません。私たちは人々が入力するクエリー(検索語)を理解する必要もありますが、クエリーは平均 3 単語未満しかありません。私たちはそのようなクエリーをすべての文書から理解した内容とマッピングするのです。人々がそれぞれ違ったニーズを持っていることは言うまでもありません。そして私たちは、それらすべてを数ミリ秒で対応しなくてはならないのです。
Google ランキングのアルゴリズムの中で最も有名なのは
PageRank であり、これは、 Google の創業者であるラリー ペイジとサーゲイ ブリンが開発したアルゴリズムです。PageRank は今日でも使われていますが、現在ではより大きなシステムの一部となっています。その他の部分には、言語モデル(成句、同義語、発音区別符号、スペルミスなどに対処する能力)、クエリーモデル(言語そのものというより、人々が今日それをどう使っているか)、時間モデル( 30 分前に作られたページで最適な答えを得られるようなクエリーもあれば、昔からあるのに陳腐化しなかったページからよりよい答えが得られるクエリーもある)、およびパーソナライズドモデル(誰もが同じものを望んでいるわけではない)が含まれています。
私たちのグループの中には、私たちがどれだけうまくやっているかという評価を担っているチームもあります。評価はさまざまな方法で行われますが、その目標は常に「ユーザー体験の向上」という一点に置かれています。これは主要な目標というより、ただ唯一の目標なのです。(おかしなことが一つとして起こらないように)常時行われる自動評価、サーチクオリティ全般の定期的な評価、そして最も重要なものとして、特定のアルゴリズムの改善に対する評価があります。エンジニアが新たなアイデアを元に新しいアルゴリズムを開発するとき、彼らのアイデアは徹底的にテストされます。当社は、すべてのデータに目を通し、その新たなアイデアの価値を判断するための統計学の専門家のチームを擁しています。私たちは毎週ミーティングを開き、それらの新しいアイデアに目を通して、リリースに値するか検討します。2007 年には、450 以上もの新たな改善点をリリースしました。平均すると、1週間に 9 つほどの計算になります。一部の改善点は単純かつ明確なものであり、例えばヘブライ語の略語による検索の処理プロセスを修正しました(ヘブライ語では、略語は最後の文字の隣に(”)を付けることによって示されるため、IBM は IB”M となります)。しかし非常に複雑な改善もあります。例えば、私たちは 2008 年 1 月に PageRank アルゴリズムに大幅な変更を加えました。私たちはほとんどの場合、関連性を向上する方法を探しているのですが、アルゴリズムをシンプルにすることを目的としたプロジェクトにも取り組んでいます。シンプルなのはよいことです。
私たちの検索を世界中に提供することは、過去 3 年間、私たちの主な重点領域のひとつでした。主要な言語だけではなくすべての実際に話されている言語が対象です。例えば昨年度、私たちは 800 万人が話すというアゼルバイジャン語に対して大きな改善を行いました。また私たちは、エストニア語、カタロニア語、セルビア語、セルビア・クロアチア語、ウクライナ語、ボスニア語、ラトビア語、タガログ語(フィリピン語)、スロベニア語、およびペルシア語のスペルチェックも導入しました。私たちは、世界中から当社にフィードバックをくださる人々のネットワークを組織しました。また Google の全部門からさまざまな言語を話す大勢のボランティアが参加し、検索の改善に協力しています。
新機能および新しいユーザーインターフェースに専念しているチームもあります。優れた自動車には優れたエンジンが不可欠ですが、それだけでは不十分です。自動車は快適であり、運転しやすい必要があります。Google 検索のユーザーインターフェースは非常に単純なものです。当社のユーザーのほとんどは
ヘルプページを読んだことがないようですが、それでも非常にうまく使えているのです。Google に新機能を追加する際には、誰もが直感的に使いやすいものであるかを確認します。昨年実施した最も大きな変更点はユニバーサル検索の導入です。カスタム検索エンジンの導入や iGoogle への改善もたくさん行いました。UI チームは、ユーザー調査を行い、新機能を評価するユーザビリティの専門家のチームのサポートを得ています。
ウェブスパムその他の不正使用への対処に特化しているチームもあります。このチームは、隠しテキスト、不可解なキーワードの詰め込まれた内容のないページ、さらにはその他の方法も含め、私たちの検索結果で上位にランクインするための数多くの方法に幅広く対処しています。このチームは新たなスパムの傾向に狙いを定め、拡張性のある方法で、それらのトレンドに対応しています。これは他のチームと同様、グローバルで取り組んでいます。ウェブスパムグループは、
Google Webmaster Centralチームと密接に協働しており、その考え方を広く共有すると共に、サイト所有者の話にも耳を傾けています。
検索に関して重要な点の一つに、ユーザーからの期待値が急速に増すことが挙げられます。明日のクエリーは今日のクエリーよりもはるかに難しくなるのです。ムーアの法則によれば演算速度が 18 ヶ月ごとに倍増するというのと同じように、私たちにとって最も難解なクエリーの複雑さは短期間で倍増するという、隠れた法則があるのです。これは厳密に測定することは不可能ですが、私たちが感じていることです。私たちは実績にあぐらをかいてはおられず、そのような難題を解決するために一所懸命努力しなくてはならないと思っています。
今後も少しずつ、「サーチクオリティ」についての情報を更新していきますので、どうぞご期待ください。