基于注意力机制的评论摘要生成
苏放1,2, 王晓宇1, 张治1,2     
1. 北京邮电大学 信息与通信工程学院, 北京 100876;
2. 无锡北邮感知技术产业研究院有限公司, 江苏 无锡 214135
摘要

为了实现评论摘要的生成式提取,对序列到序列学习的神经网络模型进行分析,提出了一种改进的注意力机制应用模型,并用于评论摘要.挖掘评论摘要特征,使在摘要中出现的文字更多集中在原文首部;针对评论摘要的样本特征,通过改进局部注意力模型,使其对评论原文的句首具有更高的注意力权重,并可端到端地生成评论摘要的每一个词.实验结果表明,该模型在对英文同类别全文长度小于200的评论摘要提取上有更高的准确率.

关键词: 评论摘要     注意力机制     序列到序列     循环神经网络    
中图分类号:TN929.53 文献标志码:A 文章编号:1007-5321(2018)03-0007-07 DOI:10.13190/j.jbupt.2017-219
Review Summarization Generation Based on Attention Mechanism
SU Fang1,2, WANG Xiao-yu1, ZHANG Zhi1,2     
1. School of Information and Communication Engineering, Beijing University of Posts and Telecommunications, Beijing 100876, China;
2. Institute of Sensing Technology and Business, Beijing University of Posts and Telecommunications, Jiangsu Wuxi 214135, China
Abstract

In order to implement generative review summarization, a research of the neural network model of sequence to sequence learning was conducted, besides, an improved attention mechanism for review summarization based on the model was proposed. By focusing on the feature of review summarization samples, the local attention mechanism is improved which has more attention weights on the start of the source sentence. Then every word of the summarization is generated through the end-to-end model. Experiments show that this approach achieves superior performance on English review summarization in the same category when the length of reviews is less than 200.

Key words: review summarization     attention mechanism     sequence to sequence     recurrent neural network    

“互联网+”时代,网民在社交平台的个人言论、在电子商务平台发表的评论对电子商务、产品制造领域具有重大价值.因此,对评论进行摘要分析具有重要意义,并成为当今研究热点.自动文摘技术根据文摘与原文的关系可分为抽取式(又称摘录型)和生成式(又称理解性),前者是由从原文中抽取出来的片段组成,而后者则是对原文内容进行理解后重新组织生成的.在当前国内外研究中,抽取式方法因其语言描述的便捷性而得到较为广泛的研究[1-3],但在通过摘要形式体现原文内涵的表现度上,存在较大的局限性.近年来,生成式方法在摘要提取研究中受到较大关注[4-5],生成式方法直接从原文意义表达生成摘要句子,更接近摘要的本质,但其生成的难度也具有更大的挑战性.在该领域研究中,Rush等[6]基于编码器-解码器结构,引入应用在机器翻译领域的注意力机制模型[7],用于生成文本摘要,取得了较好效果;然而,这种基于全局的注意力模型,不能完全适应文本摘要提取的特征,不具有普适的应用效果,在实际应用中往往需要根据实际应用场景进行修正[8].

针对摘要生成的课题,通过对摘要与原文本文位置特征的研究,提出了一个改进的局部注意力机制,将其应用于基于循环神经网络的序列到序列学习模型中,实现评论摘要的自动生成,从而避免繁琐的人工特征提取、内容选择等.实验结果表明,该注意力机制在评论摘要的提取上具有更好的效果.

1 相关工作 1.1 序列到序列学习

研究的目标是给定评论,生成其摘要,国内外学者对基于循环神经网络的序列到序列学习模型[9]的研究为笔者的研究奠定了坚实的基础.下面作简要介绍.

编码器-解码器结构是序列到序列学习的核心,如图 1所示,模型通常使用2个LSTM(long-short term memory)结构循环神经网络(RNN, recurrent neural network)分别作为编码器和解码器;编码器读取输入的文本,即一个词向量的序列,生成一个具有较高维度的定长向量作为中间层,解码器负责给定中间层向量和历史输出向量计算下一个词向量,直至输出为终止符或达到预定长度.最终解码器的输出向量序列即为模型结果.模型详见文献[9].

