文本生成任務的評價方法


文本生成任務的評價方法


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

1.BLEU

BLEU (Bilingual Evaluation Understudy)——越大越好

  • 核心:比較候選譯文和參考譯文里的 n-gram 的重合程度,重合程度越高就認為譯文質量越高

  • unigram用於衡量單詞翻譯的准確性,高階n-gram用於衡量句子翻譯的流暢性。

  • 通常取N=1~4,再加權平均。

    • \(P_n\) 指 n-gram 的精確率。

    • \(W_n\) 指 n-gram 的權重。

    • \(BP\) 是懲罰因子。

    • \(lr\)指參考譯文長度。

    • \(lc\)指候選譯文長度。

    • 希望譯文更長些。

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

    C: a cat is on the table

    S1: there is a cat on the table

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

    直接這樣子計算 Precision 會存在一些問題,例如:

    C: there there there there there

    S1: there is a cat on the table

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

2. ROUGE

ROUGE (Recall-Oriented Understudy for Gisting Evaluation)專注於召回率(關注有多少個參考譯句中的 n- gram出現在了輸出之中)而非精度(候選譯文中的n-gram有沒有在參考譯文中出現過)。

2.1 ROUGE-N (將BLEU的精確率優化為召回率)

評估標准:計算ROUGE-1和ROUGE-2的F1-score,越大越好。

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

C: a cat is on the table

S1: there is a cat on the table

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

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

2.2 ROUGE-L (將BLEU的n-gram優化為公共子序列)

評估標准:計算ROUGE-L的F1-score,越大越好。

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

  • \(R_{LCS}\) 表示召回率,而 \(P_{LCS}\) 表示精確率,\(F_{LCS}\) 就是 ROUGE-L。
  • \(\beta\)用於調節對精確率和召回率的關注度。
  • 如果\(\beta\) 很大,則\(F_{LCS}\) 會更關注\(R_{LCS}\)\(P_{LCS}\) 可以忽略不計。

2.3 ROUGE-W (ROUGE-W 是 ROUGE-L 的改進版)

ROUGE-L在計算最長公共子序列時,對於子序列的連續性沒有限制,即兩個詞匯之間可以有任意長度的代溝,但是這不一定是不合理的。考慮下面的例子,\(X\)表示參考譯文,而\(Y_1\)\(Y_2\)¥表示兩種機器譯文。

在這個例子中,明顯 \(Y_1\)的翻譯質量更高,因為\(Y_1\) 有更多連續匹配的翻譯。但是采用 ROUGE-L 計算得到的分數確實一樣的,即 \(ROUGE-L(X,Y_1)=ROUGE-L(X, Y_2)\)

因此作者提出了一種加權最長公共子序列方法 (WLCS),給連續翻譯正確的更高的分數。所以ROUGE-W在ROUGE-L的基礎上對連續性添加一個權重。

2.4 ROUGE-S (Skip-Bigram Co-Occurrence Statistics)

ROUGE-S 也是對 N-gram 進行統計,但是其采用的 N-gram 允許"跳詞 (Skip)",即單詞不需要連續出現。skip-bigram是一句話中任意兩個有序的詞,它們之間可以間隔任意長,基於skip-bigram的ROUGE-S計算如下:

  1. ROUGE-S先對生成文本和參考文本中的2-gram進行組合,此時的2-gram不一定是連續的,可以是有間隔的,稱為Skip-Bigram;
  2. 然后計算生成文本中出現在參考文本的Skip-Bigram在參考文本所有Skip-Bigram的比重(即\(R_{skip2}\));
  3. 計算參考文本中出現在生成文本的Skip-Bigram在生成文本所有Skip-Bigram的比重(即\(P_{skip2}\));
  4. 選擇\(\beta\)計算ROUGE-S。

例如句子 "I have a cat" 的 Skip-bigram 包括 (I, have),(I, a),(I, cat),(have, a),(have, cat),(a, cat)。

其中\(C\)是組合函數,相比與ROUGE-L來說,ROUGE-S能捕捉所有有序的兩個詞,為了避免匹配一些相隔過長而無意義的詞比如"the the",可以設置最長間隔,此時相應的分母也要按照這個最長距離來計算。

3. METEOR

  • METEOR同時考慮了基於整個語料庫上的准確率和召回率。
  • 也包括其他指標沒有發現一些其他功能,如同義詞匹配,同形詞等。
  • 在評價句子流暢性的時候,用了 chunk 的概念(候選譯文和參考譯文能夠對齊的、空間排列上連續的單詞形成一個 chunk)。
  • 應用不是很廣泛:只有java版本;超參數多;需要外部資源(比較雞肋)

參考

  • BLEU, METEOR, ROUGE:

《ROUGE: A Package for Automatic Evaluation of Summaries》

《Meteor: An Automatic Metric for MT Evaluation with High Levels of Correlation with Human Judgments》

機器翻譯與自動文摘評價指標 BLEU 和 ROUGE

在NLP當中,不同的評價指標,BLEU, METEOR, ROUGE和CIDEr的邏輯意義?

BLEU,ROUGE,METEOR,ROUGE-淺述自然語言處理機器翻譯常用評價度量

文本生成13:萬字長文梳理文本生成評價指標

文本生成任務常見評估指標


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM