Googleはマシンラーニングの技術を検索結果の表示に使用している。RankBrain(ランク・ブレイン)と呼ばれているが、それについての情報をまとめてみよう。
昨日、Googleが”RankBrain(ランク・ブレイン)”と呼ばれる、機械学習の技術を用いた人口知能を、検索結果を選定する目的で使用しているというニュースがもたらされた。RankBrainはどのように作用し、Googleの全体のランキングシステムへどのような影響を与えているのだろうか?この記事で、我々が知りうる限りの情報をお伝えしようと思う。
この記事中で述べられている内容のソースは3つある。一つ目は、Bloombergの記事であり、昨日RankBrainについてのニュースを報じたものだ。(こちらの記事にもまとめられている。)二つ目は、GoogleがSearch Engine Landに直接提供してくれた追加情報だ。三つ目は、Googleが提供してくれなかった箇所について、我々の知識と最大限の仮定を基にしている。また、一般的な背景とは別に、必要だと判断した箇所にはこれらのソースからの情報ということを表示している。
RankBrainとは何か?
RankBrainとは、Googleが名づけた機械学習を用いた人工知能システムであり、検索結果を処理する(手助けとなる)ために使用されている。これは、Bloombergが報じていることでもあり、Googleによって我々にもたらされた情報でもある。
機械学習とは何か?
機械学習とは、コンピューターが人間や詳細なプログラミングによって教えられるのではなく、コンピューターが何かを行う方法を自身に教える(自身で学習する)仕組みである。
人工知能とは何か?
本当の意味での人工知能(Artificial Intelligence)、もしくはAI、とは、コンピューターが人間と同程度の賢さを手にしたものである。少なくとも、知識習得における、教えられる方法と、すでに学習した内容を基に新しい関連性(結びつき)を創り出す方法の二点について、同程度の賢さを持つことだ。
そうした本当の意味での人工知能はSF小説の中にしか存在しない。実際に人工知能が意味するところは、学習し、関連性を創り出すために設計されたコンピューターシステムを指すだろう。
AIと機械学習の違いは何だろうか?RankBrainに限って言えば、同じ意味を持つ言葉と言えるだろう。交互に用いられる場合もあるだろうし、機械学習をその時に用いられている人工知能的なアプローチの一種として用いられる場合もあるだろう。
RankBrainはGoogleが検索結果をランク付けする新しい方法なのか?
答えはNoだ。RankBrainはGoogleの検索”アルゴリズム”の全体の一部分である。そして、アルゴリズムとは、特定のクエリに対して最適だと思われるページを、数十億のページの中から選り分けるために使用されているコンピュータープログラムである。
Googleの検索アルゴリズムの名前は?
Googleの検索アルゴリズムは、我々が過去に報じた通り、ハミングバードと呼ばれている。何年間も、アルゴリズム全体としての名前は付けられていなかった。しかし、2013年に、Googleはアルゴリズムのオーバーホールを行い、ハミングバードという名前を与えたのだ。
つまり、RankBrainとはハミングバード(検索アルゴリズム)の一部なのか?
我々はそう理解している。ハミングバードは検索アルゴリズム全体を指し、ちょうど車における全体としてのエンジンのようなものだ。エンジン自体は複数のパーツから作られているものであり、オイルフィルターや、燃料ポンプ、ラジエーターなどがパーツにあたる。同様に、ハミングバードは複数のパーツを含むものであり、RankBrainは最も新しいパーツの一つなのだ。
実際、RankBrainがハミングバード全体の一部であることを、Bloombergの記事からも読み取ることができる。同記事では、RankBrainが全体の検索を処理しているわけではないことを、はっきりと記しているのだ。
ハミングバードは他の複数のパーツから構成されており、SEO業界の方には馴染み深いだろう。スパムを取り締まる目的で設計された、パンダや、ペンギンや、ペイデイといったものがある。ピジョンはローカル検索の改良を目的とし、トップ・ヘビーは広告を過度に表示しているサイトのランキングを下げている。モバイル・フレンドリーはモバイル対応をしているサイトに恩恵を与え、パイレーツは著作権を違反したサイトを取り締る目的で設計されている。
私はGoogleのアルゴリズムは”PageRank”と呼ばれていると考えていた。
PageRankはハミングバード・アルゴリズムの一部であり、他サイトから張られているリンクを基に、そのサイトに評価を与える特別な方法を含んでいる。
PageRankは非常に特別なものだ。なぜなら、ランキングアルゴリズムの一部に特別な名前を与えた、最初の例であるからだ。その時期は、1998年。この検索エンジンが世に産まれた時代までさかのぼる。
Googleがランキングに使用している”シグナル”とは何か?
シグナルとは、Googleが該当のWebページをどのようにランク付けすべきかを決定するために、手助けとして使用されるものである。例えば、Webページに記載された言葉が挙げられる。特定の言葉が太字である場合、それはまた別のシグナルとなる。PageRankの一部として使用された計算は、(シグナルとして用いられている)PageRankスコアを該当のページに与える。該当のページがモバイル・フレンドリーであると認められた場合は、別のシグナルとして、カウントされる。
こうしたあらゆるシグナルは、ハミングバード内の複数のパーツによって処理され、最終的には様々な検索に対しての結果として、Googleがどのページを表示するかを見つけ出すのだ。
どのくらいの数のシグナルがあるのか?
Googleは200以上の主要なランキングシグナルがあり、さらに10,000に及ぶバリエーションやサブセットがあると話している。通常、”数百”の要素があるとよく述べられており、昨日のBloombergの記事でもそう記載されている。
ランキングシグナルのビジュアルガイドが必要であれば、我々のこの記事を参照して欲しい。
これは、非常に優れたガイドであると、我々は考えている。Googleのような検索エンジンがWebページをランク付けするために使用している要素を全般的に知ることができる。
そして、RankBrainは三番目に重要なシグナルなのか?
その通りだ。どこからともなく、この新しいシステムは、Googleが言うところの、Webページをランク付けするための三番目に重要な要素となっている。Bloombergの記事を下記に引用しておこう。
コラード氏によれば、RankBrainはGoogleの検索結果に何を表示し、どの順位に位置づけるかを決定するアルゴリズムを構成している、”数百”ものシグナルの中の一つであるとのことだ。導入されてから数ヶ月で、RankBrainは検索結果に影響を与える、三番目に重要なシグナルになった、とも述べている。
最も重要なシグナル、二番目に重要なシグナルとは何か?
Googleは、最も重要なシグナルとニ番目に重要なシグナルについては明かしてくれなかった。我々は尋ねた。二度、尋ねた。
Googleが、その二つのシグナルを説明しないことは、なんとも悩ましいことだ。Bloombergの記事には何の不備もない。Googleは、機械学習におけるブレークスルーのPRとなるものを欲しているのだ。
しかし、本当にそのブレークスルーを求めるのであれば、Googleが現在使用している最も重要な要素を、RankBrainに取って代わられた要素を含め、明らかにすることが望まれるはずだ。ここに、Googleがこれらの要素を明らかにすべき理由がある。
ところで、私の個人的な見解では、リンクが未だ最も重要なシグナルであると推測する。Googleは、リンクを投票の形態として活用しているのだ。私が過去に投稿したこちらの記事でも述べている通り、非常に老朽化したシステムだ。
二番目に重要なシグナルは、”言葉(words)”であると推測する。ここでは、ページ内の言葉から、RankBrainによる分析の外側で、人々が検索ボックスに入力し、Googleが解釈するという意味での言葉も含んでいる。
RankBrainが実際に行っていることとは?
GoogleからのEメールから読み取ると、私は、RankBrainは検索者が探している言葉と正確に一致した記載がないページを探すための検索に用いられていると考えている。
Googleは正確に一致したクエリ以外のページを探し出す方法を既に持っているのではなかったか?
その通りだ。Googleは検索者が入力した言葉と完全に一致したページ以外を探し出すことを、ずいぶん前から行っている。例えば、何年も前には、”shoe(靴の単数形)”と検索した場合、Googleは”shoes(靴の複数形)”と記載されているページを探し出せなかったかもしれない。なぜなら、これら二つの言葉は別々の言葉であるからだ。しかし、”語幹解釈(stemming)”の技術により、Googleはより賢くなった。結果として、”runnning”が”run”の変化形であることと同様に、”shoes”は”shoe”の変化形であることを理解できるようになった。
Googleは、同意語の理解も深めている。例えば、”スニーカー”と検索された場合、検索者は”ランニングシューズ”も意味していると理解しているだろう。概念的な理解も深めており、”Apple”という言葉について、テクノロジー会社か果物かを理解することができるようになっている。
ナレッジグラフについてはどうだろうか?
ナレッジグラフは2012年にローンチされ、言葉と言葉のつながりをGoogleが理解を深めた結果とも言える。より重要なことは、Googleの表現を借りれば、”文字列ではなく物事(things not strings)”を検索する方法を学んだことになる。
文字列とは、一連の文字の列を意味しており、”Obama”という綴りと一致したページを検索することである。物事とは、検索者が”Obama”と検索した場合、アメリカの大統領であるバラク・オバマ氏を意味しており、それ以外の人々や場所や物事と結び付けて理解する、ということである。
ナレッジグラフはこの世界における物事とそれらの関連性についての事実のデータベースである。これによって、あなたが”オバマ氏の夫人はいつ産まれた?”という検索を行った場合、下記に記載している通りのミシェル・オバマ氏の情報を、彼女の名前を含めずに、得ることができるのだ。
RankBrainはどのようにしてクエリの精製(改善)の助けとなるのか?
Googleが既に使用しているクエリを精製する方法は、語幹解釈や同意語のリストの作成、物事の関連性についてのデータベースの構築など、人間の手によって行われたものを必要としている。もちろん、その中に自動化は含まれてはいる。しかし、大部分においては、人の手による作業に依存しているのである。
問題は、Googleが30億ものクエリを毎日処理しているということだ。2007年に、Googleは全体のクエリの20%から25%が、今まで誰も検索していなかったクエリだと述べている。2013年には、その数が15%までに減少しており、この数字はBloombergの記事に記載された数字で、Googleが我々に再度知らせてくれた数字でもある。しかし、30億の15%(1日につき4億5千万)という非常に大きい数が、今まで誰も検索していなかった言葉となる。
こうした複数の言葉から成る、”ロングテール”と呼ばれるクエリは非常に複雑なものとなっている。RankBrainは、こうしたクエリをより良く解釈し、効果的に翻訳し、ひっそりと最適なページを検索者に提供するための手助けとなるように設計されている。
Googleが我々に伝えてくれた内容によると、RankBrainは一見すると結び付けられていない複雑な検索の間に、それらが実際はお互いにどの程度似通っているかを理解するためのパターンを見ているとのことだ。その結果、この学習によって、未来における複雑な検索を、それらが特定のトピックにどのように関連しているかをより深く理解できるようになっている。Googleが我々に伝えたことの中で最も重要なことは、RankBrainはこうした検索のグループと、検索者が最も好むであろう検索結果とを結び付けることができるという点だ。
Googleはこうした検索に該当する例を提供しておらず、RankBrainがどのようにして最適なページを推測しているかについての詳細も述べてはいない。しかし、後者については、RankBrainが不明瞭な検索をより特定のものに落としこむことにより、より良い答えを返すということだろう。
具体例については?
Googleはこうした検索の例を与えてくれてはいないが、Bloombergの記事にはRankBrainが手助けしているであろう、検索の例を1つだけ記載している。下記に記載しよう。
食物連鎖における、最上位の消費者のタイトルは何か?
私のような素人にとっては、”消費者”とは何かを購入する人物を指すように思われる。しかし、科学用語でもあり、この場合は、食べ物を消費する何か、を指す。また、食物連鎖には消費者のレベルが存在する。そして、最上位のレベルの消費者とはなんだろうか?そのタイトル(名前)は、”捕食者(predator)”だ。
このクエリをGoogleで検索すると、クエリ自体は非常に奇妙に思えるが、素晴らしい答えを提供している。
そして、この検索結果が、”食物連鎖の上位レベル”というクエリとどの程度似ているか調べてみよう。結果は下記の通りだ。
RankBrainが長くて複雑な元のクエリと、より使用されているであろう、短いクエリと結びつけていることを想像して欲しい。RankBrainは上記二つのクエリが非常に似ていると理解しているはずだ。結果として、Googleはより使用されているであろうクエリに対する答えが、あまり使用されていないクエリに対する答えをより良くする手助けとなるように利用しているのだ。
再度強調させていただきたいのだが、私は、RankBrainがこれら二つの検索を結びつけているかどうかはわからない。私は、Googleが最初の例を与えてくれたことを知っているだけだ。これは、RankBrainが検索結果を向上させる方法として、あまり検索されていないクエリとよく検索されているクエリを結びつけるために使用されているという、簡単な説明にすぎない。
BingはRankNetによって、これを実現しているのか?
2005年にMicrosoftは、RankNetと呼ばれる、独自の機械学習システムを使用し始め、今日では、Bingの検索エンジンの一部となっている。事実、RankNetの産みの親であるチーフ・リサーチャーは賞賛を浴びている。しかし、Microsoftは何年もの間、RankNetについては話していない。
RankNetも変化しているはずだ。非常に興味深い事に、RankBrainの素晴らしさを説明した上記のクエリをBingで検索してみたところ、Bingも素晴らしい検索結果を表示している。その中には、Googleが検索結果に表示したものも含まれている。
一つのクエリによって、BingのRankNetがGoogleのRankBrainと同じように素晴らしいと言える証拠にはならないし、逆もまたしかりだ。残念ながら、この種の検索の比較を行うためのリストを作成することは、非常に困難なことである。
他の例は?
Googleは、新しい例を一つ与えてくれている。”1カップは大さじ何杯?(How many tablespoons in a cup?)”というクエリだ。Googleいわく、RankBrainはこのクエリに対し、オーストラリアとアメリカでは違う検索結果を提供するということだ。なぜなら、似たような名前にも関わらず、それぞれの国では測定方法が異なるからだ。
私は、Google.comとオーストラリアのGoogleで検索をしてみたが、両者に違いは見られなかった。RankBrainがなかったとしても、異なる検索結果は表示されることもある。なぜなら、”昔ながらの”手段により、オーストラリアのGoogleを使用している検索者のために、オーストラリアではよく知られたサイトから検索結果を選ぶこともあるからだ。
RankBrainは本当に助けとなるのか?
上記の二つの例は、RankBrainの素晴らしさを伝えるという点では少々物足りなかったかもしれないが、Googleが主張しているように、私はRankBrainが大きなインパクトを与える可能性を持つことを信じている。Googleはランキングアルゴリズムに手を加える場合は、非常に保守的である。常に、小さなテストを行っている。Googleは相当の自信を持った場合に、大きな変更をローンチする。
RankBrainを導入し、3番目に重要なシグナルとなったことは、非常に大きな変更だ。Googleは、本当に助けとなるという自信がなければ、RankBrainを導入しなかっただろう。
RankBrainはいつ開始したのか?
Googleによれば、2015年の初期にゆっくりとロールアウトし、完全にライブとなりグローバルに適用されてから数ヶ月経っているという。
どのようなクエリが影響を受けるか?
GoogleはBloombergに対して、クエリの”非常に大きな割合”がRankBrainによって処理されていると述べている。我々は、より詳細な数字を尋ねたが、同じ答えが返って来ただけであった。
RankBrainは常に学習しているのか?
Googleによれば、RankBrainが行う学習の全てはオフラインで行われているようだ。過去の検索のバッチが与えられ、それらから予測することを学習している。
こうした予測はテストを受け、良い評価が下されれば、最新のRankBrainに活かされる。そして、このオフライン学習とテストのサイクルが繰り返されているのだ。
RankBrainはクエリの精製以上の役割を果すのか?
通常、(語幹解釈や同意語、そして今ではRankBrainによって行われる)クエリの精製は、ランキング要素やシグナルとしては考えられていない。
通常、シグナルはコンテンツに結び付けられた要素であり、ページ内の言葉や、そのページに張られているリンク、セキュアなサーバーを使用しているか、などが例として挙げられる。また、ユーザーに結び付けられたものでもあり、検索者のロケーション、検索やブラウジングの履歴などがあてはまる。
GoogleはRankBrainを3番目に重要なシグナルだと述べたが、本当にランキングシグナルを意味しているのだろうか?答えは、Yesだ。Googleは、我々にRankBrainが直接ランキングに影響を与える要素が(Googleのアルゴリズム内に)あることを再度確認している。
どのくらいの精度か?”RankBrainスコア”といった類のものがあり、品質を算出しているのか?おそらく、RankBrainは、彼らが保持しているコンテンツをベースに、ページをより良く分類するための手助けをしているように思える。RankBrainはGoogleの既存のシステムが行っていること以上に、そのページについての情報をよりよくまとめることを可能にしているのかもしれない。
そうでなければ、Googleはランキングの構成要素が含まれている、といった以上のことを述べないだろう。
RankBrainについてさらに学ぶためにはどうすればよいか?
Googleは、”ベクター(vectors)”(ワードやフレーズが数学的に結び付けられる方法)について知りたい人は、このブログ記事を読むべきだと述べている。この記事では、システム(記事中ではRankBrainとは名付けられていない)がニュース記事をスキャニングするだけで、複数の国の首都という概念を学んだ方法が記されている。
この記事の元になった、より長い調査論文はこちらにある。また、Googleのword2vecツールを使うことで、独自の機械学習のプロジェクトを行うことができる。さらに、Googleは人工知能と機械学習についての論文を集めた場所を用意しており、Microsoftも、こちらに用意している。
この記事は、Search Engine Landに掲載された「FAQ: All About The New Google RankBrain Algorithm」を翻訳した内容です。