使用机器学习的方法生成文本的翻译之后,需要评价模型翻译的性能,这就要用到一些机器翻译评价指标,其中比较常见的评价指标有BLEU和ROUGE。这两个指标具有比较旧的历史,BLEU是2002年提出的,而ROUGE是2003年提出的。这两种指标虽然存在着一些问题,但是仍然是比较主流的机器翻译评价指标。
一般用C表示机器翻译的译文,另外还需要提供m个参考的翻译S1,S2,,Sm。评价指标就可以衡量机器翻译的C和参考翻译S1,S2,,Sm的匹配程度。
2.BLEUBLEU的全称是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:acatisonthetableS1:thereisacatonthetable
则可以计算出1-gram,2-gram,的准确率
直接这样子计算Precision会存在一些问题,例如:
C:theretheretheretherethereS1:thereisacatonthetable
这时候机器翻译的结果明显是不正确的,但是其1-gram的Precision为1,因此BLEU一般会使用修正的方法。给定参考译文S1,S2,,Sm,可以计算C里面n元组的Precision,计算公式如下:
2.2惩罚因子
上面介绍了BLEU计算n-gram精确率的方法,但是仍然存在一些问题,当机器翻译的长度比较短时,BLEU得分也会比较高,但是这个翻译是会损失很多信息的,例如:
C:acatS1:thereisacatonthetable
因此需要在BLEU分数乘上惩罚因子
3.ROUGEROUGE指标的全称是(Recall-OrientedUnderstudyforGistingEvaluation),主要是基于召回率(recall)的。ROUGE是一种常用的机器翻译和文章摘要评价指标,由Chin-YewLin提出,其在论文中提出了4种ROUGE方法:
ROUGE-N:在N-gram上计算召回率
ROUGE-L:考虑了机器译文和参考译文之间的最长公共子序列
ROUGE-W:改进了ROUGE-L,用加权的方法计算最长公共子序列
ROUGE-S:采用了Skip的N-gram,可以允许N-gram的单词不连续
3.1ROUGE-N
ROUGE-N主要统计N-gram上的召回率,对于N-gram,可以计算得到ROUGE-N分数,计算公式如下:
公式的分母是统计在参考译文中N-gram的个数,而分子是统计参考译文与机器译文共有的N-gram个数。
C:acatisonthetableS1: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指最长公共子序列(longestcommonsubsequence,LCS),ROUGE-L计算的时候使用了机器译文C和参考译文S的最长公共子序列,计算公式如下:
3.3ROUGE-W
ROUGE-W是ROUGE-L的改进版,考虑下面的例子,X表示参考译文,而Y1,Y2表示两种机器译文。
在这个例子中,明显Y1的翻译质量更高,因为Y1有更多连续匹配的翻译。但是采用ROUGE-L计算得到的分数确实一样的,即ROUGE-L(X,Y1)=ROUGE-L(X,Y2)。
因此作者提出了一种加权最长公共子序列方法(WLCS),给连续翻译正确的更高的分数,具体做法可以阅读原论文《ROUGE:APackageforAutomaticEvaluationofSummaries》。
3.4ROUGE-S
ROUGE-S也是对N-gram进行统计,但是其采用的N-gram允许"跳词(Skip)",即单词不需要连续出现。例如句子"Ihaveacat"的Skip2-gram包括(I,have),(I,a),(I,cat),(have,a),(have,cat),(a,cat)。
4.参考文献Bleu:amethodforautomaticevaluationofmachinetranslation
ROUGE:APackageforAutomaticEvaluationofSummaries