Unicorn を理解する: Facebook のグラフ検索の詳細

  • Sep 07, 2023

Facebook のエンジニアが、ソーシャル ネットワークの新しいグラフ検索プラットフォームを支えている魔法の生き物の内部を紹介します。

zdnet-facebook-graph-search

カリフォルニア州メンローパーク -- 表面で、 フェイスブックの新しい グラフ検索 は、世界中の人々とコンテンツの間のより多くのつながりを可能にする新しい方法として宣伝されています。

そのすべてを可能にしているのはユニコーンであることが判明しました。

木曜日に同社の本社で行われた短期集中コースで、Facebook のエンジニアのチームがより詳細な説明を提供した。 新しいことを可能にする世界最大のソーシャル ネットワーク戦略の新しい 3 番目の「柱」の背後にある魔法を垣間見る 接続。

Facebook の検索インフラストラクチャ チームのマネージャー、ソーレン ラッセン氏は、「コンピューター サイエンスで言えば」 ソーシャル グラフは、人、場所、物の「巨大な地図」とそれらの間のつながりを含むグラフ データ構造です。 彼ら。

グラフには多くの固有の構造があるため、カーチス氏は「人々がまったく新しい干し草の山を見つけられるように支援できたら、本当に素晴らしいことになるだろう」と述べました。

「グラフ検索は、私たちがユニークで異なるソーシャルセットと構造を持っていたという意味で、何か新しいことを行う特に魅力的な機会でした」とラッセン氏は語った。
10 億人を超えるアクティブなメンバーを擁する Facebook では、約 2,400 億枚の写真がホストされており、さらに毎日 3 億 5,000 万枚が追加されています。 データは指数関数的に拡大し続け、毎日 27 億の「いいね!」と 25 億のコンテンツが共有されています。
ラッセン氏は「自然言語は非常に表現力豊かです」とコメントした。 したがって、グラフ検索の主な用途の 1 つは、固有名詞を通じてソーシャル グラフに関する自然な質問をすることです。
Facebookのソフトウェアエンジニアであるマイク・カーティス氏は、いくつかの専門用語を丁寧に説明しながら、次のように続けた。 検索は、ユーザーが他のノードに接続されているソーシャル グラフ内のノードを見つけられるように「ゼロから設計」されました。 ノード。
Graph Search の中心となるのは、「Unicorn」と呼ばれるこのインフラストラクチャです。これは、一般的な検索クエリをサポートするという点で標準の検索エンジンに似ています。

しかし、Curtiss 氏は、Unicorn は一連のステップで発行されるマルチホップ クエリをサポートしているため、ユニークであると明言しました。
同氏は、検索エンジンのキーワードに似たノードに数字がつながっていることを強調した。 Curtiss 氏は、それらは同様の役割を果たすが、これらのノードにはソーシャル グラフのセマンティクスに接続する数値構造があると説明しました。
Curtiss 氏によると、グラフ検索の仕組みの例は次のとおりです。

カーティスが数週間以内にニューヨーク市に引っ越すとします。 Facebook の友達の中でそこに住んでいる人を見つけられれば役立つだろうと彼は言いました。

「これは磁束コンデンサーのようなものです」とカーチス氏は映画の中の架空の技術を引き合いに出し、冗談を言った。バック・トゥ・ザ・フューチャー「これによりタイムトラベルが可能になったと考えられています。 「Apply Operator はグラフ検索を可能にするものです。」

グラフ検索プロセスは友人のノードから始まり、その後友人の接続を横断します。または、 「エッジ」。 それらの人々は、ニューヨークの「友人経由」エッジと「在住」エッジを通じて彼とつながっています。 市。

カーチスは質問を「ニューヨークに住んでいる私の友人、そして好きな人」に広げました。 ダウントン・アビー。「ここから、友人とのつながり、ニューヨークに住んでいる、好きなものという 3 つの制約をすべて満たした人が 1 人いました。 ダウントン・アビー.
「ここから、物事が本当に面白くなり始めるのです」とカーティス氏は語った。 「これまで私が示してきたことは、基本的な検索テクニックをソーシャル グラフに適用できるということです。 それ自体は素晴らしいアイデアですが、できることは他にもあります。」

