1、召回评估概述:为什么需要评估召回效果?

大家好,我是这次课程的主讲。做了这么多年推荐系统,我见过太多团队把精力全砸在排序模型上,召回阶段随便搞搞就上线了。结果呢?线上指标死活上不去,排查半天才发现——候选集里根本就没有用户喜欢的东西。排序模型再强,也变不出花来。

所以,咱们第一节课就来聊聊:召回评估到底为什么重要?它和排序评估有什么本质区别?以及,评估召回效果时,我们到底在跟哪些“坑”较劲?

1.1 为什么需要评估召回效果?

说白了,召回是推荐系统的“第一道筛子”。它从海量物品池里,快速捞出几百到几千个候选。如果这道筛子漏了,后面排序再怎么调参都是白费。

我个人习惯把召回比作“漏斗的入口”。入口窄了,好内容进不来;入口歪了,进来的全是垃圾。评估召回,就是检查这个入口是否健康。

核心观点:召回效果直接决定了推荐系统的“天花板”。排序只是在召回划定的圈子里做优化。圈子里没有好内容,排序就是“螺蛳壳里做道场”。

我在项目中遇到过这样一个案例:某视频App的召回层只用了简单的协同过滤,排序模型倒是很复杂。结果用户反馈“推荐来推荐去都是老片子”。一查,召回池里80%都是两周前的视频,新内容根本进不来。这就是典型的“召回瓶颈”。

所以,评估召回效果,至少能帮我们回答三个问题:

  • 覆盖率够不够?——是不是只推荐头部热门,忽略了长尾?
  • 相关性行不行?——捞出来的东西,用户真的感兴趣吗?
  • 多样性有没有?——是不是翻来覆去就那几类?

1.2 召回与排序的区别

很多刚入行的同学容易把召回和排序混为一谈。其实,这两者的评估逻辑完全不同。我整理了一张对比表,你一看就明白:

维度 召回阶段 排序阶段
候选集规模 百万~亿级 百~千级
计算延迟 毫秒级(通常<10ms) 可接受几十毫秒
模型复杂度 轻量(双塔、图嵌入等) 重量(DeepFM、DIN等)
评估指标 召回率、命中率、覆盖率 AUC、GAUC、NDCG
负样本来源 隐式负样本(未交互=负?) 显式负样本(曝光未点击)
评估目标 “好东西别漏掉” “好东西排前面”

你看,召回评估的核心是“查全”,排序评估的核心是“排准”。这两个目标有时候是冲突的——召回想多捞,排序想精排。所以,评估时一定要分开看,不能混为一谈。

一个小建议:我在做评估体系设计时,会为召回和排序分别建一套看板。召回看板重点关注“漏掉了什么”,排序看板重点关注“排错了什么”。两套看板一起看,才能定位问题。

1.3 评估的核心挑战

好了,知道了为什么要评估,也明白了召回和排序的区别。接下来,咱们聊聊评估召回时最头疼的两个问题。

挑战一:海量候选集

你想想看,排序阶段只需要对几百个物品打分,计算量可控。但召回阶段面对的是百万甚至上亿的物品池。这意味着:

  • 无法穷举计算——你不可能对每个用户,把全量物品都算一遍相似度。
  • 采样偏差严重——为了评估,我们通常只采样一部分负样本。采样方式不同,评估结果可能天差地别。
  • 线上与线下不一致——离线评估时,我们用的是全量物品;线上召回时,受限于延迟,可能只检索了部分索引。这中间的gap,很容易导致“离线效果好,线上崩了”。

我曾经踩过一个坑:离线评估召回率高达85%,上线后CTR反而跌了。排查了一周才发现,离线评估时用的物品池是静态的,而线上物品池每分钟都在更新。新物品在离线评估中根本没出现,自然“被漏掉”了。嗯,从那以后,我养成了一个习惯——离线评估一定要模拟线上的实时环境,至少要做时间切片验证。

挑战二:缺乏显式负样本

排序模型有明确的“曝光未点击”作为负样本。但召回阶段呢?用户没看到的东西,到底是“不喜欢”还是“没机会看到”?我们根本不知道。

这就引出了一个经典问题:召回评估中,什么算负样本?

  • 全局随机采样:从全量物品中随机抽一些作为负例。简单,但噪声大——可能抽到用户其实喜欢但没见过的物品。
  • Batch内负采样:同一个batch内,其他用户的正样本作为当前用户的负样本。效率高,但有流行度偏差——热门物品容易被误判为负。
  • 曝光未点击:借用排序的负样本。但问题是,曝光本身已经经过了召回和排序的筛选,样本分布已经偏移了。

注意:负样本的选择方式,直接影响评估指标的可靠性。我见过不少团队,因为负采样策略不当,导致召回评估指标虚高,上线后效果却很差。建议至少用两种不同的负采样策略做交叉验证。

为了让你更直观地理解召回评估的整个逻辑,我画了一张框架图:

召回评估核心逻辑框架 召回评估核心逻辑框架 全量物品池(百万~亿级) 召回模型(双塔/图嵌入等) 候选集(百~千级) 召回评估模块 召回率 | 命中率 | 覆盖率 | 多样性 挑战一:海量候选集 采样偏差 · 线上/线下不一致 挑战二:缺乏显式负样本 负采样策略 · 样本分布偏移 评估报告 & 迭代方向 核心目标:在“不漏”和“不偏”之间找平衡

从这张图你可以看到,召回评估不是孤立的一步。它连接着全量物品池和最终的排序阶段。评估时,既要考虑模型本身的能力,也要应对海量数据和负样本缺失带来的挑战。