Google検索ランキングの背景にある技術
毎週月曜日のエンジニアリングブログの4回目です。今週も検索テクノロジーについて、過去に米国のブログにポストされたもの を日本語でお届けします。
前回の投稿で、私は Google 検索ランキングの背景にある理念を紹介しました。今回はサーチクオリティについてお話しする努力の一環として、Google 検索ランキングの背景にある技術についてもう少し詳しく説明したいと思います。私たちのランキングシステムのコアテクノロジーは、情報検索( Information Retrieval または IR )という学問分野に由来しています。IR コミュニティーは、すでに 50 年近くにわたって検索について研究しています。ページのランキングには、単語の登場頻度のような単語の統計的特徴が用いられています※1。私たちは IR という強固な基礎の上に、リンク、ページ構造、その他多くの革新的技術を用いて最高レベルのシステムを構築してきました。
ここ 10 年間で、検索は「私の言ったことの提供」というレベルから「私のほしいものの提供」というレベルに移行しています。それに伴い、検索に対するユーザーからの期待も大きくなっています。私たちもそれぞれのユーザーの期待に沿えるよう、ページ、クエリー、ユーザーをより深く理解するよう努めています。この10年間で私たちはこれら(検索プロセスの)3 つの要素を理解するための技術を、まったく新しい次元に押し上げたのです。
Google のクエリーについて書くときは、クエリーの開始と終了の間をカギカッコ[ ]で囲むようにしています。これについては、Matt Cutts も「How to write queries(英語)」で書いています。この投稿でもこの記述方法を使うことにします※2
- ページの理解: 私たちは、何年にもわたって、クロールとインデクシングのシステムに大きな投資を続けてきました。その結果、私たちは非常に大きく、常に新鮮なインデックスを持っています。サイズおよび新鮮さに加え、私たちはインデックスをさまざまな方法で改善しました。ページの理解を目的として私たちが開発した主要技術の一つは、ページそのものには登場しない重要な概念をページと関連づけることです。Google では、イタリア語の[galleria sprovieri londra]というクエリーから、ロンドンにある Sprovieri Gallery の公式ホームページを見つけることができます。公式ホームページには London または Londra という言葉が記述されてなかったとしてもです。米国で[cool tech pc vancouver, wa]を検索するユーザーは www.cooltechpc.com のホームページを見つけることができます。そのページのどこにもその店がワシントン州のバンクーバー市にあることは記述されてなかったとしてもです。この他、ページ中の重要な単語とそうでない単語を見分けたり、そのページにある情報の鮮度を見分ける技術なども私たちは開発してきました。
- クエリーの理解: 私たちにとって、(クエリーに含まれる単語だけではなく)ユーザーが何を探しているのかを理解することは重要なことです。私たちはこの領域において、いくつかの目覚しい進歩を遂げました。たとえば、最高水準のスペル修正システム、先進的な同義語システム、非常に強力な概念分析システムです。
ほとんどのユーザーは、スペル修正システムを一度や二度は利用しています。スペル修正システムは [kofee atta annan] を検索した人が実際には Kofi Annan 氏(コフィー アナン元国連事務総長)を検索していることを認識し、「Did you mean: kofi atta annan」を表示することができます。一方、[kofee beans] を検索した人は、実際にはコーヒー豆(coffee beans)を検索しています。こうしたことを多言語かつ高い精度でおこなうのは大変ですが、私たちはこれをうまくおこなっています。
同義語は、Google がクエリーを理解する作業の基礎をなすものです。これは私たちが Google で解決しようとしている最も困難な課題のひとつです。同義語は人間にとっては自明なこともありますが、自動的な言語処理の世界では未解決の問題です。私は一ユーザーとしてクエリーに使うべき単語を考えるのに時間を取られたくありません。何が正しい単語であるかすら分からないこともしばしばです。このようなとき、私たちの同義語システムが役に立つのです。同義語システムはクエリーの高度な変更ができます。例えば [Dr Zhivago](ドクトルジバゴ)というクエリーにある 'Dr' という単語は Doctor(医者)を意味しており、その一方で[Rodeo Dr]の場合は Drive(大通り)を意味していることを認識するのです。[back bumper repair](バックバンパー 修理)を探しているユーザーには rear bumper repair(リアバンパー 修理)についての結果も表示されます。[Ramstein ab] には自動的に Ramstein Air Base(空軍基地)を、[b&b ab]というクエリーにはカナダの Alberta(アルバータ州)にある Bed and Breakfasts(簡易ホテル)を表示します。私たちは 100 近い言語に対して、このレベルまでクエリーを理解できるようにしています。
Google のランキングシステムに使われているもうひとつの技術として、概念の識別があります。クエリーの重要な概念を特定することで、はるかに関連性の高い結果を表示することができます。例えば、私たちのアルゴリズムでは、[new york times square church] というクエリーから、ユーザーがあの有名なタイムズスクエアにある教会を探しており、New York Times からの記事を探しているのではない、ということを認識することができます。私たちは概念を識別するにとどまらず、クエリーを概念にそって補強するようにしています。例えば誰かが [PC and its impact on people](PC とその人々への影響)というクエリーから、実際には impact of computers on society(社会に対するコンピュータの影響)を探しているとき、または誰かが[rainforest instructional activities for vocabulary]というクエリーから、実際には rain forest lesson plans を探しているときなどがあります。Google の持つクエリー分析のアルゴリズムには、このような最先端技術がたくさん組み込まれていますし、これについても、世界中で私たちが提供している言語のほとんどすべてに対しておこなっています。 - ユーザーの理解: ユーザーの意図を解釈する目的は、人々がそのクエリーで"言った"ことではなく、人々が本当に"欲しい"結果を返すことです。この作業は最高レベルのローカライズからはじまり、それに私たちの持つ先進的なパーソナライゼーション技術や、ユーザーの意図を解釈するうえで私たちが実現してきたその他の大きな成果(ユニバーサルサーチなど)を追加してきました。
私たちが「どの地域、どの言語でも最適な結果を提示」という理念に明確に注力していることは、私たちのローカライズに対する取り組みにあらわれています。同じ検索を異なった国で実施すると、全く異なった結果が返ってきます。米国で [bank] を探しているユーザーはアメリカの銀行を探していますが、英国のユーザーなら Bank Fashion(という衣類小売店)の取扱商品または英国の金融機関のいずれかを探していることでしょう。このクエリーに対する結果は、オーストラリア、カナダ、ニュージーランド、南アフリカなどの他の英語圏では地元の金融機関を表示するのです。このクエリーをエジプト、イスラエル、日本、ロシア、サウジアラビア、スイスなどの非英語圏で入力すると面白いことが起こるのがわかります。同じように、[football] というクエリーは、オーストラリア、英国、米国でまったく異なったスポーツを意味しています。これらの例のほとんどは、同じ概念をどのようにしたら正しくローカライズできるか(金融機関、スポーツなど)ということを示すものです。しかし、同一のクエリーが国ごとにまったく異なった事柄を表していることもあります。例えば [Côte d'Or](コートドール)はフランスのある地域を意味しますが、フランス語を話す隣のベルギーでは大手のチョコレート製造会社を意味します。そう、私たちはこれもうまく処理できるのです :-)
パーソナライゼーションは、私たちの検索システムの強力な機能の一つであり、検索結果を個々のユーザーごとに調整するものです。ログイン済みでウェブ履歴の登録をしているユーザーは、通常の Google 検索結果よりも、より関連性の高い結果を得ることができます。例えば、フットボール関連の検索をたくさんする人は、[giants](ジャイアンツ)というクエリーに対して、フットボールに関連した結果を多く得るかもしれませんが、そのとき他のユーザーは野球チームに関連した結果を得ているかもしれません。同じように、あなたが特定のショッピングサイトからの検索結果を利用する傾向があれば、商品を検索するときにそのサイトからの検索結果が多くなります。私たちがおこなった評価によると、パーソナライズされた検索結果を受け取っているユーザーは、それらがパーソナライズされていない検索結果よりも関連性が高いと感じているとのことです。
[chevrolet magnum](シボレー マグナム)というクエリーから、もうひとつのユーザーの意図を見てとることができます。マグナムは、実際にはシボレーではなくダッジによって作られています。そこで私たちは、ダッジマグナム(Dodge Magnum)の検索結果を、「See results for: dodge magnum」という案内とともに表示します。
私たちが取り組んでいるユニバーサルサーチは、ユーザーの意図を解釈することによって、ユーザーが本当に欲しがっているものを提示するという一つの例といえます。[bangalore] を検索すると、重要なウェブページだけでなく、バンガロールの地図や町の様子のビデオ、交通情報なども検索されます。
最後に、私たちの検索分野での最新の成果、言語間情報検索(Cross Language Information Retrieval, CLIR)について簡単に触れます。CLIRにより、ユーザーはまず自分の言語ではない情報を見つけることができ、それからGoogleの翻訳技術によってこの情報にアクセスすることが可能となります。この成果は言うなれば「どんな言語でもいいから自分がほしいものをくれ」というものです。Tony Blair 氏(トニー ブレア元英国首相)の経歴を知りたいロシアのユーザーは、ロシア語で[Тони Блэр биография] と入力すると、英語のウェブを検索するためのリンクが結果の下のほうに表示されます。
同様にエジプトのユーザーが [أغاني أفلام ديزني] というクエリーでディズニー映画の曲を検索したときも、英語のウェブを検索するように提案されます。私達は CLIR に大いに期待しています。なぜならそれは、世界中の情報を組織化し、全世界のどこからでもアクセス可能な役に立つものとする、という私たちのミッションにさらに近づくことだからです。
今日のレベルのランキングシステムを実現するために私たちが開発してきた最先端の技術の例をまだまだお見せすることはできます。しかし実際のところ、検索は解決済みの問題というには程遠いものです。多くのクエリーに対して、Google はいまだ十分な結果を返すことができていません。そして、そうしたクエリーはランキングシステムを改良するためのよい機会となっています。私たちのチームで開発中のたくさんの技術が、近い将来、ランキングアルゴリズムの大幅な向上をもたらすと信じています。
私の Google 検索ランキングに関する 2 つの投稿でお話したとおり、私たちはこの優れたランキングシステムを運用し、それをさらに向上するることで、世界中のすべてのユーザーのお役に立ちたいと強く願っています。
※1 : IR 技術の概要については英語「Modern Information Retrieval: A Brief Overview」でご覧いただけます。
※2 : ページや検索結果は頻繁に変更されるので、ここに挙げたいくつかの例は時間が経つと変わっている可能性があります。