图 1 编码器-解码器结构

对于词汇较多的评论文本,面临将文本生成为一个定长向量的挑战,LSTM的学习远时间距离数据依赖的能力使它很自然地胜任此任务.

1.2 注意力机制

由于序列到序列学习的中间层是一个定长的向量,故输入序列越长,对最初输入数据的信息丢失越严重,注意力机制便是解决这一问题的一种方案.

注意力机制的目标是在模型解码时根据位置将解码器的注意力更多地集中在相应的位置上,以注意力矩阵的形式影响权重.将输入文本倒置,可获得更好的效果[9]也是注意力机制的一种雏形.将输入文本倒置即把更多的注意力放在输入序列的最后,这也对应着解码输出的最前段,而后续输出序列皆依赖前置结果.其参与解码的过程如图 2所示.

图 2 注意力机制结构

引入注意力机制的模型,解码器的条件概率被定义为

$ p({\mathit{\boldsymbol{y}}_i}|{\mathit{\boldsymbol{y}}_1}, \ldots , {\mathit{\boldsymbol{y}}_{i - 1}}, \mathit{\boldsymbol{x}}) = g({\mathit{\boldsymbol{y}}_{i - 1}}, {\mathit{\boldsymbol{s}}_i}, {\mathit{\boldsymbol{c}}_i}) $ (1)

其中:x为输入向量,yii时刻的解码输出值,g为一个非线性、潜在多层次的输出条件概率的函数,sii时刻RNN的隐藏层状态,ci为注意力加权后的上下文向量[7].

为使注意力机制在解码过程中更加专注于原文中真正与输出序列对应的部分,Luong等[8]提出了一种局部注意力机制,利用对位模型(alignment model)函数评估位输入值与输出值是否匹配.

2 改进注意力机制

序列到序列网络模型中解码器输出仅使用了编码器最后输出的隐藏状态,这个隐藏状态向量对原文的信息量是有损失的,距离越远,损失越多.在实践中,长距离依赖仍然是个问题.这时便需要注意力机制,将当前解码输出的注意力集中在应该与之对应的输入序列部分.

在挖掘摘要文本与原文文本的特征,并与机器翻译任务中注意力模型的对位矩阵[8]特征对比时可以发现,机器翻译任务中注意力机制需要对原文的每个词汇都进行关注,才能保证其翻译结果的准确性而不会存在信息量的缺失;而摘要文本中的词汇更多出现于原文句首位置,这与书写文章的习惯相同,经过对亚马逊电子商务平台的英文商品评论摘要及正文的统计关系的分析,以摘要中词汇在评论原文中出现的位置在原文长度的百分比为统计项,如图 3所示,其中包含1689188条电器相关评论、8898041条图书相关评论、551682条家庭厨房用品相关评论,选取词数小于200的评论;并爬取了亚马逊电子商务平台的中文商品评论摘要及正文的统计关系,其中包含14439条手机相关评论、24482条电器相关评论以及12988466条中文搜狐新闻标题与正文的文本的统计关系,统计结果如图 4所示.越接近0表示越靠近句首,同理,越接近1表示越靠近句尾.

图 3 英文语料中摘要文本在原文出现位置分布

图 4 中文语料中摘要文本在原文出现位置分布

从不同商品类别的评论数据统计结果来看,无论中文评论还是英文评论,人们都更倾向于在评论的最开始部分就阐述自己的核心观点,在评论的中部也偶有突出;新闻语料的标题则更需覆盖全文的内容,而更多的集中于中前部.基于此特点,可计算摘要文本在原文出现的平均位置,并据此将提出一种基于位置特征的改进注意力机制,以期在文本摘要任务中取得更好的效果.笔者提出摘要中词汇出现于评论原文的平均距离的计算如下:

