一、评估指标详解
在信息检索和自然语言处理系统中,评估生成答案的质量至关重要。用户提供了四个核心指标:忠实度、答案相关性、上下文精度和上下文召回率。下面我将逐一解释这些指标的定义、计算逻辑,并结合简单例子帮助理解。每个指标都基于标准评估方法,确保解释真实可靠。
1. 忠实度 (Faithfulness)
忠实度衡量生成答案是否完全基于检索到的上下文,避免无依据的编造。
定义 :评估生成答案中的事实陈述是否能在上下文找到证据支持。
计算逻辑:
-
步骤1:将生成答案拆解成多个独立的"事实陈述"(Claims)。
-
步骤2:对每个陈述,检查它是否能在上下文中找到直接或间接证据(例如,通过语义匹配)。
-
步骤3:计算比例:忠实度 =(支持的陈述数)/(总陈述数)。
大白话 :如果答案有10个陈述,9个有上下文依据,忠实度就是90%。
数学表达 :忠实度公式为 \\frac{\\text{支持的陈述数}}{\\text{总陈述数}} 。
例子:假设上下文提到"地球是行星",生成答案说"地球属于行星类别",则该陈述被支持;如果说"地球是恒星",则无支持。
2. 答案相关性 (Answer Relevancy)
答案相关性评估生成答案是否直接回答用户问题,避免偏离主题。
定义 :衡量答案与原始问题的语义匹配程度。
计算逻辑:
-
步骤1:使用语言模型(如GPT-4)从答案生成"假设问题"(一般是三个假设问题)(即反推问题)。
-
步骤2:计算这些假设问题与原始问题的语义相似度,常用嵌入模型计算余弦相似度。
-
步骤3:取相似度的平均值作为得分。
大白话 :如果答案反推出的问题与原问题一致,相关性高;否则,说明答非所问。
数学表达 :余弦相似度公式为 \\cos(\\theta) = \\frac{\\mathbf{A} \\cdot \\mathbf{B}}{\|\\mathbf{A}\| \|\\mathbf{B}\|} ,其中\\mathbf{A}和\\mathbf{B}是问题嵌入向量。相关性得分是平均相似度。
例子:原始问题"如何泡茶",生成答案"先烧水再放茶叶",反推问题"泡茶步骤"与原问题高度相似。
3. 上下文精度 (Context Precision)
上下文精度评估检索结果中有效信息的比例,关注文档排序质量。
定义 :衡量检索到的文档段落是否相关且有序。
计算逻辑:
-
步骤1:基于标准答案(Ground Truth),标记检索结果中每个段落是否相关。
-
步骤2:为每个段落赋值:相关得1分,不相关得0分。
-
步骤3:应用排序加权 (Precision@k),即前k个段落权重更高,计算加权平均得分。
大白话 :如果前3篇文档全有用,精度高;如果只有第4篇有用,精度低。
数学表达 :加权平均公式为 \\text{Precision} = \\frac{\\sum_{i=1}\^{k} w_i \\cdot s_i}{\\sum_{i=1}\^{k} w_i} ,其中s_i是段落得分(0或1),w_i是权重(如w_i = \\frac{1}{i})。
例子:检索5篇文档,标准答案标记前2篇相关,则精度得分基于加权计算。
4. 上下文召回率 (Context Recall)
上下文召回率评估检索结果覆盖标准答案关键信息的程度,避免遗漏。
定义 :衡量上下文中是否包含所有必要事实。
计算逻辑:
-
步骤1:将标准答案 拆解成多个"事实陈述"。
-
步骤2:检查每个陈述是否能在检索上下文中找到支持。
-
步骤3:计算比例:召回率 =(被支持的陈述数)/(总陈述数)。
大白话 :标准答案有10个要点,检索覆盖5个,召回率就是50%。
数学表达 :召回率公式为 \\frac{\\text{被支持的陈述数}}{\\text{总陈述数}} 。
例子:标准答案提到"COVID-19传播方式包括飞沫和接触",如果检索上下文只提到飞沫,则召回率低。
总结
这四个指标共同构成评估框架:忠实度确保答案不编造,答案相关性聚焦问题响应,上下文精度优化文档排序,上下文召回率保证信息完整性。在应用中,它们帮助系统改进检索和生成模块。例如,高忠实度和高召回率表明系统可靠覆盖信息,而低相关性可能提示需调整问答模型。这些指标的计算逻辑清晰,便于自动化评估。