您的位置:首页 > 编程语言 > Lua

BLEU: a Method for Automatic Evaluation of Machine Translation

2017-12-24 16:42 549 查看
通常,一个给定的源句子有很多“完美”的翻译。即使他们使用相同的单词,这些翻译可能在词语选择或词序中有所不同。然而,人类可以清楚地区分出好的翻译和坏的翻译。例如,考虑这两个中文源句子的候选翻译:

候选人1:确保军队始终服从党的指挥的行动指南。

候选人2:保证部队永远听取党指导的活动指南。

虽然它们似乎是在同一个主题上,但它们在质量上差别很大。为了便于比较,我们提供了以下同一句子的三个参考人类翻译。

参考文献1:确保军队永远听命于党的行动指南。

参考文献2:保证军队始终处于党的指挥的指导方针。

参考文献3:这是军队总是听取指导的实用指南

的派对。

很明显,好的翻译,候选人1,与这三个参考翻译共享许多单词和短语,而候选人2不是。

我们将在第2.1节很快量化这个共享的概念。但首先观察候选人1与参考文献1共享“参考文献1”,“参考文献2”参考文献1“参考文献1”,“总是”参考文献2和参考文献3“命令” ,最后是参考文献2(“全部忽略”)

大小写)。

相比之下,候选人2展示的匹配少得多,程度也少。显然,通过比较每个候选翻译和参考翻译之间的n-gram匹配,程序可以使候选1高于候选2。在第五部分提供的大量翻译实验表明,这种排序能力是一个普遍的现象,而不是一些玩具的例子。

BLEU实现者的主要编程任务是比较候选者的n-gram和参考翻译的n-gram并计算匹配的数量。这些匹配是独立的位置。越多的匹配,候选翻译越好。为了简单起见,我们首先关注计算单字符串匹配。

2.1修改n-gram精度

我们的度量标准的基石是熟悉的精度测量。为了计算精确度,只需计算在任何参考翻译中出现的候选翻译词(unigrams)的数量,然后除以候选翻译中词的总数。不幸的是,MT系统可能会过度生成“合理的”单词,导致像下面的例子2那样的不可能的,但是高精度的翻译。直觉上问题是清楚的:在一个匹配的候选词被识别后,一个参考词应该被用尽。

我们将这个直觉形式化为修改后的单精度。为了计算这一点,首先要计算单个参考翻译中出现单词的最大次数。接下来,将每个候选单词的总数截至最大

引用计数,2将这些限幅计数加起来,并除以候选单词的总数(未限幅)。

Example 2.

Candidate: the the the the the the the.

Reference 1: The cat is on the mat.

Reference 2: There is a cat on the mat.

Modified Unigram Precision = 2/7.3

在示例1中,候选者1实现了17/18的修改的单位精度; 而Candidate2实现了8/14的修改单精度。类似地,Example2中修改的单精度精度为2/7,即使其标准的单精度精度

是7/7。

在示例1中,候选者1实现了17/18的修改的单位精度;而Candidate2实现了8/14的修改单精度。类似地,Example2中修改的单精度精度为2/7,即使其标准单精度精度

是7/7。

对于任何n,类似地计算修改的n-克精度:收集所有候选n克计数及其对应的最大参考计数。

候选计数由其对应的参考最大值剪裁,相加,并除以候选ngram的总数。在实例1中,候选1实现了10/17的修改的双精度精度,而下

高质量的候选2实现了1/13的修改的二元组精度。在示例2中,(不可信)候选者实现了修改的二元组精度为0。

这种改进的n元格精确评分捕捉翻译的两个方面:充足性和流畅性。使用与参考文献中相同的单词(1-gram)的翻译往往满足充分性。 n-gram匹配越长说明流畅度越高。

2.1.1修改了文本块的n-gram精度

我们如何计算多句子测试集上修改后的n-gram精度? 虽然通常在整个文档的语料库上评估MT系统,但我们的基本评估单位是句子。

