排序优化

召回得到候选集后,排序决定用户实际看到的顺序。排序不是简单按点击率从高到低排,因为推荐流有多个目标:用户喜欢、内容健康、作者生态、公平探索、商业收益。

排序特征

排序模型常用特征包括:

  • 用户特征:兴趣、活跃度、历史偏好。
  • 内容特征:标签、质量分、发布时间、时长。
  • 交叉特征:用户是否喜欢此类作者、此类主题。
  • 上下文特征:时间、网络、设备、当前会话行为。
  • 召回特征:来自哪些召回通道。

在线排序要控制特征查询延迟,不能为了模型复杂度拖慢 Feed 响应。

多目标排序

常见目标包括:

  • 点击率。
  • 完播率。
  • 点赞、评论、分享概率。
  • 关注转化。
  • 投诉和举报风险。
  • 内容多样性。

如果只优化单一目标,系统容易走偏。排序分可以组合多个目标:

score = a * p_click + b * p_finish + c * p_like - d * p_report + diversity_bonus

权重需要通过实验和业务目标调整。

重排策略

模型打分后,还需要重排:

  • 去掉已曝光视频。
  • 控制同作者连续出现。
  • 控制同题材过度集中。
  • 插入探索内容。
  • 过滤审核风险和低质量内容。

重排是工程规则和模型结果的结合。它能显著改善体验,但规则太多也会让系统难以解释。

实验评估

排序优化必须通过 A/B 实验验证。离线指标只能说明模型可能更好,最终要看线上:

  • 留存是否提升。
  • 完播和互动是否提升。
  • 投诉是否增加。
  • 内容生态是否变差。
  • 新作者是否有曝光机会。

实验要设置护栏指标。一个策略即使提升点击率,如果显著增加投诉或低质内容曝光,也不能上线。

延迟预算

推荐排序必须快。常见做法是:

  • 离线预计算部分特征。
  • 在线只查最近行为和少量实时特征。
  • 候选集先粗排再精排。
  • 超时降级到热门或缓存结果。

排序优化的最终目标不是模型分数更漂亮,而是让用户持续看到更合适、更健康、更流畅的内容。