资讯

召回率是什么?所有该找出来的里面找到了多少

2026-11-053 分钟阅读百科
TL;DR召回率(Recall),又称查全率、灵敏度或真正例率,等于真正例除以真正例与假反例之和,衡量实际正例中被模型找出的比例;它与查准率此消彼长,常用 F1 或 F-beta 综合评价;在检索与推荐中常看 Recall@K,在 RAG 的检索阶段、疾病筛查和安全检测等不能漏的场景中尤为关键。

召回率(Recall),也叫查全率,是衡量模型“找得全不全”的指标:在所有真正应该被找出来的正例中,模型实际找出了多少。它在医学中常被称为灵敏度,在讨论 ROC 曲线时被称为真正例率,这几个名称指的是同一个量。

如何计算

召回率等于真正例的数量,除以真正例与假反例数量之和。真正例是实际为正、模型也判为正的样本;假反例是实际为正、模型却判为负的样本,也就是被漏掉的正例。两者相加就是所有实际为正例的样本。举个例子:一个数据库中有 200 篇与某个主题相关的文章,一个检索系统返回了 150 篇文章,其中有 120 篇是真正相关的。那么召回率就是 120 除以 200,等于 60%,说明还有 40% 的相关文章没有被找到。

召回率与查准率

只看召回率是不够的:如果检索系统把数据库中的所有文章都返回,召回率就是 100%,但其中混入了大量不相关的文章,毫无用处。因此,召回率总是需要与查准率一起考虑。查准率,也叫精确率,衡量的是模型找出来的结果中,有多少是真正相关的;在上面的例子中,查准率是 120 除以 150,等于 80%。两者往往此消彼长:放宽标准,多返回一些结果,召回率会提高,但查准率通常会下降;收紧标准,只返回最有把握的结果,查准率会提高,但召回率会下降。把不同阈值下的查准率和召回率画出来,就得到 P-R 曲线。F1 分数是两者的调和平均,只有当两者都比较高时,F1 分数才会高;F-beta 分数则可以根据需要调整对两者的重视程度,beta 大于 1 时更重视召回率。

检索和推荐中的召回

在搜索和推荐系统中,常用 Recall@K 这样的指标:在返回的前 K 个结果中,包含了多少比例的相关结果。此外,“召回”在推荐系统和搜索系统中还是一个专门的环节:面对海量的候选内容,系统通常分两步工作,第一步是“召回”,用相对简单快速的方法,从上亿个候选中筛选出几百到几千个可能相关的内容,这一步要尽量保证不漏掉好的内容,也就是追求高召回率;第二步是“排序”,用更精细的模型对这些候选进行打分和排序,追求排在前面的结果足够准确。

在检索增强生成中

在检索增强生成系统中,召回率尤其重要:大语言模型只能根据检索到的资料来回答问题,如果检索阶段没有把包含答案的资料找出来,无论后面的大模型多么强大,都无法给出正确的回答,甚至可能编造答案。因此,检索阶段通常会多召回一些候选片段,比如几十个,再用重排序模型挑出最相关的几个交给大模型,在召回率与上下文长度之间取得平衡。混合检索,也就是把关键词检索和向量检索结合起来,也是提高召回率的常用方法。

什么时候特别看重召回率

在漏掉正例的代价很高的场景中,召回率是首要的指标:癌症等重大疾病的筛查,漏诊可能耽误治疗;金融反欺诈和网络安全,漏掉一次真正的攻击可能造成重大的损失;内容审核中,漏掉违规的内容可能带来严重的后果;法律和合规审查中,需要尽量找全所有相关的文件。在这些场景中,通常会降低判定的阈值,宁可多一些误报,再通过人工复核来排除,也要保证高的召回率。