$ p = \frac{{\sum\limits_{i = 1}^N {\sum\limits_{j \in {s_i}} {\frac{{{d_{i, j}}}}{{|{s_i}|}}} } }}{N} $ (2)

其中:di为第i篇原文,si为对应摘要,di, j为原文di中出现词j的位置,N为样本总个数.

基于商品评论与其摘要的文本分布特征,在局部注意力机制的基础上,对其位置特征加以改进,通过在对位模型函数上添加一个位置权重项,增加注意力机制在解码时对原文句首的权重,以使注意力对原文句首具有更高的权重.解码器隐藏层向量${\mathit{\boldsymbol{\tilde h}}_t} $计算使用简单的连接层来组合来自2个向量的信息,方法如下[8]

$ {{\mathit{\boldsymbol{\tilde h}}}_t} = {\rm{tanh}}({\mathit{\boldsymbol{W}}_c}[{\mathit{\boldsymbol{c}}_t};{\mathit{\boldsymbol{h}}_t}]) $ (3)

其中:ct是上下文向量,即编码器输出结果;ht为解码器隐藏层输出向量,Wc为训练得到的权重矩阵.上下文向量ct由编码器每一个时刻的隐藏层向量计算得到,其维度等于输入序列的长度:

$ {\mathit{\boldsymbol{c}}_t} = \sum\limits_{j = 1}^T {{a_t}\left( s \right){{\mathit{\boldsymbol{\bar h}}}_s}} $ (4)
$ \begin{array}{l} {a_t}\left( s \right) = {\rm{align}}({\mathit{\boldsymbol{h}}_t}, {{\mathit{\boldsymbol{\bar h}}}_s}){\rm{exp}}\left( { - \frac{{{{(s - {p_t})}^2}}}{{2{\sigma ^2}}}} \right){\rm{pos}}\left( s \right) = \\ \frac{{{\rm{exp}}({\rm{score}}({\mathit{\boldsymbol{h}}_t}, {{\mathit{\boldsymbol{\bar h}}}_s}))}}{{\sum\limits_{s'} {{\rm{exp}}({\rm{score}}({\mathit{\boldsymbol{h}}_t}, {\mathit{\boldsymbol{h}}_{s'}}))} }}{\rm{exp}}\left( { - \frac{{{{(s - {p_t})}^2}}}{{2{\sigma ^2}}}} \right) \times \\ \left( {{\rm{exp}}\left( { - \frac{{{p_s}}}{p}} \right)} \right) \end{array} $ (5)
$ {\rm{score}}({\mathit{\boldsymbol{h}}_t}, {{\mathit{\boldsymbol{\bar h}}}_s}) = \mathit{\boldsymbol{h}}_t^{\rm{T}}{\mathit{\boldsymbol{W}}_a}{{\mathit{\boldsymbol{\bar h}}}_s} $ (6)

其中:$ {{\mathit{\boldsymbol{\bar h}}}_s}$为源数据在位置s的隐藏层状态,at(s)为对位模型函数,用于评估位置s附近的输入值与位置t的输出值是否匹配[8],align为ht$ {{\mathit{\boldsymbol{\bar h}}}_s}$的对位表示函数,pos(s)为位置加权函数,用于增大句首的注意力权重,ps∈[0, 1]为当前输入值在序列中的位置,p∈[0, 1]为式(2)计算得到的摘要中、词汇在原文出现的平均位置;Wa为权重矩阵[10];正态分布中pt为局部位置中心,即在解码器到达位置t时,注意力在原文应该集中的位置,文献[8]中提出一种直接使用pt=t和如下的预测性位置计算方式:

$ {p_t} = \mathit{\boldsymbol{S}}{\rm{sigmoid}}(\mathit{\boldsymbol{v}}_p^{\rm{T}}{\rm{tanh}}({\mathit{\boldsymbol{W}}_p}{\mathit{\boldsymbol{h}}_t})) $ (7)
3 评论摘要生成过程

