本文へ移動
X解体新書
第6章第三部12分

二十六の関門

スコアリング前に21個、選抜後に5個。どれか1つに当たると、その候補はFor Youから外れる。

この章で分かること

  • For Youのフィルタ26個を把握できる
  • 公開既定で動いているものと、条件付き・既定オフのものを見分けられる
  • ブラジル選挙フィルタの削除を正しく理解できる

候補が集まったあと、フィルタを順番に通過します。前回は21個でしたが、いまのFor Youパイプラインには26個が登録されています。ただ、全部が常に動いているわけではありません。

実行の順番

登録順がそのまま実行順です。前段が残したものだけが次段に渡ります。

#フィルタ落とすもの公開既定
01DropDuplicates複数の棚から来た同じ投稿有効
02ZeroFavCodivertいいね0件経路の、処置群でない著者の候補オフ
03CoreDataHydration本文や著者情報の取得に失敗した投稿有効
04NewUserSoftNsfw新規閲覧者向けのフォロー外 soft NSFWオフ
05Age48時間を超えた投稿有効
06SelfTweet閲覧者自身の投稿有効
07OONRetweetReplyフォロー外の返信・リポスト有効
08OONNsfwSimclusters類似経路×フォロー外×NSFW著者有効
09RetweetDeduplication同じ元投稿の重複リポスト有効
10IneligibleSubscription未購読のサブスク限定投稿有効
11PreviouslySeenPosts既読の投稿有効
12PreviouslySeenPostsBackup既読の投稿(別記録)入力が空なら素通り
13PreviouslyServedPosts直近10分・100件以内に配信済み有効
14ViewerMutedKeyword閲覧者のミュート語を含む投稿有効
15AuthorSocialgraphブロック・ミュート関係にある投稿有効
16Video動画(動画除外要求時のみ)条件付き
17TopicIds指定トピック外・除外トピック条件付き
18NewUserMinEngagement新規閲覧者向けの低反応投稿オフ
19InventoryHoldoutハッシュで選ばれた一定割合オフ
20FavHoldoutいいね数に応じた一定割合オフ
21FairShareRanking予算2800件を超えた分を経路別に比例配分有効
22VFFilter可視性フィルタが落とすと答えた投稿有効
23AncillaryVF引用先・親・リポスト元が落とされた投稿有効
24AncestorVideo祖先に動画を持つ投稿(動画除外要求時のみ)条件付き
25DedupConversation同じ会話の2件目以降有効
26VideoCarouselカルーセル用の追加候補を通常枠から外すオフ
01〜21がスコアリング前、22〜26が選抜後です。全一覧は「調べる → 全26フィルタ」にあります。phoenix_candidate_pipeline.rs:420-444 phoenix_candidate_pipeline.rs:502-508

フォローしていても免除されないもの

「フォロワーには必ず届く」と思われがちですが、フォロー関係が免除として効くのは4つだけです。

フォロー中なら対象外フォロー中でも対象
OONRetweetReply(祖先がない返信を除く)
OONNsfwSimclusters
NewUserMinEngagement
NewUserSoftNsfw
Age(48時間)
ViewerMutedKeyword
AuthorSocialgraph
PreviouslySeenPosts
DedupConversation
AncillaryVF
ほか

特に知っておきたい3つ

マッチの仕方はテストから読み取れます。widget というミュート語は #widget にヒットしますが、逆に #launch というミュート語は素の launch にはヒットしません。viewer_muted_keyword_filter.rs:122-146

公開既定で動いていないもの

名前を見ると気になるけれど、公開既定では動いていないものもあります。

  • FavHoldout ── いいねが多い投稿ほど高い割合で、閲覧者ごとに決定的に外す仕組みです。1万件超で15%。今回追加されました
  • InventoryHoldout ── 種別ごとに一定割合を外す仕組みです。スイッチが false で、割合もすべて 0 です
  • ZeroFavCodivert / NewUserSoftNsfw / NewUserMinEngagement ── 実験や新規閲覧者向けの仕組みです
  • VideoCarousel / Video / AncestorVideo ── 特定の機能や動画除外のときだけ動きます