详解BLEU的原理和计算

机器翻译指标或者image caption指标BLEU的原理和计算

参考:

《BLEU: a Method for Automatic Evaluation of Machine Translation》

计算方法(The Baseline BLEU Metric):

1、precision measure

为了计算精度,只需计算任何参考翻译中出现的候选翻译词(unigrams)的数量,然后除以候选翻译中的总词数。

2、Modified n-gram precision

先对原理总介绍,然后2.1-2.3分别介绍Modified n-gram precision在三种场景下的应用。

首先计算一个单词在任何单个参考翻译中出现的最大次数。 接下来,将每个候选词的总计数除以其最大参考计数,将这些截断的计数相加,然后除以候选词的总数(未截断)。

注:n-gram指的是将n个词作为一个整体,1-gram指的是一个词,2-gram指的是两个连起来的词。对应的matrix就是BLEU-n。BLEU-1更注重单个词的出现,BLEU-4更注重句子的流畅性。

总结:首先提出一种基本的计算方法,然后对其进行优化。优化的思路很重要(举极限的反例来证明):使用1的方法有一个问题,会导致机器翻译系统可能会过度生成“合理”的单词,导致翻译结果很差但精度很高,例如下面的示例2.1:如果使用1的方法计算:BLEU-1 = 7/7。使用2的方法计算:BLEU-1 = 2/7。显然candidate是很差的,使用2的计算结果更合理。

'''
示例2.1:
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.
'''
2.1.1 Modified n-gram precision on blocks of text(解决一个句子翻译生成多个candidate sentence的情况怎么计算)

我们如何在多句子测试集上计算修改后的 n-gram 精度? 尽管通常在整个文档的语料库上评估 MT 系统,但我们的基本评估单位是句子。 一个源句可能会翻译成许多目标句,在这种情况下,我们会滥用术语,将相应的目标句称为“句子”。 我们首先逐句计算 n-gram 匹配。 接下来,我们将所有候选句子的裁剪 n-gram 计数相加,然后除以测试语料库中候选 n-gram 的数量,以计算整个测试语料库的修正精度分数 。
详解BLEU的原理和计算_第1张图片

注:BLEU 只需要在对测试语料库进行平均时匹配人类判断; 单个句子的分数通常与人类的判断不同。 例如,如果所有参考文献碰巧读作“东亚经济”,则产生流利短语“东亚经济”的系统会因较长的 n-gram 精度而受到严重惩罚。 BLEU 成功的关键在于所有系统都被同等对待,并且使用了多个风格不同的人工翻译,因此这种效果在系统之间的比较中被抵消了。

2.1.2 Ranking systems using only modified n-gram precision(使用不同水平的翻译系统和人的翻译结果等级,从而证明BLEU的可行性)

为了验证修改后的 n-gram 精度区分非常好的翻译和差的翻译,通过计算一个(好)人工翻译和一个标准(差)机器翻译系统输出的修改后精度数,每个 127 个参考翻译使用 4 个参考翻译源语句。平均精度结果如图 1 所示。 区分人(高精度)和机器(低精度)的区分度很强。随着我们从 unigram 精度到 4-gram 精度,差异变得更大。似乎任何单个 n-gram 精度分数都可以区分好翻译和坏翻译。

详解BLEU的原理和计算_第2张图片

然而,该指标还必须可靠地区分质量差异不大的翻译。此外,它必须区分两种不同质量的人工翻译。随着机器翻译接近人工翻译质量,后一项要求确保了指标的持续有效性。为此,我们获得了一个对源语言(中文)和目标语言(英语)都缺乏母语能力的人的人工翻译。为了比较,我们获得了以英语为母语的人对相同文档的人工翻译。我们还获得了三个商业系统的机器翻译。这五个“系统”——两个人和三个机器——根据两个参考专业人工翻译进行评分。平均修改后的 n-gram 精度结果如图 2 所示。 排名:H2(Human-2)优于H1(Human1),H1和S3(Machine/System-3)质量有较大下降。 S3 看起来比 S2 好,而 S2 又比 S1 好。值得注意的是,这与人类法官分配给这些“系统”的等级顺序相同,我们稍后会讨论。虽然在任何单个 n-gram 精度中似乎都有足够的信号,但将所有这些信号组合成单个数字度量会更加稳健。

详解BLEU的原理和计算_第3张图片

2.1.3 Combining the modified n-gram precisions(解决到底使用n-gram的n取多少最合适的问题)

我们应该如何结合各种 n-gram 大小的修改精度? 修正后精度的加权线性平均值为 5 个系统带来了令人鼓舞的结果。 然而,如图 2所示,修改后的 n-gram 精度大致随 n 呈指数衰减:修改后的 unigram 精度远大于修改后的 bigram 精度,而修改后的 bigram 精度又远大于修改后的 trigram 精度。 一个合理的平均方案必须考虑到这种指数衰减; 修正精度的对数的加权平均值满足了这一要求。 BLEU 使用具有统一权重的平均对数,这相当于使用修改后的 n-gram 精度的几何平均值。虽然3和5也取得不错的效果大门时,在经验上使用最大 n-gram 阶数 4 获得与单语言(母语)人类判断的最佳相关性

2.2 BLEU指标限制翻译的句子长度

评估指标应该强制候选翻译既不能太长也不能太短。 在某种程度上,n-gram 精度已经做到了这一点。 N-gram 精度会惩罚未出现在任何参考翻译中的候选词中的虚假词(避免过长)。 此外,如果一个词在候选翻译中出现的频率高于其最大引用计数,则修改后的精度会受到惩罚。 这会奖励使用一个词的次数,并惩罚使用一个词的次数超过它在任何参考文献中出现的次数。 但是,仅修改后的 n-gram 精度无法强制执行适当的翻译长度,如下面的简短而荒谬的示例所示。

'''
Reference 1: It is a guide to action that ensures that the military will forever heed Party commands. Reference 2: It is the guiding principle which guarantees the military forces always being under the command of the Party. 

Reference 3: It is the practical guide for the army always to heed the directions of the party.
'''
2.3计算细节:

我们取测试语料库修正精度分数的几何平均值,然后将结果乘以指数简洁惩罚因子。 目前,大小写折叠是在计算精度之前执行的唯一文本规范化。 我们首先计算修改后的 n-gram 精度的几何平均值 pn,使用长度为 N 的 n-gram 和正权重 wn 总和为 1。 接下来,设 c 为候选翻译的长度,r 为有效参考语料库长度。 我们计算简洁惩罚 BP:
详解BLEU的原理和计算_第4张图片

你可能感兴趣的:(机器学习,人工智能,机器学习,自然语言处理)