选自arXiv
作者:Sandeep Subramanian等
机器之心编译
参与:Panda
论文是一件「痛并快乐着」的事情。快乐的是可以将自己的研究公之于众,痛苦的是有大段大段的文本内容需要完成。特别是摘要、引言、结论,需要不断重复说明论文的主要研究、观点和贡献。现在,这样的工作可以依赖 AI 完成了。Element AI 的研究者们提出了一种新的模型,使用 Transformer 架构,自动地生成论文的摘要。AI 攒论文的进程又往前走了一步。
AI攒论文指日可待?Transformer生成论文摘要方法已出机器之心Pro2019-09-16 15:09机器之心Pro2019-09-16 15:09
在开始正文前,请读者们先读下面一段摘要:
AI攒论文指日可待?Transformer生成论文摘要方法已出机器之心Pro2019-09-16 15:09机器之心Pro2019-09-16 15:09
译文:「我们提出了一种通过神经摘要为超过数千词的长文本生成抽象摘要的方法。我们先在生成摘要之前执行一个简单的抽取步骤,然后再将其用于在相关信息上调整 transformer 语言模型,之后将其用于生成摘要。我们表明这个抽取步骤能显著提升摘要结果。我们还表明这个方法能得到比之前的使用复制机制的方法更抽象的摘要,同时还能得到更高的 rouge 分数。」
读起来怎么样?事实上,以上你看到的摘要内容都不是人类完成的,它是由论文中的机器学习模型写出来的。这是来自 Element AI 的研究者最新公布的研究成果,他们使用了一种类似 GPT 的方法生成了相关研究论文的摘要。
文本摘要是 NLP 中的常见任务了。文档摘要如果能做到很好,可以极大程度减轻文字工作者的工作量,快速提炼文本核心内容,加速文本信息的提取、阅读和生产效率。如果能够将相关算法应用在论文写作上,是不是摘要、引言、相关工作、结论部分都可以省很多功夫了?
但是,正是因为现有的相关算法不够成熟,能够实际应用在生产中的文档摘要算法不多,而且现有的算法普遍只能生成短的、描述事实的文本(在一些新闻平台有所应用)。要将带有逻辑结构的长文本进行抽取和摘要化处理,这样的算法并不常见。
现在,这篇介绍论文摘要抽取生成的论文,也许会给这个 NLP 中的经典任务带来新的解决思路。
论文地址:https://arxiv.org/abs/1909.03186
Transformer 怎样生成论文摘要
语言模型的训练目标是使用某个大型文本语料库来学习估计任意的词或字符序列的联合概率。它们已经在多种不同的语言任务上取得了出色的表现。近期 Radford 等人提出的 GPT-2 表明,如果使用较大的感受野并在大量数据上训练 transformer,那么得到的语言模型能够学习到文本中的长程依赖关系。
如果有人想为长文档生成连贯的、高质量的摘要,那么这样的类 GPT 架构具备很多所需的性质。它们的结果还表明,无条件语言模型可以隐式地学会执行摘要总结或机器翻译,这是其在数据上训练得到的结果。如果将这个数据按序列格式化为文档的不同方面(引言、正文、摘要),那么就可以让模型学习生成其中的一个方面。比如,通过在测试时提供相似格式的数据,可让模型学会解决摘要任务;即语言模型可以基于文档的引言和之后更长的正文生成一个摘要。
具体而言,论文的研究者使用了单个类 GPT 的 transformer 语言模型,并在文档及其摘要上进行训练。在推理阶段,语言会基于输入文档执行生成任务(见图 1)。研究者将这个任务划分为了两个步骤:抽取和摘要。为了处理超过几千词的超长文档,首先先使用两个不同的分层式文档模型执行句子抽取;其中一个模型基于指针网络(pointer network),这类似于 Chen and Bansal 2018 提出的方法一种变体;另一个模型则基于句子分类器。这个抽取步骤能够抽取出文档中的重要句子,然后这些句子可用于更好地在相关信息上调节 transformer 语言模型,然后该模型可以执行摘要生成任务。
模型框架是什么样的
他们提出的整体模型包含两个不同且可独立训练的组件。一是分层式文档表征模型,它可以指向或分类文档中的句子,从而得到一个抽取式的摘要。二是 transformer 语言模型,它可基于抽取出的句子以及文档的一部分或整体来生成摘要。
AI攒论文指日可待?Transformer生成论文摘要方法已出机器之心Pro2019-09-16 15:09机器之心Pro2019-09-16 15:09
图 1:用提出的模型来为科研论文生成摘要
抽取模型
这是一种分层式文档表征模型,它可以指向或分类文档中的句子,从而得到一个抽取式的摘要。
1. 分层式序列到序列句子指针
这个抽取模型类似于 Chen and Bansal 在 2018 年开发的句子指针架构,主要的差异是编码器的选择。这里的模型使用的是分层式双向 LSTM 编码器,且使用了词级和句子级的 LSTM;而 Chen and Bansal 使用的是卷积式词级编码器,可以实现更快的训练和推理。但这两者使用的解码器是一样的,都是 LSTM。
因此,这个抽取器采用了编码器-解码器架构。其中编码器采用了分层结构,结合了 token 级与句子级的 RNN。首先,这个「句子编码器」或 token 级 RNN 是一个双向 LSTM,用于编码每个句子。两个方向的最后一层的最后隐藏状态产生句子嵌入。句子级 LSTM 或「文档编码器」则是另一个双向 LSTM,可将这个句子嵌入的序列编码成文档表征。
解码器则是一个自回归 LSTM,它的输入是之前抽取出的句子的句子级 LSTM 隐藏状态。基于这个输入,它可以预测下一个要抽取的句子。这个解码器的输出是根据该解码器在文档表征上的隐藏状态,使用一种注意机制计算出来的。这里使用了来自 (Luong, Pham, and Manning 2015) 的点积注意方法。根据 (Luong, Pham, and Manning 2015) 的输入馈送方法,这种注意感知型隐藏状态会在下一个时间步骤连接到输入。
将注意权重用作在文档句子上的输出概率分布,并据此选择下一个要抽取的句子。这里研究者采用了一种惯例来指示抽取结束,即相同的索引连续出现两次。这个模型的训练目标是最小化每个解码器时间步骤选取正确的句子的交叉熵。
2. 句子分类器
类似于指针网络,研究者使用了一个分层式 LSTM 来编码文档以及得到句子表征的序列。这个模型的训练目标是最小化与黄金标准抽取摘要的句子的二元交叉熵损失。
3. 模型细节
这个模型使用了大小为 300 的词嵌入。token 级 LSTM(句子编码器)、句子级 LSTM)文档编码器)和解码器各自都有 2 个包含 512 个单元的层,并且在每个中间层的输出处都应用了 0.5 的 dropout。训练使用了 Adam,学习率为 0.001,权重衰减为 10^-5,批大小为 32。研究者每 200 次更新对模型进行一次评估,patience 值为 50。在推理阶段,使用波束搜索进行解码,指针模型的波束大小为 4,并从句子分类器选取 k 个最有可能的句子,其中 k 是训练数据集中摘要的平均句数。
transformer 语言模型(TLM)
这里仅使用了单个从头开始训练的 transformer 语言模型,并使用了「适当」格式化的数据。
这个 transformer 语言模型有 2.2 亿个参数,具有 20 层,768 维嵌入,3072 维位置 MLP 和 12 个注意头。这与 Vaswani et al. 2017 的 transformer 语言模型一样,唯一的不同之处是这里不会在初始化时扩展权重。这个语言模型的训练在单个英伟达 DGX-2 的 16 个 V100 GPU 上用去了 5 天时间。对于前 40 000 次更新,研究者使用了一个线性上升的学习率计划,直到最大学习率 2.5×e^4;之后的 200 000 个步骤则使用 Adam 优化器按余弦退火计划降至 0。训练采用了混合精度,批大小为 256 个序列,每个序列 1024 个 token。
有时候我们要处理非常长的文档,这些文档可能没法放入 transformer 语言模型的单个 token 窗口中,比如一篇科研论文。为此,研究者使用了引言作为代理,因为其中包含足够用于生成摘要或总结的信息;论文的其余部分则像领域语言模型训练数据那样使用。
为了实现科研论文的摘要,研究者将 arXiv 和 PubMed 数据集组织成了以下形式:1)论文引言;2)句子指针模型抽取出的句子;3)摘要;4)论文其余内容。在其它数据集上,论文引言会是整个文档,不会有论文的其它部分。
研究者使用了一个特殊 token 来标示摘要的起点,并在测试时间将其用于指示模型开始执行生成摘要的任务。文章的其余部分也会提供给该语言模型,以用作补充的域内训练数据。整个数据集被分割为了互不重叠的样本,每个样本 1024 个 token。研究者在推理时使用了「前 k 个(topk)」采样方法,其中 k=30,softmax 温度为 0.7。
结果与分析
数据集
研究者实验了四个不同的大规模长文本摘要数据集:arXiv、PubMed(Cohan et al. 2018)、 bigPatent(Sharma, Li, and Wang 2019)、Newsroom(Grusky, Naaman, and Artzi 2018)。表 1 给出了这些数据集的统计情况。
AI攒论文指日可待?Transformer生成论文摘要方法已出机器之心Pro2019-09-16 15:09机器之心Pro2019-09-16 15:09
表 1:本研究中所使用的数据集的统计情况。各列依次为:数据集名称、文档-摘要对数量、文档词数与摘要词数的比、摘要的词数、文档的词数
数据预处理
抽取模型与摘要模型使用的子词单元都是通过字节对编码(byte pair encoding)(Sennrich, Haddow, and Birch 2015)计算得到的,使用了 40 000 个 replacement。为了解决句子指针网络的内存问题,每篇文章仅保留 300 个句子,每个句子保留 35 个 token。
评估
研究者使用的评估指标是全长度 F-1 ROUGE 分数(Lin 2004),为此研究中复用了(Co- han et al. 2018)的代码。本研究报告的所有 ROUGE 数值都有 95% 的置信区间,偏差最多为 0.24。
结果
AI攒论文指日可待?Transformer生成论文摘要方法已出机器之心Pro2019-09-16 15:09机器之心Pro2019-09-16 15:09
表 2:在 arXiv 数据集上的摘要结果。之前的研究结果(Previous Work)来自(Cohan et al. 2018)。下面几行是简单的基线前 10 名抽取器以及指针和分类器模型。新提出的 transformer 语言模型要么只基于引言(I),要么还有抽取的句子(E),这些抽取的句子来自基本真值(G)或模型(M)抽取。
AI攒论文指日可待?Transformer生成论文摘要方法已出机器之心Pro2019-09-16 15:09机器之心Pro2019-09-16 15:09
表 3:定性结果——NewsRoom 数据集的新闻文章以及新提出的模型生成的摘要
举报/反馈