Jonas Zhou

AI 内容指标评估系统 - 2 - 建立评估指标

June 6, 2025 (3w ago)

前文提到,我们在提示词训练阶段建立了“AI 内容指标评估系统”,这个系统的核心是各个评估指标,以及各个指标如何应用。

本文将介绍我们建立的评估指标体系,以及如何使用 LLM Judge 来辅助评估。

任务目标

在我们的场景下,包含两部分任务:

在我们把 LLM 部署上线、使用真实数据进行业务测试、跟踪一段时间后,我们发现:

因此现阶段的评估指标,重点是解决上述“错误匹配原文”的情况。(对于 AI 摘要任务的评估指标,可以参考这篇文章:AI 内容指标评估系统 - 4 - 指标体系的后续优化)。

评估指标体系 & LLM Judge

在我们的 AI 摘要和信息提取场景下,我们建立了以下评估指标体系:

  1. 客户识别准确性 - 检查AI是否正确识别了所有客户
    • 精确率 (Precision)、召回率 (Recall)、F1分数
  2. 关键词相关性 - 检查提取的关键词是否与原文相关
    • 关键词出现频率、语义相关性分析
  3. 原文引用准确性 - 检查 detail 中的原文引用是否准确(核心指标
    • 引用内容匹配度、相似度分析
  4. 逻辑一致性 - 检查 summary 和 detail 之间的逻辑一致性
    • 内容一致性检查、逻辑关系验证
  5. LLM 语义质量评估 - 通过 LLM 评估 AI 总结的语义质量
    • 信息完整性、语义准确性、表达清晰度、专业性
  6. LLM 情感倾向一致性 - 检查 AI 总结是否保持了原文的情感倾向
    • 原始情感分析、总结情感分析、情感一致性评分、情感不匹配分析

在上述 5&6 中,我们参考了 DeepEval 使用 LLM Judge 的方式[可参考],使用 LLM 来评估 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 改写原文——只要在合理范围内匹配到大部分原文,就认为正确匹配: