第六章:项目实战之推荐/广告系统
第一部分:推荐系统基础与召回算法
第四节:召回用来干什么?"从茫茫人海中找到你"
在推荐系统中,我们常常面对两个核心问题:
-
信息过载:用户面对成千上万的内容或商品,不知道该选择什么。
-
个性化需求:每个用户的兴趣和需求都不同,推荐系统需要找到最符合用户兴趣的内容。
类比:你就像茫茫人海中的一粒沙子,而推荐系统的召回阶段,就是试图在海量内容中找到适合你的那一部分。
1. 什么是召回?
召回(Recall / Candidate Generation)是推荐系统的第一步任务,其目标是:
-
从海量内容中快速找到可能对用户有兴趣的候选集
-
保证高覆盖率,尽量不漏掉用户可能感兴趣的内容
-
数量适中,既不能太少,也不能太多(为了后续排序模型处理效率)
通常,召回生成的候选集大约几百到几千条内容,然后再进入排序阶段进一步精细排序。
一句话总结:召回就是“先筛一大堆可能的,再慢慢挑最合适的”。
2. 为什么需要召回?
在推荐系统中直接做精细排序是不现实的,因为:
-
内容数量太大(百万、千万甚至上亿条)
-
计算成本高,如果对每个内容都算打分,非常浪费资源
因此,召回阶段先把候选集缩小,然后排序模型再从这些候选中挑出最优的几个进行推荐。
举例:
假设一个电商平台有 1 亿件商品,如果直接给每个用户做打分,计算量非常大。召回阶段先筛选出 5000 个可能感兴趣的商品,再交给排序模型,效率就提升了 20000 倍左右。
3. 召回常见方法
召回方法通常有三类:
| 方法类别 | 核心思想 | 特点 |
|---|---|---|
| 基于内容(Content-based) | 根据用户历史行为或偏好,找相似的内容 | 易解释,冷启动问题明显 |
| 协同过滤(Collaborative Filtering) | 根据用户-物品交互矩阵找相似用户或相似物品 | 精准度高,但数据稀疏时效果差 |
| 深度学习 / 向量召回(Vector-based) | 将用户和内容映射到向量空间,通过向量相似度快速召回 | 可扩展性强,支持海量数据,效果好 |
实际系统中往往是多种召回方法组合使用,形成多路召回,保证候选集既丰富又多样。
4. 总结
召回的核心价值可以概括为一句话:
“从茫茫人海中找到你”
-
它解决的是规模问题,先从海量候选中找到潜在兴趣集合
-
提高推荐系统效率,让后续排序模型专注于更少、更精确的内容
比喻:
想象你在淘宝上买衣服,召回阶段就是帮你先找出几千件可能喜欢的衣服,再让排序模型帮你挑出最符合口味的几件。

被折叠的 条评论
为什么被折叠?



