(华东理工大学信息科学与工程学院,上海 200237)
互联网上的信息量正以指数级的速度增长,如何从海量的文本信息中准确、快速地获取有用信息,是当今人们最迫切的需求[1]。文本自动摘要技术对给定源文本信息进行概括与总结,并产生简洁、流畅且保留关键信息的短文本,这不仅可以缓解搜索引擎检索导致的冗余问题,而且可以有效解决信息过载的缺陷[2]。
文本自动摘要可分为抽取式方法(Extractive)和生成式方法(Abstractive)。抽取式方法抽取源文本关键句组成摘要,如TextRank 算法[3]将句子作为节点,用相邻边的权重大小表示节点的语义相似度,选取得分最高的k个节点作为摘要。生成式方法是近年来流行的方法,在理解原文的基础上,逐词生成摘要,可得到语义更精确的摘要,通常可用机器学习或深度学习实现,如基于注意力机制的序列到序列(sequence to sequence,seq2seq)模型[4]、利用卷积神经网络(Convolutional Neural Network,CNN)对源文本编解码,并引入注意力机制,在DUC数据集上取得了不错的效果。
目前,研究者们深入研究了自动文本摘要领域,提出了许多新颖的模型。Sharma 等[5]提出实体驱动的生成式摘要模型(System for ENtity-drivEn Coherent Abstractive summarization model,SENECA),利用实体信息产生包含有用信息的连贯摘要。Zhang 等[6]提出通过抽取空缺句的预训练生成式摘要模型(Pre-training with Extracted GAp-Sentences for abstractive Summarization model,PEGASUS),利用新的预训练目标(Gap Sentences Generation,GSG)用于摘要总结、空缺句子生成,在所有12 个下游数据集上都达到了最先进的性能。Saito 等[7]提出具有重要标记的条件摘要模型(Conditional summarization model with Important Tokens,CIT),该模型将显著性模型提取的标记序列显式地提供给seq2seq 模型作为附加输入文本。
然而,针对长文本的自动摘要,若采用生成式方法,解码时间较长,摘要不准确,其原因是过长的源文本导致编码器不能准确提取输入文本的语义信息,且生成过程缺少关键信息的指导。如文献[8]的生成式摘要方法采用强化学习框架,输入整篇文档,生成的摘要不反映文章核心内容,摘要无法达到与源文本内容等价的效果。若采用抽取式方法,抽取原文中整句作为摘要,其包含较多非摘要内容,得到的摘要信息冗长、不够精简且摘要句间不连贯。
针对上述问题,长文本自动摘要可先抽取源文本关键句,再用生成式方法重写摘要,以解决摘要的冗余与连贯问题。生成式方法依靠抽取的结果,因此抽取结果的好坏直接影响最后摘要的质量。如果抽取得不好,甚至抽取错误将导致摘要不准确、偏离文章中心。对于该问题,本文提出了面向长文本的基于优势演员-评论家算法[9]的强化自动摘要模型(Reinforced Automatic Summarization model based on Advantage Actor-Critic algorithm,A2C-RLAS),在强化学习框架下用A2C 算法的多次迭代来改进抽取过程,其中用BERTScore(evaluating text generation with Bidirectional Encoder Representations from Transformers)[10]得分较好地评价重写摘要和参考摘要的语义相似性,反馈抽取质量的改善效果。在CNN/Daily Mail[11]数据集上的实验结果表明,与基于强化学习的抽取式摘要(Reinforcement learning-based extractive summarization,Refresh)模型、基于循环神经网络的抽取式摘要序列模型(a Recurrent Neural Network based sequence model for extractive Summarization,SummaRuNNer)和分布语义奖励(Distributional Semantics Reward,DSR)模型等相比,A2CRLAS 模型在ROUGE(Recall-Oriented Understudy for Gisting Evaluation)[12]和BERTScore 指标上均有提升,其中相较于Refresh 模型和SummaRuNNer 模型,A2C-RLAS 模型的ROUGE-L 值分别提高了6.3%和10.2%;相较于DSR 模型,A2C-RLAS 模型的F1值提高了30.5%。本文模型摘要语义也更加丰富、语言也更加简洁流畅。
在长文本自动摘要中,已有的抽取式方法抽取原文句子组成摘要,摘要的长度往往是参考摘要长度的几倍,例如基于encoder-decoder 的抽取式模型Refresh[13]对数据集CNN/Daily Mail 中测试集样本进行抽取,结果如表1,参考摘要往往比抽取摘要短,平均每句参考摘要13.5 个词,平均每句抽取摘要27.8 个词,平均抽取摘要句的长度是平均参考摘要句长度的2 倍多,表明直接抽取整句作为摘要的方法将导致摘要信息冗长、不够精简。
表1 摘要的统计Tab.1 Summary statistics
例1 为该模型抽取的摘要样例,其中抽取摘要包含的关键信息用下划线标出,抽取摘要包含10 个短句,参考摘要仅包含2 个短句,抽取摘要的长度是参考摘要长度的3~4 倍,而且抽取摘要中同一人名重复出现,句间不够连贯。因此摘要不应该仅来自于抽取,要得到精炼、简洁和流畅的摘要需要进一步重写。
例1
参考摘要:ben powers joined the cast of“good times”for its sixth and final season.he played thelma ' s husband keith anderson.
抽取摘要:ben powers joined the cast of“good times”for its sixth and final season from 1978 to 1979 season,playing keith,a professional football player .his character and thelma are wed on the third episode that year,but he injures his leg while walking out of the church,straining their relationship .ben powers,who played thelma's husband keith anderson on the final season of the classic cbs sitcom“good times”,has died .he was 64.
生成式摘要允许摘要中包含新的词语或短语,灵活性高、更连贯,但是在面临长文本摘要时,输入整篇文档影响了生成过程,导致解码缓慢,通常会出现关键信息丢失、摘要不准确的问题。如文献[8]采用生成式方法,提出分布语义奖励(Distributional Semantics Reward,DSR)模型,实验结果表明,输入是整篇长文档时,输出摘要无法涵盖输入长文本中的全部关键信息。但生成式摘要对短文本生成效果好,可以生成准确流畅的摘要。例2 为DSR 模型生成的摘要样例,模型生成摘要与参考摘要几乎一致,且摘要准确流畅、可读性强。因此对于长文本,通过重写原文关键句,不仅可以保留原文中最重要的信息,而且可达到更加简洁流畅的摘要目标。
例2
源文本:european finance ministers on saturday urged swedes to vote“yes”to adopting the euro,saying entry into the currency bloc would be good for sweden and the rest of europe.
参考摘要:european finance ministers urge swedes to vote yes to euro
生成摘要:eu finance ministers urge swedes to vote yes to euro
在摘要生成过程中,关键句经重写后得到摘要,重点在于如何抽取出关键句,抽取结果影响生成的摘要质量,抽取出非关键句将导致摘要无法概括文章核心内容。如文献[14]通过抽取任务中估计的显著性来约束生成任务中学习的注意力,以增强它们的一致性,重新生成后减少了抽取式摘要包含的冗余信息,但没有多次迭代的过程,导致抽取出非关键句,以至于摘要没有准确把握原文核心思想。可以采用强化学习来解决,通过A2C算法多次迭代改进抽取过程,使抽取器获得更准确的句子用于重写。
在强化学习框架下,本文提出面向长文本的基于A2C 算法的强化自动摘要模型(A2C-RLAS),如图1 所示。基于抽取器(extractor)和重写器(rewriter)过程得到新的摘要,作为A2C算法的actor,critic基于actor抽取关键句的行为评判该行为的得分,评价器(evaluator)通过BERTScore值评价重写摘要与参考摘要的语义相似性,作为奖励,actor 则根据critic 的评分修改选行为的概率,最终改进抽取过程。
图1 A2C-RLAS模型Fig.1 A2C-RLAS model
抽取器基于encoder-decoder框架,如图2所示。分层文档编码器读取输入序列并生成结合全局上下文语义信息的句向量;解码器结合指针机制获取原文中每个句子被抽取的概率,同时抽取出若干关键句,组成短文本。
图2 抽取器模型Fig.2 Extractor model
2.1.1 分层文档编码器
由于抽取器要抽取源文本整句,因此模型输入需要句向量表示源文本中的每一个句子。采用文献[15]提出的时间卷积模型得到源文本中每个句子的句向量。具体地,对于源文本中每一个句子,由句中每个词的词向量得到句子矩阵,通过卷积、非线性激活和最大池化操作,卷积网络输出第i个句子的句向量ri。
为了进一步整合文档的全局上下文信息并捕捉句子间长期语义依赖,将句向量ri送入双向长短期记忆(Long Short-Term Memory,LSTM)网络[16]进行训练,生成包含上下文语义信息的句向量hi,进而使用hi来表示源文本中第i个句子。
2.1.2 解码器
得到句向量hi后,使用基于LSTM 的指针网络[17]作为解码器,进行关键句的选择。对于每个抽取时间步t,源文本中每个句子被抽取的概率是:
其中et是指针网络在抽取时间步t时的输出,具体如下:
其中:zt是单层LSTM 的输出,W和v均为可学习参数。抽取模型可看作一个二分类问题,即对源文本中每个句子分为摘要句和非摘要句。
为得到简短、流畅的摘要,抽取器提取出关键句构成短文本后,重写器对短文本进行生成式改写。重写器采用标准的基于注意力机制的encoder-decoder 模型[18],输入短文本x={x1,x2,…,xM},输出摘要序列y={y1,y2,…,yN}。为考虑当前词的上下文状态,编码器采用双向长短期记忆网络(Bidirectional Long Short-Term Memory network,Bi-LSTM)。引入注意力机制,使解码时可以选择性地读取编码后的语义向量的信息。
针对未登录词(Out-Of-Vocabulary,OOV)问题,采用拷贝机制[19]解决。在解码端设置指针开关,指针开关为拷贝模式P,则复制原文单词;指针开关为生成模式G,则从词表生成一个新词。其模型结构如图3所示。
图3 重写器模型Fig.3 Rewriter model
在长文本摘要过程中,需要对抽取过程进行多次迭代,采用强化学习中Advantage Actor-Critic(A2C)算法。相较于REINFORCE 算法[20],A2C 算法增加评论家网络,可解决高方差问题,从而有效地提高抽取的关键句的质量。
由于传统的摘要评价指标ROUGE 只能计算候选摘要与参考摘要之间的n元短语重叠度,无法捕捉摘要的语义关系。而本文方法要重写关键句,显然ROUGE不再适用于重写摘要的评价。因此,采用评价器(evaluator)计算重写摘要和参考摘要的BERTScore 值,作为强化学习中基于语义的奖励,以提高抽取器抽取句子的质量。
2.3.1 基于语义的奖励
BERTScore[10]利用来自BERT(Bidirectional Encoder Representations from Transformers)的预训练上下文嵌入,并通过余弦相似性匹配参考摘要和候选摘要中的单词,被定义为:
其中:M和表示参考摘要中词m和候选摘要中词来自BERT的上下文词嵌入;函数idf(⋅)用于计算逆文档频率。
2.3.2 A2C算法
采用强化学习A2C(Advantage Actor-Critic)算法,actor 是指策略函数πθ(s,a)。在每一个抽取时间步t,抽取网络的当前状态是已抽取出的关键句di的集合,actor 通过观察当前状态ct=根据策略πθ(s,a)采样一个动作it~πθ(ct,i),从原文D中抽取下一个句子di,critic 网络评价当前重写后摘要句与参考摘要bt对应句子的BERTScore值作为奖励:
而一次摘要过程为一个回合,对满足策略πθ(s,a)的实际采样行为的评价通过反算、折扣后可得到整个摘要的总回报Rt:
其中:N表示抽取的关键句数目;γ是折扣因子,为一个常数。
Rt作为动作值函数的估计,A2C算法选取仅基于状态的状态值函数作为基准(baseline)函数,得到Advantage函数:
Advantage 函数记录了在状态ct时采取行为it会比在状态ct多出的价值,这与策略改善的目标是一致的,策略目标函数梯度可表示为:
由Advantage 函数得到的策略梯度有正有负,为正时鼓励抽取该句子,为负时不会鼓励抽取该句子。
此时,actor的损失函数为:
而critic 可以直接使用均方误差MSE 作为损失函数。在每步更新中,策略函数的参数θ更新如下:
实验评估使用CNN/Daily Mail 数据集[11],由美国有线新闻网(Cable News Network,CNN)和每日邮报网新闻(Daily Mail)组成,如表2。该数据集包含287 227 对训练集、13 368对验证集和11 490 对测试集。本文用训练集来训练模型,保存多个训练效果较好的模型用验证集来挑选出最优模型,在测试集上测试得出最终结果。
表2 CNN/Daily Mail数据集Tab.2 CNN/Daily Mail dataset
自动摘要评价采用通用的摘要评测准则ROUGE[12]。ROUGE 指标计算参考摘要与候选摘要之间的N元短语重叠度来衡量摘要的质量。ROUGE 评价指标主要由ROUGE-N(N可取1、2、3等)和ROUGE-L组成。
本文采用ROUGE-1(unigram)和ROUGE-2(bigram)以衡量摘要信息的丰富性,ROUGE-L 代表参考摘要和候选摘要的最长公共子序列,用于衡量摘要内容的流畅性。
对于所有的实验,基于word2vec[21]训练词向量,词向量的维数为128,LSTM 的隐藏单元向量维数为256,单词表使用30 000个单词。在训练阶段使用Adam优化器[22]训练模型,学习速率设置为0.001,动量参数设置为β1=0.9,β2=0.999 和ε=10-8,折扣因子设置为0.95,batch-size 设置为32,解码时使用Beam大小为5的集束搜索(Beam search)。
为验证A2C-RLAS 方法生成摘要的性能,选取目前表现良好的抽取式模型和生成式模型进行对比验证。各对比模型的详情如下:
1)Lead-3:直接抽取源文本的前三句组成文章摘要。
2)SUMO(Structured sUmmarization MOdel)[23]:将抽取式文本摘要看作树归纳问题,利用结构化注意(structured attention),基于迭代结构改进方法来学习文本表示。
3)Refresh[13]:将单文档摘要问题抽象为句子排序任务,提出一种通过强化学习对ROUGE 评价标准进行全局优化的抽取式文本自动摘要模型。
4)Pointer-generator+coverage[24]:基于encoder-decoder 框架,通过指针从原文复制单词以解决OOV 问题,并引入coverage机制,避免生成重复。
5)SummaRuNNer[25]:基于门控循环单元-循环神经网络(Gate Recurrent Unit-Recurrent Neural Network,GRU-RNN)的抽取式模型,提出了一个新颖的生成式训练机制,可以不需要在训练阶段引入抽取式标签。
6)BERT-ext+abs[26]:将BERT 预训练方法应用于解决文本自动摘要问题,提出一种两阶段自动摘要模型。
采用传统的评测准则ROUGE 评价对比实验结果,如表3,分为抽取式模型、生成式模型和本文模型三组,指标最高的分数用加粗数字标出。由表3 可以看出,本文模型在ROUGE-1 和ROUGE-L 评分上是所有模型中最好的,表明本文模型的整体表现最好。相较于抽取式模型SUMO,本文模型在ROUGE-1 和ROUGE-L 指标上分别提高了0.33 和1.69个百分点;相较于生成式模型Pointer-generator+coverage,本文模型在ROUGE-1、ROUGE-2 和ROUGE-L 指标上分别提高了1.80、0.93 和2.51 个百分点,表明本文模型抽取出的关键句内容更加全面。与BERT-ext+abs 模型相比,本文模型在ROUGE-1、ROUGE-2、ROUGE-L 指标上分别提升了1.19、0.34 和1.06 个百分点,表明基于强化学习的A2C-RLAS 模型摘要的信息性和流畅性更好。但在ROUGE-2 评分上A2CRLAS 没有达到最高水平,相较于SUMO 模型差了0.19 个百分点。R-AVG 评分是ROUGE-1、ROUGE-2 和ROUGE-L 的平均值,本文模型的R-AVG 评分是32.81,取得了相较于基线模型的最好效果。综合上述对比实验可知,本文模型性能取得了一定的提升,达到了最好效果。
表3 不同模型的ROUGE评价指标对比 单位:%Tab.3 Comparison of ROUGE evaluation indicator of different models unit:%
不采用传统的评测准则ROUGE,增加以BERTScore 为评测指标的对比实验,结果如表4,指标最高的分数用加粗数字标出。文献[8]在以交叉熵损失(cross-ENTropy loss,XENT)训练模型和以ROUGE作为奖励训练模型的基础上,提出DSR模型,引入分布式语义奖励,生成语义正确的短语。文献[27]在指针生成(Pointer-Generator,PG)网络和基于覆盖机制的指针生成网络(Pointer-Generator network with the coverage mechanism,PG+Cov.)的基础上,引入新的注意力机制,提出基于递减注意力机制的指针生成模型(Pointer-Generator model with the diminishing attention mechanism,PG+DimAttn),利用子模块函数的特性提高神经抽象摘要的覆盖率。
在精确率Precision、召回率Recall和F1值上,本文模型超过了各对比实验模型。相较于DSR 模型,本文模型在Precision(P)、Recall(R)和F1 值(F1)上分别提高了20.46、19.94 和20.39 个百分点,在ROUGE-L 指标上提高了7.93 个百分点。与PG+DimAttn 模型相比,本文模型的F1 值提高了0.05 个百分点,在ROUGE-L 指标上提高了1.95 个百分点。综合ROUGE 指标和BERTScore 指标结果表明,基于语义的奖励方法能够提高摘要语义信息,摘要信息性和流畅性也得到进一步提升。
表4 不同模型的BERTScore和ROUGE-L评价指标对比 单位:%Tab.4 Comparison of BERTScore and ROUGE-L evaluation indicators of different models unit:%
本节对A2C-RLAS 模型中的重写器(rewriter)和强化学习(RL)进行消融分析,结果如表5所示,指标最高的分数用加粗数字标出。在ROUGE-1、ROUGE-2和ROUGE-L指标上,A2CRLAS 相较于A2C-RLAS(no RL)分别提高了2.95、2.09 和2.85 个百分点,相较于A2C-RLAS(no rewriter)分别提高了0.16、0.05 和1.13 个百分点,相较于A2C-RLAS(no RL,no rewriter)分别提高了1.16、0.10 和2.48 个百分点。在BERTScore 的Precision、Recall 和F1 值指标上,A2C-RLAS 相较于A2C-RLAS(no RL)分别提高了5.49、5.29和5.39个百分点,相较于A2C-RLAS(no rewriter)分别提高了0.32、0.57 和0.44 个百分点,相较于A2C-RLAS(no RL,no rewriter)分别提高了2.41、1.71和2.07个百分点。
表5 不同模型的ROUGE评价指标对比 单位:%Tab.5 Comparison of ROUGE evaluation indicator of different models unit:%
上述性能提升的原因是不含重写器的模型直接抽取原文关键句组成摘要,而原文整句往往过长,没有重写关键句导致摘要包含过多冗余信息,并且参考摘要往往是重写过的,比较精简,导致计算参考摘要和抽取摘要的精确匹配时ROUGE值较低,相应的BERTScore 值也较低。不含强化学习的模型的抽取过程没有多次迭代,导致抽取出非关键句,经重写后无法与参考摘要相匹配,ROUGE 评分低,此时参考摘要和模型生成摘要的语义相似度也较低。上述实验验证了重写器(rewriter)和强化学习(RL)存在的必要性。
表6展示了本文模型和其他对比模型的摘要样例。从摘要内容可以发现,A2C-RLAS模型摘要更加全面、高度贴近参考摘要,表明该模型经过强化学习的A2C算法多次迭代后,抽取器成功抽取出全部关键句,且关键句经重写后,去除了冗余信息,保留核心内容且简洁流畅。经计算,A2C-RLAS模型在BERTScore的Precision、Recall和F1值的评价指标上有明显优势,表明本文模型摘要语义几乎和参考摘要语义一致,达到了摘要目的。
综合表4、5 和表6 可知,A2C-RLAS 充分发挥了抽取式方法的优势,摘要内容紧扣文章中心;重写器充分发挥了生成式方法的优势,得到精简流畅的摘要,且没有句内重复及OOV词,对原文内容有较好的覆盖,总体表现良好。
表6 不同模型生成的摘要示例Tab.6 Examples of summaries generated by different models
本文提出了面向长文本的基于A2C算法的强化自动摘要模型A2C-RLAS,该模型基于CNN 和RNN 混合神经网络的抽取器从原文中提取出关键信息,指导基于拷贝机制和注意力机制的重写器的重写,使用强化学习连接两个网络,结合基于语义的奖励方式训练整个模型。实验结果表明,A2C-RLAS模型在长文本自动摘要任务中,生成的摘要内容更准确,包含更多原文关键信息,摘要语言更加流畅,且有效避免了生成内容的重复。
此外,本文模型可以考虑进一步改进:首先,词嵌入可以使用预训练模型BERT;然后,为考察生成式摘要的“事实性”,可在模型中融入事实性的知识。最后,可考察本文模型对不同场景下的新数据集的适用性,比如学术论文摘要。