AttSum: Joint Learning of Focusing and Summarization with Neural Attention

最近读的几篇paper都是用seq2seq的思路来解决问题,有点读厌烦了,今天换个口味。分享一篇extractive式的paper,AttSum: Joint Learning of Focusing and Summarization with Neural Attention,AttSum是本文所阐述的摘要系统的名称。

Abstract

基于查询的抽取式文本摘要系统通常需要解决好相关性和显著性两个方面的任务,但一般的系统通常将两者分开考虑。而本文将两个任务合并考虑。本文的算法可以自动学习sentence和document cluster的embedding,并且当查询给定之后,可以应用注意力机制来模拟人类阅读行为。算法的有效性在DUC基于查询的文本摘要任务中进行了验证,得到了有竞争力的结果。

本文是将最近比较火的注意力模型应用到了extractive文摘系统中,同时也用了sentence embedding来解决语义层面的相关性问题,并没有像之前的文章在改动seq2seq+attention的细节上做文章,而是切换到了另外一种思路上。

Introduction

基于查询的文本摘要系统一般应用于多文档摘要任务,既需要考虑摘要中句子的相关性,又要考虑句子的显著性,相关性反应了文档的主题思想,显著性避免了重复和冗余。很长一段时间,逻辑斯特回归是解决这类问题的热门方法,但是类似的大多数的监督学习方法都是将两个问题分开考虑,通过一些feature对相关性和显著性分开打分排序。但是人在写摘要的时候,往往会将相关性和显著性合并起来考虑。

另外,相关性打分的方法也存在弊端,用类似TF-IDF的指标来打分有时并不能得到非常相似的结果,尽管可能匹配到了核心词,但检索出的结果并不一定可以满足用户的要求。

深度学习的技术来表示feature,会比用简单的feature去打分排序更加科学,将两个指标融合在一个模型中解决文本摘要问题将会是一个不错的方案。本文提出了一个名叫AttSum的文摘系统,联合了相关性和显著性两个指标。

注意力模型已经成功应用在学习多模态对齐问题中,也可以借鉴到本问题当中。人类总是会将注意力放在他们query的东西上面。

本文在DUC2005-2007基于查询的文摘任务中进行了验证测试,在没有使用任何人为feature的情况下,获得了有竞争力的结果。本文的贡献有两点:

1、应用了注意力机制在基于查询的文摘任务中。

2、提出了一种联合查询相关性和句子显著性的神经网络模型。

相关性的打分问题是搜索引擎的基本问题,传统的方案是用一些简单的feature,比如TF-IDF来打分排序,但经常会得不到满意的结果,原因在于feature太过肤浅,并没有考虑语义层面的东西,换句话说并没有真正理解用户需要查什么。当然,有一段时间推荐系统扮演着搜索引擎助手的角色,当一个用户通过留下一些蛛丝马迹给网站,网站就会给他做一些个性化的推荐来辅助搜索引擎,但并不能从根本上解决这个问题。于是本文用了sentence embedding,document embedding来解决这个问题,就像当初的word embedding 一样,将语义映射到一个空间中,然后计算距离来测量相关性。

Query-Focused Sentence Ranking

AttSum系统一共分为三层:

1、CNN Layer,用卷积神经网络将句子和query映射到embedding上。

2、Pooling Layer,用注意力机制配合sentence embeddings构造document cluster embeddings。

3、Ranking Layer,计算sentence和document cluster之间的相似度,然后排序。

CNN Layer

这一层的输入是用word embeddings构造的sentence matrix,然后在该矩阵上用一个卷积filter,之后再应用一个max pooliing获取到features,得到输出。

这个方法非常简单,是一个典型的CNN的应用,需要注意的是filter的宽度和词向量的宽度一致,看起来和n-gram类似,但是用了卷积神经网络来捕捉sentence matrix中的最大特征。将变长的句子都统一映射到同一个空间中,为后续计算相似度提供了极大的方便。

Pooling Layer

这一层用sentence embedding加权求和来得到document cluster embedding。首先计算句子和query的相关性:

这里的相关性计算和相似度是两回事,其中M矩阵是一个tensor function,可以用来计算sentence embedding和query embedding之间的相互影响,两个相同的句子会得到一个较低的分数。然后加权求和得到document cluster embedding:

这里,sentence embedding扮演两个角色,既是pooling项,又是pooling权重。一方面,如果一个句子与query高度相关,则权重会很大;另一方面,如果一个句子在文档中是显著的,该句子的embedding也应被表示在其中。

本文强调了attention机制在Rush等人的工作中依赖于手工feature,不是那么自然地模拟人类的注意力,而本文是真正地无干预地在模拟人类的注意力。

感觉这一层的模型中只有M比较神秘一些,但整体来说思路还是非常简单,sentence表示出来了,document用sentence加权求和的方式来表示。只是说权重的计算方法很玄乎,还鄙视了其他人在用attention机制时并不自然。

