这是 Beta 探索课程,内容结构、实验步骤和示例可能会继续调整。
Feed 流召回
全站可能有上亿条视频,排序模型不可能直接对所有视频打分。召回的任务是从海量内容中快速找出几百到几千条候选视频。
多路召回
推荐系统通常使用多路召回:
| 召回通道 | 作用 |
|---|---|
| 关注召回 | 用户关注作者的新视频 |
| 热门召回 | 全站或地域热门内容 |
| 兴趣召回 | 用户长期兴趣标签匹配 |
| 相似召回 | 与最近观看视频相似 |
| 协同过滤 | 相似用户喜欢的视频 |
| 探索召回 | 新视频和长尾内容探索 |
多路召回可以兼顾相关性、热度、新鲜度和多样性。
候选合并
不同通道会召回重复视频,需要合并和去重。合并时还要保留来源信息:
video_id -> recall_sources: [hot, similar, interest]
来源信息会作为排序特征。一个视频被多个通道召回,通常说明它更可能相关。
配额控制
召回通道需要配额。否则热门召回可能占满候选集,导致个性化和长尾内容没有机会。例如:
- 关注 20%
- 兴趣 30%
- 相似 20%
- 热门 20%
- 探索 10%
配额不是固定不变的。新用户可以提高热门和探索比例,老用户可以提高兴趣和相似比例。
实时召回
用户刚刚点赞或快速划走的视频应该影响后续推荐。实时召回可以基于最近行为:
- 最近完播某类视频,增加相似内容。
- 连续跳过某作者,短期降低作者曝光。
- 刚关注作者,立即召回作者内容。
实时特征通常存储在 Redis 或在线特征服务中,保证低延迟。
召回质量
召回阶段要监控:
- 每个通道的命中率。
- 候选去重后数量。
- 召回内容的新鲜度和多样性。
- 后续排序中的入选率。
召回决定了排序的上限。如果好内容没有进入候选集,再强的排序模型也无能为力。
