【ACL 2019】基于单句和双句打分的生成式摘要
在生成摘要的过程中,除了需要对单个代表性句子进行压缩或改写,还需要考虑多个句子的信息融合,尤其是两个句子(即 Sentence Pair)的信息融合。本文提出了一种对单个句子和句子进行联合打分的方法,用来筛选代表性的句子或句子对。同时探索了多种句子表示方式,并报告了详细的实验结果。
论文题目:Scoring Sentence Singletons and Pairs for Abstractive Summarization
论文作者:Logan Lebanoff,Kaiqiang Song,Franck Dernoncourt,Doo Soon Kim,Seokhwan Kim,Walter Chang,Fei Liu
论文链接:https://arxiv.org/pdf/1906.00077.pdf
研究背景
生成式摘要(Abstractive Summarization)的目标是对输入的一篇文档生成一段较短的摘要,以概括原文档的内容。为了提高生成质量,已有的一些方法会先从原文中抽取一些代表性的句子,然后再基于该句子集合使用 seq2seq 模型进行改写,从而得到生成的结果。本文作者认为,在生成摘要的过程中,除了需要对单个代表性句子进行压缩或改写,还需要考虑多个句子的信息融合,尤其是两个句子(即 Sentence Pair)的信息融合。作者给出了三个摘要数据集(XSum,DUC04,CNN/Daily Mail)中的统计信息以验证其猜想,如下图所示,可以看到有相当数量的摘要是通过融合两句话得到的。
基于这个观察,本文提出了一种对单个句子和句子进行联合打分的方法,用来筛选代表性的句子或句子对。本文探索了多种句子表示方式,并报告了详细的实验结果。
02
主要方法
本文将单个句子和由两句话组成的句子对统称为实例(Instance)。句子对不要求相邻,所以对于一篇有 N 句话的文档,其实例数量为
。本文的方法分两个阶段,阶段一是对文档中所有实例进行打分,阶段二是对得分高的实例进行压缩和转写。下面将分别介绍这两个阶段。
在阶段一中,为了对实例打分,需要先将每个实例表示为一个向量,然后基于向量表示来预测实例的得分。作者使用 BERT 模型来表示实例,由于在摘要任务中句子出现的顺序会影响句子的重要程度(如文档开头的句子往往比较重要),所以作者将句子的位置作为一个新的输入引入到 BERT 模型中:
其中
分别对应BERT 中的 token 表示、segment 表示、词的位置表示,
是作者引入的句子位置表示。在经过多层的 Transformer 之后,使用最后一层[CLS]标签对应的隐向量作为整个序列的表示,用
来预测该序列的得分。在训练阶段,作者会从所有的实例中选出与 ground-truth 摘要最接近的作为正例,其余的作为负例。除了使用 BERT 来表示实例之外,作者还使用了一种基于 TF-IDF的稀疏表示作为基线方法,在本文中该表示方法称为 VSM。
在阶段二中,作者使用 MMR方法对高分实例去除冗余,公式如下:
式子中 I 表示实例在阶段一的得分,R 表示实例跟已选出的实例集合的冗余度。初始时集合 S 为空,然后逐步选取得分最高的实例加入到 S 中,最终得到一个没有冗余的高分实例集合。作者使用已有的摘要模型 Pointer-Generator 对该集合中的每一个实例进行压缩和转写,得到最终的生成结果。整个流程如下图所示:
03
实验结果
本文在三个数据集上做了实验,分别是DUC04,CNN/Daily Mail,XSum。本文对两个阶段的结果分别进行了评价。阶段一的抽取结果通过precision、recall、f1 score来评价,结果如下表所示:
阶段二的摘要生成结果用 Rouge 值来评价,结果如下表所示:
学术头条已建立微信交流群,想进群的同学请加学术君微信:AMiner308,记得备注:名字+单位/学校噢!
分享干货