logo

Facebook「Graph Search」を支えるインフラ「Unicorn」--その仕組みと今後の課題

Rachel King (CNET News) 翻訳校正: 川村インターナショナル2013年03月06日 07時30分
  • このエントリーをはてなブックマークに追加

 カリフォルニア州メンロパーク発--Facebookの新しい「Graph Search」は、世界中の人々とコンテンツとの間のつながりを増やす新たな方法として、表立って宣伝されている。

 実際にそれらのすべてを実現しているのは「Unicorn」であることが分かった。

 米国時間2月21日にFacebook本社で開催された説明会で同社エンジニアチームは、Graph Searchを裏で支える仕掛けについて詳細に説明した。Graph Searchは、世界最大のソーシャルネットワークであるFacebookが新たなつながりを実現する戦略の新しい第3の「柱」である。

 Facebookの検索インフラストラクチャチームのマネージャーであるSoren Lassen氏は「Social Graph」について、人々や場所、物事の「巨大な地図」と、それらの間のつながりに関するグラフデータ構造であることを「コンピュータサイエンス用語を使って」説明した。

 「われわれはユニークでほかとは異なるソーシャルセットや構造を有していた。そのような意味で、Graph Searchは何か新しいことをするとりわけ魅力的な機会だった」(Lassen氏)

 10億人以上のアクティブメンバー数を誇るFacebookは、約2400億枚の写真をホストしており、日々3億5000万枚が新たに追加されている。毎日27億回の「Like」がクリックされるほか、25億件のコンテンツが共有されており、データは急激に拡大する一方だ。

 Lassen氏は、「自然言語は表現力が非常に優れている」と述べた。そのため、Graph Searchの主たる利用法の1つは、ふさわしい名詞を使って、自然言語でSocial Graphに関する質問をすることだ。

 FacebookのソフトウェアエンジニアであるMike Curtiss氏は続いて、いくつかの専門用語を使って説明し、Graph SearchはユーザーがSocial Graphでほかのノードに接続されたノードを見つけられるようにするために「根底から設計された」と述べた。

 Graph Searchの根幹にあるのは、この「Unicorn」と呼ばれるインフラストラクチャだ。Unicornは一般的な検索クエリをサポートするという点で、標準の検索エンジンに似ている。

 しかしCurtiss氏によると、Unicornは複数のステップを経て発行されるマルチホップクエリをサポートするという点でユニークだという。

 ノードには数字が関連付けられており、それは検索エンジンのキーワードに似ている、とCurtiss氏は強調した。同氏の説明によると、それらの数字は検索エンジンのキーワードと同様の役割を果たすが、これらのノードは数的構造を有しており、その構造はノードをSocial Graphのセマンティクスと結びつけるという。

 Curtiss氏はGraph Searchが機能する仕組みを説明するために、次の例を挙げた。

 Curtiss氏が数週間後にニューヨーク市に引っ越す予定だとしよう。その場合、Facebookの友達の中で誰がニューヨーク市に住んでいるのかを確認することは自分にとって役立つだろう、と同氏は述べた。

 Graph Searchプロセスは最初にCurtiss氏の友達のノードを検索した後、友達のつながり(「エッジ」)を調べる。それらの個人は、「友達経由」というエッジと、ニューヨーク市の「在住者」というエッジを通してCurtiss氏とつながっている。

 Curtiss氏はクエリを「友達のうちで、ニューヨーク在住で『ダウントン・アビー~貴族とメイドと相続人~』(英国のテレビドラマ)が好きな人」に拡大した。すると、それら3つの条件(友達のつながり、ニューヨーク在住、「ダウントン・アビー」のファン)すべてに該当する個人が1人見つかった。

figure_1

-PR-企画特集