其他分享
首页 > 其他分享> > 基于Seq2Seq的文本生成

基于Seq2Seq的文本生成

作者:互联网

文章目录

1. seq2seq 框架

序列到序列模型是一种框架结构,它接受一个序列(单词、字母、图像特征等)并输出另一个序列,由编码和解码两部分构成。

如在机器翻译任务中,一个序列指的是一系列的词,一个接一个地被处理。同样,输出的也是一系列单词。

2. seq2seq任务类型

在这里插入图片描述

4. 文本生成任务的评价方法

参考资料:https://baijiahao.baidu.com/s?id=1655137746278637231&wfr=spider&for=pc

4.1 BLEU

BLEU (Bilingual Evaluation Understudy)

在这里插入图片描述

假设机器翻译的译文C和一个参考翻译S1如下:

C: a cat is on the table

S1: there is a cat on the table

则可以计算出 1-gram,2-gram,… 的准确率:

在这里插入图片描述

直接这样子计算 Precision 会存在一些问题,例如:

C: there there there there there

S1: there is a cat on the table

这时候机器翻译的结果明显是不正确的,但是其 1-gram 的 Precision 为1,因此 BLEU 一般会使用修正的方法。给定参考译文 S 1 , S 2 , . . . , S m S_1,S_2, ...,S_m S1​,S2​,...,Sm​,可以计算 C C C里面 n 元组的 Precision,计算公式如下:

在这里插入图片描述

4.2 ROUGE

ROUGE (Recall-Oriented Understudy for Gisting Evaluation)专注于召回率(关注有多少个参考译句中的 n- gram出现在了输出之中)而非精度(候选译文中的n-gram有没有在参考译文中出现过)。

在这里插入图片描述

4.2.1 ROUGE-N (将BLEU的精确率优化为召回率)

在这里插入图片描述

公式的分母是统计在参考译文中 N-gram 的个数,而分子是统计参考译文与机器译文共有的 N-gram 个数。

C: a cat is on the table

S1: there is a cat on the table

上面例子的 ROUGE-1 和 ROUGE-2 分数如下:
在这里插入图片描述

如果给定多个参考译文 S i S_i Si​,Chin-Yew Lin 论文也给出了一种计算方法,假设有 M 个译文 S 1 , S 2 , . . . , S m S_1,S_2, ...,S_m S1​,S2​,...,Sm​。ROUGE-N 会分别计算机器译文和这些参考译文的 ROUGE-N 分数,并取其最大值,公式如下。这个方法也可以用于 ROUGE-L,ROUGE-W 和 ROUGE-S。

在这里插入图片描述

4.2.2 ROUGE-L (将BLEU的n-gram优化为公共子序列)

ROUGE-L 中的 L 指最长公共子序列 (longest common subsequence, LCS),ROUGE-L 计算的时候使用了机器译文C和参考译文S的最长公共子序列,计算公式如下:

在这里插入图片描述

在这里插入图片描述

4.2.3 ROUGE-W (ROUGE-W 是 ROUGE-L 的改进版)

ROUGE-L在计算最长公共子序列时,对于子序列的连续性没有限制,即两个词汇之间可以有任意长度的代沟,但是这不一定是不合理的。考虑下面的例子, X X X表示参考译文,而 Y 1 Y_1 Y1​, Y 2 Y_2 Y2​¥表示两种机器译文。

在这里插入图片描述

在这个例子中,明显 Y 1 Y_1 Y1​的翻译质量更高,因为 Y 1 Y_1 Y1​ 有更多连续匹配的翻译。但是采用 ROUGE-L 计算得到的分数确实一样的,即 R O U G E − L ( X , Y 1 ) = R O U G E − L ( X , Y 2 ) ROUGE-L(X,Y_1)=ROUGE-L(X, Y_2) ROUGE−L(X,Y1​)=ROUGE−L(X,Y2​)。

因此作者提出了一种加权最长公共子序列方法 (WLCS),给连续翻译正确的更高的分数。所以ROUGE-W在ROUGE-L的基础上对连续性添加一个权重。

4.2.4 ROUGE-S (Skip-Bigram Co-Occurrence Statistics)

ROUGE-S 也是对 N-gram 进行统计,但是其采用的 N-gram 允许"跳词 (Skip)",即单词不需要连续出现。skip-bigram是一句话中任意两个有序的词,它们之间可以间隔任意长,基于skip-bigram的ROUGE-S计算如下:

  1. ROUGE-S先对生成文本和参考文本中的2-gram进行组合,此时的2-gram不一定是连续的,可以是有间隔的,称为Skip-Bigram;
  2. 然后计算生成文本中出现在参考文本的Skip-Bigram在参考文本所有Skip-Bigram的比重(即 R s k i p 2 R_{skip2} Rskip2​);
  3. 计算参考文本中出现在生成文本的Skip-Bigram在生成文本所有Skip-Bigram的比重(即 P s k i p 2 P_{skip2} Pskip2​);
  4. 选择 β \beta β计算ROUGE-S。

在这里插入图片描述

例如句子 “I have a cat” 的 Skip-bigram 包括 (I, have),(I, a),(I, cat),(have, a),(have, cat),(a, cat)。

其中 C C C是组合函数,相比与ROUGE-L来说,ROUGE-S能捕捉所有有序的两个词,为了避免匹配一些相隔过长而无意义的词比如"the the",可以设置最长间隔,此时相应的分母也要按照这个最长距离来计算。

4.3 METEOR

在这里插入图片描述

5. 参考

《ROUGE: A Package for Automatic Evaluation of Summaries》

《Meteor: An Automatic Metric for MT Evaluation with High Levels of Correlation with Human Judgments》

机器翻译与自动文摘评价指标 BLEU 和 ROUGE

在NLP当中,不同的评价指标,BLEU, METEOR, ROUGE和CIDEr的逻辑意义?

BLEU,ROUGE,METEOR,ROUGE-浅述自然语言处理机器翻译常用评价度量

文本生成13:万字长文梳理文本生成评价指标

文本生成任务常见评估指标

标签:BLEU,参考,Seq2Seq,生成,gram,译文,ROUGE,文本
来源: https://blog.csdn.net/u012744245/article/details/112371565