机器翻译, 文本生成等任务评价指标 BLEU, ROUGE, PPL(困惑度)

一:BLEU

     1.1  BLEU 的全称是 Bilingual evaluation understudy,BLEU 的分数取值范围是 0~1,分数越接近1,说明翻译的质量越高。BLEU 主要是基于精确率(Precision)的,下面是 BLEU 的整体公式。

                                  机器翻译, 文本生成等任务评价指标 BLEU, ROUGE, PPL(困惑度)_第1张图片

  • 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,计算公式如下:

                         机器翻译, 文本生成等任务评价指标 BLEU, ROUGE, PPL(困惑度)_第2张图片

      针对上面的例子  p1 = 1/5   (因为there在C和S1中都出现了 我们按最少的次数来)

     1.3 惩罚因子

     上面介绍了 BLEU 计算 n-gram 精确率的方法, 但是仍然存在一些问题,当机器翻译的长度比较短时,BLEU 得分也会比较高,但是这个翻译是会损失很多信息的,例如:

       C: a cat 

       S1: there is a cat on the table

       因此需要在 BLEU 分数乘上惩罚因子

                                             机器翻译, 文本生成等任务评价指标 BLEU, ROUGE, PPL(困惑度)_第3张图片 

 二: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 分数,计算公式如下: 

                          机器翻译, 文本生成等任务评价指标 BLEU, ROUGE, PPL(困惑度)_第4张图片

      公式的分母是统计在参考译文中 N-gram 的个数,而分子是统计参考译文与机器译文共有的 N-gram 个数。

      C: a cat is on the table

      S1: there is a cat on the table

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

                                        机器翻译, 文本生成等任务评价指标 BLEU, ROUGE, PPL(困惑度)_第5张图片

       如果给定多个参考译文 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的最长公共子序列,计算公式如下: 

机器翻译, 文本生成等任务评价指标 BLEU, ROUGE, PPL(困惑度)_第6张图片

 

         公式中的 RLCS 表示召回率,而 PLCS 表示精确率,FLCS 就是 ROUGE-L。一般 beta 会设置为很大的数,因此 FLCS 几乎只考虑了 RLCS (即召回率)。注意这里 beta 大,则 F 会更加关注 R,而不是 P,可以看下面的公式。如果 beta 很大,则 PLCS 那一项可以忽略不计。 

机器翻译, 文本生成等任务评价指标 BLEU, ROUGE, PPL(困惑度)_第7张图片

      2.4 ROUGE-W 

       ROUGE-W 是 ROUGE-L 的改进版,考虑下面的例子,X表示参考译文,而Y1,Y2表示两种机器译文。 

                                                                 机器翻译, 文本生成等任务评价指标 BLEU, ROUGE, PPL(困惑度)_第8张图片

         在这个例子中,明显 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 基本思想: 

        给测试集的句子赋予较高概率值的语言模型较好,当语言模型训练完之后,测试集中的句子都是正常的句子,那么训练好的模型就是在测试集上的概率越高越好,公式如下:     

机器翻译, 文本生成等任务评价指标 BLEU, ROUGE, PPL(困惑度)_第9张图片

参考文献:

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

             

你可能感兴趣的:(自然语言处理,NLP,PPL,BLEU,ROUGE,自然语言处理)