Twitterの「the-algorithm」リポジトリをもとに、推薦アルゴリズムを数学的に極限まで抽象化すると、以下のように表現できます。
ユーザー u ∈ U に対して、一連の候補アイテム(ツイート) i ∈ I をスコア付けし、降順に並べて上位 K を表示します。
要するに、以下を最大化する推薦問題です:
argmax{i∈C(u)} S(u,i)
ここで C(u) は候補集合、S(u, i) はスコア関数。
数千万から億単位のツイート全体 Iから、まず候補集合 C(u) ⊂ I を生成。
グラフ構造(フォロー関係)や「SimClusters」「TwHIN」など埋め込みから近似。
検索インデックス(Lucene/Earlybird)による検索スコアによる絞り込み 。
数理的には、潜在空間中でユーザーとアイテムの距離または類似度sim(u, i) が上位のものを選ぶ操作。
候補数をさらに削減。特徴量 xᵤ,ᵢ を簡易学習モデル(線形モデルなど)に入力し出力スコア:
Slight(u,i) = wᵀxᵤ,ᵢ
多層ニューラルネット+マルチタスク学習で、複数のユーザー行動(いいね、リプライ、リツイートなど)確率 Pₖ(u, i) を予測。
S(u,i) = Σₖ αₖPₖ(u,i)
例:リプライ Pᵣₑₚₗᵧ に重み 27、著者返信あり Pᵣₑₚₗᵧ_ₐᵤₜₕₒᵣ に 75 など。
投稿者がBlue Verifiedなどでスコアを×4または×2倍。
同一投稿者続出の抑制、逆風バイアス(negativefeedback)などが入る。
これは以下のような修正:
S̃(u,i) =mS(u,i)
この構成は一般的なレコメンダシステムの「Retrieval → Ranking → Filtering」の標準パイプラインと整合。
学習モデル fᶿ は特徴量集合・ニューラル構造・訓練データによって依存し、ブラックボックス的。
特徴量 xᵤ,ᵢ は埋め込み、行動履歴、文脈、信頼性指標(tweepcred)等多次元で複雑。
スコア重み αₖ は明示されるが、最適化は A/Bテスト・実システムでの評価に基づく。
信頼性・安全性のルール はフィルタとして明示されるが、その詳細(具体的しきい値など)は省略・秘匿されている。
S̃(u,i) = m(u,i) Σₖ αₖ fᶿₖ(u,i)
ここで、
という、レコメンドパイプラインの抽象テンプレートに帰着します。
Twitterの「the-algorithm」は、コード構造の多くを公開しているものの、モデルパラメータ・学習データ・設定ファイルは秘匿されており、上述パイプラインの数学的な枠組みは把握できても、実際の挙動はまだブラックボックスです。
とはいえ、レコメンデーション理論の観点からは、上記の抽象モデルで十分に説明可能であり、汎用の数学モデルとして整合しています。