总体认识
自然语言中的机器翻译或者自动文摘任务的评价指标主要分为两大类:客观评价指标(即使用一些可计算的评价指标)和主观评价指标(即人工评测,通常是领域专家或者学者)。
客观评价指标有:
- BLEU
- ROUGE
- METEOR
主观评测需要考虑一下三点:
- 流畅度
- 相关性
- 助盲性
客观评价指标
机器翻译与自动文摘任务最后生成的目标内容是自然语言描述语句,因此只要是这样的输出结果(即自然语言描述语句)的任务,都可以使用这些评测指标,主要包含四种:BLEU, ROUGE,METEOR,CIDEr。
BLEU
B
L
E
U
(
B
i
l
i
n
g
u
a
l
E
v
a
l
u
a
t
i
o
n
u
n
d
e
r
s
t
u
d
y
)
双
语
评
估
辅
助
工
具
BLEU(Bilingual Evaluation understudy)双语评估辅助工具
BLEU(BilingualEvaluationunderstudy)双语评估辅助工具 是一种流行的机器翻译评价指标。一种基于精确度的相似性度量方法, 用于分析候选译文和参考译文中
n
n
n元组共同出现的程度, 由IBM于2002年提出。对于一个待翻译句子,候选译文可以表示为
c
i
c_{i}
ci,而对应的一组参考译文可以表示为
S
i
=
{
s
i
1
,
s
i
2
,
.
.
.
,
s
i
m
}
∈
S
S_{i}=\{s_{i1},s_{i2},...,s_{im}\}\in S
Si={si1,si2,...,sim}∈S,
n
−
g
r
a
m
n-gram
n−gram表示
n
n
n个单词长度的词组集合,令
ω
k
\omega_ {k}
ωk表示第
k
k
k组可能的
n
−
g
r
a
m
n-gram
n−gram,
h
k
(
c
i
)
h_{k}(c_{i})
hk(ci)表示
ω
k
\omega_ {k}
ωk在候选译文
c
i
c_{i}
ci中出现的次数,
h
k
(
s
i
j
)
h_{k}(s_{ij})
hk(sij)表示
ω
k
\omega_ {k}
ωk在参考译文
s
i
j
s_{ij}
sij中出现的次数,
B
L
E
U
BLEU
BLEU则按以下公式计算对应语句中语料库层面上的重合精度:
C
P
n
(
C
,
S
)
=
∑
i
∑
k
m
i
n
(
h
k
(
c
i
)
,
m
a
x
h
k
(
s
i
j
)
j
∈
m
)
∑
i
∑
k
h
k
(
c
i
)
(
1
)
CP_{n}(C,S)=\frac{\sum_{i}\sum_{k}min(h_{k}(c_{i}),max\,h_{k}(s_{ij}) j\in m)}{\sum_{i}\sum_{k}h_{k}(c_{i})}\ \ \ \ \ \ \ \ \ \ (1)
CPn(C,S)=∑i∑khk(ci)∑i∑kmin(hk(ci),maxhk(sij)j∈m) (1)
其中,
k
k
k表示了可能存在的
n
−
g
r
a
m
n-gram
n−gram序号。
m
i
n
(
h
k
(
c
i
)
,
m
a
x
j
∈
m
,
h
k
(
s
i
j
)
)
min(h_{k}(c_{i}),max\ j\in m,h_{k}(s_{ij}))
min(hk(ci),max j∈m,hk(sij))表示截断计数,其计数方式为:将一个n-gram在候选翻译中出现的次数,与在各个参考翻译中出现次数的最大值进行比较,然后再取较小的那一个。l如下示例:
Candidate: the the the the the the the.
Reference 1: The cat is on the mat.
Reference 2: There is a cat on the mat.
假设,我们取
n
=
1
n=1
n=1 ,则一元组"the"在Candidate中出现的次数为7,在Reference 1中出现的次数为2,在Reference 2中出现的次数为1,则
m
i
n
(
h
k
(
c
i
)
,
m
a
x
j
∈
m
,
h
k
(
s
i
j
)
)
=
m
i
n
(
7
,
m
a
x
(
2
,
1
)
)
=
2
min(h_{k}(c_{i}),max\ j\in m,h_{k}(s_{ij}))=min(7,max(2,1))=2
min(hk(ci),max j∈m,hk(sij))=min(7,max(2,1))=2
容易看出
C
P
n
(
C
,
S
)
CP_{n}(C,S)
CPn(C,S)是一个精确度度量,但因为普通的
C
P
n
CP_{n}
CPn值计算并不能评价模型输出结果(即,自然语言语句,比如翻译的结果,或者文档摘要的结果)的完整性,但是这个属性对于评价模型输出结果的质量是不可或缺的,因此研究者们最在最后的
B
L
E
U
N
BLEU_{N}
BLEUN值之前加入BP惩罚因子。
惩罚因子
B
P
(
B
r
e
v
i
t
y
P
e
n
a
l
t
y
)
BP(Brevity\ Penalty)
BP(Brevity Penalty):
B
P
(
C
,
S
)
=
q
(
k
∣
x
)
=
δ
k
,
y
=
{
1
,
l
c
<
l
s
e
1
−
l
s
l
c
,
l
c
>
l
s
BP(C,S)=q(k|x)=\delta_{k,y}=\left\{ \begin{aligned} 1,\ l_{c} < l_{s} \\ e^{1-\frac{l_{s}}{l_{c}}},\ l_{c} > l_{s} \end{aligned} \right.
BP(C,S)=q(k∣x)=δk,y={1, lc<lse1−lcls, lc>ls
其中
l
c
l_{c}
lc表示候选译文
c
i
c_{i}
ci的长度,
l
s
l_{s}
ls表示参考译文
s
i
j
s_{ij}
sij的有效长度(当存在多个参考译文的时候,选取和
l
c
l_{c}
lc最接近的长度。注:有的文献也直接将
l
s
l_{s}
ls表示为参考译文的最短句子长度),可以看出BP惩罚因子被用来调节待评价译文对参考译文的完整性和充分性的。
本质上,
B
L
E
U
BLEU
BLEU是一个
n
−
g
r
a
m
n-gram
n−gram精确度的加权几何平均,最后的结果是待评价译文的统计候选翻译结果中n元组正确匹配次数与其中所有n元组出现次数的比值,按照以下公式计算:
B
L
E
U
N
(
C
,
S
)
=
B
P
(
C
,
S
)
e
x
p
(
∑
n
=
1
N
w
n
l
o
g
(
C
P
n
(
C
,
S
)
)
)
BLEU_{N}(C,S)=BP(C,S)exp{(\sum_{n=1}^{N}w_{n}log(CP_{n}(C,S)))}
BLEUN(C,S)=BP(C,S)exp(n=1∑Nwnlog(CPn(C,S)))
其中,N可以取1、2、3、4,而
w
n
w_{n}
wn(可以看作是权重)一般对所有的
n
n
n取均值:
1
n
\frac{1}{n}
n1。
需要说明的是
B
L
E
U
BLEU
BLEU采用clipping策略,即:在参考译文中被匹配过的n元组应该被剪切掉,而不应该再被匹配。
B
L
E
U
BLEU
BLEU在语料库层级上具有很好匹配的语句上表现很好,随着n的增加,在句子层级上的匹配越来来越差,因此 BLEU在个别语句上可能表现不佳。
总结如下:
主要特点:
- n-gram 共现统计
- 基于准确率
应用场景:
- 机器翻译
- 自动摘要
- 文本生成
缺点:
- 只看重准确率,不看重召回率。
- 存在常用词干扰(可以用截断的方法解决)
- 短句得分较高(即使引入了brevity penalty,也还是不够)
改进:
- 截断:解决常用词干扰的问题
- brevity penalty:改进短句得分较高的问题
METEOR
2004年由Lavir发现在评价指标中召回率的意义后提出了该度量办法:基于召回率的标准相比于那些单纯基于精度的标准(如BLEU),其结果和人工判断的结果有较高的相关性;METEOR 测度基于单精度的加权调和平均数和单字召回率,其目的是解决一些BLEU标准中固有的缺陷;METEOR也包括其他指标没有发现的一些其他功能,比如同义词匹配等,计算METEOR需要预先给定一组校准(alignment)
m
m
m,而这一校准基于WordNet的同义词库,通过最小化对应语句中连续有序的块(chunks)
c
h
ch
ch来得出;则 METEOR计算为对应最佳候选译文和参考译文之间的准确率和召回率的调和平均,即基于F值:
M
E
T
E
O
R
=
(
1
−
P
e
n
)
F
m
e
a
n
METEOR=(1-Pen)F_{mean}
METEOR=(1−Pen)Fmean
其中,
P
e
n
=
γ
(
c
h
m
)
θ
F
m
e
a
n
=
P
m
R
m
α
P
m
+
(
1
−
α
)
R
m
Pen=\gamma\left(\frac{ch}{m}\right)^\theta\\ F_{mean}=\frac{P_mR_m}{\alpha P_m+(1-\alpha)R_m}
Pen=γ(mch)θFmean=αPm+(1−α)RmPmRm
P m = ∣ m ∣ ∑ k h k ( c i ) R m = ∣ m ∣ ∑ k h k ( s i j ) P_m=\frac{|m|}{\sum_kh_k(c_i)}\\ R_m=\frac{|m|}{\sum_kh_k(s_{ij})}\\ Pm=∑khk(ci)∣m∣Rm=∑khk(sij)∣m∣
说明:
α
、
γ
\alpha 、\gamma
α、γ 和
θ
\theta
θ均为用于评价的默认参数。
P
e
n
Pen
Pen为惩罚因子,惩罚的是候选译文中的词序与参考译文中的词序不同。
m
m
m表示候选译文中能够被参考译文中匹配的一元组的数量,
c
h
ch
ch表示chunk的数量,chunk就是既在候选译文中相邻又在参考译文中相邻的被匹配的一元组聚集而成的单位。如下例子
Candidate: the president spoke to the audience.
Reference: the president then spoke to the audience.
在上述例子中,reference中的6个unigram都可以被匹配,但是其在reference中匹配的对象,却只有"the president" 和 "spoke to the audience"这两个字符串是相邻的,而这两个字符串就是两个chunk,即ch=2。
∑ k h k ( c i ) \sum_kh_k(c_i) ∑khk(ci)表示候选译文的长度, ∑ k h k ( s i j ) \sum_kh_k(s_{ij}) ∑khk(sij)表示参考译文的长度。因此,METEOR的最终评价基于块(chunk)的分解匹配和表征分解匹配质量的一个调和平均,并包含一个惩罚系数Pen和BLEU不同,METEOR同时考虑了基于整个语料库上的精确率和召回率,而最终得出测度。
总结如下:
主要特点:
- unigram 共现统计
- 基于F值
- 考虑同义词、词干
应用场景:
- 机器翻译
- 自动摘要
- 文本生成
- 图片描述
缺点:
- 只有java实现
- 参数较多,有四个需要自己设置的参数
- 需要外部知识源,比如:wordNet,如果是wordNet中没有的语言,则无法用METEOR评测。
ROUGE
ROUGE(Recall-Oriented Understudy for Gisting Evaluation),在2004年由ISI的Chin-Yew Lin提出的一种自动摘要评价方法,是评估自动文摘以及机器翻译的一组指标。
ROUGE基于摘要中n元词(n-gram)的共现信息来评价摘要,是一种面向n元词召回率的评价方法。基本思想为由多个专家分别生成人工摘要,构成标准摘要集,将系统生成的自动摘要与人工生成的标准摘要相对比,通过统计二者之间重叠的基本单元(n元语法、词序列和词对)的数目,来评价摘要的质量。 通过与专家人工摘要的对比,提高评价系统的稳定性和健壮性。主要考察翻译的充分性和忠实性,无法评价参考译文的流畅度,其计算的是N元组在参考译文和待测译文的共现概率。 在自动文摘相关研究中,一般根据自己的具体研究内容选择合适的ROUGE方法。
ROUGE包含以下四种:
类别 | 说明 |
---|---|
ROUGE-N | 基于N-gram共现性统计 (N的取值有1,2,3,4) |
ROUGE-L | 基于最长共有子句共现性精确度和召回率 F m e a s u r e F_{measure} Fmeasure统计 |
ROUGE-W | 带权重的最长公有子句共现性精确度和召回率 F m e a s u r e F_{measure} Fmeasure统计 |
ROUGE-S | 不连续二元组共现性精确度和召回率 F m e a s u r e F_{measure} Fmeasure统计 |
ROUGE-SU | 该指标综合考虑uni-grams(n = 1)和bi-grams(n = 2),允许bi-grams的第一个字和第二个字之间插入其他词,因此比ROUGE-L更灵活。 |
以上四种计算方式,最常用的是前两种(在此,也主要介绍这两种方法):
ROUGE-N与BLEU计算方式类似,只是BLEU基于准确率,而ROUGE基于召回率;ROUGE-L中“L”指的是Longest Common Subsequence,计算的是候选摘要与参考摘要的最长公共子序列长度,长度越长,得分越高,基于F值。
说明:Longest Common Subsequence (LCS)的定义:假设存在序列
X
=
[
x
1
,
x
2
,
.
.
.
,
x
m
]
X=[x_{1},x_{2},...,x_{m}]
X=[x1,x2,...,xm]和
Y
=
[
y
1
,
y
2
,
.
.
.
,
y
n
]
Y=[y_{1},y_{2},...,y_{n}]
Y=[y1,y2,...,yn],如果存在严格递增序列
[
i
1
,
i
2
,
.
.
.
,
i
k
]
[i_{1},i_{2},...,i_{k}]
[i1,i2,...,ik]是
X
X
X的索引,对于每个
j
=
1
,
2
,
.
.
.
,
k
j=1,2,...,k
j=1,2,...,k,总有
x
i
j
=
y
j
x_{ij}=y_{j}
xij=yj则Y是X的子序列;序列X与序列Y的最大长度公共子序列成为LCS,用
L
C
S
(
X
,
Y
)
LCS(X,Y)
LCS(X,Y)表示。
ROUGE-N
R
O
U
G
E
−
N
=
∑
S
∈
{
R
e
f
e
r
e
n
c
e
s
u
m
m
a
r
i
e
s
}
∑
g
r
a
m
n
∈
S
C
o
u
n
t
m
a
t
c
h
(
g
r
a
m
n
)
∑
S
∈
{
R
e
f
e
r
e
n
c
e
s
u
m
m
a
r
i
e
s
}
∑
g
r
a
m
n
∈
S
C
o
u
n
t
(
g
r
a
m
n
)
ROUGE-N=\frac{\sum\limits_{S\in \{Reference\ summaries\}}\sum\limits_{gram_{n}\in S}Count_{match}(gram_{n})}{\sum\limits_{S\in \{Reference\ summaries\}}\sum\limits_{gram_{n}\in S}Count(gram_{n})}
ROUGE−N=S∈{Reference summaries}∑gramn∈S∑Count(gramn)S∈{Reference summaries}∑gramn∈S∑Countmatch(gramn)
其中,
n
n
n表示n-gram,
C
o
u
n
t
(
g
r
a
m
n
)
Count(gram_{n})
Count(gramn)表示一个n-gram的出现次数,
C
o
u
n
t
m
a
t
c
h
(
g
r
a
m
n
)
Count_{match}(gram_{n})
Countmatch(gramn)表示一个n-gram的共现次数。
ROUGE-N优点:
直观,简洁,能反映词序。
ROUGE-N缺点
区分度不高,且当N>3时,ROUGE-N值通常很小。
应用场景
ROUGE-1:短摘要评估,多文档摘要(去停用词条件);
ROUGE-2: 单文档摘要,多文档摘要(去停用词条件);
ROUGE-L
R
O
U
G
E
−
L
=
(
1
+
β
2
)
R
l
c
s
P
l
c
s
R
l
c
s
+
β
2
P
l
c
s
R
l
c
s
=
L
C
S
(
X
,
Y
)
m
P
l
c
s
=
L
C
S
(
X
,
Y
)
n
ROUGE-L=\frac{(1+\beta^2)R_{lcs}P_{lcs}}{R_{lcs}+\beta^2P_{lcs}}\\ R_{lcs}=\frac{LCS(X,Y)}{m}\\ P_{lcs}=\frac{LCS(X,Y)}{n}
ROUGE−L=Rlcs+β2Plcs(1+β2)RlcsPlcsRlcs=mLCS(X,Y)Plcs=nLCS(X,Y)
其中,X表示候选摘要,Y表示参考摘要,
L
C
S
(
X
,
Y
)
LCS(X,Y)
LCS(X,Y)表示候选摘要与参考摘要的最长公共子序列的长度,m表示参考摘要的长度,n表示候选摘要的长度。
优点
使用LCS的一个优点是它不需要连续匹配,而且反映了句子级词序的顺序匹配。由于它自动包含最长的顺序通用n-gram,因此您不需要预定义的n-gram长度。
缺点
只计算一个最长子序列,最终的值忽略了其他备选的最长子序列及较短子序列的影响。
应用场景
单文档摘要;短摘要评估。
ROUGE-S
使用了skip-grams,在参考摘要和待评测摘要进行匹配时,不要求gram之间必须是连续的, 可以“跳过”几个单词,比如skip-bigram,在产生grams时,允许最多跳过两个词。 比如“cat in the hat”的 skip-bigrams 就是 “cat in, cat the, cat hat, in the, in hat, the hat”。
优点
考虑了所有按词序排列的词对,比n-gram模型更深入反映句子级词序。
缺点
若不设定最大跳跃词数会出现很多无意义词对。若设定最大跳跃词数,需要指定最大跳跃词数的值。
应用场景
单文档摘要;ROUGE-S4,ROUGE-S9: 多文档摘要(去停用词条件);
总结如下:
主要特点:
- n-gram 共现统计、最长公共子序列
- 基于召回率(ROUGE)和F值(ROUGE-L)
应用场景:
- 机器翻译
- 自动摘要
- 文本生成
缺点:
- ROUGE是基于字的对应而非基于语义的对应,不过可以通过增加参考摘要的数量来缓解这一问题。
改进:
- 通过ROUGE-S 统计基于skip-gram而非n-gram
- 通过ROUGE-W考虑加权的最长公共子序列
论文关于ROUGE指标分析的结论:
我们发现:
1、ROUGE-2、ROUGE-L、ROUGE-W、ROUGE-S在单文档摘要任务中表现良好.
2、ROUGE-1、ROUGE-L、ROUGE-W、ROUGE-SU4和ROUGE-SU9在评价非常短的摘要(或类似标题的摘要)时表现出色.
3、相关高于90%时,很难实现对多文档摘要任务,但ROUGE-1,ROUGE-2,ROUGE-S4,ROUGE-S9,ROUGE-SU4,和ROUGE-SU9效果良好(stopwords排除在匹配时)
4、排除stopwords,通常能够提高相关性
5、①人类的评判通过使用多个引用,增加了其相关性。总之,我们证明了:ROUGE包可以有效地用于摘要的自动评估。
②在另一项研究中(Lin和Och 2004), ROUGE -L、W和S在机器翻译的自动评估中也被证明是非常有效的。
③作者于2004年(Lin)报道了不同测试样本大小下,ROUGE的稳定性和可靠性。
④然而,如何在多文档摘要任务中实现与人类评判的高相关性,仍然是一个有待研究的课题。
参考资料
-浅述自然语言处理机器翻译常用评价度量
本文的一部分信息来自于此
-文本生成评价方法
本文中还含有其他的评价指标,需要的话可以看一下
-自动文摘评测方法