基于上述改进注意力机制以及序列到序列神经网络模型构建的评论摘要提取模型的整体架构如图 5所示.

图 5 基于改进注意力机制的评论摘要模型框架

根据第2节所述过程中完成评论摘要平均位置的计算,并完成注意力机制与序列到序列神经网络模型的训练后,得到评论摘要提取模型;编码神经网络读取,并编码评论原文语句的词向量序列到一个固定长度的向量,每个时刻读取一个词向量,最终输出一个定长,并具有较高维度的上下文向量,完成注意力矩阵的训练.解码神经网络第1个时刻由隐藏层向量和句子结束标识符作为输入,根据式(1)计算条件概率最大的词向量作为第1个输出序列向量,其中加权的上下文向量根据式(3)由注意力机制加权计算得来.后续时刻由隐藏层向量和上一时刻的输出向量作为输入,计算当前时刻的输出向量,直至计算得到句子结束标识符.该模型具有端到端的特点,在一条新的评论数据经预处理为一个词向量序列之后作为模型输入序列,模型便可直接输出该评论的摘要序列.在模型的最后一层加入一层softmax网络,softmax是一种多分类神经网络结构,用于将输出词向量序列转化为人可以直接观察的句子,即为最终的评论摘要.

在摘要的生成、解码过程中,通过束搜索算法[6]可以大幅提升解码效率,可以在线性时间内解码摘要文本,大幅降低解码时间,但是可能会丢失一些潜在的结果序列.束搜索是一种启发式的广度优先搜索算法,相比于维特比等解码算法,其具有空间、时间消耗低的优点.束搜索在每一层通过启发式的方法估计β个最优的路径,仅从这β个路径继续搜索,每一步深度扩展的时候,剪掉一些质量比较差的结点,保留下一些质量较高的结点,这样便减少了空间消耗,并提高了时间效率.但缺点是有可能存在潜在的最佳方案被丢弃,其中β通常被称作集束宽度.

在对评论进行编码后进行解码生成摘要时,利用束搜索算法,在生成评论摘要的第一个词时获取β个最优解;在后续的每一词的生成过程中,即图 1所示的yn,从上一层β个最优结果路径所搜索出的结果中集中选取前β个最优路径.在生成结果出现终止符〈EOS〉或摘要长度达到设定长度时停止搜索. Rush等[6]对束搜索的研究中对比了不同技术宽度下搜索效果和搜索的空间、时间消耗,在最终的实验中选择集束宽度为8,可以平衡时间、空间的消耗,并达到较优的摘要生成效果.

4 实验 4.1 实验平台

实验环境为ThinkStation D20服务器,模型训练和计算环境为NVIDIA GeForce GTX 1070 GPU,TensorFlow r1.2.

4.2 数据来源

实验数据采用Amazon商品评论[11]、爬取部分中文Amazon商品评论、DUC-2004测评数据集,其中Amazon商品数据集中选用了1689188条电器相关评论;DUC-2004测评任务数据集还包括了一组有8个人类进行的手动摘要参考,用作一种结果参考.

经初步筛选及预处理,实验1中随机选取618079条电器评论作为训练数据,评论长度小于100,词汇表数量为105298,并选取264891条电器评论作为验证数据;实验3共选择100万条图书评论及其摘要作为训练数据,20万条评论及其摘要作为测试数据.

4.3 对比试验

实验1对比了在Amazon和DUC-2004数据集上不同模型组合的评论提取效果,结果见表 1.采用的测评标注为ROUGE评价方法[12],公式如下,其中N表示评价方法为N元(N-gram)模型,ROUGE-L指标匹配2个文本的最长公共序列.

