本文へ移動
X解体新書
第12章第五部14分

見せるか、見せないか

ランキングとは別の仕組み。可視性フィルタはRustで書き直され、答えは4種類になった。

この章で分かること

  • 可視性の答えの種類と、点数との関係が分かる
  • フォロワーには見えるがフォロー外には出ない構造が分かる
  • 公開コードで分かることと分からないことを区別できる

ここまでは全部「順番」の話でした。この章は「そもそも見せていいか」の話です。今回の更新で、可視性フィルタはRustの新しい実装に移行しました。

答えは4種類

結果意味
ALLOW普通に表示する
NOTICE投稿に注記を付けて表示する(今回READMEに追加)
INTERSTITIAL警告を挟んで表示する(タップで見られる)
DROP表示しない
面によっては、ほかに Tombstone や操作の制限といった形もあります。rule_spec.rs:304-320

二段構えのルールセット

Home向けのルールは2段です。テストで、推薦向けの一覧はフォロー中向けの一覧から始まることが固定されています。levels.rs:482-488

  • TimelineHome(39本) ── フォロー中の投稿に適用
  • TimelineHomeRecommendations(66本) ── フォロー外の投稿に適用。上の39本に、27本を追加

だから、同じラベルが付いていても、こうなります。levels.rs:296-357

ラベルや条件フォロー中の投稿For Youのフォロー外
スパム疑い(SPAM_HIGH_RECALL)表示される落とす
悪質URL(MALICIOUS_URL)表示される落とす
NSFWの投稿ラベル(高精度)警告つき落とす
NSFWのアイコン・バナー表示される落とす
侮辱(FOSNR_ABUSE_INSULTS)表示される落とす
地域制限メディア表示される落とす
選挙関連(BRAZIL_ELECTION_LEGAL)表示されるブラジルからのときだけ落とす

フォロー中の投稿でも落ちるのは、SPAM / PDNA / BOUNCE / 緊急用ラベルと、FOSNR 系の4種(ヘイト行為・暴力的発言・嫌がらせ・市民的誠実性)です。法的な取り下げなどもあります。FOSNR 系は、Under the Hood の文言では「発見可能性が作者のプロフィールに限定される」と説明されています。

どういう場合にラベルが付くか

条件(公開ルールから)結果
NSFW判定0.95以上の画像投稿にラベル IsHighPrecisionNsfwNewModelLogic.df:3-4
NSFW画像を1日に3件超アカウントにラベルが付く経路 ApplyNsfwUserLabel.df:30-37
直近5投稿のうち3件がNSFW高精度判定同上(7日間)postToUserLabelRules.strato:396-409
Grokがスパム判定した返信(0.97以上)投稿にラベル(14日)GroxTweetProcessor.bot:8
llm_slop_post の判定投稿に RiskyHighVizReply(30日)enforcement_post.yaml:39-44
gibberish_post の判定投稿に SpamHighRecall(30日)enforcement_post.yaml:46-51
fast_reply_spam_post の判定投稿に SpamHighRecall(30日)enforcement_post.yaml:53-58
llm_slop_user の判定アカウントに SpamHighRecall(7日)enforcement_user.yaml:118-123
協調キャンペーンの判定投稿・アカウントへのラベル、または凍結(一般は perm: false、CSEは perm: true)enforcement_user.yaml:36-45
公開されている一部のルールです。READMEによれば、一部の botmaker ルールは非公開です。スコアを出すモデル側の基準も、すべてが公開されているわけではありません。

スパム分類の名前

Grokの分類には、スパムの細分類が11種類あります。今回 SpamManipulatedMedia が増えました。state.py:37-47

  • SpamEngagementFarming ── エンゲージメント稼ぎ
  • SpamEngagementBaiting ── エンゲージメント誘導
  • SpamEngagementTrading ── 反応の取引
  • SpamHashTagAbuse ── ハッシュタグ乱用
  • SpamMentionAbuse ── メンション乱用
  • SpamBotProduced ── ボット生成
  • SpamPlatformManipulation ── プラットフォーム操作
  • SpamManipulatedMedia ── 改変メディア(今回追加)
  • SpamScamLinks / SpamFinancialScam / SpamCardManipulation

保護の条件もある

条件効果
信用スコアが54以上(botmaker)IsHighPageRankUser が真になり、一部の自動ラベルの扱いが変わる HighPageRankThreshold.df:2
スコアが取れない場合、フォロワー25,000人超同上 IsHighPageRankUser.df:11-18
自動執行サービスの信用チェック基準を超えるとスキップ。公開ファイルの閾値は本番と違う仮の値です enforcement_user.yaml:26-33

この「信用スコア」は、フォローの繋がりをたどるPageRank系の計算で作られます。READMEは「フォローグラフとエンゲージメントのエッジ」と説明しています。README.md:318 同じ投稿をしてもアカウントによって扱いが違う理由の1つです。

年齢と地域

  • ログアウト状態の閲覧者には表示しないルールがあります
  • 18歳未満には表示しないルールがあります
  • 年齢未申告 かつ 既定リストの16カ国のいずれかの閲覧者にも表示しないルールがあります(アルゼンチン、オーストラリア、ブラジル、カナダ、ドイツ、スペイン、フランス、イギリス、インドネシア、イタリア、韓国、メキシコ、オランダ、フィリピン、ポルトガル、タイ)params.rs:83-86

閲覧者が「センシティブなメディアを表示する」設定にしていれば、Home向けの多くの警告(ぼかし)は出ません。tweet_rules.rs:456-465 ただし、推薦から外れるルールはこの設定とは別です。

自分のラベルを確認する、異議を申し立てる

Xは「Under the Hood」という開示ツールを試験的に公開しています。条件はアカウント作成から1年以上、前月に10投稿以上、月末から10日後に反映です。underTheHoodReport.User.strato:18-22 READMEにリンクがありますが、機能スイッチの既定はオフなので、対象の方でもまだ見られない場合があります。README.md:470 params.strato:15-16