为了比较 RAG 系统生成的答案与参考答案,常用的自然语言生成 (NLG) 指标包括 BLEU、ROUGE 和 METEOR。 这些指标使用不同的方法来衡量生成文本和参考文本之间的重叠程度。 BLEU 侧重于 n-gram 精度,ROUGE 强调召回率(尤其是对于较长的序列),而 METEOR 则包含同义词匹配和词干提取,以提高语义对齐。 例如,BLEU 可能会检查 RAG 生成的答案中的技术术语是否与参考答案匹配,而 ROUGE 可能会突出显示是否包含参考答案中的关键事实。 通过允许同义词,METEOR 可以更好地处理用不同措辞表达相同含义的释义答案。
但是,当应用于 RAG 系统时,这些指标存在明显的局限性。 首先,它们依赖于表面级别的文本重叠,并且难以处理语义等价性。 例如,如果 RAG 答案使用不同的句子结构或同义词来改述参考答案,则 BLEU 和 ROUGE 可能会低估它的价值,尽管它是正确的。 同样,METEOR 对预定义同义词列表(如 WordNet)的依赖可能会遗漏特定领域的术语。 其次,这些指标假设存在一个“正确”的参考答案,这对于许多存在多个有效响应的 RAG 用例来说是不现实的。 例如,像“什么导致气候变化?”这样的问题可能会有多个正确但不同的答案(例如,强调二氧化碳排放与森林砍伐)。 仅仅因为 BLEU 优先考虑与参考答案不同的方面,它可能会惩罚有效的 RAG 答案。
最后,这些指标无法捕捉事实准确性或连贯性,这对于 RAG 系统至关重要。 如果检索到的数据不正确,则生成的答案可能具有较高的 BLEU/ROUGE 分数,但包含事实错误。 例如,RAG 系统可能会生成“法国的首都是柏林”,这与参考答案的结构相匹配,但在事实上是错误的——但 BLEU 仍然会奖励 n-gram 重叠。 此外,这些指标不会评估流畅性或逻辑流程,这意味着得分高的答案仍然可能令人困惑或结构不良。 开发人员应谨慎使用这些指标,并辅以人工评估或特定于任务的检查(例如,事实验证)来解决它们的盲点。