Facebookのグラフ検索のしくみ…一種の

Facebookグラフ検索アイコン

グラフ検索はまだすべての人に公開されていませんが、最近Facebookの話題になることができました。そして正当な理由で。馴染みのない人にとっては、グラフ検索は、GoogleやBingなどの検索エンジンから得られるパーソナライズされた結果に対するFacebookの答えです。ソーシャルサークル(およびソーシャルサークルのソーシャルサークル)について、はるかにコンテキスト化され、より具体的なデータが含まれます。

グラフ検索がどのように正確に機能するかは、少し謎のままですが、最近Facebookのエンジニアリングブログで、グラフ検索のギアを変える理由についての見解が示されました。

対照的に、Facebookの古い検索エンジン(PPSと呼ばれる)は初歩的なものでした。キーワードは、PPSが結果を生成するために使用した唯一の要因でした。その「検索フィルター」でさえ基本的なものであり、いくつか例を挙げると、People、Groups、Pagesなどの幅広いトピックに基づいて結果を絞り込みました。

それでは、グラフ検索について詳しく見ていきましょう。過去数年にわたって、Facebookは最終的にグラフ検索に役立つ新機能をゆっくりと統合してきました。たとえば、基本的にGoogleのオートコンプリートに対するFacebookの回答である「タイプヘッド」を例にとります。クエリを入力すると、検索エンジンは何を検索しているかに基づいて推測し、ドロップダウンボックスに結果を提案します。Typeheadは、グラフ検索が導入されるずっと前に2009年に導入されましたが、現在はグラフ検索のように洗練されていませんでした。

これは物事が複雑になり始めるところです。グラフ検索のしくみを概念化するには、友達、ページ、写真、投稿、グループ間の関係の全体像を広大なウェブとして考えてください。友達は、いいねやコメントを介して友達、ページ、写真と関係があります。そして、これらのページ、写真、グループは互いに関係があります。

fbidグラフ検索

Facebookのエンジニアは、上の図を共有して、状況を少し分解しようとしました。私たちがノードと呼ぶ大きなドットを名詞として想像してください。それらは友達、ページ、グループ、投稿、そしてあなたの名前でさえあり得ます。これらの名詞が互いにどのように関連しているかは、「エッジ」と呼ばれる矢印(「友達」、「タグ付き」、「写真」、「イベント」、「いいね」などの関係属性を含む)で表されます。したがって、この図に表示されているのは、ユーザーSriram Sankarと「Breville」というタイトルのページとの関係です。この場合、関係は「いいね!」を介して行われます。

一歩下がって全体像を見ると、Facebookがどのようにして私たちの社会的性質に便乗しているネットワークを計画できたかに驚くかもしれません。FacebookのエンジニアであるSriram Sankar氏は、エリザベス女王とジョージVIの関係やスターウォーズの歴史についても理解しています。

ユーザーのエクスペリエンスをより検索エンジンのようにするために、Facebookはグラフ検索のキーワード検索だけに頼るのではなく、自然言語処理を決定しました。これは、自然に話す方法で検索を入力できることを意味し、グラフ検索のアルゴリズムは、入力したすべての単語を調べて、探しているものを決定します。

概念は十分に簡単に見えますが、明らかにそれを実行することは言うより簡単でした。 Facebookの元の検索エンジン(1.0)では、Facebookでのアクション(チェックイン、いいね、コメント、個人情報など)は結果のランク付けにのみ使用されていました。バージョン2.0では、グラフ検索はこれらすべてのアクションにインデックスを付けて、入力した単語間の関係を把握します。たとえば、「Mark Zuckerberg」を検索する場合、グラフ検索では、「Mark」と「Zuckerberg」がFacebookのCEOを指していることを知っている必要があります。違いを知るためにグラフ検索をプログラミングするのは簡単ではありませんでした。そこで、「ユニコーン」が登場します。

簡単に言うと、Unicornは各ノードに番号のタグを付け、それを使用して、文脈的に検索しているものを解読します。ブログ投稿で例として挙げられた次のインデックスを見てください。

FacebookがMark Zuckerberg(fbid:4)、Randi Zuckerberg(fbid:13755)、Mark David Johnson(fbid:1001)Randi Johnson(fbid:5542)、David Johnson(fbid:10003)の名前にインデックスを付ける場合、次のようになります。それがどのように見えるかです。現時点では、名前、数字、グラフの集まりですが、その意味をほんの1分で理解できます(参考:fbidはFacebook IDを指します)。 

マーク→4

ザック→4

ランディ→13755

ザック→13755

マーク→100

デビッド→100

ジョンソン→100

ランディ→5542

ジョンソン→5542

デビッド→10003

ジョンソン→10003

Mark Zuckerberg(Zuck)という名前のタグはfbid 4で、Randi Zuckerbergのタグは13755です。この編成は、名前が関連しているため、名前間のスペースに関係なく適用されます。潜在的に、マークのような名前は、1つのエントリ(fbid番号)または数百万というわずかな数しか持つことができません。

fbグラフ検索ユニコーン

グラフ検索では「David Johnson」のような名前は「David」と「Johnson」の検索として扱われるため、これは重要です。しかし、上のグリッドが示すように、グラフ検索は2つの名前の間の関係を理解し​​ようとします。

Facebookが検索している「ジョンソン」を特定するために、Facebookは「重要度」と呼ばれるものを使用して、ユニコーンがあなたにとって最も重要であると考える結果を引き出します。ユニコーンが探しているものをどのように解読するかを視覚化するには、 「ジョンソン」の下の3つのドット。考えられる結果のうち、Facebookがあなたに吐き出すのは、最も関連性が高いと考えられる結果です。ただし、Facebookは重要度の指標の詳細については触れていません。そのため、Facebookがどのように機能するかを明らかにすることはできません。

そして、そこにあります。これで、Facebook Graph Searchがどのように機能して友達を感動させるか、またはバーでの会話に参加するかについて、かなり良いアイデアが得られるはずです。