Seq2Seq序列问题评估指标总结: Edmundson、Rouge、BLEU

本文总结了Seq2Seq序列问题的评估指标,包括Edmundson的句子重合率,ROUGE的Rouge-1、Rouge-2、Rouge-N、Rouge-L、Rouge-W和Rouge-S,以及BLEU的原始版本和n-gram改良版本,并讨论了短译句的惩罚因子。这些指标广泛应用于自动文摘、机器翻译等领域。
摘要由CSDN通过智能技术生成

Seq2Seq序列问题评估指标总结: Edmundson、Rouge、BLEU

序列到序列建模是解决NLP中较难任务的核心,它包括:1、 自动文摘(Text Summarization);2、 文本简化(Text simplification);3、 问答(Question answering);4、 聊天机器人(Chatbots);5、 机器翻译(Machine translation)。本文对序列问题常用评估方法进行总结。

Edmundson

通过比较机械文摘(自动文摘系统得到的文摘)与目标文摘的句子重合率(coselection rate)的高低来对系统摘要进行评价。

也可以主观评估,就是由专家比较机械文摘与目标文摘所含的信息,然后给机械文摘一个等级评分。等级可以分为:完全不相似,基本相似,很相似,完全相似等。

每一个机械文摘的重合率为按三个专家给出的文摘得到的重合率的平均值:

平 均 重 合 率 = ∑ i = 1 n 匹 配 句 子 数 / 专 家 文 摘 句 子 数 × 100 % 平均重合率=\sum_{i=1}^{n} 匹配句子数/专家文摘句子数×100% i=1n×100

Edmundson比较的基本单位是句子,是通过句子级标号分隔开的文本单元,句子级标号包括“。”、“:”、“;”、“!”、“?”等。为使专家文摘与机械文摘具有可比性,只允许专家从原文中抽取句子,而不允许专家根据自己对原文的理解重新生成句子,专家文摘和机械文摘的句子都按照在原文中出现的先后顺序给出。

ROUGE

Rouge (recall-oriented understand for gisting evalution)

Rouge-1, Rouge-2, Rouge-N

Rouge-N定义如下,其中n=1,2,3,4....n, Ref Summaries 表示参考结果

R o u g e N = ∑ S ∈ { R e f 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 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=\cfrac {\sum_{S \in \{ Ref Summaries \} } \sum_{gram_n \in S} Count_{match}(gram_n)} {\sum_{S \in \{ Ref Summaries \} } \sum_{gram_n \in S} Count(gram_n)} RougeN=S{ RefSummaries}gramnSCount(gramn)S{ RefSummaries}gramnSCountmatch(gramn)

再解释Rouge N之前需要先了解其中gram的意义。gram来自n-gram,那么n-gram是什么?

详细的例子可以查看其他博客,在这里简单的举几个例子方便读者理解:

  • 生成项(pred):
四川 九寨沟 7.0 级 地震
  • 参考项(gold):
九寨沟 发生 7.0 级 地震
id pred 1-gram gold 1-gram pred 2-gram gold 2-gram
1 四川 九寨沟 四川 九寨沟 九寨沟 发生
2 九寨沟 发生 九寨沟 7.0 发生 7.0
3 7.0 7.0 7.0 级 7.0 级
4 级 地震 级 地震
5 地震 地震
Count 5 5 4 4

回到Rouge-N的公式,(pred, gold)的Rouge-1如何计算呢?分子中统计的是pred和gold的1-gram结果match的数量,如表中所示可以发现有4项匹配,因此分子是4。分母则是参考项(gold)的1-gram结果数量也就是5,因此最终的结果是:(Rouge-N都可以参考这个思路计算)

R o u g e 1 ( p r e d , g o l d ) = 4 5 = 0.8 Rouge1(pred, gold)= \cfrac {4} {5} = 0.8 Rouge1(pred,gold)=54=0.8

Rouge-L

其中的L表示的是LCS 最长公共子序列的首字母。定义如下所示:

R l c s = L C S ( X , Y ) m R_{lcs}= \cfrac {LCS(X,Y)} {m} Rlcs=mLCS(X,Y)

P l c s = L C S ( X , Y ) n P_{lcs}= \cfrac {LCS(X,Y)} {n} Plcs=nLCS(X,Y)

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}= \cfrac {(1+\beta ^ 2) R_{lcs} P_{lcs}} {R_{lcs} + \beta ^ 2 P_{lcs}} Flcs=Rlcs+β2Plcs(1+β2)RlcsPlcs

其中 L C S ( X , Y ) LCS(X, Y) LCS(X,Y)是X和Y的最长公共子序列的长度,m、n分别表示参考项和生成项的长度(一般就是所含词的个数)。 R l c s R_{lcs} Rlcs P l c s P_{lcs} Plcs分别表示召回率和准确率。最后的 F l c s F_{lcs} Flcs即是我们所说的Rouge-L。在DUC测评中,beta 被设置为一个很大的数(->∞),于是Rouge-L与上文的召回率对应。

依旧以九寨沟地震为例:

  • 生成项(pred):
四川 九寨沟 7.0 级 地震
  • 参考项(gold):
九寨沟 发生 7.0 级 地震

最长公共子序列为 九寨沟 7.0 级 地震,因此得到:

R o u g e L = R l c s = 4 5 = 0.8 RougeL=R_{lcs}= \cfrac {4} {5} = 0.8 Roug

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值