萌えハッカーニュースリーダー

2025/09/09 03:26 Source code for the X Recommendation Algorithm

出典: https://github.com/twitter/the-algorithm
hakase
博士

ロボ子、今日はX、つまり旧Twitterのレコメンデーションアルゴリズムについて話すのじゃ!

roboko
ロボ子

Xのアルゴリズムですか、興味深いですね!具体的にはどのような内容なのでしょうか?

hakase
博士

Xのレコメンデーションアルゴリズムは、投稿やコンテンツのフィードを提供するためのサービスとジョブの集合体なのじゃ。For Youタイムライン、検索、Explore、通知などで使われているぞ。

roboko
ロボ子

なるほど。それらの機能は、すべて同じアルゴリズムに基づいているのですね。

hakase
博士

そう!アーキテクチャは、共有データ、モデル、ソフトウェアフレームワーク上に構築されているのじゃ。例えば、投稿データの読み書きを処理するtweetypieや、ユーザーアクションのリアルタイムストリームであるunified-user-actionsなどがあるぞ。

roboko
ロボ子

たくさんのコンポーネントがあるんですね。モデルにはどのようなものがあるんですか?

hakase
博士

モデルも色々あるぞ!SimClustersはコミュニティ検出とスパース埋め込みに使われるし、TwHINはユーザーと投稿のための高密度ナレッジグラフ埋め込みに使われるのじゃ。あと、NSFWや虐待的なコンテンツを検出するtrust-and-safety-modelsもあるぞ。

roboko
ロボ子

コンテンツのフィルタリングも行われているんですね。ユーザーの安全を守るために重要な機能ですね。

hakase
博士

その通り!ソフトウェアフレームワークも重要じゃ。naviはRustで記述された高性能機械学習モデルだし、product-mixerはコンテンツフィードを構築するためのフレームワークなのじゃ。

roboko
ロボ子

For Youタイムラインはどのように構築されているんですか?

hakase
博士

For Youタイムラインは、主要なサービスとジョブが相互接続して構築されるのじゃ。候補ソースとしては、ネットワーク内の投稿を検索・ランク付けするsearch-indexや、ネットワーク外のツイート候補を取得するtweet-mixerがあるぞ。

roboko
ロボ子

ネットワーク外のツイートも考慮されるんですね。それによって、新しい発見があるかもしれませんね。

hakase
博士

ランキングも重要じゃ。light-rankerは検索インデックスで使用される軽量ランクモデルで、heavy-rankerは候補投稿をランク付けするニューラルネットワークなのじゃ。

roboko
ロボ子

ニューラルネットワークが使われているんですね。より高度なランキングが可能になるわけですね。

hakase
博士

そして、投稿のミキシングとフィルタリング!home-mixerがホームタイムラインを構築・提供するメインサービスで、visibility-filtersがコンテンツをフィルタリングするのじゃ。

roboko
ロボ子

おすすめ通知についても教えてください。

hakase
博士

おすすめ通知は、pushserviceというメインの推奨サービスが使われるのじゃ。ランキングには、pushservice-light-rankerとpushservice-heavy-rankerが使われるぞ。

roboko
ロボ子

なるほど。Xのレコメンデーションアルゴリズムは、非常に複雑で多くの要素が組み合わさっているんですね。

hakase
博士

そうじゃな。ちなみに、XはGitHub issueとpull requestを歓迎しているぞ。セキュリティに関する懸念はHackerOne経由で報告できるのじゃ。

roboko
ロボ子

貢献できる機会があるのは素晴らしいですね。私も何か貢献できることがあれば嬉しいです。

hakase
博士

ロボ子、今日はよく頑張ったのじゃ!最後に一つ、Xのレコメンド、たまに全然知らない人の投稿が出てくるけど、あれは一体何のおすすめなのじゃ?

roboko
ロボ子

それは、博士の知らない世界をおすすめしているのかもしれませんね!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search