赞
踩
Perplexity(困惑度)是衡量语言模型预测能力的指标。它是给定一个测试集后,模型为了预测该测试集上的下一个词,所需要的平均困惑度。困惑度越低,模型的预测效果越好。
公式: P e r p l e x i t y = 2 − 1 N ∑ i = 1 N l o g 2 P ( w i ∣ w 1 , w 2 , . . . , w i − 1 ) Perplexity = 2^{-\frac{1}{N}\sum_{i=1}^{N}log_2P(w_i|w_1,w_2,...,w_{i-1})} Perplexity=2−N1∑i=1Nlog2P(wi∣w1,w2,...,wi−1)
其中, N N N为测试集中的词数, P ( w i ∣ w 1 , w 2 , . . . , w i − 1 ) P(w_i|w_1,w_2,...,w_{i-1}) P(wi∣w1,w2,...,wi−1)是给定前 i − 1 i-1 i−1个词的条件下预测第 i i i个词的概率。
举例:假设测试集中有100个词,我们的语言模型在预测这些词时,平均每个词的困惑度为10。则该模型的Perplexity为 2 − 1 100 ∑ i = 1 100 l o g 2 P ( w i ∣ w 1 , w 2 , . . . , w i − 1 ) = 2 10 = 1024 2^{-\frac{1}{100}\sum_{i=1}^{100}log_2P(w_i|w_1,w_2,...,w_{i-1})} = 2^{10} = 1024 2−1001∑i=1100log2P(wi∣w1,w2,...,wi−1)=210=1024。
BLEU(双语评估下的语言理解度)是用于自然语言生成任务的评估指标。它通过计算生成的句子与参考答案之间的n-gram重叠度来衡量生成结果的质量。BLEU的值越高,表示生成结果越接近参考答案。
公式: B L E U = B P ⋅ e x p ( ∑ n = 1 N w n l o g p n ) BLEU = BP \cdot exp(\sum_{n=1}^Nw_nlogp_n) BLEU=BP⋅exp(∑n=1Nwnlogpn)
其中, B P BP BP是长度惩罚项,用于惩罚过长或过短的句子。 w n w_n wn是n-gram的权重, p n p_n pn是生成句子与参考答案中n-gram的匹配度。
举例:假设生成的句子为"the cat is on the mat",参考答案为"there is a cat on the mat"。假设n-gram权重为 ( 0.25 , 0.25 , 0.25 , 0.25 ) (0.25,0.25,0.25,0.25) (0.25,0.25,0.25,0.25),则BLEU为 e x p ( 0.25 l o g 0.5 + 0.25 l o g ( 1 4 ) + 0.25 l o g ( 1 4 ) + 0.25 l o g ( 1 4 ) ) = 0.386 exp(0.25log0.5 + 0.25log(\frac{1}{4}) + 0.25log(\frac{1}{4}) + 0.25log(\frac{1}{4})) = 0.386 exp(0.25log0.5+0.25log(41)+0.25log(41)+0.25log(41))=0.386。
ROUGE(Recall-Oriented Understudy for Gisting Evaluation)是用于自然语言生成任务的评估指标。它通过计算生成的句子与参考答案之间的n-gram重叠度来衡量生成结果的质量。ROUGE与BLEU的计算方法类似,但是ROUGE更注重召回率,因此它更适合于评估生成的文本质量。
公式: R O U G E n = ∑ r ∈ R ∑ g ∈ G l c s n ( r , g ) ∑ r ∈ R ∑ g ∈ G ( ∣ r ∣ + 1 − n ) ⋅ [ l c s n ( r , g ) > 0 ] ROUGE_n = \frac{\sum_{r \in R}\sum_{g \in G}lcs_n(r,g)}{\sum_{r \in R}\sum_{g \in G}(|r|+1-n) \cdot [lcs_n(r,g) > 0]} ROUGEn=∑r∈R∑g∈G(∣r∣+1−n)⋅[lcsn(r,g)>0]∑r∈R∑g∈Glcsn(r,g)
其中, R R R为参考答案的集合, G G G为生成结果的集合, l c s n ( r , g ) lcs_n(r,g) lcsn(r,g)为参考答案和生成结果中n-gram的最长公共子序列的长度。
举例:假设参考答案为"the cat is on the mat",生成结果为"there is a cat sleeping on the mat",并且 n = 2 n=2 n=2。则lcs为"the cat on the mat",长度为5。参考答案和生成结果中所有长度大于等于2的n-gram共有8个,因此ROUGE2为 5 8 = 0.625 \frac{5}{8}=0.625 85=0.625。
METEOR(Metric for Evaluation of Translation with Explicit ORdering)是用于自然语言生成任务的评估指标。它通过计算生成的句子与参考答案之间的词汇、语法和语义等多个方面的相似度来衡量生成结果的质量。
公式: M E T E O R = α ⋅ p r e c + ( 1 − α ) ⋅ r e c a l l β ⋅ p r e c + ( 1 − β ) ⋅ r e c a l l METEOR = \frac{\alpha \cdot prec + (1-\alpha) \cdot recall}{\beta \cdot prec + (1-\beta) \cdot recall} METEOR=β⋅prec+(1−β)⋅recallα⋅prec+(1−α)⋅recall
其中, p r e c prec prec和 r e c a l l recall recall分别为精确率和召回率, α \alpha α和 β \beta β为权重。
举例:假设参考答案为"the cat is on the mat",生成结果为"there is a cat sleeping on the mat",并且 α = 0.5 \alpha=0.5 α=0.5, β = 3 \beta=3 β=3。则精确率为 3 6 = 0.5 \frac{3}{6}=0.5 63=0.5,召回率为 3 4 = 0.75 \frac{3}{4}=0.75 43=0.75,METEOR为 0.5 ⋅ 0.5 + 0.5 ⋅ 0.75 3 ⋅ 0.5 + 0.75 = 0.39 \frac{0.5 \cdot 0.5 + 0.5 \cdot 0.75}{3 \cdot 0.5 + 0.75} = 0.39 3⋅0.5+0.750.5⋅0.5+0.5⋅0.75=0.39。
CIDEr(Consensus-based Image Description Evaluation)是用于图像描述任务的评估指标。它通过计算生成的句子与参考答案之间的n-gram相似度来衡量生成结果的质量。
公式: C I D E r = 1 M ∑ i = 1 M 1 ∣ D i ∣ ∑ j = 1 ∣ D i ∣ ∑ n = 1 N m i n ( c ( w n , d i j ) , k ) ∣ w n ∣ CIDEr = \frac{1}{M} \sum_{i=1}^M \frac{1}{|D_i|} \sum_{j=1}^{|D_i|} \sum_{n=1}^N\frac{min(c(w_n,d_{ij}),k)}{|w_n|} CIDEr=M1∑i=1M∣Di∣1∑j=1∣Di∣∑n=1N∣wn∣min(c(wn,dij),k)
其中, M M M为测试集中的图像数, D i D_i Di为第 i i i个图像的参考答案集合, d i j d_{ij} dij为第 i i i个图像的第 j j j个参考答案, c ( w n , d i j ) c(w_n,d_{ij}) c(wn,dij)为第 i i i个图像的第 j j j个参考答案和生成结果中n-gram的数量, k k k为截断因子。
举例:假设有一张图像和两个参考答案:“the cat is on the mat"和"the cat is sleeping on the mat”,生成结果为"there is a cat sleeping on the mat",并且 n = 2 n=2 n=2, k = 6 k=6 k=6。则共有5个2-gram,其中2个在第一个参考答案中出现,2个在第二个参考答案中出现,1个在生成结果中出现。因此, c ( w n , d i j ) c(w_n,d_{ij}) c(wn,dij)的值为 ( 2 , 2 , 0 ) (2,2,0) (2,2,0)。由于 k = 6 k=6 k=6,因此 m i n ( c ( w n , d i j ) , k ) min(c(w_n,d_{ij}),k) min(c(wn,dij),k)的值为 ( 2 , 2 , 0 ) (2,2,0) (2,2,0)。假设生成结果中共有8个词汇,因此 ∣ w n ∣ |w_n| ∣wn∣的值为 7 7 7。则CIDEr为 1 1 ⋅ 1 2 ⋅ ( 2 7 + 2 7 + 0 7 ) = 0.286 \frac{1}{1} \cdot \frac{1}{2} \cdot (\frac{2}{7} + \frac{2}{7} + \frac{0}{7}) = 0.286 11⋅21⋅(72+72+70)=0.286。
MoverScore是用于评估生成的文本和参考答案之间语义距离的评估指标。它将文本看做是由一组语义单元组成的序列,并计算生成结果中需要重新排序的最小单元数。
公式: M o v e r S c o r e = 1 N ∑ i = 1 N min j = 1 M d ( s i , t j ) MoverScore = \frac{1}{N}\sum_{i=1}^N \min_{j=1}^M d(s_i, t_j) MoverScore=N1∑i=1Nminj=1Md(si,tj)
其中, N N N为生成结果中语义单元的数量, M M M为参考答案中语义单元的数量, d ( s i , t j ) d(s_i, t_j) d(si,tj)为从生成结果中的语义单元 s i s_i si到参考答案中的语义单元 t j t_j tj的最小编辑距离。
举例:假设参考答案为"the cat is on the mat",生成结果为"there is a cat sleeping on the mat",并且参考答案和生成结果中均存在3个语义单元,即"the cat", “is on”, “the mat”。假设将"there is a cat"看做一个语义单元,则生成结果中共有3个语义单元。参考答案中仅有1个语义单元与生成结果中的语义单元匹配,即"the cat"。因此,MoverScore为 1 3 ⋅ min ( d ( " t h e c a t " , " t h e c a t " ) , d ( " i s o n t h e m a t " , " t h e c a t " ) , d ( " i s o n t h e m a t " , " t h e m a t " ) ) = 1 3 ⋅ 1 = 0.333 \frac{1}{3} \cdot \min(d("the cat", "the cat"), d("is on the mat", "the cat"), d("is on the mat", "the mat")) = \frac{1}{3} \cdot 1 = 0.333 31⋅min(d("thecat","thecat"),d("isonthemat","thecat"),d("isonthemat","themat"))=31⋅1=0.333。
总结:以上五种指标都有其优缺点,应该根据具体任务和应用场景选择合适的指标进行评估。同时,不同指标之间也存在一定的相关性,可以通过综合多个指标来评估生成结果的质量。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。