機器翻譯, 文本生成等任務評價指標 BLEU, ROUGE, PPL(困惑度)

一:BLEU

     1.1  BLEU 的全稱是 Bilingual evaluation understudy,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 表示翻譯的流暢程度。 

   1.2  n-gram 精確率計算

   假設機器翻譯的譯文C和一個參考翻譯S1如下:

   C: a cat is on the table

   S1: there is a cat on the table

   則可以計算出 1-gram,2-gram,... 的準確率

    p1  計算 a cat is on the table 分別都在參考翻譯S1中 所以 p1 = 1

    p2   (a, cat)在, (cat is) 沒在,  (is on) 沒在, (on the) 在, (the table)在  所以p2 = 3/5

    p3   (a cat is)不在,  (cat is on)不在, (is on the)不在, (on the table)在  所以 p3 = 1/4 

    依次類推(上面的在或者不在, 說的都是當前詞組有沒有在參考翻譯中)

    直接這樣算, 會存在很大的問題. 例如:

    C: there there there there there

    S1: there is a cat on the table

     這時候機器翻譯的結果明顯是不正確的,但是其 1-gram 的 Precision 爲1,因此 BLEU 一般會使用修正的方法。給定參考譯文S1,S2, ...,Sm,可以計算C裏面 n 元組的 Precision,計算公式如下:

                         

      針對上面的例子  p1 = 1/5   (因爲there在C和S1中都出現了 我們按最少的次數來)

     1.3 懲罰因子

     上面介紹了 BLEU 計算 n-gram 精確率的方法, 但是仍然存在一些問題,當機器翻譯的長度比較短時,BLEU 得分也會比較高,但是這個翻譯是會損失很多信息的,例如:

       C: a cat 

       S1: there is a cat on the table

       因此需要在 BLEU 分數乘上懲罰因子

                                              

 二:ROUGE

      2.1  ROUGE 指標的全稱是 (Recall-Oriented Understudy for Gisting Evaluation),主要是基於召回率 (recall) 的。ROUGE 是一種常用的機器翻譯和文章摘要評價指標,由 Chin-Yew Lin 提出,其在論文中提出了 4 種 ROUGE 方法:

  • ROUGE-N: 在 N-gram 上計算召回率
  • ROUGE-L: 考慮了機器譯文和參考譯文之間的最長公共子序列
  • ROUGE-W: 改進了ROUGE-L,用加權的方法計算最長公共子序列

      2.2  ROUGE-N

        ROUGE-N 主要統計 N-gram 上的召回率,對於 N-gram,可以計算得到 ROUGE-N 分數,計算公式如下: 

                          

      公式的分母是統計在參考譯文中 N-gram 的個數,而分子是統計參考譯文與機器譯文共有的 N-gram 個數。

      C: a cat is on the table

      S1: there is a cat on the table

      上面例子的 ROUGE-1 和 ROUGE-2 分數如下:

                                        

       如果給定多個參考譯文 Si,Chin-Yew Lin 也給出了一種計算方法,假設有 M 個譯文 S1, ..., SM。ROUGE-N 會分別計算機器譯文和這些參考譯文的 ROUGE-N 分數,並取其最大值,公式如下。這個方法也可以用於 ROUGE-L,ROUGE-W 和 ROUGE-S。  

      2.3  ROUGE-L

         ROUGE-L 中的 L 指最長公共子序列 (longest common subsequence, LCS),ROUGE-L 計算的時候使用了機器譯文C和參考譯文S的最長公共子序列,計算公式如下: 

 

         公式中的 RLCS 表示召回率,而 PLCS 表示精確率,FLCS 就是 ROUGE-L。一般 beta 會設置爲很大的數,因此 FLCS 幾乎只考慮了 RLCS (即召回率)。注意這裏 beta 大,則 F 會更加關注 R,而不是 P,可以看下面的公式。如果 beta 很大,則 PLCS 那一項可以忽略不計。 

      2.4 ROUGE-W 

       ROUGE-W 是 ROUGE-L 的改進版,考慮下面的例子,X表示參考譯文,而Y1,Y2表示兩種機器譯文。 

                                                                 

         在這個例子中,明顯 Y1的翻譯質量更高,因爲 Y1 有更多連續匹配的翻譯。但是採用 ROUGE-L 計算得到的分數確實一樣的,即 ROUGE-L(X, Y1)=ROUGE-L(X, Y2)。  因此作者提出了一種加權最長公共子序列方法 (WLCS),給連續翻譯正確的更高的分數,具體做法可以閱讀原論文《ROUGE: A Package for Automatic Evaluation of Summaries》。

     2.5 ROUGE-S 

         ROUGE-S 也是對 N-gram 進行統計,但是其採用的 N-gram 允許"跳詞 (Skip)",即單詞不需要連續出現。例如句子 "I have a cat" 的 Skip 2-gram 包括 (I, have),(I, a),(I, cat),(have, a),(have, cat),(a, cat)。

三: PPL

     3.1 perplexity(困惑度)用來度量一個概率分佈或概率模型預測樣本的好壞程度。

        它也可以用來比較兩個概率分佈或概率模型。(譯者:應該是比較兩者在預測樣本上的優劣)低困惑度的概率分佈模型或概率模型能更好地預測樣本。

     3.2 基本思想: 

        給測試集的句子賦予較高概率值的語言模型較好,當語言模型訓練完之後,測試集中的句子都是正常的句子,那麼訓練好的模型就是在測試集上的概率越高越好,公式如下:     

參考文獻:

B: a method for automatic evaluation of machine translation

ROUGE: A Package for Automatic Evaluation of Summaries

https://baijiahao.baidu.com/s?id=1655137746278637231&wfr=spider&for=pc

https://zhuanlan.zhihu.com/p/44107044

             

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