BLEU(双语评估替补)是一种用于评估文本从一种自然语言机器翻译成另一种自然语言质量的算法。质量被认为是机器输出与人类输出之间的对应关系:“机器翻译越接近专业人工翻译,其质量就越好”,,这是BLEU的核心思想。BLEU于2001年在IBM发明,是最早声称与人类质量判断高度相关的指标之一,并且至今仍是最流行的自动化且廉价的指标之一。
分数是针对单个翻译片段(通常是句子)计算的,通过将它们与一组高质量参考翻译进行比较。然后,这些分数在整个语料库上取平均值,以估计翻译的整体质量。可理解性或语法正确性不被考虑。BLEU的输出始终是0到1之间的数字,表示候选文本与参考文本的相似程度,值越接近1表示文本越相似。很少有翻译能达到1分,因为这意味着候选文本与其中一个参考翻译完全相同。因此,没有必要达到1分。由于匹配机会更多,添加额外的参考翻译会增加BLEU分数。
历史背景
BLEU由IBM的研究人员开发,包括Kishore Papineni、Salim Roukos、Todd Ward和Wei-Jing Zhu,他们在2002年发表的论文《BLEU:一种机器翻译自动评估方法》中介绍了该指标。这项工作源于Machine learning和Artificial intelligence领域对自动化评估日益增长的需求,特别是在机器翻译系统变得更加复杂的情况下。在BLEU之前,机器翻译的评估通常依赖人工评审,这既昂贵又耗时,并且难以在不同研究之间复制。BLEU提供了一种廉价、快速且与语言无关的替代方案,可以一致地应用于任何翻译系统。
该指标是在统计机器翻译逐渐兴起的时期引入的,并迅速成为该领域的标准基准。其开发与IBM研究部门的工作密切相关,该部门自20世纪80年代以来一直是自然语言处理领域的主要参与者。“双语评估替补”这一名称反映了其作为人工评估替代品的角色,就像替补演员代替主角表演一样。
数学定义
基本设置
一个基本的、首次尝试定义BLEU分数的方法会接受两个参数:一个候选字符串和一个参考字符串列表。其思想是,当候选与参考相似时,BLEU分数应接近1,否则接近0。作为类比,BLEU分数就像一位语言教师试图通过检查学生翻译与参考答案的接近程度来评分。
由于在自然语言处理中,需要评估大量候选字符串,因此必须将BLEU分数推广到有M个候选字符串列表(称为“语料库”)的情况,并且对于每个候选字符串,有一个参考候选字符串列表。给定任何字符串和任何整数n ≥ 1,其n-gram集合被定义为n个单词的唯一连续序列的集合。例如,字符串“the cat sat”的2-gram将是{“the cat”,“cat sat”}。
精确率和修正精确率
BLEU的核心是精确率的一种修正形式。标准精确率会计算候选文本中出现在任何参考中的n-gram数量,除以候选文本中n-gram的总数。然而,这可能会因重复常见单词而膨胀。BLEU使用裁剪精确率:对于候选中的每个n-gram,其计数被裁剪为它在任何单个参考中出现的最大次数。这防止了过度计数,并确保分数反映真实的对应关系。
对于每个n-gram阶数n(通常为1到4),修正精确率计算为所有候选句子中裁剪计数的总和,除以所有候选中n-gram计数的总和。这通常表示为p_n。
简洁惩罚
BLEU的一个关键组成部分是简洁惩罚,它解决了短翻译的问题。系统可以通过仅输出几个恰好与参考匹配的单词来获得高精确率,但这样的翻译是不完整的。简洁惩罚基于候选语料库总长度与参考语料库总长度的比率计算。如果候选比参考短,惩罚会降低分数;如果更长,则不应用惩罚。公式为:如果c > r,则BP = 1;如果c ≤ r,则BP = exp(1 - r/c),其中c是候选长度,r是有效参考长度(与每个候选长度最接近的参考长度的总和)。
最终分数
最终的BLEU分数是简洁惩罚与1到N阶(通常N=4)n-gram修正精确率的几何平均值的乘积。几何平均值被等权重加权,结果是一个介于0和1之间的值。在实践中,分数通常以百分比报告(例如,BLEU 30表示0.30)。公式为:BLEU = BP exp(Σ_{n=1}^{N} (1/N) log p_n)。
在机器翻译中的应用
BLEU最初设计用于评估机器翻译系统,并且在该领域仍然是标准指标。开发翻译系统的研究团队和公司,从早期统计模型到现代Neural network方法,都使用BLEU将其输出与参考翻译进行比较。例如,来自Google DeepMind和其他组织的系统在学术论文中报告了BLEU分数,以证明相对于基线的改进。
该指标在开发过程中特别有用,可以快速迭代。开发人员可以在每次更改模型后在测试集上运行BLEU,从而无需人工标注者即可跟踪进度。这使BLEU成为该领域事实上的标准,尽管其已知局限性。
在文本生成和大型语言模型中的应用
除了机器翻译,BLEU已被改编用于评估其他文本生成任务,包括摘要、对话系统和图像字幕。随着Large language model(如OpenAI和Anthropic开发的模型)的兴起,BLEU已被用作评估输出质量的几种自动化指标之一。然而,其对开放式生成的适用性存在争议,因为BLEU奖励与参考的精确n-gram重叠,这可能无法捕捉语义等价性。
在摘要等任务中,BLEU通常与ROUGE等其他指标一起使用。对于对话系统,BLEU可能具有误导性,因为对于给定提示有许多有效响应,单个参考可能无法代表所有可能性。尽管存在这些问题,BLEU仍然是快速且廉价地获得质量粗略估计的方法,并且通常在研究论文中作为基线指标报告。
局限性和批评
BLEU有几个有据可查的局限性。首先,它不考虑可理解性或语法正确性;如果翻译与参考共享许多n-gram但仍不合语法,则可能得分很高。其次,它对参考的选择敏感;不同的参考集可能对同一候选产生非常不同的分数。第三,BLEU倾向于偏爱与参考词汇相似的翻译,这可能会惩罚使用不同措辞或句子结构的有效翻译。
另一个批评是BLEU不能很好地处理同义词或释义。例如,如果参考说“the cat sat on the mat”,而候选说“the feline rested on the rug”,则BLEU分数会很低,尽管语义等价。这导致了替代指标的发展,如METEOR和ROUGE,它们结合了词干提取和同义词匹配。在Generative AI的背景下,研究人员还指出,对于创造性或开放式输出,BLEU与人类判断的相关性较差。
与其他指标的关系
BLEU是自然语言处理中更广泛的自动化评估指标家族的一部分。它面向精确率,关注候选内容中有多少出现在参考中。相比之下,ROUGE面向召回率,衡量参考内容中有多少被候选捕获。METEOR结合了精确率和召回率,并带有同义词匹配和词序差异惩罚。这些指标通常一起使用,以提供更全面的评估。
在基于Transformer (architecture)的模型和Deep learning系统的背景下,BLEU已在某些强化学习设置中用作训练目标,尽管这不如纯粹用于评估常见。该指标的简单性和计算效率使其非常适合大规模基准测试,例如学术会议组织的共享任务。
实际考虑
使用BLEU时,几个实际因素会影响分数。参考翻译的数量很重要:添加更多参考通常会提高分数,因为n-gram匹配的机会更多。分词方法也会影响结果;例如,是否去除标点或规范化大小写会改变n-gram计数。不同实现可能对相同数据产生略有不同的分数,因此报告确切设置很重要。
BLEU分数在不同语料库或语言之间不可比较。一个测试集上的0.40分数可能非常优秀,而在另一个测试集上可能平庸。因此,BLEU最适合用于同一数据上系统之间的相对比较,而不是作为质量的绝对度量。研究人员通常将BLEU与人工评估一起报告,以验证发现。
未来方向
随着Artificial intelligence和Machine learning的不断发展,BLEU的角色正在被重新评估。较新的指标,如BERTScore和COMET,使用预训练模型的嵌入来更有效地捕捉语义相似性。这些指标通常与人类判断的相关性更好,但计算成本更高。然而,BLEU由于其简单性和可解释性,仍然是一个有用的基线。
在Large language model时代,评估越来越关注指令遵循和事实准确性等任务,在这些任务中BLEU的相关性较低。尽管如此,BLEU作为最早的自动化评估指标之一的遗产塑造了该领域处理质量评估的方式。其原则,,将机器输出与人类参考进行比较,,继续为新指标的设计提供信息。