x-algo-engagement
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseX Algorithm Engagement Signals
X算法互动信号
The X recommendation algorithm tracks 18 engagement action types plus 1 continuous metric. These are predicted by the Phoenix ML model and used to calculate weighted scores.
X推荐算法追踪18种互动行为类型以及1项连续指标。这些内容由Phoenix ML模型预测,用于计算加权分数。
PhoenixScores Struct
PhoenixScores 结构体
Defined in :
home-mixer/candidate_pipeline/candidate.rsrust
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>,
}定义于:
home-mixer/candidate_pipeline/candidate.rsrust
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>,
}Action Types by Category
按类别划分的行为类型
Positive Engagement (High Value)
正向互动(高价值)
| Action | Proto Name | Description |
|---|---|---|
| Favorite | | User likes the post |
| Reply | | User replies to the post |
| Retweet | | User reposts without comment |
| Quote | | User reposts with their own comment |
| Follow Author | | User follows the post's author |
| 行为 | Proto 名称 | 描述 |
|---|---|---|
| 点赞 | | 用户点赞该帖子 |
| 回复 | | 用户回复该帖子 |
| 转发 | | 用户无评论转发帖子 |
| 引用转发 | | 用户附带个人评论转发帖子 |
| 关注作者 | | 用户关注该帖子的作者 |
Sharing Actions
分享行为
| Action | Proto Name | Description |
|---|---|---|
| Share | | Generic share action |
| Share via DM | | User shares via direct message |
| Share via Copy Link | | User copies link to share externally |
| 行为 | Proto 名称 | 描述 |
|---|---|---|
| 分享 | | 通用分享行为 |
| 通过私信分享 | | 用户通过私信分享内容 |
| 通过复制链接分享 | | 用户复制链接进行外部分享 |
Engagement Metrics
互动指标
| Action | Proto Name | Description |
|---|---|---|
| Photo Expand | | User expands photo to view |
| Click | | User clicks on the post |
| Profile Click | | User clicks author's profile |
| VQV | | Video Quality View - user watches video for meaningful duration |
| Dwell | | User dwells (pauses) on the post |
| Quoted Click | | User clicks on a quoted post |
| 行为 | Proto 名称 | 描述 |
|---|---|---|
| 展开图片 | | 用户展开图片查看 |
| 点击帖子 | | 用户点击该帖子 |
| 点击主页 | | 用户点击作者的主页 |
| VQV | | 视频质量观看(VQV)——用户观看视频达到有效时长 |
| 停留 | | 用户在该帖子上停留(暂停浏览) |
| 点击引用帖子 | | 用户点击引用的帖子 |
Negative Signals
负向信号
| Action | Proto Name | Description |
|---|---|---|
| Not Interested | | User marks as not interested |
| Block Author | | User blocks the author |
| Mute Author | | User mutes the author |
| Report | | User reports the post |
| 行为 | Proto 名称 | 描述 |
|---|---|---|
| 不感兴趣 | | 用户标记为不感兴趣 |
| 屏蔽作者 | | 用户屏蔽该作者 |
| 静音作者 | | 用户静音该作者 |
| 举报 | | 用户举报该帖子 |
Continuous Actions
连续行为
| Action | Proto Name | Description |
|---|---|---|
| Dwell Time | | Continuous value: seconds spent viewing post |
| 行为 | Proto 名称 | 描述 |
|---|---|---|
| 停留时长 | | 连续数值:用户查看帖子的秒数 |
How Scores Are Obtained
分数获取方式
The () calls the Phoenix prediction service:
PhoenixScorerhome-mixer/scorers/phoenix_scorer.rs- Input: User history + candidate posts
- Output: Log probabilities for each action type per candidate
- Conversion:
probability = exp(log_prob)
rust
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
}
}PhoenixScorerhome-mixer/scorers/phoenix_scorer.rs- 输入:用户历史数据 + 候选帖子
- 输出:每个候选帖子对应每种行为类型的对数概率
- 转换:
概率 = exp(对数概率)
rust
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),
// ... 映射每个行为到对应的概率
}
}Signal Interpretation
信号解读
- Scores are probabilities (0.0 to 1.0): P(user takes action | user sees post)
- Higher = more likely: A of 0.15 means 15% predicted chance of like
favorite_score - Negative signals have negative weights: High reduces overall ranking
report_score - VQV requires minimum video duration: Only applies to videos >
MIN_VIDEO_DURATION_MS
- 分数为概率值(0.0 至 1.0):P(用户看到帖子后执行该行为)
- 分数越高可能性越大:为0.15意味着用户有15%的概率点赞该帖子
favorite_score - 负向信号带有负权重:高会降低帖子的整体排名
report_score - VQV要求最低视频时长:仅适用于时长超过的视频
MIN_VIDEO_DURATION_MS
Related Skills
相关技能
- - How these signals are combined into a weighted score
/x-algo-scoring - - How Phoenix model predicts these probabilities
/x-algo-ml
- - 这些信号如何组合成加权分数
/x-algo-scoring - - Phoenix模型如何预测这些概率
/x-algo-ml