DUICUO

チェックしてください!Twitter のアルゴリズムがオープンソース化されました。

王瑞平編纂

校正:Yun Zhao

3月末、Twitterの推奨アルゴリズムがついにGitHubでオープンソース化され、マスク氏の約束は果たされた。

キャプション:マスク氏はツイッターで、先週のリリースでは「推奨アルゴリズムの大部分」がカバーされており、残りは今後リリースされると付け加えた。

マスク氏の約束通り、Twitterは先週、タイムラインにどのツイートが表示されるかのコードをGitHubで公開し、詳細を説明したブログ記事を公開した。

ブログ記事では、レコメンデーションアルゴリズムの仕組みについて詳しく説明されています。オープンソースのアプローチは、マスク氏の約束の実現に貢献しただけでなく、ユーザーの信頼を高め、製品の最適化と改善を促進しました。

1. Twitterの推奨アルゴリズム

この記事では、アルゴリズム実行の各ステップを詳しく説明し、レコメンデーションシステムを構成する相互接続された多数のサービスとタスクを紹介します。Twitterでは多くの領域でツイートがレコメンデーションされていますが(多くの場合、検索、探索、広告の形で)、この記事では主に「おすすめ」タイムラインのレコメンデーションシステムに焦点を当てます。

Twitterは世界中のニュースをユーザーに刻々と提供しています。そのためには、毎日投稿される約5億件のツイートから最も人気のあるツイートを抽出し、最終的にデバイスの「おすすめ」タイムラインに表示する独自の推奨アルゴリズムが必要です。

具体的には、このレコメンデーションアルゴリズムシステムは、Twitter、ユーザー、エンゲージメントデータから潜在情報を抽出する一連のコアモデルと関数に基づいています。これらのモデルは、「将来他のユーザーと交流する確率はどれくらいか?」や「Twitterにはどのようなコミュニティがあり、それらのコミュニティでトレンドになっているツイートは何か?」といった、Twitterネットワークに関する重要な質問に答えることを目的としています。これらの質問に正確に答えることで、Twitterはより関連性の高いレコメンデーションを提供できるようになります。

ツイートのプロセスは主に 3 つの段階から構成されます。第 1 段階では、システムはさまざまな推奨ソースから最適なツイートを取得します。このプロセスは推奨ソース候補の選択と呼ばれます。第 2 段階では、システムは機械学習モデルを使用して各ツイートをランク付けします。第 3 段階では、ヒューリスティックとフィルターによって、ブロックされているユーザーからのツイート、勤務時間中に表示するのに適さないコンテンツ、すでに表示されたツイートをフィルターするなどのコマンドの実行が開始されます。

ちなみに、「For You」タイムラインの構築と運用を担うサービスシステムは「Home Mixer」と呼ばれています。これはProduct Mixerをベースに構築されたカスタムScalaフレームワークで、コンテンツフィードの構築を容易にします。このサービスは、さまざまな候補ソース、スコアリング関数、ヒューリスティック、フィルターを接続するソフトウェアバックボーンとして機能します。

2. For Youタイムラインモデル

モデルの重要な部分は、候補ソースから候補ソースを取得することから始まり、単一のタイムライン要求中の呼び出しの順序で実行されます。

Twitterには、ユーザーにとって最新の関連性の高いツイートを取得するために、複数の候補ソースが用意されています。ユーザーからのリクエストごとに、システムはこれらの候補ソースを用いて、数億件のツイートから最適な1,500件のツイートを抽出しようとします。次に、ユーザーがフォローしているユーザー(ネットワーク内)とフォローしていないユーザー(ネットワーク外)から候補ソースを検索します。

具体的には、「おすすめ」タイムラインでは、ユーザーがフォローしているユーザー(「内部ネットワーク」と呼ばれる)のツイートがタイムラインに約50%、フォローしていない「外部ネットワーク」のアカウントのツイートが約50%表示されます。ランキングは「アクティブなエンゲージメント(いいね、リツイート、返信など)を最適化する」ことを目的としており、最終段階では、ユーザーが同じ人物からのツイートを過度に目にしないようにします。

3. 内部および外部ネットワークメッセージソース

では、上記で述べた内部ネットワークと外部ネットワークのニュースソースについて詳しく見ていきましょう。内部ネットワークのニュースソースは、最も有力な候補となるニュースソースであり、フォローしているユーザーが最近投稿した最も関連性の高いツイートを提供するように設計されています。ロジスティック回帰モデルを用いて、関連性に基づいてツイートを効果的にランク付けします。上位にランク付けされたツイートは次の段階に進みます。

