PEGASUS: Pre-training with Extracted Gap-sentences for Abstractive Summarization
摘要
当前的文本摘要都是在transformers预训练基础上,对文本摘要的下游任务进行微调,没有针对生成式文本摘要的预训练方法。
介绍
在这项工作中,作者专门针对生成式文本摘要研究预训练方法,并对12个下游数据集(包括新闻,科学,短故事,说明,电子邮件,专利和立法法案)进行评估。
作者发现屏蔽文档中的整个句子并从文档的其余部分生成这些空缺句子作为下游摘要任务的预训练目标效果更好。特别是,选择认为重要的句子要胜过首句或随机选择的句子。
我们假设此目标适合生成式摘要,因为它非常类似于下游任务,从而鼓励了对整个文档的理解和类似摘要的生成。我们称此为自监督的目标为Gap Sentences Generation (GSG)。使用GSG在大型文档(Web和新闻文章)上对Transformer编码器/解码器进行预训练即为我们提出的预训练方法,即PEGASUS。
大规模的文档摘要数据集很少见,最常见的情况是低资源文本摘要。我们模拟了此情况,并表明我们的模型在对少量有监督数据集进行微调时能够非常快速地适应,从而在仅1000个样例的6个数据集中获得了最好的结果。
我们的贡献总结如下:
- 提出了一个新的自监督预训练目标,用于生成式摘要,间隔句子生成以及选择如何这些句子的策略。
- 用多个领域的摘要任务数据集对 GSG 进行广泛评测,并仔细地选择最佳的模型设置,训练一个参数量仅为 568M 的 PEGASUS 模型。该模型在全部的 12 个下游数据集上能够超过或与当前最先进水平持平。
- 对于低资源任务数据集,通过微调 PEGASUS 模型,可以在广泛的领域实现良好的抽象摘要效果。在多个任务上,仅需 1000 个样本就超过了以前的最先进的结果。
- 对模型结果进行人工评估,结果表明在 XSum, CNN/DailyMail 和 Reddit TIFU 上的摘要效果与人工摘要比肩。
预训练目标
提出了一个新的预训练目标GSG,但是为了比较,我们还评估了单独的BERT掩码语言模型和与GSG结合的BERT。
1.Gap Sentences Generation (GSG)
作者认为使用类似于下游任务的预训练目标能导致更好和更快的微调性能。
考虑到我们打算用于生成式摘要,所以提出的预训练目标涉及从输入文档中生成类似摘要的文本。
为了利用大量的文本语料库进行预训练,我们设计了在缺少摘要的情况下的序列到序列自监督的目标。
GSG的预训练任务:在文档中选择一部分句子,把整个句子[MASK1]。这些句子作为伪摘要。把原文(作为伪摘要的句子被MASK1)——伪摘要 这样的数据对,放入模型进行训练(预测被MASK1的句子)。
选择句子的方式有三种:
- 随机选择m个
- 选择开头的m个
- 选择最重要的m个句子。(效果最好)
重要性的标准是计算句子和文档其余部分之间的ROUGE1-F1。
根据重要性取句子的方式又从以下两方面考虑:
取句子方式 | 计算ROUGE方式 |
---|---|
Ind | Uniq |
Seq | Orig |
Independent(Ind): 在比对rouge时,每次都取1句句子和剩余句子进行比对得到分数,最终获得每个句子的得分,取得分最高的几句。
Sequence(Seq): 若本次要从4句话中取最重要的2句句子,则取(12、13、14、23、24、34)句,和剩余句子进行比对得到分数,最后取得分最高的一组(如12句)
Unique(Uniq): 在计算rouge1分数中n-gram数量时,将所有n-gram视为一个无重复的set,如“我爱哈哈哈哈”中n-gram数量就只有3
Origin(Orig): 原始的计算n-gram数量的方式,“我爱哈哈哈哈”中n-gram数量为6
2.Masked Language Model (MLM)
和BERT一样,选择15%的token,其中
- 80%被[MASK2]
- 10%随机替换
- 10%不变
我们发现,MLM不能在大量的预训练步骤中改善下流任务,所以在PEGASUS(LARGE)模型中去掉了MLM任务。
PEGASUS是一个标准的Transformer,既有encoder也有decoder。预训练目标包括GSG和MLM。原始的3个句子,其中一个句子整句被[MASK1]遮蔽,即作为目标生成文本;另外两个句子用[MASK2]随机遮蔽部分token后作为输入。
可借鉴
Pegasus在小规模的数据集上,有非常非常强的表现,只需少量数据微调就有很好的效果。(因为预训练任务和下游任务类似)
伪摘要的生成,对摘要任务的数据集来说是一种参考。
句子重要性的评价标准——计算句子和文档其余部分之间的ROUGE1-F1
ROUGE: A Package for Automatic Evaluation of Summaries
参考文章
ROUGE是2004年 由 ISI 的Chin-Yew Lin 提出的一种自动摘要评价方法。基本思想为由多个专家分别生成人工摘要,构成标准摘要集,将系统生成的自动摘要与人工生成的标准摘要相对比,通过统计二者之间重叠的基本单元(n元语法、词序列和词对)的数目,来评价摘要的质量。
ROUGE 准则由一系列的评价方法组成,包括 ROUGE-N(N=1、2、3、4,分别代表基于1元词到4元词的模型) , ROUGE-L,ROUGE-S, ROUGE-W, ROUGE-SU 等。在自动文摘相关研究中,一般根据自己的具体研究内容选择合适的 ROUGE 方法。
ROUGE-N
n表示n-gram的长度, R e f e r e n c e S u m m a r i e s {Reference Summaries} ReferenceSummaries表示参考摘要,即事先获得的标准摘要, C o u n t m a t c h ( g r a m n ) Count_{match}(gram_{n}) Countmatch(gramn)表示候选摘要和参考摘要中同时出现n-gram的个数, C o u n t g r a m n Count_{gram_{n}} Countgramn则表示参考摘要中出现的n-gram个数。
ROUGE公式是由召回率的计算公式演变而来的,分子可以看作“检出的相关文档数目”,即系统生成摘要与标准摘要相匹配的N-gram个数,分母可以看作“相关文档数目”,即标准摘要中所有的N-gram个数。
本文N=1。现举例说明:
R1 : police killed the gunman.
R2 : the gunman was shot down by police.
C1 : police ended the gunman.
C2 :the gunman murdered police.
R1,R2 为参考摘要,C1,C2 为候选摘要。
ROUGE-1(C1)=(3+3)/(4+7)=6/11
ROUGE-1(C2)=(3+3)/(4+7)=6/11
ROUGE-2(C1)=(1+1)/(3+6)=2/9
ROUGE-2(C2)=(1+1)/(3+6)=2/9
值得注意的是 C1与C2的ROUGE-1、ROUGE-2分数相等,但是意思完全不相同!
优点:直观,简洁,能反映词序。
缺点:区分度不高,且当N>3时,ROUGE-N值通常很小。
应用场景:
ROUGE-1:短摘要评估,多文档摘要(去停用词条件);
ROUGE-2: 单文档摘要,多文档摘要(去停用词条件);
F1分数
先看这样一个例子:
假设一个班级有100个学生,其中男生70人,女生30人。又假设,我们不知道这些学生的性别,只知道他们的身高和体重。我们有一个程序(分类器),这个程序可以通过分析每个学生的身高和体重,对这100个学生的性别分别进行预测。最后的预测结果为,60人为男生,40人为女生,(我们假设男生为正例,女生为负例)。
TP:(实际为正例,预测也为正例) 实际为男生,预测为男生;
FP:(实际为负例,预测为正例) 实际为女生,预测为男生;
TN:(实际为负例,预测也为负例) 实际为女生,预测为女生;
FN:(实际为正例,预测为负例) 实际为男生,预测为女生;
准确率(Accuracy) = (TP + TN) / 总样本 =(40 + 10)/100 = 50%。 定义是: 对于给定的测试数据集,分类器正确分类的样本数与总样本数之比。
精确率(Precision) = TP / (TP + FP) = 40/60 = 66.67%。它表示:预测为正的样本中有多少是真正的正样本,它是针对我们预测结果而言的。Precision又称为查准率。
召回率(Recall) = TP / (TP + FN) = 40/70 = 57.14% 。它表示:样本中的正例有多少被预测正确了, 它是针对我们原来的样本而言的。Recall又称为查全率。
总结:准确率就是找得对,召回率就是找得全
作为预测者,我们当然是希望,Precision和Recall都保持一个较高的水准,但事实上这两者在某些情况下有矛盾的。比如极端情况下,我们只搜索出了一个结果,且是正确的,那么Precision就是100%,但是Recall就很低;而如果我们把所有结果都返回,那么比如Recall是100%,但是Precision就会很低。因此在不同的场合中需要自己判断希望Precision比较高或是Recall比较高,此时我们可以引出另一个评价指标—F1-Score(F-Measure)。
F1分数(F1 Score),是统计学中用来衡量二分类模型精确度的一种指标。它同时兼顾了分类模型的精确率和召回率。它被定义为精确率和召回率的调和平均数。
综合上述知识,在本文中使用的ROUGE1-F1分数越高,即:兼顾找的全、找的对的情况下,在整个文档所有句子中检索现在选择的句子的相关句子越多。(现在选择的句子跟整个文档更相关,因为跟整个文档每个句子中的词重复的多)
Rouge1-Recall:(文本1和文本2共有的1-gram数量)/(文本1的1-gram数量)
Rouge1-Precision:(文本1和文本2共有的1-gram数量)/(文本2的1-gram数量)
Rouge1-F1:2 * (Recall * Precision) / (Recall + Precision)