【NLP】机器翻译常用评价标准 (BLEU & METEOR)

在评价一个机器翻译系统时,译文的质量好坏无法通过文本形式的输出直观地体现,所以我们需要采用一些适当的量化标准对机器翻译的译文结果进行评价,而这些标准同样可适用于图像/视频描述等领域。

下面分别对两个常用的评价方法进行介绍: [1]

BLEU

BLEU(Bilingual Evaluation understudy)是一种流行的机器翻译评价指标,用于分析候选译文和参考译文中n元组共同出现的程度,由IBM于2002年提出 [2]  
对于一个待翻译句子,候选译文可以表示为 ci ,而对应的一组参考译文可以表示为 Si={si1,si2,...,sim}S  
n -grams表示n个单词长度的词组集合,令 ωk 表示第k组可能的 n -grams 
hk(ci) 表示 ωk 在候选译文 ci 中出现的次数, hk(sij) 表示 ωk 在参考译文 sij 中出现的次数 
BLEU则按下式计算对应语句中语料库层面上的重合精度: 

CPn(C,S)=ikmin(hk(ci),maxjmhk(sij))ikhk(ci)

其中 k 标示了可能存在的 n -grams序号 
容易看出 CPn(C,S) 是一个精确度度量,在语句较短时表现更好 
所以我们再引入一个惩罚因子BP(Brevity Penalty): 
b(C,S)={1e1lslcif lc>lsif lcls

其中 lc 表示候选译文 ci 的长度, ls 表示参考译文 sij 的有效长度(当存在多个参考译文时,选取和 lc 最接近的长度) 
本质上,BLEU是一个 n -grams精确度的加权几何平均,按照下式计算: 
BLEUN(C,S)=b(C,S)exp(n=1NωnlogCPn(C,S))

其中, N 可取1、2、3、4,而 ωn 一般对所有 n 取常值,即 1n  
BLEU在语料库层级上具有很好匹配的语句上表现很好,但随着n的增加,在句子层级上的匹配越来越差 
因此,BLEU在个别语句上可能表现不佳

METEOR

METEOR标准于2004年由Lavir发现在评价指标中召回率的意义后提出 [3]  
他们的研究表明,召回率基础上的标准相比于那些单纯基于精度的标准(如BLEU),其结果和人工判断的结果有较高相关性 
METEOR测度基于单精度的加权调和平均数和单字召回率,其目的是解决一些BLEU标准中固有的缺陷 
METEOR也包括其他指标没有发现一些其他功能,如同义词匹配等 
计算METEOR需要预先给定一组校准(alignment) m ,而这一校准基于WordNet的同义词库,通过最小化对应语句中连续有序的块(chunks) ch 来得出 
则METEOR计算为对应最佳候选译文和参考译文之间的准确率和召回率的调和平均: 

Pen=γ(chm)θ

Fmean=PmRmαPm+(1α)Rm

Pm=|m|khk(ci)

Rm=|m|khk(sij)

METEOR=(1Pen)Fmean

其中, α γ θ 均为用于评价的默认参数 
因此,METEOR的最终评价基于块(chunk)的分解匹配和表征分解匹配质量的一个调和平均,并包含一个惩罚系数 Pen  
和BLEU不同,METEOR同时考虑了基于整个语料库上的准确率和召回率,而最终得出测度

你可能感兴趣的:(python,机器翻译)