RAG 评估规则

0)评测准备:数据与对象

一条评测样本通常包含:
• question:用户问题
• contexts:检索返回的前 k 个片段(c₁…c_k),每条含原文与位置信息
• answer:系统最终给出的生成答案
• ground-truth(可选):人工给的标准答案/事实句子/“应命中”的证据片段清单

有些指标必须有 ground-truth(尤其“上下文召回率/精度”),没有 GT 也能做,但要用“由答案反推的基本事实”或 LLM-judge 替代。

1)忠实度(Faithfulness / Groundedness)

目标:答案中的每个事实性断言是否都能从已检索的上下文里被支持(可被蕴含/可证),且不与之矛盾。

1.1 定义与打分

把答案拆成原子事实(claims){a_i}。对每个 a_i,在 \text{contexts} 中找是否存在一句或一组句子 S_i 支持它(逻辑“蕴含”或高相似+不矛盾)。
• 逐断言判定:
si={1若 contexts⇒ai 且无矛盾0否则 s_i=\begin{cases} 1 & \text{若 } \text{contexts} \Rightarrow a_i \text{ 且无矛盾}\\ 0 & \text{否则} \end{cases} si={10 contextsai 且无矛盾否则
• 忠实度:
Faithfulness=∑isi∣{ai}∣\text{Faithfulness}=\frac{\sum_i s_i}{|\{a_i\}|}Faithfulness={ai}isi
• 可加入重要性权重 w_i(主事实更重):
Faithfulnessw=∑iwisi∑iwi\text{Faithfulness}_w=\frac{\sum_i w_i s_i}{\sum_i w_i}Faithfulnessw=iwiiwisi

若你没有把答案拆成断言,也可以整体判 0/1 或 0–5/0–10 级别评分(LLM-judge)。

1.2 自动化实现路径
• NLI/Entailment(推荐):把 (S, a_i) 喂给自然语言蕴含模型(如 DeBERTa/RoBERTa-MNLI),取“entail”概率>阈值即支持;若“contradiction”高则判矛盾。
• 词面/检索对齐:先从 contexts 里找与 a_i 最高相似的句子(向量相似/稀疏检索),再做 NLI。
• LLM 评审:让评审模型逐条对齐“证据句 → 断言”,输出支持/不支持/矛盾及理由。

1.3 常见坑
• 只做“重叠”而不做“蕴含”会误杀改写/同义;
• 答案中的“常识补全”如果不在 contexts,也要判不忠实(RAG 的规训);
• 忠实度高≠答案相关(可能忠实地描述了不相干的东西)。

诊断含义:忠实度低 → 多半是生成环节越界(hallucination)或检索证据不够(见 §4 召回)。

2)答案相关性(Answer Relevance)

目标:答案是否直接、恰当地解决了问题(question)。

2.1 定义与打分

三种常见打分法:
1. LLM-judge(最实用):给评审模型一个清晰 rubric(是否回答了、是否跑题、是否多余/有害信息),打 0–5 分或 0/1。
2. 与参考答案对齐:若有 ground-truth answer,用 语义相似/F1/ROUGE/BLEU 或 NLI(“A 是否蕴含 GT?”)评估。
3. QAG(问答一致性):把 GT 里的关键信息生成若干子问,检查答案能否正确回应这些子问(yes/no/无法判断),汇总得分。

建议输出两维:相关性(是否答到点)+ 完整性(是否漏答关键点)。

2.2 常见坑
• 高相似≠真正回答(特别是问法复杂/多子意图);
• 只评“相关”不评“正确/忠实”会掩盖一本正经地胡说。

诊断含义:答案相关性低 → 重写 prompt、改指令、或把检索结果摘要成更聚焦的子上下文(如 DSL 选择重要段落再喂给 LLM)。

3)上下文精度(Context Precision / Ranking Quality)

目标:检索返回的 Top-k 里,相关的证据是否被排在前面(排序质量)。

