在机器翻译任务中,BLEU和ROUGE是两个常用的评价指标,BLEU根据精确率(Precision)衡量翻译的质量,而ROUGE根据召回率(Recall)衡量翻译的质量。
1.机器翻译评价指标
使用机器学习的方法生成文本的翻译之后,需要评价模型翻译的性能,这就要用到一些机器翻译评价指标,其中比较常见的评价指标有BLEU和ROUGE。这两个指标具有比较旧的历史,BLEU是年提出的,而ROUGE是年提出的。这两种指标虽然存在着一些问题,但是仍然是比较主流的机器翻译评价指标。
一般用C表示机器翻译的译文,另外还需要提供m个参考的翻译S1,S2,...,Sm。评价指标就可以衡量机器翻译的C和参考翻译S1,S2,...,Sm的匹配程度。
2.BLEU
BLEU的全称是Bilingualevaluationunderstudy,BLEU的分数取值范围是0~1,分数越接近1,说明翻译的质量越高。BLEU主要是基于精确率(Precision)的,下面是BLEU的整体公式。
BLEU需要计算译文1-gram,2-gram,...,N-gram的精确率,一般N设置为4即可,公式中的Pn指n-gram的精确率。Wn指n-gram的权重,一般设为均匀权重,即对于任意n都有Wn=1/N。BP是惩罚因子,如果译文的长度小于最短的参考译文,则BP小于1。BLEU的1-gram精确率表示译文忠于原文的程度,而其他n-gram表示翻译的流畅程度。2.1n-gram精确率计算
假设机器翻译的译文C和一个参考翻译S1如下:
C:acatisonthetable
S1:thereisacatonthetable
则可以计算出1-gram,2-gram,...的准确率
直接这样子计算Precision会存在一些问题,例如:
C:theretheretheretherethere
S1:thereisacatonthetable
这时候机器翻译的结果明显是不正确的,但是其1-gram的Precision为1,因此BLEU一般会使用修正的方法。给定参考译文S1,S2,...,Sm,可以计算C里面n元组的Precision,计算公式如下:
2.2惩罚因子
上面介绍了BLEU计算n-gram精确率的方法,但是仍然存在一些问题,当机器翻译的长度比较短时,BLEU得分也会比较高,但是这个翻译是会损失很多信息的,例如:
C:acat
S1:thereisacatonthetable
因此需要在BLEU分数乘上惩罚因子
3.ROUGE
ROUGE指标的全称是(Recall-OrientedUnderstudyforGistingEvaluation),主要是基于召回率(recall)的。ROUGE是一种常用的机器翻译和文章摘要评价指标,由Chin-YewLin提出,其在论文中提出了4种ROUGE方法:
ROUGE-N:在N-gram上计算召回率ROUGE-L:考虑了机器译文和参考译文之间的最长公共子序列ROUGE-W:改进了ROUGE-L,用加权的方法计算最长公共子序列3.1ROUGE-N
ROUGE-N主要统计N-gram上的召回率,对于N-gram,可以计算得到ROUGE-N分数,计算公式如下:
公式的分母是统计在参考译文中N-gram的个数,而分子是统计参考译文与机器译文共有的N-gram个数。
C:acatisonthetable
S1:thereisacatonthetable
上面例子的ROUGE-1和ROUGE-2分数如下:
如果给定多个参考译文Si,Chin-YewLin也给出了一种计算方法,假设有M个译文S1,...,SM。ROUGE-N会分别计算机器译文和这些参考译文的ROUGE-N分数,并取其最大值,公式如下。这个方法也可以用于ROUGE-L,ROUGE-W和ROUGE-S。
3.2ROUGE-L
ROUGE-L中的L指最长公共子序列(longest