Pegasus

文本摘要的目标是从输入中生成准确、简洁的内容。做摘要时,我们知道有两种方法,一种是抽取式文本摘要,一种是生成式文本摘要。抽取式就是从输入文本中抽取出一些文本片段来组成文本摘要,而生成式则是根据输入文本来生一个一个的 word 组成的摘要。生成式文本摘要任务相比抽取式文本摘要难度要更高,最简单的一点就是得保证生成的内容能够表达输入的文本的主旨,并且语言也要流畅。

Paper:https://arxiv.org/pdf/1912.08777.pdf

用于解决生成式文本摘要的神经网络主要是再大量、高质量的数据集上进行有监督训练,在技术架构上,主要是基于 RNN 或者 Transformers 的 Seq2Seq 架构。

近年来,我们看到很多将 Transformer 在海量语料上进行无监督学习,并且模型在很多的重要 NLP 任务上表现很优秀。作者就想,能不能也将 Transformer 通过在海量语料上进行无监督学习,从而能够在文本摘要任务也表现得很优秀。

我们在学习 Transformer 的进行无监督学习时,发现一点,模型必须要先设计一系列的预训练任务,从而才能实现模型在语料上的无监督学习,并且该任务要更加贴合下游任务,这样经过无监督训练的模型在下游任务才能有优秀的表现。

论文中提出了 Gap Sentences Generation (GSG) 训练任务,GSG 就是从输入文本中生成伪摘要。简单来说,就是输入文档,将文档中部分的 sentence 进行掩码,这些被 mask 的 sentence 组成了伪摘要,由模型的解码器不分来生成。

我们可以结合上图来大概理解下 GSG,注意上图中是加入了 MLM + GSG 两个训练目标。论文中通过实现发现 MLM 的加入对于下游任务的表现没有啥帮助,所以我们也忽略它。将输入中的一个 sentence 掩码,上图中就是将 it it pure white 进行掩码,由编码器对掩码的上下文进行语义理解。再由解码器来还原被掩码的这部分内容。

这里需要了解的一个细节是,GSG 任务如何选择将那些 sentence 进行掩码,从而去组合伪摘要?论文中考虑到了 3 种策略:

  1. Random:随机从输入的 n 个 sentence 中选择 m 个 sentence;
  2. Lead:选择输入的前 m 个 sentence;
  3. Principal:根据重要性来选择 sentence,计算方法使用的 RougeN。

重要性的计算需要两个步骤,第一个是选择句子(一次选一个,还是一次选多个):

  1. 如果一次选择一个句子,则计算该句子和剩余内容的分数,选择分数最高的 m 个 sentence 进行掩码,这种方法论文中叫做 Ind(independently)
  2. 如果一次选择一组多个句子,则计算该组句子和剩余内容的分数,选择分数最高的一组 sentence 进行掩码,这种方法论文中叫做 Seq(sequentially)

选择完句子之后,就是如何计算 Rouge-N,论文中提到两个方法:

  1. Orig:正常计算两个文本的 Rouge n-gram 分数;
  2. Uniq:对文本进行去重之后,再计算 Rouge n-gram 分数。

将选择句子的方式和计算 Rouge 的方式进行组合就会得到 4 种选择句子的进行掩码策略:

  1. Ind + Orig
  2. Ind + Uniq
  3. Seq + Orig
  4. Seq + Uniq

加上前面提到的两种策略,一共有 6 种策略,至于那个效果更好一些,论文中也做了实验,如下图所示:

实验是在 Xsum、CNN/DailyMail、WikiHow、Reddit TIFU 数据集上进行。GSR(gap sentences ratio)为 0.3,表示 gap sentence 的比例。从图中可以看到 Ind + Orig 的策略效果最好,其次是 Seq + Uniq。

提到 GSR,论文也在 Ind + Orig 策略下,实验几种不同的 ratio,如下图所示:

从图上来看的话,0.3 的 ratio 看起来效果不错。

文章内容来自 Paper 《PEGASUS: Pre-training with Extracted Gap-sentences for Abstractive Summarization》,理解不正确的地方,欢迎指正。

未经允许不得转载:一亩三分地 » Pegasus
评论 (0)

5 + 9 =