3.1 定义与指标选择

先要有每个返回片段 c_j 的相关性标签 rel(c_j)\in{0,1,2…}(与 ground-truth 事实/证据或由答案派生的断言对齐得到)。

常用排序指标:
• Precision@k:前 k 条里相关的比例。
P@k=∑j≤k1[rel(cj)>0]k\mathrm{P}@k=\frac{\sum_{j\le k}\mathbb{1}[rel(c_j)>0]}{k}P@k=kjk1[rel(cj)>0]
• MRR@k:第一个相关结果的倒数排名。
MRR@k=1N∑1min⁡(rank of 1st relevant,k)\mathrm{MRR}@k=\frac{1}{N}\sum \frac{1}{\min(\text{rank of 1st relevant},k)}MRR@k=N1min(rank of 1st relevant,k)1
• nDCG@k(推荐):考虑相关性的等级与位置折扣:
DCG@k=∑j=1k2rel(cj)−1log⁡2(j+1);nDCG@k=DCG@kIDCG@k\mathrm{DCG}@k=\sum_{j=1}^{k}\frac{2^{rel(c_j)}-1}{\log_2(j+1)};\quad \mathrm{nDCG}@k=\frac{\mathrm{DCG}@k}{\mathrm{IDCG}@k}DCG@k=j=1klog2(j+1)2rel(cj)1;nDCG@k=IDCG@kDCG@k

如果你想与“精度”的文字描述更贴合,也可报告 P@k 或 Avg Precision。

3.2 标注与自动化
• 基于 GT 证据:把 GT 的句子/段落与返回片段做重叠/相似/蕴含对齐,命中则 rel=1;
• 基于答案断言:抽取答案的 claims,凡能支持任一 claim 的片段记为相关。
• 等级相关性:完全支持=2,部分支持=1,不相关=0。

诊断含义:精度低 → 排序器/相似度有问题(embedding/稀疏权重/重排器),或 chunk 切分导致好证据被“稀释”。

4)上下文召回率(Context Recall / Coverage)

目标:检索到的上下文覆盖了多少 GT 事实/证据(覆盖率)。

4.1 定义与打分

令 \mathcal{G}= GT 事实集合或 GT 证据句集合,\mathcal{C}= 已检索的 Top-k 片段合集。把每个 g\in\mathcal{G} 与 \mathcal{C} 对齐(相似/蕴含/重叠命中即“覆盖”):

Recall@k=∣{ g∈G:∃c∈C, c⇒g }∣∣G∣\text{Recall}@k=\frac{|\{\,g\in\mathcal{G}: \exists c\in\mathcal{C},\ c \Rightarrow g\,\}|}{|\mathcal{G}|}Recall@k=G{gG:cC, cg}

没有 GT 时,可用“由答案抽取的 claims”作为 \mathcal{G} 的代理(注意这会被答案质量影响)。

4.2 诊断含义

召回低 → 检索器/索引漏查(查询扩展、BM25/向量融合、跨字段、同义/改写)或 chunk 粒度/覆盖不足;这往往直接拖累忠实度与答案完整性。

5)四指标如何一起看(快速定位问题)

现象 可能问题 优先改哪里
召回低、精度高、忠实度低 找不到必要证据 检索召回(查询扩展、k↑、融合检索、chunk 优化)
召回高、精度低、忠实度低 噪声多,模型“走神” 排序/重排(nDCG@k↑)、长上下文裁剪、证据摘要
召回/精度都高、忠实度低 生成越权/指令不严 提示词与约束(只依据上下文)、答案模板/引用
忠实度高、相关性低 答了别的问题 Prompt/任务定义、意图解析、多轮澄清
相关性高、忠实度低 编得很像但无证 强化引用检查、NLI 约束、拒答策略

