评价度量指标之BLEU,METEOR,ROUGE,CIDEr

在 VTT (Video to Text) 任务中,需要衡量模型输出的视频描述语句的准确性,因为衡量的对象是一个个的自然语言文本,所以通常会选择自然语言处理领域的相关评价指标。这些指标原先都是用来度量机器翻译结果质量的,并且被证明可以很好的反映待评测语句的准确性,主要包含4种:BLEU,METEOR,ROUGE,CIDEr。

1、BLEU

BLEU(Bilingual Evaluation understudy,双语互译质量评估)是一种流行的机器翻译评价指标,一种基于精确度的相似度量方法,用于分析候选译文中有多少 n n n 元词组出现在参考译文中,由IBM于2002年提出。假设, c i c_i ci 表示候选译文(也就是GT),该候选译文对应的一组参考译文(也就是模型预测出来的语句)可以表示为 S i = { s i 1 , s i 2 , … , s i m } S_i=\{s_{i1}, s_{i2}, \dots, s_{im}\} Si={si1,si2,,sim};将候选译文 c i c_i ci 中所有相邻的 n n n 个单词提取出来组成一个集合 n − g r a m n-gram ngram,一般取 n = 1 , 2 , 3 , 4 n=1,2,3,4 n=1,2,3,4;用 ω k \omega_k ωk 表示 n − g r a m n-gram ngram 中的第 k k k 个词组, h k ( c i ) h_k(c_i) hk(ci) 表示第 k k k 个词组 ω k \omega_k ωk 在候选译文 c i c_i ci 中出现的次数, h k ( s i j ) h_k(s_{ij}) hk(sij) 表示第 k k k 个词组 ω k \omega_k ωk 在参考译文 s i j s_{ij} sij 中出现的次数。此时,在 n − g r a m n-gram ngram 下参考译文和候选译文 c i c_i ci 的匹配度计算公式就可以表示为 p n ( c i , S ) = ∑ k min ⁡ ( h k ( c i ) , max ⁡ j ∈ m h k ( s i j ) ) ∑ k h k ( c i ) p_{n}(c_i, S)=\frac{\sum_{k} \min \left(h_{k}\left(c_{i}\right), \max _{j \in m} h_{k}\left(s_{i j}\right)\right)}{\sum_{k} h_{k}\left(c_{i}\right)} pn(ci,S)=khk(ci)kmin(hk(ci)maxjmhk(sij))分子表示先取词组 ω k \omega_k ωk 在参考译文中出现的最大次数,然后取它和 ω k \omega_k ωk 在候选译文中出现次数的较小者,也就是该词组在参考译文和候选译文中出现的最小次数,最后将每个 ω k \omega_k ωk 对应的最小次数求和;分母则表示所有词组在候选译文中出现的次数。下图给出了一个具体的示例,分别是 1-gram、2-gram、3-gram 和 4-gram 时的匹配度:
在这里插入图片描述
一般来说, n n n 取值越大,参考译文就越难匹配上,匹配度就会越低。 1 − g r a m 1-gram 1gram 能够反映候选译文中有多少单词被单独翻译出来,也就代表了参考译文的充分性 2 − g r a m 、 3 − g r a m 、 4 − g r a m 2-gram、3-gram、4-gram 2gram3gram4gram 值越高说明参考译文的可读性越好,也就代表了参考译文的流畅性
当参考译文比候选译文长(单词更多)时,这种匹配机制可能并不准确,例如上面的参考译文如果是 T h e The The c a t cat cat,匹配度就会变成1,这显然是不准确的;为此我们引入一个惩罚因子 B P ( c i , s i j ) = { 1 , l c i > l s i j e 1 − l s i j l c i , l c i ≤ l s i j BP(c_i, s_{ij})=\left\{\begin{array}{cc}{1,} & {l_{c_i}>l_{s_{ij}}} \\ {\mathrm{e}^{1-\frac{l_{s_{ij}}}{l_{c_i}}},} & {l_{c_i} \leq l_{s_{ij}}}\end{array}\right. BP(ci,sij)={1,e1lcilsij,lci>lsijlcilsij l l l 表示各自的长度。最终,BLEU的计算公式就是 B L E U = B P ⋅ exp ⁡ ( ∑ n = 1 N w n log ⁡ p n ) \mathrm{BLEU}=\mathrm{BP} \cdot \exp \left(\sum_{n=1}^{N} w_{n} \log p_{n}\right) BLEU=BPexp(n=1Nwnlogpn) w n w_n wn 代表每一个 n-gram 的权重,一般 n n n 最大取4,所以 w n = 0.25 w_n=0.25 wn=0.25。(参考

BLEU 更偏向于较短的翻译结果,它看重准确率而不注重召回率(n-gram 词组是从候选译文中产生的,参考译文中出现、候选译文中没有的词组并不关心);原论文提议数据集多设置几条候选译文,4条比较好,但是一般的数据集只有一条。

2、ROUGE

BLEU 是统计机器翻译时代的产物,因为机器翻译出来的结果往往不通顺,所以BLEU更关注翻译结果的准确性和流畅度;到了神经网络翻译时代,神经网络很擅长脑补,自己就把语句梳理得很流畅了,这个时候人们更关心的是召回率,也就是参考译文中有多少词组在候选译文中出现了。
ROUGE(recall-oriented understanding for gisting evaluation)就是这样一种基于召回率的相似性度量方法,主要考察参考译文的充分性和忠实性,无法评价参考译文的流畅度,它跟BLEU的计算方式几乎一模一样,但是 n-gram 词组是从参考译文中产生的。分为4种类型:

ROUGE解释
ROUGE-N基于 N-gram 的共现(共同出现)统计
ROUGE-L基于最长共有子句共现性精度和召回率 Fmeasure 统计
ROUGE-W带权重的最长共有子句共现性精度和召回率 Fmeasure 统计
ROUGE-S不连续二元组共现性精度和召回率 Fmeasure 统计

3、METEOR

相比于上面两个标准而言,METEOR 显得更加人性化,它关注到那些翻译准确、但是和候选译文还是对不上的参考译文,比如参考译文用了候选译文的同义词。METEOR 需要 WordNet 扩充同义词集,同时需要考虑单词词性(比如like、likes应该都算对);在计算方式上它融合了准确率、召回率,利用二者的调和平均值来作为评判标准。
P e n = γ ( c h m ) θ F mean = P m R m α P m + ( 1 − α ) R m M E T E O R = ( 1 − P e n ) F m e a n \begin{aligned} Pen&=\gamma\left(\frac{c h}{m}\right)^{\theta} \\ F_{\text {mean}} &=\frac{P_{m} R_{m}}{\alpha P_{m}+(1-\alpha) R_{m}} \\ METEOR&=(1-Pen) F_{m e a n} \end{aligned} PenFmeanMETEOR=γ(mch)θ=αPm+(1α)RmPmRm=(1Pen)Fmean其中, P m = ∣ m ∣ ∑ k h k ( c i ) R m = ∣ m ∣ ∑ k h k ( s i j ) \begin{aligned} {P_{m}=\frac{|m|}{\sum_{k} h_{k}\left(c_{i}\right)}} \\ {R_{m}=\frac{|m|}{\sum_{k} h_{k}\left(s_{i j}\right)}} \end{aligned} Pm=khk(ci)mRm=khk(sij)m
分别就对应着 BLEU、ROUGE 的准确率、召回率计算方法, γ 、 θ 、 α \gamma、\theta、\alpha γθα 为用于评价的默认参数。详细的算法查看原论文,计算的话可以调用已有的java库,免去了手动实现的麻烦。

4、CIDEr

CIDEr 首先将 n-grams 在参考译文中出现的频率编码进来,通过TF-IDF 计算每个 n-gram 的权重,将句子用 n-gram 表示成向量的形式,然后计算参考译文和候选译文之间的 TF-IDF 向量余弦距离,以此度量二者的相似性。

参考1
参考2

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值