$ \begin{array}{l} {\rm{ROUGE}} - N = \\ \frac{{\sum\limits_{S \in \{ {\rm{Reference}}\;\;{\rm{ Summaries}}\} } {\sum\limits_{{\rm{gra}}{{\rm{m}}_n} \in S} {{\rm{Coun}}{{\rm{t}}_{{\rm{match}}}}({\rm{gra}}{{\rm{m}}_n})} } }}{{\sum\limits_{S \in \{ {\rm{Reference}}\;\;{\rm{ Summaries}}\} } {\sum\limits_{{\rm{gra}}{{\rm{m}}_n} \in S} {{\rm{Count}}({\rm{gra}}{{\rm{m}}_n})} } }} \end{array} $ (8)
表 1 摘要提取实验1的结果

作为对比,选取了2种摘要生成基线方法.一种为直接选取原文的前15个词作为摘要;另一种方法为COMPRESS[13],该方法使用原始语句结构以及在摘要数据上训练的语言模型来生成压缩输出结果.

从实验结果可以看出,所提出的改进局部注意力模型在Amazon评论数据集上较局部注意力模型和全局注意力模型具有更大提升.原因在于DUC-2004数据集为新闻数据集,全文较长,在注意力中加入位置信息所带来的提取效果增益较小.对比2个数据集的评价结果,DUC-2004数据集的提取结果评价要优于Amazon评论数据集的提取结果评价,原因在于Amazon评论数据将用户的总结标题作为摘要,而DUC-2004数据集的摘要为新闻标题,在语言运用上具有差距;Amazon数据集里的摘要文本有49.34%在正文中出现,DUC-2004数据集里摘要文本有62.83%在正文中出现.

不同层数编码器解码器的对比实验中可以看出,使用4层编码器解码器网络的效果普遍较使用3层的网络更优.增加网络的深度可以提高网络的远距离依赖性能,使网络可以更多的记忆历史信息,并将其传递给输出端.然而,在模型的训练过程中发现,更深层的网络也会消耗更久的模型训练时间,故未再增加编码器解码器中循环神经网络的层数.综上,笔者所提出的增强位置信息权重的改进局部注意力模型在文本摘要任务上具有更好的性能,更能胜任对网络评论的自动摘要提取任务.

表 2所示为实验1随机选择的摘要提取结果.从表中可以看到,所提出的摘要生成模型能有效提取出评论文本的核心内容,词汇与原作者摘要略有出入,但整体语义相差不多,如例1中模型提取出的“candy”与实际摘要中的“taffy”太妃糖语义相近,例3中的“delight”与“sweet”同表喜悦之情.且生成摘要中也可以出现原文中不曾出现的词语,表明其具有优秀的扩展能力以及提取结果的语义正确性.

表 2 部分摘要生成结果

所依赖的序列到序列神经网络模型的中间层为一个定长的向量,其所能携带的信息量有限,原文越长则信息丢失越严重;另一方面,虽然LSTM结构对解决长距离依赖问题有所帮助,但是对于过长的距离仍会丢失远距离的信息.如上文所述,网络评论摘要数据更多集中于评论句首部分,该部分正是距离最远的部分,因此,模型对较长评论文本的摘要提取效果相比于较短评论文本较差.进行实验2时,分别选取不同长度范围的评论训练模型并测试模型性能,模型选择4层编码网络、4层解码网络以及改进局部注意力机制,评论长度分别选取1~100、101~200、201~300、300以上;实验数据选择Amazon电器类商品评论,实验结果如表 3所示.可以看出,在评论长度达到200以上时摘要的提取性能开始有所下降.

表 3 不同长度评论摘要提取结果

所提出的摘要提取模型为数据驱动模型,因此,其模型性能也依赖训练语料数据,以如下不同类别的评论语料交叉验证为例:选取图书类别的Amazon评论及其摘要数据,对比利用不同类别评论数据训练所得模型和相同类别数据训练所得模型进行评论的摘要提取效果.模型选择4层编码网络、4层解码网络以及改进局部注意力机制,评论长度选择200以下,实验结果为ROUGE-1指标,如表 4所示.

表 4 不同类别训练数据摘要提取ROUGE-1结果

表 4的实验结果可以看出,当训练数据集与测试数据集不为同一类型的数据时,摘要提取的效果相比于同类别时相差较多.不同类别的语料训练所得模型不具备较好的通用性,在应用中应根据不同的数据类别建立相应的样本库.

