BLEU总体思想就是准确率,假如给定标准译文reference,神经网络生成的句子是candidate,句子长度为n,candidate中有m个单词出现在reference,m/n就是bleu的1-gram的计算公式。
BLEU还有许多变种。根据n-gram可以划分成多种评价指标,常见的指标有BLEU-1、BLEU-2、BLEU-3、BLEU-4四种,其中n-gram指的是连续的单词个数为n。
BLEU-1衡量的是单词级别的准确性,更高阶的bleu可以衡量句子的流畅性。
b l e u n = ∑ c ∈ c a n d i d a t e s ∑ n − g r a m ∈ c C o u n t c l i p ( n − g r a m ) ∑ c ‘ ∈ c a n d i d a t e s ∑ n − g r a m ‘ ∈ c ‘ C o u n t c l i p ( n − g r a m ‘ ) bleu_n = \frac{\sum_{c \in candidates}\sum_{n-gram \in c} Count_{clip}(n-gram)}{\sum_{c^` \in candidates}\sum_{n-gram^` \in c^`} Count_{clip}(n-gram^`)} bleun=∑c‘∈candidates∑n−gram‘∈c‘Countclip(n−gram‘)∑c∈candidates∑n−gram∈cCountclip(n−gram)
分子
神经网络生成的句子是candidate,给定的标准译文是reference。
1) 第一个求和符号统计的是所有的candidate,因为计算时可能有多个句子,
2)第二个求和符号统计的是一条candidate中所有的n−gram,而 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TkJeLIeN-1650888496571)(https://www.zhihu.com/equation?tex=Count_%7Bclip%7D%28n-gram%29)] 表示某一个n−gram在reference中的个数。
所以整个分子就是在给定的candidate中有多少个n-gram词语出现在reference中。
分母
前两个求和符号和分子中的含义一样,Count(n-gram’)表示n−gram′在candidate中的个数,综上可知,分母是获得所有的candidate中n-gram的个数。
BLEU实质是对两个句子的共现词频率计算,但计算过程中使用好些技巧,追求计算的数值可以衡量这两句话的一致程度。BLEU容易陷入常用词和短译句的陷阱中,而给出较高的评分值。
机器自动摘要常见的参考指标rouge有若干个优化版本,核心是通过统计机器候选摘要句子和标准摘要句子重叠的单元n-gram,来评判摘要的质量。
R O U G E − N = 共 现 的 字 / 词 个 数 摘 要 个 数 ROUGE-N = \frac{共现的字/词个数}{摘要个数} ROUGE−N=摘要个数共现的字/词个数
对应的N即为连续字个数。例如N等于1:
人工y:文章内容新颖 (6个字) 机器x:这篇文章内容是新颖的(10个字) 重叠的部分是6个字 候选句子摘要句子是x,人工摘要句子是y precision 两个句子重叠部分的n-gram/len(x) = 6/10 recall 两个句子重叠部分的n-gram/len(y) = 6/6
可以看出来机器生成的把人工的全部召回了,但是实际上机器生成的太多。此时精度就是来限制句子的关联程度的。
最长公共子序列的重合率计算。
S是人工摘要,C是机器摘要
R L C S = L C S ( C , S ) l e n ( S ) R_{LCS}=\frac{LCS(C,S)}{len(S)} RLCS=len(S)LCS(C,S)
P L C S = L C S ( C , S ) l e n ( C ) P_{LCS}=\frac{LCS(C,S)}{len(C)} PLCS=len(C)LCS(C,S)
F L C S = ( 1 + β 2 ) R L C S P L C S R L C S + β 2 P L C S F_{LCS}=\frac{(1 + \beta^2)R_{LCS}P_{LCS}}{R_{LCS}+\beta^2P_{LCS}} FLCS=RLCS+β2PLCS(1+β2)RLCSPLCS
R L C S R_{LCS} RLCS 表示召回率,而 P L C S P_{LCS} PLCS表示精确率, F L C S F_{LCS} FLCS 就是 ROUGE-L。一般 beta 会设置为很大的数,因此 F L C S F_{LCS} FLCS 几乎只考虑了 R L C S R_{LCS} RLCS (即召回率)
优点:反应句子级别顺序,不需要制定n-gram的长度
缺点:只考虑了最长子序列的长度,忽略了其他子序列
适用于短摘要提取
https://zhuanlan.zhihu.com/p/223048748
https://www.zhihu.com/search?type=content&q=Rouge-l