mcpField
X
x-algo-engagement

x-algo-engagement

github.com/cloudai-xマーケティング・グロース13149 回インストール40 週間前に更新
リポジトリ

x-algo-engagement について

Xのレコメンドアルゴリズムがエンゲージメント信号を使って投稿を評価する仕組みを解説するスキルです。アルゴリズムや関連コードを調べる人向けに、行動の種類、Phoenixの予測スコア、その解釈を説明します。

主な機能

  1. 01正負のエンゲージメント行動の整理
  2. 02行動に対応するプロトコル名の一覧
  3. 03Phoenixの予測スコアの説明
  4. 04確率とランキング重みの解説
  5. 05動画品質視聴シグナルの説明

活用シーン

  1. 01Xが使うエンゲージメント信号の参照
  2. 02Phoenixスコアの意味の把握
  3. 03投稿ランキングにおける負の信号の分析

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/cloudai-x/x-algo-skills --skill x-algo-engagement

インストール後、Claude Code で/x-algo-engagementを入力して読み込まれたか確認します。

詳細

X アルゴリズムのエンゲージメントシグナル

X のレコメンデーションアルゴリズムは、18 種類のエンゲージメントアクションと1 つの連続値メトリクスを追跡します。これらは Phoenix ML モデルによって予測され、重み付けスコアの計算に使用されます。

PhoenixScores 構造体

home-mixer/candidate_pipeline/candidate.rs で定義されています。

pub struct PhoenixScores {
    // Positive engagement signals
    pub favorite_score: Option<f64>,
    pub reply_score: Option<f64>,
    pub retweet_score: Option<f64>,
    pub quote_score: Option<f64>,
    pub share_score: Option<f64>,
    pub share_via_dm_score: Option<f64>,
    pub share_via_copy_link_score: Option<f64>,
    pub follow_author_score: Option<f64>,

    // Engagement metrics
    pub photo_expand_score: Option<f64>,
    pub click_score: Option<f64>,
    pub profile_click_score: Option<f64>,
    pub vqv_score: Option<f64>,              // Video Quality View
    pub dwell_score: Option<f64>,
    pub quoted_click_score: Option<f64>,

    // Negative signals
    pub not_interested_score: Option<f64>,
    pub block_author_score: Option<f64>,
    pub mute_author_score: Option<f64>,
    pub report_score: Option<f64>,

    // Continuous actions
    pub dwell_time: Option<f64>,
}

カテゴリ別アクションの種類

ポジティブなエンゲージメント(高価値)
アクションProto 名説明
いいねServerTweetFavユーザーが投稿にいいねします
返信ServerTweetReplyユーザーが投稿に返信します
リポストServerTweetRetweetユーザーがコメントなしで投稿をリポストします
引用ServerTweetQuoteユーザーが自分のコメントを付けて投稿をリポストします
投稿者をフォローClientTweetFollowAuthorユーザーが投稿者をフォローします
共有アクション
アクションProto 名説明
共有ClientTweetShare一般的な共有アクション
DM で共有ClientTweetClickSendViaDirectMessageユーザーがダイレクトメッセージで共有します
リンクをコピーして共有ClientTweetShareViaCopyLinkユーザーが外部で共有するためにリンクをコピーします
エンゲージメントメトリクス
アクションProto 名説明
写真を拡大ClientTweetPhotoExpandユーザーが写真を拡大して表示します
クリックClientTweetClickユーザーが投稿をクリックします
プロフィールをクリックClientTweetClickProfileユーザーが投稿者のプロフィールをクリックします
VQVClientTweetVideoQualityViewビデオ品質視聴 — ユーザーが十分な時間動画を視聴します
滞在ClientTweetRecapDwelledユーザーが投稿を見て、その場に留まります
引用投稿をクリックClientQuotedTweetClickユーザーが引用投稿をクリックします
ネガティブシグナル
アクションProto 名説明
興味なしClientTweetNotInterestedInユーザーが興味なしとしてマークします
投稿者をブロックClientTweetBlockAuthorユーザーが投稿者をブロックします
投稿者をミュートClientTweetMuteAuthorユーザーが投稿者をミュートします
報告ClientTweetReportユーザーが投稿を報告します
連続アクション
アクションProto 名説明
滞在時間DwellTime連続値:投稿の閲覧に費やした秒数

スコアの取得方法

PhoenixScorer(home-mixer/scorers/phoenix_scorer.rs)は、Phoenix 予測サービスを呼び出します。

  1. 入力:ユーザー履歴 + 候補投稿
  2. 出力:候補ごとの各アクションタイプの対数確率
  3. 変換:probability = exp(log_prob)
fn extract_phoenix_scores(&self, p: &ActionPredictions) -> PhoenixScores {
    PhoenixScores {
        favorite_score: p.get(ActionName::ServerTweetFav),
        reply_score: p.get(ActionName::ServerTweetReply),
        retweet_score: p.get(ActionName::ServerTweetRetweet),
        // ... maps each action to its probability
    }
}

シグナルの解釈

  • スコアは確率です(0.0〜1.0):P(ユーザーが投稿を見た後にアクションを起こす | ユーザーが投稿を見る)
  • 値が高いほど可能性が高くなります:favorite_score が0.15の場合、いいねする確率は15%と予測されます
  • ネガティブなシグナルには負の重みが設定されます:report_score が高いと、全体的なランキングが下がります
  • VQVには動画の最低再生時間が必要です:MIN_VIDEO_DURATION_MS を超える動画にのみ適用されます

関連スキル

  • /x-algo-scoring - これらのシグナルを加重スコアに統合する方法
  • /x-algo-ml - Phoenixモデルがこれらの確率を予測する方法

コメント