AI 内容指标评估系统 - 2 - 建立评估指标
@jonaszhou|June 6, 2025 (3w ago)
前文提到,我们在提示词训练阶段建立了“AI 内容指标评估系统”,这个系统的核心是各个评估指标,以及各个指标如何应用。
本文将介绍我们建立的评估指标体系,以及如何使用 LLM Judge 来辅助评估。
本文将介绍我们建立的评估指标体系,以及如何使用 LLM Judge 来辅助评估。
任务目标
在我们的场景下,包含两部分任务:
- AI 摘要任务:LLM 基于源文本,摘要出关键信息。
- AI 信息提取任务:LLM 基于摘要的信息,从源文本中提取原文,以支持印证上述摘要信息。
在我们把 LLM 部署上线、使用真实数据进行业务测试、跟踪一段时间后,我们发现:
- 对于 AI 摘要任务,已部署的 LLM(核心是 prompts)能够很好地完成 AI 摘要任务——提炼的摘要内容,符合我们的直觉标准。
- 但是对于 AI 信息提取任务,LLM 还是会有幻觉——具体表现在,对于原始文本(包含多个客户的不同拜访记录),经常出现错误提取原文的情况(把 A 客户的 X 拜访记录原文,错误提取为 B 客户的拜访记录原文。)
因此现阶段的评估指标,重点是解决上述“错误匹配原文”的情况。(对于 AI 摘要任务的评估指标,可以参考这篇文章:AI 内容指标评估系统 - 4 - 指标体系的后续优化)。
评估指标体系 & LLM Judge
在我们的 AI 摘要和信息提取场景下,我们建立了以下评估指标体系:
- 客户识别准确性 - 检查AI是否正确识别了所有客户
- 精确率 (Precision)、召回率 (Recall)、F1分数
- 关键词相关性 - 检查提取的关键词是否与原文相关
- 关键词出现频率、语义相关性分析
- 原文引用准确性 - 检查 detail 中的原文引用是否准确(核心指标)
- 引用内容匹配度、相似度分析
- 逻辑一致性 - 检查 summary 和 detail 之间的逻辑一致性
- 内容一致性检查、逻辑关系验证
- LLM 语义质量评估 - 通过 LLM 评估 AI 总结的语义质量
- 信息完整性、语义准确性、表达清晰度、专业性
- LLM 情感倾向一致性 - 检查 AI 总结是否保持了原文的情感倾向
- 原始情感分析、总结情感分析、情感一致性评分、情感不匹配分析
在上述 5&6 中,我们参考了 DeepEval 使用 LLM Judge 的方式[可参考],使用 LLM 来评估 AI 摘要信息的语义质量和情感倾向一致性,但这里 LLM Judge 的实现方法比较简单:
- 使用 LLM Judge 来对比原文和 AI 摘要内容,
- 并让 LLM Judge 直接输出两项评估指标的得分。
def _load_evaluation_prompts(self):
"""加载评估提示词模板"""
return {
"semantic_quality": """
你是一位专业的AI内容质量评估专家,请评估以下AI总结的语义质量。
原始数据:
{original_data}
AI总结:
{ai_summary}
请从以下维度评估(1-10分):
1. 信息完整性:AI总结是否涵盖了原始数据的关键信息
2. 语义准确性:AI总结的语义是否与原文一致
3. 表达清晰度:AI总结的表达是否清晰易懂
4. 专业性:是否使用了恰当的金融/投资术语
请严格按照以下JSON格式返回评估结果:
{{
"info_completeness": {{
"score": 分数,
"analysis": "分析理由"
}},
"semantic_accuracy": {{
"score": 分数,
"analysis": "分析理由"
}},
"expression_clarity": {{
"score": 分数,
"analysis": "分析理由"
}},
"professionalism": {{
"score": 分数,
"analysis": "分析理由"
}},
"overall_score": 总分数,
"strengths": ["优点1", "优点2", ...],
"weaknesses": ["不足1", "不足2", ...]
}}
""",
"sentiment_consistency": """
你是一位专业的情感分析专家,请分析原始客户观点与AI总结的情感倾向一致性。
原始数据:
{original_data}
AI总结:
{ai_summary}
请评估以下方面:
5. 原始客户观点的主要情感倾向(积极/消极/中性)
6. AI总结中表达的情感倾向(积极/消极/中性)
7. 情感强度是否被准确保留
8. 是否存在情感偏差或误导
请严格按照以下JSON格式返回评估结果:
{{
"original_sentiment": {{
"primary_sentiment": "积极/消极/中性",
"sentiment_details": ["详情1", "详情2", ...]
}},
"summary_sentiment": {{
"primary_sentiment": "积极/消极/中性",
"sentiment_details": ["详情1", "详情2", ...]
}},
"consistency_score": 1-10分数,
"consistency_analysis": "一致性分析",
"sentiment_mismatches": [
{{
"original": "原始文本片段",
"summary": "AI总结片段",
"mismatch_type": "情感偏差类型"
}},
...
]
}}
"""
}
针对“错误匹配原文”的情况,实现的逻辑倒也不复杂:
另外,我们意识到 LLM 会不可避免地出现“幻觉”,因此设置了一定的阈值来容忍 AI 改写原文——只要在合理范围内匹配到大部分原文,就认为正确匹配: