通过提取句子和词的神经概要方法
摘要
传统方法提取概要十分依赖人工策划的特征。在这个工作中我们提出由数据驱使的方法基于神经网络和连续的句子特征。我们发展了一个总的框架用于单个文章概要,由等级制的文件编码器和基于注意的提取器构成。这个结构允许我们发展不同类别的可以提取句子和词的概要模型。我们在大规模的包括成千上百的文件-概要对的语料集上训练我们的模型。实验的结果在两个概要数据集上展示了我们的模型在不需要语言标记下获得的结果比得上技术发展现状。
1 介绍
接触并理解大量文档数据的需求提供了强大的动力使得发展自动概要系统致力于创造一个或多个文件的短版本。许多努力被赋予到自动概要的句子抽取上,一个概要由辨识和随后的拼接最有特征的文档单元创造。
大多抽取方法对于日期标识的句子基于人工标识特征。包括表面特征比如句子位置和长度,标题中的词,专有名词的存在,内容的特征比如词的频率,事件特征比如动作名词。句子特别的被赋予一个分数表明这些特征存在的强度。许多方法被用来选择概要句子例如二分类,基于图的算法,整数线性规划。
我们提出一个数据驱使的方法去取概要,基于神经网络和连续的句子特征。对于NLP任务再生序列转换神经网络结构有急剧上升的兴趣,例如机器翻译,问题解答,和句子压缩。对于这个方法最重要的是一个编码解码结构由循环神经网络建构。编码器读取原始序列变为连续空间表示的序列,解码器从此产生目标序列。一个注意机制经常被用来锁定目标范围在解码期间。
我们发展了一个普适框架为单个文件概要,可以用来抽取句子和词。我们的模型包括一个基于神经网络的等级的文件阅读器或编码器和基于注意的内容提取器。阅读器的角色是为了获取一个文件表示的意思基于它的句子和它的单词。我们模型采用一系列神经注意去提取句子和词。与之前的工作相反,注意是一个中间步骤被用来融合一个编码器的隐藏层变为一个向量传播附加信息给解码器,我们的模型应用注意直接的选择输入的文档的句子和词作为输出概要。相似的,神经注意结构已经在之前被用来几何学推理,叫做Pointer Network。
我们应用神经网络模型提取概要的障碍是缺乏训练集,也就是句子(和词)标记的文档as summary-worthy。受之前对概要和阅读理解的方面的工作的启发,我们获取成千上百的新闻标题和相关的重点从DailyMail网站。重点通常展现为要点给出文章中包含的信息的一个简短的概要(图像1的例子)。使用一系列转换和分数算法,我们可以把重点和文档内容配对,构建两个大规模的训练集,一个为了句子提取,另一个为了词提取。之前的方法拥有小规模的训练集大概几百个例子。
我们的工作借鉴了几种概要和神经序列模型的研究。创造概要通过提取原始文档词的想法由【】先提出,他把概要看做和通过统计模型为了选择和排序概要词去统计机器翻译和产生标题相似的问题。我们的基于词的模型从精神上相似,然而,它运算在连续代表上,产生多句子输出,而且共同的选择概要词和组织他们变为句子。一些最近的研究运行句子抽取基于预训练句子嵌入跟随一个非监督最优范例。我们的工作也是使用连续代表去表达句子和文档的意思,但是重要的采用神经网络更直接的进行真正的概要任务。
【】提出一个神经注意模型为了抽象句子压缩,是在成对的标题和文章的第一句上训练。相比之下我们的模型概要文档而不是单个的句子,产生多句子论述。一个主要的结构不同是我们的解码器从有兴趣的文档而不是全部的词表选择输出符号。这个有效的帮助我们避免了从大的词表中查找下一个输出符号的困难,使用低频词和命名实体使得很难学习到表示。【】和【】提出一个相似的复制机制在句子压缩和其他任务中,他们的模型可以适应创造和提取通过选择,输入序列的子序列复制到输出。
我们评估我们的模型同时自动的(依据ROUGH)和人工在两个数据集:基准集DUC2002文档概要语料库和我们自己的DailyMail新闻重点语料库。实验结果表明我们的概要文档结果比得上现在最高水平的采用人工标注特征和复杂语言限制系统。
2 问题构想
在这个部分我们正式的定义在这篇论文中关注的概要任务。给出一个文档D包含一序列句子{s_1,···,s_m}
和一个词集{w_1,···,w_n}
,我们感兴趣于获得概要在两个粒度等级,也就是句子和词。
句子抽取致力于通过选择j
个句子的子集(j<m)
创造一个文档的概要。我们通过给在D中的每个句子打分,预测一个标记y_L \in {0,1}
表明这个句子是否应该被包括于概要中。就如我们应用监督训练,目标是最大似然所有句子标记y_L=(y^1_L,···,y^m_L)
在输入文档D和模型参数\theta
的基础上:
尽管抽取方法产生自然的语法概要和仅仅需要相对小的语言分析,被选择的句子构造了过长的概要包括许多冗余的信息。因为这个,我们创造了一个模型基于词提取,寻找D中词的子集和他们的最优序列从而构成一个概要y_s=(w^'_1,···w^'_k),w^'_i \in D
。与句子提取对比(一个序列标记问题),这个任务处在全部抽象概要从而可以展示大范围的重写运算和抽取概要从而不展示之间的范围。我们用由原始文档限制的输出词表构造词抽取为一个语言产生任务。在我们监督的设置中,训练目标是使产生的句子有最大可能性,从而在他们组成的词中通过强制实施附加的依赖可以更好的分解:
在接下来的部分,我们讨论数据抽出方法使得我们训练神经网络基于以上定义的目标。
3 用于概要的训练数据
数据驱使的神经概要模型需要大量训练文档附有标记用来表明哪个句子(或词)应该用在概要的语料库。直到现在这样的语料限制在几百个例子(DUC2002单个文档概要语料)而且因此大多用来测试。为了克服缺乏标记的数据用于训练,我们采用与Hermann相似的方法,创造两个大鬼马数据集,一个为了句子抽取另一个为了词抽取。
简而言之,我们获取到成百上千的新闻标题和他们相应的重点来自DailyMail(图像1的例子)。重点(有新闻编辑创造)是真正抽象的概要,因此没有特别合适作为监督学习。为了创造训练数据用于句子抽取,我们大约的颠倒每个文档句子金标准标记给出概要基于它们的语义相似。特别的,我们设计一个基于常规的系统决定是够一个文档句子对应一个重点,以及应该标记为1(必须在概要中),其他的为0。这个规则考虑到句子在文章中的位置,unigram和bigram重叠在文章句子中和重点中,实体出现在重点和文章句子中的数字。我们用手工句子标记在9000个文档上调整规则的权重,这个方法获得85%的准确率党评估保留的一套216个文档来自同样的数据集,而且随后用来标记200K文档。大约30%的句子在每个文档中被认为概要相关。
对于词提取数据集的创造,我们检查词在重点和新闻标题中的重叠。在所有的重点词(被填塞后)来自原始文档的例子中,文档-重点对构成一个有效的训练例子,被加到词抽取数据集。对于超出词表的词OOV,我们试着寻找一个语义相当的在新闻标题中存在的替代品。特别的,我们检查是否有一个邻居,被预训练的embedding描绘,在原始文档中,因此构成一个有效的替代。如果我们不能找到替代品,我们丢掉这个文档-重点对。跟随这个流程,我们获得一个词抽取数据集包含170K文章,也是来自DailyMail。
4 神经概要模型
我们概要模型的关键构成包括一个基于神经网络的等级文档阅读器和一个基于注意的等级内容抽取器。我们模型的等级本质反应了文档由词和句子段落甚至更大单元产生的直觉。我们因此采用一个表示框架反应同样的结构,全局信息被发现局部信息被隐藏。如此的表示产生最小信息损失,灵活的允许我们采用神经注意为了选择在大的文本中显著句子和词。接下里,我们先描述文档阅读器,接着呈现句子和词的提取器的细节。
4.1 文档阅读器
阅读器的角色是为了从连续的句子中获取文档描述的意思,每一个被当做一个词的序列。我们首先在句子的层面获得向量表示使用一个单层CNN和一个最大时间池化运算。接着我们使用一个标准RNN递归压缩句子为文档构造表示。CNN运算在词的层面,使获得句子层面的表示从而用来做RNN的输入从而获得文档层面的表示,以一个分层的方式。我们描述这两个文本的子组件阅读器在下面。
卷积句子编码器 我们选择一个CNN模型用于表示句子有两个原因。第一,单层CNNs可以有效的训练(模型中不需要任何长期依赖),第二,它曾被成功的用作句子层面的分类任务,比如情感分析。d表示词embedding的维度,一个文档句子s包括一序列的n个词(w_1,···,w_n)
可由一个矩阵W \in R^(n×d)
表示。我们采用一个临时窄卷积在W和宽c的核K \in R^(c×d)
之间如下:
其中⊗等于Hadamard积,接着加和所有元素。f^i_j
表示第i个特征映射f^i
的第j个元素,b表示bias。我们运行在时间上的最大池化获得一个单特征(第i个特征)在宽度c的K核下表示这个句子:
在实践中,我们使用多特征映射去计算一系列特征对照句子的维度在每个核的宽度下。更多的,我们采用不同宽度的多核去获得一个不同句子向量的集。最终,我们加和这些句子向量去获得这个最后的句子表示。这个CNN模型用图表的形式展现在图像2。在这个例子中,句子embedding拥有六个维度,所以六个特征映射用在每个核宽度下。这个蓝特征映射拥有宽度2,红特征映射拥有宽度3。在每个核宽度下获得的句子嵌入加总去获得最终句子表示(由绿表示)。
循环文档编码器 在文档层面,一个RNN组成一个句子向量的序列变为文档向量。注意到这个是简单化尝试获得文档组织在句子到句子层面转换。可以看做RNN的隐藏状态为一系列部分表示,每个大多关注基于之前的上下文的相关输入句子。这些表示在一起工程文档表示,捕捉最小压缩下局部和全局句子信息。我们用的RNN拥有LSTM激活单元用于改善梯度消失问题当训练长句子。给出一个文档d=(s_1,···,s_m)
,隐藏状态在时间t写作h_t
,更新为:
其中W是科学系权重矩阵。接下来,我们讨论一个特别的注意机制用于提取句子和词基于RNN编码器,开始于句子提取。
4.2 句子提取器
在表顺神经序列到序列模图例,一个注意机制用于中间步骤去决定哪个输入范围去关注,用于产生下一个输出。相对的,我们句子提取器采用注意去直接的在读之后提取显著的句子。
提取器是另一个RNN用来序列的标记句子,不仅考虑是够他们是单独相关的但是同样互相冗余的。文档编码器和句子提取器的全部的结构展示在图像2。如看到的那样,下一个标记决定由编码的文档和脑中之前标记的句子共同作出。在t时间给出一个编码器隐藏状态(h_1,···,h_m)
和提取器隐藏状态(\bar{h}_1,··· ,\bar{h}_m)
,这个解码器尝试第t个句子通过把它目前解码状态和相对的编码状态相关联:
MLP是一个多层神经网络,\bar{h}_t
和h_t
拼接作为输入。p_{t-1}
表示提取器相信之前的句子应该提取的程度以及记忆(p_{t-1}=1
如果系统确定;其他则0)
在实践中,这样一个模型中训练和测试之间有一个差异。在训练中我们知道前一个句子真实标记p_{t-1}
,然而在测试时p_{t-1}
不知道而且必须由模型预测。这个差异可导致快速的累积预测误差,特别是错误在早期序列标记过程中。为了缓和它,我们采用课程学习策略curriculum learning strategy:在训练的开始当p_{t-1}
补鞥准确的被预测,我们设置它为前一个句子的真实标记,当训练继续进行,我们渐渐转换它的值为预测标记p(y_L(t-1)=1|d)
。
4.3 词提取
对比句子提取仅仅是序列标记任务,词提取更接近一个generation任务,相关的内容必须被选择而且流畅的符合语法的被呈现。对这个序列标记模型结构一个小的延展使得对generation更适合:不是预测在每个时间下一个句子的标记,模型直接输出在概要中的下一个词。这个模型用了一个使用等级注意结构的模型:在t时刻,解码器柔和的处理每个文档句子随后处理每个文档中的词并计算下一个将被包含在概要中的词的概率p(w'_t=w_i|d,w'_1,···,w'_{t-1})
,使用一个softmax分类器:
在上面的公式,w_i
表示输入文档的第i个词的向量,因此,z,W···
是模型权重。模型结构在图像3展示。
词提取器可被看做带词表限制的条件语言模型。在实践中,不够有力强制执行语法性由于文档重点的词汇的多样性和稀少性。一个可能的增强可以是用神经语言模型配对提取器,从而在大量的未标记文档上预训练,在解码时和提取器共同调试。我们采用的另一个简单的替换方法是使用从文档收集的n-gram特征,从beam decoding获得的概要候选进行排名。我们在一个log-linear reranker中混合这些特征,这些特征权重用最小化错误率训练使得最优化。
5 实验设置
在这个部分我们呈现我们的实验设置用于评估我们概要模型的表现。我们讨论用于训练和评估的数据集,给出装置细节,简要的介绍对比模型,解释系统输出如何被评估。
数据集 我们训练基于句子和词的概要模型在两个DailyMail新闻创造的数据集上。每个数据集被分为90%训练,5%训练测试,5%测试集。我们评估模型用于DUC-2002单个文档概要任务。总的,共有567个文档属于59个各种新闻主题的不同的簇。每个文档关联两个版本的100词人工概要产生于人工标注者。我们还评估我们的模型在DailyMail测试集的500个文章上(有人工著作的重点作为标准)我们取样文章重点对所以重点包括最小3句。平均每个文档的大小278byte。
装置细节 我们训练我们的模型使用Adam及最初lr为0.001。这两个动力参数分别设为0.99和0.999。我们执行mini-batch训练使用batch大小为20个文档。所有输入文档pad同样的长度,使用附加的mask变量存储每个文档的真实长度。词、句子、文档embedding的大小,设置为150、300和750。对于卷积句子模型,我们跟随【】使用一系列核大小{1,2,3,4,5,6,7}。对于循环文档模型和句子提取器,我们使用正则化dropout及概率0.5在LSTM输入到隐藏层,和得分层。每个LSTM模块的深度为1.所有LSTM参数是随机初始化,在一个均匀分部[-0.05,0.05]。这个词向量初始化为150维度预训练的embedding。
专有名词提出一个embedding方法的问题,特别是当她们很少见或不知道(在测试时)。解决这个问题通过加一个新的特征集和一个log-linear模型构成到这个系统。当我们的模型享受提取创造的优势,我们可以强制模型去调查实体周围的内容和句子中相关位置为了发现提取pattern,放置少的重要性在实体本身的表示的意思上。特别的,我们用Hermann提供的包执行命名实体辨识,并且保持一个集合的随机初始化的实体embedding。当训练时,实体的指标重新排列引出一些噪音但是依然在数据中结实。一个相似的数据增大方法用来阅读理解。
一个和提取方法一起的普遍问题基于句子标记是在句子的数量上被选择没有限制在测试时。我们解决这个问题通过重新排序正向的标记句子和获得来自softmax层分数概率。也就是说,我们更感兴趣每个句子的相对排序而不是实际分数。这表明一个训练网络的选择将会采用基于排序目标或者一个学习排序算法。然而,我们留这个给将来做。我们使用三个最高分句子作为概要(同样受限于评估原则的词或byte限制)。
另一个相关词提取模型的问题是如何分批由于每个文档拥有一个独特的词表。我们在训练的时候回避这个问题,通过执行负采样从而剪枝不同文档词表到同样长度。在每个解码步骤这个模型被训练为从20个噪音样例中去区分真实目标词。在测试时我们依然在输入的文档中循环词(和一个停用词序列)决定哪个词输出到下一个。
系统对比 我们对比我们模型的各种各样概要方法的输出。这些包括简单的选择三个领头句子从每个文档作为概要的标准基准。我们还简历一个句子提取基准分类提使用logistics regression和人工特征。这个分类器被训练在同样的数据集当我们的神经网络模型有下列特征:句子长度,句子位置,句子中的实体数量,句子到句子内聚力,句子到文档相关性。句子到句子内聚力被计算通过计算每个文档句子和其他在同一个文档中的每个句子的embedding相似性。特征是相似性分数的正则化加总。句子embedding通过平均包含的词的embedding获得。句子到文档相关性通过相似的计算方法。我们计算每个句子和文档的embedding相似性(词袋模型表示),正则化分数。词的embedding用在基准方法和预训练时用在神经模型一样。
更多的,我们包括一个神经抽象概要基准。这个系统有一个相似的结构对于词提取模型除了它解码时使用开放词表。还可以看做抽象句子概要的等级制文档层面扩展,由【】提出。我们训练这个模型使用负采样去避免过多正则化常亮计算。
最后,我们对比我们的模型和三个之前发布的在DUC2002单个文档概要任务上有竞争性表现的系统。第一个方法是基于段落提取模型。他们的系统学习从分析输入句法产生重点(段落结构树和依赖图);它选择显著段落和重组它们基于长度,报道和语法限制增强通过整数线性规划ILP。我们的模型训练在文档-重点对,产生 telegraphic-style bullet points而不是成熟的概要。另两个系统TGRAPH和URANK长盛更多典型的概要,代表当前技术水平。TGRAPH是一个基于图表句子提取模型,图表是从主题模型构造,最优化是通过限制的ILP呈现。URANK采用一种统一排序系统用于单个和多个文档概要。
评估 我们自动评估概要的质量使用ROUGH。我们报告unigram和bigram重叠为估计信息的平均值,和最长的平常子序列作为评估流畅的平均值。
更多的,我们评估产生的概要通过引出人工判断对于20个随机采样DUC2002测试文档。参与者呈现一个新闻文章和一系列系统产生的概要。包括两个神经网络系统(基于句子和词的提取),之前描述的神经抽象系统,主导基准,基于段落的ILP模型,和人工著作概要。实验对象被要求对概要排序从最好到最差(允许平局)按这种顺序:信息量(概要是否捕获文中重要信息),流畅性(概要是否用英语很好的表达出)。我们引出人工判断使用亚马逊的Mechanical Turk crowdsourcing platform。参与者(自动报告为母语英语的人)每部分看两个随机文章。我们从每个文档收集5个反馈者。
6 结果
Table 1(前半个)总结我们的结果在DUC2002测试数据集使用ROUGH。NN-SE表示我们神经句子提取模型,NN-WE是词提取模型,NN-ABS是神经抽象基准。这个table还包括LEAD基准的结果,logistics regression分类器(LREG),和三个之前发表的系统(ILP,TGRAPH,URANK)。
NN-SE好于LEAD和LREG基准一个超高的水平,同时执行稍微好于ILP模型。这是个鼓舞人心的结果由于我们的模型拥有仅仅接触embedding特征从原始文本获取。对比中,LREG使用一系列人工选择特征,当ILP系统使出句法信息的优势,从精心设计的语言限制中提取概要,对我们的模型不适用。总的,我们句子提取模型完成表现达到很好的水平,不适用复杂的限制最优化(ILP,TGRAPH)或者句子排序机制(URANK)。我们形象化NN-SE的句子权重在前半个Figure 4。可以看到,模型可以标记文本部分位置,从而最多贡献到文档的整体意思。
ROUGH分数对于词提取模型很少保障。期待ROUGH是基于n-gram和不是很好适合测量概要,包含一个大量的解释而且可能远离引用,尽管它们表达相似的信息。然而,一个有意义的对比可以实施,在NN-WE和NN-ABS之间,在精神上相似。我们观察到NN-WE持续优于纯抽象模型。NN-WE产生概要通过从原始文档选择词,解码更简单对于这个模型相对比NN-ABS需要应对开放词表。基于提取产生方法是更robust对于转悠名词和稀有词,提出一系列问题对于开放词表模型,一个产生概要的例子对于NN-WE展示在下半个Figure 4。
Table 1(下半个)还展示了系统结果在500个DailyMail新闻文章上(测试集)。总的来说,我们观察和DUC2002相似趋势,NN-SE表现最好对于所有ROUGH矩阵。注意分数普遍低对比DUC2002。这是因为金标准概要(重点)趋于更简洁,使得结果包括一个显著数量的解释。
人工评估学习的结果展示在Table 2。特别的,我们按比例的展示我们的参与者排序每个系统。可能不出意外地,人工写的描述是被认为最好的,排在第一位27%的时候,然而,仅仅的跟在排第一的NN-SE22%时候的模型之后。ILP系统大多排在第二(38%的时候)。其余的系统站在更低的排名。我们更多转变排名为1到6(赋值6...1到排名1...6)。这使得我们呈现方差分析(ANOVA)揭示一个可依赖有效的系统类别。特别的,post-hoc Tukey测试显示NN-SE和ILP是特别(p<0.01)更好比LEAD,NN-WE,NN-ABS,但是各自分别没有巨大差异,或者人工金标准。
7 结论
这个工作中我们呈现一个数据驱使的概要框架基于编码-提取结构。我们发展了两个种类方法基于句子和词提取。我们的模型可被训练在大规模数据集,而且学习信息量的特征基于持续描述不使用语言标记的资源。两个重要的想法在我们工作之后是等级神经结构的创造反应概要任务的本质,通过提取产生。接着有效的使得我们回避基于大量的词表产生,大体覆盖全部数据集,和许多低频词和专有名词。
未来工作的方向多种多样。一个方向是增进基于词模型采用结构信息在产生的时候进入考虑,也就是组合它和基于树的算法。同样有趣的是采用呈现在这里的基于段落设置的神经模型相似于【】。第三个方向是采用一个信息假设观点和设计纯非监督方法选择概要句子和词以便最小化信息损失,一个拥有这项工作中创造的数据集从而可能完成的任务。