一个源句可能翻译成许多目标语句,在这种情况下,我们滥用术语并将相应的目标语句称为“句子”。

我们首先逐句计算n-gram匹配。 接下来,我们添加所有候选句子的剪辑n元计数,并除以测试语料库中的候选n元数,以计算整个测试语料库的修改的精确度分数pn。



2.1.2仅使用修改的n-gram精度排序系统

为了验证修改后的n-gram精度区分了非常好的翻译和错误的翻译,我们计算了(良好)人工翻译器和标准(差)机器翻译系统的输出上的修改的精确数字

对127个源句子的每一个使用4个参考翻译。显示平均精度结果

在图1中。

从机器(低精度)区分人类(高精度)的强信号是惊人的。从单精度到4克精度,差异变得更强。看来任何单一的n-gram精度分数都可以区分

好翻译和坏翻译之间。

然而,为了有用,该度量还必须可靠地区分质量差异不大的翻译。

而且,它必须区分两种不同质量的人类翻译。

随着MT接近人类翻译质量,后面的要求保证了度量的持续有效性。

为此,我们从源语言(中文)和目标语言(英语)两方面都缺乏本地熟练的人员获得了人工翻译。

为了比较,我们以英语为母语的人收集了相同文件的人工翻译。我们还获得了三个商业机器翻译

系统。

这五个“系统” - 两个人和三个机器 - 对两个参考专业人类翻译进行打分。图2显示了平均修改后的n-gram精度结果。

H2(Human-2)比H1(Human-1)要好,H1和S3(Machine / System-3)之间的质量有很大的下降。 S3看起来好于S2,而S2好于S1。值得注意的是,这与分配给这些“系统”的排名顺序相同

正如我们后面讨论的那样,由人类法官决定尽管任何单个n-gram精度似乎都有足够的信号,但是将所有这些信号组合成一个单一的数字度量更为稳健。

2.1.3结合修改后的n-gram精度

我们应该如何结合各种n元大小的修改精度?改良精度的加权线性平均值令人鼓舞

5个系统的结果。但是,从图2中可以看出,修改后的n-gram精度与n大致呈指数衰减:修改后的unigram精度比修改后的doubleram精度要大得多,

修改的三元组精度。

一个合理的平均方案必须考虑这个指数衰减;改良精度的对数加权平均满足这个要求。

BLEU使用均匀权重的平均对数,这相当于使用修正n-gram精度的几何平均值[5,6]。实验中,我们使用最大n-gram阶数4获得与单语人体判断的最佳相关性,尽管3克和5克给出了可比的结果。

2.2句子长度

候选翻译不应该太长也不要太短,评估指标应该强制执行。在一定程度上,n-gram精度已经完成了这个。 N-gram精度惩罚候选人中不出现在任何参考翻译中的虚假单词。另外,如果候选翻译中的单词比其最大参考计数更频繁地出现,则修正的精度受到惩罚。这奖励使用一个单词多次的保证和惩罚使用一个单词的次数超过任何参考文献中的情况。然而,修改后的n-gram精度本身并不能执行正确的翻译长度,如下面简短的荒谬示例所示。

例3:

候选人:的

参考文献1:确保军队永远听命于党的行动指南。

参考2:保证军队的指导原则

总是在党的指挥下。

参考文献3:这是军队总是听取指导的实用指南

的派对。

因为这个候选人比较短

适当的长度,人们希望找到充气的精度:

修改后的单精度是2/2

修改的bigram精度是1/1。

2.2.1召回的麻烦

传统上,精度已经与召回配对,以克服这种长度相关的问题。然而,BLEU考虑多个参考翻译,其中每个参考翻译可以使用不同的词选择来翻译相同的源词。此外,

一个好的候选翻译只会使用(回忆)其中一个可能的选择,但不是全部。事实上,回顾所有的选择导致了一个不好的翻译。有一个例子
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