5 结束语

提出的方法是在序列到序列学习中根据评论摘要任务所改进的一种注意力机制.在局部注意力机制的基础上,加入位置权重,使模型将注意力更多集中在源文本句首,有效地提升了该生成式模型在评论摘要的准确率.在未来的研究工作中,可以利用卷积神经网络的并行性计算特征降低模型训练时间;继续改进注意力机制使其更加切合长文本到短文本的生成任务,进一步提升提取效果.

参考文献
[1] Carbonell J, Goldstein J. The use of MMR, diversity-based reranking for reordering documents and producing summaries[C]//Proceedings of the 21st Annual International ACM SIGIR Conference on Research and Development in Information Retrieval. New York: ACM, 1998: 335-336. http://ci.nii.ac.jp/naid/10017662737
[2] Conroy J M, O'leary D P. Text summarization via hidden markov models[C]//Proceedings of the 24th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval. New York: ACM, 2001: 406-407. http://dl.acm.org/citation.cfm?id=384042
[3] Shen D, Sun J T, Li H, et al. Document summarization using conditional random fields[C]//Proceedings of the 20th international joint conference on Artifical intelligence. San Francisco: Morgan Kaufmann Publishers, 2007: 2862-2867. http://dl.acm.org/citation.cfm?id=1625736
[4] Barzilay R, McKeown K R, Elhadad M. Information fusion in the context of multi-document summarization[C]//Proceedings of the 37th Annual Meeting of the Association for Computational Linguistics on Computational Linguistics. Stroudsburg: The Association for Computational Linguistics, 1999: 550-557.
[5] 李蕾, 钟义信, 郭祥昊. 面向特定领域的理解型中文自动文摘系统[J]. 计算机研究与发展, 2000(4): 493–497.
Li Lei, Zhong Yixin, Guo Xianghao. An understanding-based Chinese automatic abstract system in special field[J]. Journal of Computer Research and Development, 2000(4): 493–497.
[6] Rush A M, Chopra S, Weston J. A neural attention model for abstractive sentence summarization[C]//Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing. Lisbon: The Association for Computational Linguistics, 2015: 379-389. http://www.oalib.com/paper/4051215
[7] Firat O, Cho K, Bengio Y. Multi-way, multilingual neural machine translation with a shared attention mechanism[C]//Conference of the North American Chapter of the Association for Computational Linguistics. San Diego: Human Language Technologies, 2016: 866-875.
[8] Luong M T, Pham H, Manning C D. Effective approaches to attention-based neural machine translation[C]//Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing. Lisbon: ACL, 2015: 1412-1421. http://www.oalib.com/paper/4050204
[9] Sutskever I, Vinyals O, Le Q V. Sequence to sequence learning with neural networks[C]//Advances in Neural Information Processing Systems. Montreal: Curran Associates, 2014: 3104-3112.
[10] Bahdanau D, Cho K, Bengio Y. Neural machine translation by jointly learning to align and translate[C]//Proceedings of the 3rd International Conference on Learning Representations. San Diego: arXiv Press, 2015: 1409. 0473V7. http://www.oalib.com/paper/4068727
[11] He R, McAuley J. Ups and downs: modeling the visual evolution of fashion trends with one-class collaborative filtering[C]//International World Wide Web Conferences Steering Committee. Proceedings of the 25th International Conference on World Wide Web. Republic and Canton of Geneva, Switzerland: International World Wide Web Conferences Steering Committee, 2016: 507-517.
[12] Chin-Yew Lin. Rouge: a package for automatic evaluation of summaries[C]//Proceedings of the ACL-04 Workshop. Barcelona: Association for Computational Linguistics, 2004: 74-81. http://www.jstor.org/stable/3105454
[13] Clarke J, Lapata M. Global inference for sentence compression:an integer linear programming approach[J]. Journal of Artificial Intelligence Research, 2008, 31(1): 399–429.