我们这次介绍一下比较知名的一个机器翻译领域评价指标:BLUE
BLEU的全名为:bilingual evaluation understudy。即:双语互译质量评估辅助工具,用来评价机器翻译的质量。
BLEU算法实际上就是在判断两个句子的相似程度。其实这个思想是很朴素,也很直接的,想知道一个句子翻译前后的表示是否意思一致,直接的办法是拿这个句子的标准人工翻译与机器翻译的结果作比较,如果它们是很相似的,说明我的翻译很成功。
具体的过程为:
两个句子,S1和S2,S1里头的词出现在S2里头越多,就说明这两个句子越一致。就像这样子:similarity (‘i like apple’,‘i like english’)= 2/3。分子是一个候选翻译的单词有多少出现在参考翻译中,出现过就记一次,不管是不是在同一句参考翻译里头,分母是这个候选翻译的词汇数。
但我们直觉感觉,这虽然很朴素容易理解,但好像有缺点也很明显:
如果候选翻译中很多的常用词,如介词、代词等,会干扰blue的得分计算,造成翻译的不太行,但最终得分并不低。
那么就有了改进,设置截断数。
上面的计算都是token级别的,属于一元组。如果是这样{“the cat”, “cat is”, “is on”, “on the”, “the mat”},类似 ”the cat”两个相邻词一组就叫做bi-gram(二元组),以此类推:三元组、四元组、…、多元组(n-gram),集合变复数:n-grams。
- 一元组属于字符级别,关注的是翻译的充分性,就是衡量你的逐字翻译能力;
- 多元组上升到了词汇级别的,关注点是翻译的流畅性,词组准了,说话自然相对流畅了。
好的,blue的计算暂时就说到这,了解后即可。