推荐算法

推荐算法的目标不是神秘地“猜中用户喜欢什么”,而是把用户、内容和行为反馈转化成可计算的匹配关系。

用户画像

用户画像可以来自显式和隐式信号:

  • 显式信号:关注、选择标签、不感兴趣。
  • 隐式信号:停留、完播、点赞、评论、分享、快速划走。

隐式信号更丰富,但也更容易误解。例如用户看完一个视频,不一定代表喜欢,可能是视频很短;快速划走也可能是网络卡顿。

内容特征

视频内容特征包括:

  • 标签、分类、作者、语言、地域。
  • 时长、清晰度、发布时间。
  • 文本、图像、音频 embedding。
  • 审核风险和质量分。

内容特征越完整,推荐越容易冷启动。新视频没有互动数据时,仍然可以根据内容相似度进入候选池。

行为反馈

行为反馈要分权重:

行为含义
完播强正反馈,但受视频时长影响
点赞/收藏明确正反馈
关注作者长期兴趣信号
快速划走负反馈
不感兴趣/举报强负反馈

推荐系统要记录曝光,否则无法区分“没点击”是没看到,还是看到了但不感兴趣。

基础策略

早期可以组合几类简单策略:

  • 热门视频:保证内容质量底线。
  • 关注作者:利用明确关系。
  • 标签匹配:根据用户兴趣标签推荐。
  • 相似视频:看过某类视频后推荐相似内容。
  • 协同过滤:喜欢相似内容的用户互相推荐。

算法不必一开始很复杂。重要的是数据闭环完整:推荐 -> 曝光 -> 行为 -> 特征更新 -> 下一次推荐。

在线与离线

推荐算法通常分离线和在线:

  • 离线计算用户画像、内容 embedding、相似关系。
  • 在线根据用户当前上下文、候选集和实时特征排序。

离线负责重计算,在线负责低延迟决策。下一章会讲召回,把海量视频缩小成可排序的候选集。