おすすめは毎回ゼロから作られる
Xを開くたびに、あなた専用のフィードがその場で組み立てられている。
この章で分かること
- おすすめが「作り置き」ではないことが分かる
- 12段階の流れを言葉で説明できるようになる
- 「点数」の話は後半でしかないと理解できる
まず、いちばん大きな勘違いを外します。Xのおすすめは、あらかじめ用意された「人気投稿ランキング」ではありません。あなたがアプリを開いたその瞬間に、あなただけのために、ゼロから組み立てられています。
同じ投稿でも、見る人が違えば順番が違います。それどころか、そもそも表示されるかどうかも変わります。「バズった投稿」は存在しますが、「全員にとって点数が高い投稿」というものは、この仕組みの中には存在しません。
組み立ての12段階
実際のコードでは、次の順番で処理が進みます。専門用語はあとの章で全部ほどきますので、いまは「こういう順番なんだな」とだけ眺めてください。
- 01
閲覧者の情報を集める
いいね履歴・フォロー・ブロック・ミュート・既読・国・言語・年齢
- 02
投稿候補を集める
フォロー中の棚+フォロー外の2つの棚から、およそ3000件
- 03
投稿の情報を補う
本文・著者・メディア・引用・言語・意味コード・安全ラベル
- 04
18個のフィルタで落とす
48時間超・既読・ミュート語・ブロック関係・フォロー外の返信とリポスト
- 05
AIが26項目を予測する
この閲覧者が何をしそうかを、投稿ごとに確率で予測
- 06
係数を掛けて合計する
予測確率×ウェイトの積和。ここで初めて点数になる
- 07
新人枠を1件確保する
フォロワー1000以下・表示1000未満の投稿を16位相当へ
- 08
同じ作者を減衰させる
2本目0.625倍、3本目0.4375倍、下限0.25倍
- 09
フォロー外を0.75倍にする
フォロー中でも返信・リポストなら同じ割引
- 10
似た投稿を間引く
意味の近さで多様化。選外は点数0
- 11
上位50件を選ぶ
点数順に並べ替えて切り出す
- 12
表示可否を判定する
安全ラベルを読み、見せる・警告を挟む・見せないを決める
候補は約3000件、表示は35件
Xは1回のリクエストでおよそ3000件の投稿をかき集めます。そこから最終的に画面に載るのは、通常の投稿で35件です。
- 集めた候補3,000件フォロー中1200+フォロー外1000+類似800
- 多様化の選抜50件意味の近さで間引く
- 上位選抜50件点数順に切り出す
- 最終的な投稿35件1回のレスポンスに載る投稿数
率にすると、集めた候補のうち約1%しか表示されません。落ちるのが普通で、残るのが例外です。この感覚を持っておくと、あとの話が腑に落ちやすくなります。
「順番」と「表示可否」は別の仕組み
もう1つ、最初に押さえておくと迷わなくなることがあります。Xでは並べる仕組みと、見せていいかを決める仕組みが、完全に別々です。
| 決めること | 担当 | |
|---|---|---|
| ランキング | 何番目に出すか | Home Mixer のスコアリング |
| 可視性フィルタ | そもそも出していいか | Visibility Filtering |
だから「点数は高いのに誰にも見られない」も、「点数は低いのに表示はされる」も、両方ありえます。シャドウバンと呼ばれている現象の多くは、点数の話ではなく、こちらの表示可否の話です。詳しくは第12章で扱います。
並べる仕組みが順番を決める。見せる仕組みが可否を決める。別のサービス、別の入力、別のルール。— リポジトリのREADME「Key Design Decisions」より要約
この資料の読み方
- 01
急いでいる方
第2章(点数の正体)と第5章(返信とリポスト)だけ読んでください。誤解の8割はここで解けます。
- 02
順番に理解したい方
このまま第2章へ進んでください。全13章で、候補集めから表示判定まで一周します。
- 03
数字を確認したい方
「調べる」の各リファレンスに、全26ウェイト・全21フィルタ・安全ラベルを一覧で置いています。