← 返回题库
第 175 题 · RAG · 中等

如何用 Recall@K、MRR 和 nDCG 评估 RAG 检索?

核心必会 这代表什么?
✓ 资料核验 来源说明:Datawhale 公开真实面试题整理;答案依据检索基准论文原创整理
Recall@KMRRnDCG
评论与补充 ↓
口述训练

先用自己的话答,再看参考说法

60 秒是练习上限,不是必须凑满。原理题讲清因果,设计题讲清约束,项目题只讲真实证据。

别照着背。参考说法只用于对照;直接回答问题,简单题说清楚就收尾。项目题只用自己的经历和数字。

面试时怎么答

先说明三项指标回答不同问题:Recall@K 看相关材料有没有进入候选,MRR 看第一个相关结果排得多靠前,nDCG 还能处理多级相关性并关注整段排序。给出直观含义比只背公式更重要。

随后提醒指标依赖标注:一个问题可能有多份可支持答案的文档,漏标会低估检索。若继续深挖,可谈按查询类型分桶以及与端到端答案质量的相关性。

可以这样答:

Recall@K 衡量前 K 条覆盖了多少相关文档,适合看召回上限;MRR 取第一个相关结果排名的倒数,强调尽早出现一条可用证据;nDCG 对不同相关等级赋权并按位置折损,能评价整个排序。三者不能互相替代,也不能脱离标注质量。RAG 中还应按问题类型分桶,并检查这些离线指标是否真的带来更高的答案正确率和引用支持率。

核心回答

先为每个问题建立相关文档或证据标注,再根据目标选指标。Recall@K 衡量 Top-K 覆盖了多少相关证据,适合检查第一阶段是否漏召回;MRR 只关注第一个相关结果出现得多早;nDCG@K 同时考虑排序位置和分级相关性。检索指标只能说明证据是否被找到,不能替代答案正确性和忠实度评估。

展开说明

设一个问题共有 R 个已标注相关文档,Top-K 找到其中 r 个:

  • Recall@K = r / R:强调覆盖率。若每题只标一个标准证据,它会退化为是否命中的 0/1 指标。
  • Precision@K = r / K:反映候选中的噪声比例,但当相关文档很少时会受 K 影响较大。
  • Hit@K:Top-K 中至少有一个相关结果就记为 1,不应与一般定义的 Recall@K 混用。
  • MRR:对每题第一个相关结果排名的倒数取平均,适合只需要一个正确入口的场景。
  • nDCG@K:对不同相关等级赋予增益并按位置折损,再用理想排序归一化,适合“核心证据、辅助证据、无关”这类分级标注。

Chunk 级标注、文档级标注和“包含答案字符串”并不等价,应事先定义什么算相关。

工程实践

离线集要覆盖真实查询分布和难例,并保存 Query、相关 Chunk、标注理由与数据版本。按问题类型、租户、语言和文档来源切片,不只看总平均分。检索达标后,再固定检索结果评估生成器的答案正确性、上下文利用率和 Faithfulness;自动评审指标需要用人工样本校准。

常见追问

  1. Recall@K 与 Hit@K 为什么容易被混淆? Hit@K 只看前 K 是否至少命中一个相关项;Recall@K 计算所有相关项中被找回的比例,只有单相关项时二者才常相同。
  2. 只有一个相关文档时,MRR 和 Recall@K 各关注什么? Recall@K 只看它是否进入前 K,MRR 还奖励更靠前的位置,因此对上下文预算和首条命中更敏感。
  3. 检索指标很好但答案仍差,应怎样定位? 检查标签是否真正代表充分证据,再看打包是否截断或冲突,最后评估生成器的证据利用与引用忠实度。

一句话复习

Recall 看覆盖,MRR 看首个命中,nDCG 看分级相关性与位置;它们都不是最终答案质量。

参考资料

无需账号 · 原地交流

评论与补充

评论会直接显示在这道题下面。可以写自己的答法、继续追问或指出错误,不需要 GitHub 账号,也不会跳转到 Issue;内容会公开,请勿填写个人隐私、公司机密或受保密约束的材料。

正在加载评论…