Ranking Layer

打分排序层同样简单,用了余弦公式来计算sentence和document之间的相似度。在训练的过程中用了pairwise ranking strategy,选择样本的时候,用了ROUGE-2计算了所有句子的score,高分的作为正样本,低分的作为负样本。

根据pairwise ranking的标准,相比于负样本,AttSum应该给正样本打出更高的分数,因此损失函数定义如下:

训练方式采用mini-batch SGD。

排序层也没什么特别的地方,用了最简单的余弦公式来计算相似度,通过结对排序的方法,先用ROUGE-2指标将所有的句子进行了打分,高分的句子作为正样本,低分的作为负样本,构造损失函数,让正样本的分数尽可能高,负样本的分数尽可能低。

Sentence Selection

本文在选择句子时采用了一种类似于MMR的简单贪婪算法(MMR在之前的博客中有介绍)。具体过程如下:

1、去掉少于8个词的句子。因为摘要不可能少于8个词。

2、用之前计算好的score对所有的句子进行降序排列。

3、迭代地将排名靠前的且不冗余的句子添加到队列中。这里的冗余定义为该句子相比进入队列的句子有更新的内容。

具体算法流程如下:

句子的选择算法几乎就是MMR,也是一种贪心的思路。不同的地方在于对冗余的定义不如MMR,MMR是用当前句子与已经在队列中的句子的相似度作为冗余判断,其实这样更加科学。

Experiments

Dataset

数据集用DUC2005-2007三年的数据,用两年的数据作为训练集,一年的数据作为测试集。

Model Setting

CNN层:50维词向量,用gensim实现,训练过程中不更新词向量,窗口尺寸选择2,即2-gram,和ROUGE-2保持一致,句子向量维度用5-100进行试验,最终用50作为句子向量维度。

Evaluation Metric

评价指标用ROUGE-2。

Baselines

使用了之前成绩不错的MultiMR和SVR系统作为baselines,同时为了验证本文模型的有效性,构造了一个ISOLATION系统,单独考虑相关性和显著性。

Summarization Performance

对比结果看下图:

整体来看本文的算法结果具有竞争性,但没有绝对竞争性。训练数据用ROUGE-2指标做了预处理分析,目标函数也是朝着ROUGE-2最大的方向,最后的评价指标也是ROUGE-2,在DUC2005和2006上很容易出现过拟合的情况,比其他结果表现好也是正常情况。整体感觉模型的效果很一般。

Review

本文用了CNN+word embedding来表示sentence,然后将sentence vector加权求和作为document vector,通过将sentence和document映射到同一空间中,更容易在语义层上计算相似度。CNN之前多用于CV领域,后来在NLP中也应用了起来,尤其是各种各样的sentence classification任务中。在这个层面上将deep learning应用到了extractive summarization中,与之前seq2seq的paper有着本质的区别。整体来看,本文并没有太出众的创新点和突出的结果,反倒是提到了Attention机制,但并没有从模型体现地很充分,所以有炒概念的嫌疑。将文本中表示文本的方法应用在seq2seq的encoder部分,是本文的一种扩展和未来要做的工作。

PaperWeekly
PaperWeekly

推荐、解读、讨论和报道人工智能前沿论文成果的学术平台。

入门AttSum
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

推荐系统技术

推荐系统(RS)主要是指应用协同智能(collaborative intelligence)做推荐的技术。推荐系统的两大主流类型是基于内容的推荐系统和协同过滤(Collaborative Filtering)。另外还有基于知识的推荐系统(包括基于本体和基于案例的推荐系统)是一类特殊的推荐系统,这类系统更加注重知识表征和推理。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

反比文档频数权重评价方法技术

tf-idf(英语:term frequency–inverse document frequency)是一种用于信息检索与文本挖掘的常用加权技术。tf-idf是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。tf-idf加权的各种形式常被搜索引擎应用,作为文件与用户查询之间相关程度的度量或评级。除了tf-idf以外,互联网上的搜索引擎还会使用基于链接分析的评级方法,以确定文件在搜索结果中出现的顺序。

监督学习技术

监督式学习(Supervised learning),是机器学习中的一个方法,可以由标记好的训练集中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练集是由一系列的训练范例组成,每个训练范例则由输入对象(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

目标函数技术

目标函数f(x)就是用设计变量来表示的所追求的目标形式,所以目标函数就是设计变量的函数,是一个标量。从工程意义讲,目标函数是系统的性能标准,比如,一个结构的最轻重量、最低造价、最合理形式;一件产品的最短生产时间、最小能量消耗;一个实验的最佳配方等等,建立目标函数的过程就是寻找设计变量与目标的关系的过程,目标函数和设计变量的关系可用曲线、曲面或超曲面表示。

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

推荐文章
暂无评论
暂无评论~