🔍 RAG 评估指标 Answer Correctness 详解
Ragas 框架中"答案正确性"评估指标的技术解读
💡 一句话概括
Answer Correctness 用“像不像”(语义相似度)和“对不对”(事实准确度)两个维度,综合判断 AI 回答的质量。
一、两个核心维度
| 维度 | 通俗理解 | 使用工具 |
|---|---|---|
| 语义相似度 | 两句话"长得像不像"——用词、表述方式的接近程度 | Embedding 模型 |
| 事实准确度 | 两句话"事实是否一致"——核心信息有无遗漏或错误 | 大语言模型 |
二、重点:事实准确度怎么算?
Ragas 不是让大模型直接说"对"或"错",而是采用拆解 → 比对 → 算分的三步流程:
📝 示例对比
| AI 回答(answer) | 标准答案(ground_truth) |
|---|---|
张伟是教研部负责大模型课程的同事 | 张伟是教研部负责大数据方向的同事 |
步骤 1:拆成"观点清单"
用大模型把句子拆解为独立的事实陈述:
AI 回答拆成:["张伟是教研部的","张伟负责大模型课程"]标准答案拆成:["张伟是教研部的","张伟负责大数据方向"]步骤 2:逐一比对,分类统计
| 观点 | 分类 | 含义 |
|---|---|---|
| “张伟是教研部的” | TP ✅ | 两边都有,事实一致(True Positive) |
| “张伟负责大模型课程” | FP ❌ | AI 说了,但标准答案没提 →瞎说(False Positive) |
| “张伟负责大数据方向” | FN ⚠️ | 标准答案有,但 AI 没说 →漏说(False Negative) |
所有判断均由大模型完成
步骤 3:计算 F1 分数
F1 = TP / [TP + 0.5 × (FP + FN)] = 1 / [1 + 0.5 × (1 + 1)] = 0.5 (满分 1)三、最终得分汇总
Answer Correctness = 0.25 × 语义相似度 + 0.75 × 事实准确度| 权重 | 说明 |
|---|---|
0.25 | 语义相似度:“像不像” |
0.75 | 事实准确度:“对不对”← 权重更高 |
设计意图:避免 AI 用"正确的废话"刷高分,必须事实准确才能得高分
四、完整流程图
🔑 关键记忆点
| 要点 | 说明 |
|---|---|
| 语义相似度 | “表面像不像”——用词相近,但可能事实错误 |
| 事实准确度 | “底层对不对”——拆解观点逐一核对,更严谨 |
| 为什么用大模型? | 判断"大模型课程"和"大数据方向"是否冲突,需要理解语义,不是简单字符串匹配 |
| F1 分数的意义 | 同时惩罚"瞎说"(FP)和"漏说"(FN),鼓励精准且完整的事实陈述 |
| 权重设计 | 事实准确度 75% > 语义相似度 25%,确保"内容正确"优先于"表述相似" |
(END)