6)落地实现:一套可复用的评测流水线(简版)
1. 数据准备:为每条样本整理 question, contexts(top-k with ids), answer;若有 GT,再给 gt_facts / gt_citations。
2. 断言抽取(答案 → claims):句法/LLM,把复杂句拆成可检的原子命题。
3. 句子对齐:为每个 claim/gt_fact,在 contexts 里找最可能的证据句(向量相似 + BM25 混排),再用 NLI 判支持/矛盾。
4. 打分:
• 忠实度 = 支持的 claims / 全部 claims
• 答案相关性 = LLM-judge(0–5)或与 GT 的 NLI/相似度
• 上下文精度 = nDCG@k / P@k(相关性来自支持 claims 或命中 GT)
• 上下文召回 = 被覆盖的 GT 事实 / 全部 GT 事实
5. 报告:按数据集/意图类型/长度分桶统计,画分布 + 置信区间;保存对齐证据与判定理由(方便误差分析)。

没有 GT 时:上下文精度/召回可用“答案断言”为 proxy;但要注明“参考答案缺失”的不确定性。

7)评分刻度与阈值(参考)
• 忠实度:≥0.9 优,0.75–0.9 可用,<0.75 需治理。
• 答案相关性(0–5):≥4 佳,≤3 需改(视业务)。
• nDCG@k:≥0.85 排序较稳,<0.7 排序需优化。
• Recall@k:≥0.9 适合高可靠场景;若代价过高,可用 k 小一点+重排+证据摘要权衡。

8)常见工程细节
• 中文切分统一(字/词),英文字母大小写/标点归一;
• 多参考更稳(多个 GT 答案/证据);
• 平滑与阈值记录在案(NLI/相似度阈值、k 值、chunk 长度);
• 对 LLM-judge,用角色化 rubric、多样本少样例与交叉评审降低 bias;
• 评测与训练数据隔离,避免检索器“看过题”。

基于TROPOMI高光谱遥感仪器获取的大气成分观测资料,本研究聚焦于大气污染物一氧化氮(NO₂)的空间分布与浓度定量反演问题。NO₂作为影响空气质量的关键指标,其精确监测对环境保护与大气科学研究具有显著价值。当前,利用卫星遥感数据结合先进算法实现NO₂浓度的高精度反演已成为该领域的重要研究方向。 本研究构建了一套以深度学习为核心的技术框架,整合了来自TROPOMI仪器的光谱辐射信息、观测几何参数以及辅助气象数据,形成多维度特征数据集。该数据集充分融合了不同来源的观测信息,为深入解析大气中NO₂的时空变化规律提供了数据基础,有助于提升反演模型的准确性与环境预测的可靠性。 在模型架构方面,项目设计了一种多分支神经网络,用于分别处理光谱特征与气象特征等多模态数据。各分支通过独立学习提取代表性特征,并在深层网络中进行特征融合,从而综合利用不同数据的互补信息,显著提高了NO₂浓度反演的整体精度。这种多源信息融合策略有效增强了模型对复杂大气环境的表征能力。 研究过程涵盖了系统的数据处理流程。前期预处理包括辐射定标、噪声抑制及数据标准化等步骤,以保障输入特征的质量与一致性;后期处理则涉及模型输出的物理量转换与结果验证,确保反演结果符合实际大气浓度范围,提升数据的实用价值。 此外,本研究进一步对不同功能区域(如城市建成区、工业带、郊区及自然背景区)的NO₂浓度分布进行了对比分析,揭示了人类活动与污染物空间格局的关联性。相关结论可为区域环境规划、污染管控政策的制定提供科学依据,助力大气环境治理与公共健康保护。 综上所述,本研究通过融合TROPOMI高光谱数据与多模态特征深度学习技术,发展了一套高效、准确的大气NO₂浓度遥感反演方法,不仅提升了卫星大气监测的技术水平,也为环境管理与决策支持提供了重要的技术工具。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MonkeyKing.sun

对你有帮助的话,可以打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值