赞
踩
机器翻译评价指标
困惑度
用于衡量一个分布的不确定性,对于离散随机变量 X ∈ X X \in \mathcal{X} X∈X,其概率分布为 p ( x ) p(x) p(x),困惑度为
2
H
(
p
)
=
2
−
∑
x
∈
x
p
(
x
)
log
2
p
(
x
)
2^{H(p)}=2^{-\sum_{x \in x} p(x) \log _{2} p(x)}
2H(p)=2−∑x∈xp(x)log2p(x)
其中
H
(
p
)
H(p)
H(p)为分布
p
p
p的熵
也可用于衡量两个分布之间的差异,对于一个未知的数据分布 p r ( x ) p_r(x) pr(x)和一个模型分布 p θ ( x ) p_{\theta}(x) pθ(x),我们从 p r ( x ) p_r(x) pr(x)中采样出一组测试样本 x ( 1 ) , ⋯ , x ( N ) x^{(1)}, \cdots, x^{(N)} x(1),⋯,x(N),模型分布 p θ ( x ) p_{\theta}(x) pθ(x)的困惑度为
2
H
(
p
r
,
p
θ
)
=
2
−
1
N
∑
n
=
1
N
log
2
p
θ
(
x
(
n
)
)
2^{H\left(p_{r}, p_{\theta}\right)}=2^{-\frac{1}{N} \sum_{n=1}^{N} \log _{2} p_{\theta}\left(x^{(n)}\right)}
2H(pr,pθ)=2−N1∑n=1Nlog2pθ(x(n))
其中
H
(
p
~
r
,
p
θ
)
\boldsymbol{H}\left(\tilde{p}_{r}, p_{\theta}\right)
H(p~r,pθ)为样本的经验分布
p
~
r
\tilde{p}_{r}
p~r与模型分布
p
θ
p_{\theta}
pθ之间的交叉熵
假设测试集合有 N N N个独立同分布的序列 { x 1 : T n ( n ) } n = 1 N \left\{\boldsymbol{x}_{1: T_{n}}^{(n)}\right\}_{n=1}^{N} {x1:Tn(n)}n=1N。我们可以用模型 p θ ( x ) p_{\theta}(x) pθ(x)对每个序列计算其概率 p θ ( x 1 : T n ( n ) ) p_{\theta}\left(x_{1: T_{n}}^{(n)}\right) pθ(x1:Tn(n)),整个测试集的联合概率为
∏ n = 1 N p θ ( x 1 : T n ( n ) ) = ∏ n = 1 N ∏ t = 1 T n p θ ( x t ( n ) ∣ x 1 : ( t − 1 ) ( n ) ) \prod_{n=1}^{N} p_{\theta}\left(\boldsymbol{x}_{1: T_{n}}^{(n)}\right)=\prod_{n=1}^{N} \prod_{t=1}^{T_{n}} p_{\theta}\left(x_{t}^{(n)} \mid \boldsymbol{x}_{1:(t-1)}^{(n)}\right) n=1∏Npθ(x1:Tn(n))=n=1∏Nt=1∏Tnpθ(xt(n)∣x1:(t−1)(n))
PPL
(
θ
)
−
2
−
1
τ
∑
n
=
1
N
log
2
p
θ
(
x
1
:
T
n
(
n
)
)
=
2
−
1
T
∑
n
=
1
N
∑
t
=
1
T
n
log
2
p
θ
(
x
t
(
n
)
∣
x
1
:
(
t
−
1
)
(
n
)
)
=
(
∏
n
=
1
N
∏
t
=
1
T
n
p
θ
(
x
t
(
n
)
∣
x
1
:
(
t
−
1
)
(
n
)
)
)
−
1
/
T
其中
T
=
∑
n
=
1
N
T
n
T=\sum_{n=1}^{N} T_{n}
T=∑n=1NTn为测试数据集中序列的总长度。测试集中所有序列的概率越大,困惑度越小,模型越好
Bilingual Evaluation Understudy
BLEU是一种衡量模型生成序列和参考序列之间的N元词组(N-Gram)重合度的算法
令 x x x为从模型分布 p θ p_{\theta} pθ中生成的一个候选(Candidate)序列, s ( 1 ) , ⋯ , s ( K ) \boldsymbol{s}^{(1)}, \cdots, \boldsymbol{s}^{(K)} s(1),⋯,s(K)为从真实数据分布中采集的一组参考(Reference)序列, W \mathcal{W} W为从生成的候选序列中提取所有N元组合的集合,这些N元组合的精度(Precision)
P
N
(
x
)
=
∑
w
∈
W
min
(
c
w
(
x
)
,
max
k
=
1
K
c
w
(
s
(
k
)
)
)
∑
w
∈
W
c
w
(
x
)
P_{N}(\boldsymbol{x})=\frac{\sum_{w \in \mathcal{W}} \min \left(c_{w}(\boldsymbol{x}), \max _{k=1}^{K} c_{w}\left(\boldsymbol{s}^{(k)}\right)\right)}{\sum_{w \in \mathcal{W}} c_{w}(\boldsymbol{x})}
PN(x)=∑w∈Wcw(x)∑w∈Wmin(cw(x),maxk=1Kcw(s(k)))
其中
c
w
(
x
)
c_w(x)
cw(x)是N元组合
w
w
w在生成序列
x
x
x中出现的次数,
c
w
(
s
(
k
)
)
c_w(s^{(k)})
cw(s(k))是N元组合
w
w
w在参考序列
s
(
k
)
s^{(k)}
s(k)中出现的次数。N元组合的精度
P
N
(
x
)
P_N(x)
PN(x)计算生成序列中的N元组合有多少比例在参考序列中出现
由于精度只衡量生成序列中的N元组合是否在参考序列中出现,生产序列越短,其精度会越高,因此引入长度惩罚因子(Brevity Penalty)。如果生产序列的长度短于参考序列,就对其进行惩罚
b
(
x
)
=
{
1
if
l
x
>
l
s
exp
(
1
−
l
s
/
l
x
)
if
l
x
≤
l
s
b(\boldsymbol{x})=\left\{
其中
l
x
l_x
lx为生成序列
x
x
x的长度,
l
s
l_s
ls为参考序列的最短长度
BLEU是通过计算不同长度的N元组合(N=1,2,3…)的精度,并进行几何加权平均得到
BLEU
−
N
(
x
)
=
b
(
x
)
×
exp
(
∑
N
=
1
N
′
α
N
log
P
N
)
\operatorname{BLEU}-\mathrm{N}(\boldsymbol{x})=b(\boldsymbol{x}) \times \exp \left(\sum_{N=1}^{N^{\prime}} \alpha_{N} \log P_{N}\right)
BLEU−N(x)=b(x)×exp
N=1∑N′αNlogPN
其中,
N
′
N'
N′为最长N元组合的长度,
α
N
{\alpha}_N
αN为不同N元组合的权重,一般设为
1
N
′
\frac{1}{N'}
N′1。BLEU的值域为
[
0
,
1
]
[0,1]
[0,1],越大表明生成的质量越好。但是BLEU算法只计算精度,而不关心召回率。
Recall-Oriented Understudy for Gisting Evaluation
ROUGE和BLEU算法类似,但ROUGE计算的是召回率
令 x x x为从模型分布 p θ p_{\theta} pθ中生成的一个候选序列, s ( 1 ) , ⋯ , s ( K ) \boldsymbol{s}^{(1)}, \cdots, \boldsymbol{s}^{(K)} s(1),⋯,s(K)为从真实数据分布中采样出的一组参考序列, W \mathcal{W} W为从参考序列中提取N元组合的集合,ROUGE-N算法定义为
ROUGE-N
(
x
)
=
∑
k
=
1
K
∑
w
∈
W
min
(
c
w
(
x
)
,
c
w
(
s
(
k
)
)
)
∑
k
=
1
K
∑
w
∈
W
c
w
(
s
(
k
)
)
\operatorname{ROUGE-N}(\boldsymbol{x})=\frac{\sum_{k=1}^{K} \sum_{w \in \mathcal{W}} \min \left(c_{w}(\boldsymbol{x}), c_{w}\left(s^{(k)}\right)\right)}{\sum_{k=1}^{K} \sum_{w \in \mathcal{W}} c_{w}\left(\boldsymbol{s}^{(k)}\right)}
ROUGE-N(x)=∑k=1K∑w∈Wcw(s(k))∑k=1K∑w∈Wmin(cw(x),cw(s(k)))
其中
c
w
(
x
)
c_w(x)
cw(x)是N元组合
w
w
w在生成序列
x
x
x中出现的次数,
c
w
(
s
(
k
)
)
c_w(s^{(k)})
cw(s(k))是N元组合
w
w
w在参考序列
s
(
k
)
s^{(k)}
s(k)中出现的次数
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。