評價度量指標之BLEU,METEOR,ROUGE,CIDEr

在 VTT (Video to Text) 任務中,需要衡量模型輸出的視頻描述語句的準確性,因爲衡量的對象是一個個的自然語言文本,所以通常會選擇自然語言處理領域的相關評價指標。這些指標原先都是用來度量機器翻譯結果質量的,並且被證明可以很好的反映待評測語句的準確性,主要包含4種:BLEU,METEOR,ROUGE,CIDEr。

1、BLEU

BLEU(Bilingual Evaluation understudy,雙語互譯質量評估)是一種流行的機器翻譯評價指標,一種基於精確度的相似度量方法,用於分析候選譯文中有多少 nn 元詞組出現在參考譯文中,由IBM於2002年提出。假設,cic_i 表示候選譯文(也就是GT),該候選譯文對應的一組參考譯文(也就是模型預測出來的語句)可以表示爲 Si={si1,si2,,sim}S_i=\{s_{i1}, s_{i2}, \dots, s_{im}\};將候選譯文 cic_i 中所有相鄰的 nn 個單詞提取出來組成一個集合 ngramn-gram,一般取 n=1,2,3,4n=1,2,3,4;用 ωk\omega_k 表示 ngramn-gram 中的第 kk 個詞組,hk(ci)h_k(c_i) 表示第 kk 個詞組 ωk\omega_k 在候選譯文 cic_i 中出現的次數,hk(sij)h_k(s_{ij}) 表示第 kk 個詞組 ωk\omega_k 在參考譯文 sijs_{ij} 中出現的次數。此時,在 ngramn-gram 下參考譯文和候選譯文 cic_i 的匹配度計算公式就可以表示爲pn(ci,S)=kmin(hk(ci)maxjmhk(sij))khk(ci)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)}分子表示先取詞組 ωk\omega_k 在參考譯文中出現的最大次數,然後取它和 ωk\omega_k 在候選譯文中出現次數的較小者,也就是該詞組在參考譯文和候選譯文中出現的最小次數,最後將每個 ωk\omega_k 對應的最小次數求和;分母則表示所有詞組在候選譯文中出現的次數。下圖給出了一個具體的示例,分別是 1-gram、2-gram、3-gram 和 4-gram 時的匹配度:
在這裏插入圖片描述
一般來說,nn 取值越大,參考譯文就越難匹配上,匹配度就會越低。1gram1-gram 能夠反映候選譯文中有多少單詞被單獨翻譯出來,也就代表了參考譯文的充分性2gram3gram4gram2-gram、3-gram、4-gram 值越高說明參考譯文的可讀性越好,也就代表了參考譯文的流暢性
當參考譯文比候選譯文長(單詞更多)時,這種匹配機制可能並不準確,例如上面的參考譯文如果是TheThe catcat,匹配度就會變成1,這顯然是不準確的;爲此我們引入一個懲罰因子BP(ci,sij)={1,lci>lsije1lsijlci,lcilsijBP(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.ll 表示各自的長度。最終,BLEU的計算公式就是BLEU=BPexp(n=1Nwnlogpn)\mathrm{BLEU}=\mathrm{BP} \cdot \exp \left(\sum_{n=1}^{N} w_{n} \log p_{n}\right)wnw_n 代表每一個 n-gram 的權重,一般 nn 最大取4,所以 wn=0.25w_n=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應該都算對);在計算方式上它融合了準確率、召回率,利用二者的調和平均值來作爲評判標準。
Pen=γ(chm)θFmean=PmRmαPm+(1α)RmMETEOR=(1Pen)Fmean \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} 其中,Pm=mkhk(ci)Rm=mkhk(sij) \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}
分別就對應着 BLEU、ROUGE 的準確率、召回率計算方法,γθα\gamma、\theta、\alpha 爲用於評價的默認參數。詳細的算法查看原論文,計算的話可以調用已有的java庫,免去了手動實現的麻煩。

4、CIDEr

CIDEr 首先將 n-grams 在參考譯文中出現的頻率編碼進來,通過TF-IDF 計算每個 n-gram 的權重,將句子用 n-gram 表示成向量的形式,然後計算參考譯文和候選譯文之間的 TF-IDF 向量餘弦距離,以此度量二者的相似性。

參考1
參考2

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章