社内ネットワークメッセージングシステムの最も重要な構成要素は、リアルグラフです。リアルグラフとは、2人のユーザー間のインタラクションの可能性を予測するモデルです。ユーザーとツイート投稿者間のリアルグラフスコアが高いほど、そのユーザーのツイートがモデルに含まれる可能性が高くなります。

では、外部ネットワークニュースソースとは何でしょうか?ご存知の通り、ユーザーがフォローしているネットワーク外で関連ツイートを見つけるのは難しい問題です。なぜなら、ユーザーが投稿者をフォローしていない場合、ツイートが自分にとって関連しているかどうかをどうやって判断できるのでしょうか?Twitterはこの問題を解決するために、2つのアプローチを採用しています。

最初のアプローチは、ソーシャルグラフを構築することです。このグラフは、あなたがフォローしている人々や、あなたが興味を持っている人々の活動を分析することで、あなたとの関連性を推定します。このプロセスにおいて、システムは関連するビジネスグラフを自動的に閲覧し、「私がフォローしている人々は最近どのようなツイートを投稿したか?誰が私のツイートに似たツイートを「いいね」しているか?そして、彼らは最近どのような記事に「いいね」したか?」といった質問に答えます。

システムはこれらの質問への回答に基づいて候補ツイートを生成し、ロジスティック回帰モデルを使用して結果のツイートをランク付けします。

2 番目のアプローチは、システムのコンテンツの類似性に関するより一般的な質問に答えるために設計された埋め込み空間を構築することです。どのツイートとユーザーが私と同じような興味を共有していますか?

埋め込み空間は、ユーザーの興味とツイートの内容を表す数値表現を生成することで機能します。ユーザーは、この埋め込み空間内で、任意の2人のユーザー、ツイート、またはユーザーとツイートのペア間の類似度を計算できます。正確な埋め込みが生成された場合、モデルはこの類似度を使用して関連するメッセージを置き換えることができます。

例えば、Twitterで最も有用な埋め込み空間の一つにSimClustersがあります。SimClustersは、独自の行列分解アルゴリズムを用いて、影響力のあるユーザークラスターにアンカーされたコミュニティを発見します。現在14万5000のコミュニティが存在し、3週間ごとに更新されています。これらのコミュニティの規模は、個人的な友人グループ内の数千人のユーザーから、ニュース記事に登場する数億人のユーザーまで多岐にわたります。次の図は、最も大規模なコミュニティの一部を示しています。

4. For Youタイムラインでのランキング

次に、レコメンデーションプロセスの第2段階であるツイートのランキングについてご紹介します。「おすすめ」タイムラインのランキングは、約4,800万のパラメータを持つニューラルネットワークによって実現されています。このニューラルネットワークは、ツイートのインタラクションを継続的に学習し、アクティブなエンゲージメント(いいね、リツイート、返信など)を最適化します。このランキングメカニズムは、数千の特徴を「考慮」し、各ツイートにスコアを付ける10個のタグを出力します。各タグはユーザーエンゲージメントの可能性を表し、ツイートはそのスコアに基づいてランキングされます。

5.ツイートをデバイスに送信する

ランキングフェーズに続いて、ヒューリスティックスとフィルターがツイート機能の最適化を支援します。これらの機能は連携して、コンテンツや個人の好みに基づいたツイートのフィルタリング、同じ投稿者による連続投稿の防止、ネットワーク内外のツイート数のバランス確保など、バランスの取れた多様なツイート品質を実現します。

ホームミキサーは、ツイートをデバイスに配信するための準備を行います。その後、システムはツイートをツイート以外のコンテンツ(広告、フォローのおすすめ、ログインプロンプトなど)とミックスし、デバイスに表示します。これでツイートの送信プロセスが完了します。

6. Twitterの今後の動き

Twitterは今後、この基盤を基に、より優れた分析プラットフォームを継続的に開発し、クリエイターにリーチとエンゲージメントに関するより多くの情報を提供していきます。さらに、ユーザーのツイートやアカウントに付与される安全ラベルの透明性も向上します。

Twitterは、リアルタイム機能、埋め込み機能、ユーザー表現といった新たなレコメンデーションシステムの拡張を積極的に模索し、世界で最も興味深いデータセットとユーザー基盤の構築を目指しています。しかし、これはオープンソースコミュニティとの潜在的な競争にTwitterをさらすことにもなります。

参考文献:

https://blog.twitter.com/engineering/en_us/topics/open-source/2023/twitter-recommendation-algorithm

https://www.theverge.com/2023/3/31/23664849/twitter-releases-algorithm-musk-open-source