グラフには多くの固有の構造があるため、カーチス氏は「人々がまったく新しい干し草の山を見つけられるように支援できたら、本当に素晴らしいことになるだろう」と述べました。

カーティス氏は、これは Facebook がユーザーがすでに接続しているものだけでなく、直接接続していないアイテムの両方を検索できるようにしたいことを意味すると説明した。
「今実行したこのクエリでは、クエリを開始した最初のノードから常にシングルホップであることがわかります」と Curtiss 氏はコメントしました。 「連続した複数のホップを必要とする興味深いクエリが多数存在することがよくあります。」
カーチス氏はシナリオをさらに拡張して、ニューヨークに移るなら仕事を探しているかもしれないと示唆した。 したがって、彼ができることの 1 つは、友人の雇用主について詳しく調べることです。
「私たちがそれを行う方法はユニコーン内にあります。 私のノードから開始して、友人のエッジをトラバースすると、それらのノードから別のエッジを介して、私の友人が働いている私の会社に飛び移ることができます」とカーティス氏は説明した。
これは Unicorn の 2 番目のステップにつながります。これは Curtiss 氏が「Apply Operator」と呼んでいたもので、入力結果のセットを受け取り、それらの結果に別のクエリを適用します。

「これは磁束コンデンサーのようなものです」とカーチス氏は映画に出てくる架空のテクノロジーを引き合いに出して冗談を言った。 バック・トゥ・ザ・フューチャー それがおそらくタイムトラベルを可能にしたと考えられています。 「Apply Operator は、Graph Search を可能にするものです」と Curtiss 氏は付け加えました。Apply Operator は、ユーザーを直接接続していないものに接続するからです。
より多くの雇用主を見つける場合、カーティス氏は、応募オペレーターが雇用主を見つけるだけでどのように扉を開けるのかを説明しました。 友人の雇用主から、ニューヨークに住んで働いている彼の友人の友人の雇用主を見つけるまで 市。
しかし、Curtiss 氏は、Apply オペレーターの問題は、検索を続けると検索結果が指数関数的に増加することであることを認め、これは単純な計算を考えれば当然のことだと主張しました。

ラッセン氏は、「この旅はまだ 1% 終わった。これは、この分野でさらに多くのことを行う大きなチャンスがあることに気づいたことを意味する。」と結論付けました。

Curtiss 氏は、100 ノードのエッジをリクエストすると 10,000 個の出力ノードが取得され、そこからそれらのノードのエッジをリクエストして 100 万個の出力ノードが取得されると説明しました。
簡単に言えば、カーティス氏は、何らかの方法でそれをフィルタリングする必要があると主張しました。 そこでソーシャル ランキングが登場し、直接の友人とのつながり (およびより細かく調整された検索用語) が再び機能します。
しかし、Graph Search はまだ比較的新しく、Facebook のほぼすべてのユーザー ベースがまだ利用できるわけではありません。 実際、現時点では「数十万」の Facebook ユーザーが英語でのみ利用可能であり、チームは、いつ全員にアクセスが公開されるかについては明らかにしていません。
Lassen 氏は、議題に増大する問題を 1 つ挙げ、このすべてのデータにインデックスを付けるには、エンジニアリング チームが「いくつかの基本的なスケーラビリティ作業」を行う必要があると指摘しました。
カーティス氏は、グラフ検索の開発にはまだ長い道のりがあることを認めながらも、チームにはいくつかの「賢いアイデア」があると述べた。 CEOのマーク・ザッカーバーグ氏は、これが彼にとって本当に重要なプロジェクトであると表明したと付け加えた。 について。
ラッセン氏は、「この旅はまだ 1% 終わった。これは、この分野でさらに多くのことを行う大きなチャンスがあることに気づいたことを意味する。」と結論付けました。

Facebook のグラフ検索については ZDNet でさらに詳しく報道されています:

  • Facebook、ユーザーコンテンツ共有の次のステップ「グラフ検索」を発表
  • グラフ検索機能は企業にメリットをもたらします
  • Facebook のソーシャル グラフ、Neo4j はグラフ データベースの使用の増加を示しています
  • Facebook のグラフ検索であなたのビジネスを見つけてもらう方法
  • Facebook、ユーザーコンテンツ共有の次のステップ「グラフ検索」を発表
  • Facebook の Graph Search と Microsoft の Bing: 複雑です