BLEU
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∈c?Countclip?(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容易陷入常用词和短译句的陷阱中,而给出较高的评分值。
ROURE
机器自动摘要常见的参考指标rouge有若干个优化版本,核心是通过统计机器候选摘要句子和标准摘要句子重叠的单元n-gram,来评判摘要的质量。
- ROUGE-N
- ROUGE-1
- ROUGE-2
- ROUGE-3
- ROUGE-L
- ROUGE-W
- ROUGE-S
- ROUGE-SU
ROUGE-N
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
可以看出来机器生成的把人工的全部召回了,但是实际上机器生成的太多。此时精度就是来限制句子的关联程度的。
ROUGE-L
最长公共子序列的重合率计算。
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)RLCS?PLCS??
RLCS 表示召回率,而 PLCS 表示精确率,FLCS 就是 ROUGE-L。一般 beta 会设置为很大的数,因此 FLCS 几乎只考虑了 RLCS (即召回率)
优点:反应句子级别顺序,不需要制定n-gram的长度
缺点:只考虑了最长子序列的长度,忽略了其他子序列
适用于短摘要提取
参考
https://zhuanlan.zhihu.com/p/223048748
https://www.zhihu.com/search?type=content&q=Rouge-l
|