APP下载

通过N-gram增强局部上下文视野感知的中文生成式摘要

2022-09-28尹宝生安鹏飞

中文信息学报 2022年8期
关键词:基线视野语义

尹宝生,安鹏飞

(沈阳航空航天大学 人机智能研究中心,辽宁 沈阳 110136)

0 引言

文本摘要系统的作用是在理解文档内容的前提下将其压缩为较短的版本,同时保留大部分含义。其中,抽取式摘要是通过识别并连接最具代表性的句子作为摘要,相比之下,生成式摘要具有更大的潜力,它在理解文档内容的前提下通过转述或引入新的词来生成摘要。本文着重研究生成式摘要。

然而,生成式摘要仍是一项具有挑战性的任务,具体有以下两个方面原因: ①摘要生成的关键内容源于输入文本,但其在源文本中的分布非常复杂,这要求模型必须具备良好的文本理解能力;②生成式方法需要模型具备复杂的语法知识和语言整合能力,生成符合有基本语法常识的概括性表达。为了应对这些挑战,先前的研究大量使用序列到序列的神经网络[1-8],并取得了令人鼓舞的成果。尤其是把使用大规模数据集构建的预训练模型作为特征提取器的模型BertSum[9]。在多年的研究历程中,从以循环神经网络(RNN)为基本架构的模型到以Transformer[10]为核心的模型把生成式摘要任务推到了一个新的阶段。然而,这些研究往往都是以隐式的方式对上下文信息进行建模: RNN具有局部序列强相关性建模的特点,善于对文本局部序列或短文本序列进行建模;Transformer从全局的角度出发,对所有token之间的关系建模,并通过前馈神经网络对其进行加工整合;预训练模型通过大规模语料学习到更多的背景知识,帮助模型对上下文表征进行精确建模。其中,先前研究提出各种方法以有效提取上下文特征,帮助摘要生成。然而,作为中文文本特有的属性N-gram,在摘要生成任务中被关注较少。

先知网络[11]认为这些端到端的模型通常使用 Teacher-Forcing 的方法训练,这种方式可能会让模型偏向于依赖最近的token,而非通过捕捉长依赖的信息去预测下一个token,最终可能导致模型对局部token序列过拟合学习,而对全局的一致性和长依赖欠拟合。受此方面研究的启发,本文认为视野增强,特别是来自上下文N-gram语义方面的局域信息是缓解这一问题潜在且有希望的解决方案。因此,本文提出了一个增强的序列到序列模型的神经框架NgramSum,其结构如图1所示。

图1 NgramSum摘要框架结构示意图

NgramSum通过将N-gram信息(由语料库内部提取构建)显式融入现有端到端网络的方式提高模型对源文本序列表征的建模能力。本文设计额外的局部上下文视野感知增强模块(Contextual Visual Perception Augmentation,CVPA)建模N-gram语义特征,并将其融入每个token的编码特征之中。此外,在融合的过程中本文还采用了门控机制,通过该机制权衡上下文编码模块和视野感知增强模块的贡献。同时,为了验证该框架的鲁棒性,本文进一步探索了各种不同N-gram度量方法在NgramSum中的表现。实验表明,该框架还可以适用于其他相关信息的融入,且具有一定的领域适应性。

本文将NgramSum应用于当前的主流模型并进行了比较。与基线模型相比,ROUGE-1、ROUGE-2、ROUGE-L分别平均提高了2.76,3.25,3.10个百分点。无论是基于本地资源还是具有丰富先验知识的预训练模型的神经模型均有显著效果。

1 相关工作

由于生成式摘要研究具有挑战性,过去大部分研究工作都是抽取式[12-14]。随着神经模型的发展,尤其是RNN(LSTM[15],GRU[16]),Transformer等基础结构的提出,极大地推进了包括文本摘要在内的各项NLP任务,如机器翻译[10,17-18]、句子分类[19-20]等。目前,特别是生成式摘要的研究,大部分采用序列到序列的神经架构,一般分为基于RNN和Transformer两种方法。

(1) 基于RNN的摘要生成方法

2014年,Sutskever等人[18]基于RNN的序列到序列模型是生成任务成功的开端,其中RNN既能读取文本又能自由生成文本,使得生成摘要具有可行性[1-4];Gu等人[5]结合抽取式和生成式摘要的优点,提出了复制机制,即定位输入句子中的某一段,并将该段放入输出序列的机制;See等人[6]提出指针生成器网络(PGN)并将coverage机制[21]用到了摘要生成上,追踪历史注意力权重以防止重复注意;候等人[22]基于LSTM的序列到序列模型并提出了联合注意力机制,利用源文本和先前解码的注意力信息提高摘要系统的表现;候等人[23]在其先前研究的基础上提出了融入主题关键词信息的摘要模型,用HanLP抽取文章关键词,然后通过注意力机制将其输入到解码端帮助解码;魏等人[24]提出基于文本结构信息的编码器,使用图卷积神经网络对文本进行编码,并提出了一种规范融合层,同时使用多头注意力机制的解码器进行解码。

(2) 基于Transformer的摘要生成方法

各种基于Transformer的模型在摘要生成任务中大放异彩,尤其是配备了预训练模型的摘要系统。Liu和Lapata提出了以BERT[18]作为编码器的生成式和抽取式摘要系统BertSum[9];Wang等人[7]基于Transformer结构提出了一个主题助手,在不破坏原始结构的基础上,用主题助手将全局语义信息融入Transformer的各个部分;Wang等人[8]提出了一个用于文本摘要的可解释内容选择模块,能够根据信息性、新颖性和与最终摘要相关性的明确和量化度量来提取适当内容以生成所需摘要;先知网络[11]、MASS[25]、UniLM[26]、T5[27]和BART[28]对摘要在内的下游任务进行微调,均取得了优越的性能。

2 提出的框架

用于生成式摘要的神经方法把任务概念化为序列到序列的问题,其中输入序列映射为X=x1,x2,…,xn,N个序列表征基本单元,输出为Y=y1,y2,…,ym,M(M

该框架以序列到序列模型为主干,在编码端和解码端之间增加了一个CVPA模块和一个门模块,分别对从本地语料库中提取的N-gram信息进行编码和聚合。首先,对于输入句子中的每个token,提取句子中该token上下文场景下1个或多个N-gram作为该token的N-gram输入。图2(a)展示了采用jieba分词的方式提取N-gram作为CVPA模块的输入,图2(b)展示了使用常规N-gram度量进行提取的示例,图2(c)展示了使用AV(accessor variety[29])方法进行提取的示例;然后,CVPA模块使用注意力机制对所提取的N-gram所携带的语义信息进行加权;最后,利用加权的语义信息通过门模块增强主干模型。

图2 N-gram提取结果示例

下文首先介绍用于局部上下文视野感知增强的编码过程;然后介绍本文提出的门模块如何将上下文视野感知增强信息整合到主干模型中;最后,详细介绍带有上述局部上下文视野感知增强模块和门模块的中文生成式摘要框架。

2.1 局部上下文视野感知增强模块

摘要任务是一项需要在理解整体文档的基础上生成概括性内容的综合任务,因此高质量的文本序列表示对提升模型性能至关重要。基于RNN的模型容易对局部依赖关系建模过拟合,而对远距离上下文建模欠拟合。基于Transformer的模型虽然在训练速度上和全局关系的控制上具有一定的优势,但是由于训练方式和自身网络结构的特性,它们均允许通过其他方式对局部上下文语义关系建模进行增强。因此,本文针对中文生成式摘要任务提出了局部上下文视野感知增强机制,通过上下文相关N-gram增强源文本序列的语义表征,这可以通过中文分词或其他无监督方式获取。

在此过程中,对于每个tokenxi∈X,本文使用不同N-gram度量(如jieba分词(1)https://github.com/fxsjy/jieba)来提取语料中频率为f及以上的k个N-gram,并将其表示为如式(1)所示。

Ci={ci,1,ci,2,…,ci,j,…,ci,k}

(1)

之后,使用另一个嵌入矩阵将所有提取的N-gram ci,j映射到其对应的词嵌入(embedding)ei,j。当存在Ci中N-gram数量大于1时,由于不同的ci,j∈Ci对特定语境上下文视野感知的帮助幅度是不同的,因此区分不同粒度N-gram对该语境中摘要生成任务的贡献非常重要。考虑到基于注意力和权重的方法是许多任务的有效选择[30-32],本文提出了一个注意力局部上下文视野感知增强模块,以根据N-gram在不同上下文中对摘要生成任务的贡献来加权N-gram表征。具体来说,对于每个输入基本单元xi, CVPA模块为每个N-gramci,j∈Ci分配权重,如式(2)所示。

(2)

其中,hi是由上下文编码器得到xi的隐藏向量表征,并且其维度和词嵌入ci,j(即ei,j)一致。然后,利用权重pi,j对ci,j进行加权求和,以计算最终的局部上下文视野感知语义表示,即:

(3)

2.2 门模块

观察发现,所获得的局部上下文语义感知信息在不同语境中对摘要生成的贡献可能有所不同,自然需要一个门模块(表示为GA)对来自不同语境中的这些信息进行加权。因此,为了提高摘要生成系统使用语义感知信息的能力,本文提出了一个门模块,将这些信息汇总到主干摘要模型中。特别是,本文使用了一个重置门(reset gate)来控制信息流。

g=σ(W1·hi+W2·i+bg)

(4)

其中,W1和W2是可训练的矩阵,bg是对应的偏差值项。之后,使用

ui=[g∘hi]⊕[(I-g)∘i]

(5)

去权衡上下文编码模块和CVPA模块的信息流,ui是门模块的派生输出;“∘”表示逐元素的乘法运算,“⊕”表示向量拼接,“I”是一个1向量,其所有元素都等于1。

2.3 带有局部上下文视野感知增强模块和门模块的生成式摘要框架

本文分别使用了LSTM、Transformer、预训练BERT作为上下文编码器,以便于向CVPA模块提供hi,输入文本的编码过程可以表示为,如式(6)所示。

H=Encoder(E)

(6)

其中,H=[h1,h2,…,hn]和E=[e1,e2,…,en]分别是隐藏向量和x的embedding向量表征列表。

(7)

(8)

其中,Wc和bc是可训练的参数。

3 实验

3.1 数据集

本文的实验使用了NLPCC 2017中文单文档摘要评测任务基准数据集[33]。该数据集从中国新闻媒体平台(今日头条)构建而来,共有50 000条文本-摘要对。遵循侯等人[23]的划分方法,将其中49 500条数据用作训练和验证,500条用作测试,测试集从所有数据中随机抽取获得,详情如表1所示。

表1 数据集统计信息

3.2 实现细节

本文使用PyTorch[34]实现了NgramSum,并分别尝试LSTM+Attention、PGN、Transformer、BertSum(2)LSTM+Attention、PGN代码来源于https://github.com/atulkum/pointer_summarizer;BertSum的代码来源于https://github.com/nlpyang/PreSumm;预训练模型BERT的版本为“bert-base-chinese”,来自https://huggingface.co/bert-base-chinese。作为NgramSum的编码和解码主干网络。对于LSTM+Attention和PGN,本文在编码模块使用了单层双向LSTM,解码模块使用了单层单向LSTM,对于基于LSTM的模型,遵循PGN使用了Bahdanau等人[35]所提出的注意力机制。为了与BertSum匹配,在局部上下文视野感知增强模块的向量维度设置为768,其余的模型词嵌入层和隐藏层均设置为512维。将词汇表大小设置为4 000,它涵盖了大部分常见字符。所有的模型在解码时都使用beam search方法,其中beam size均设置为10,允许生成的摘要文本在15到100个字符之间(3)100的上限几乎是达不到的,beam search算法会自动停止。。在CVPA模块中,随机初始化N-gram的嵌入向量,以表示这些N-gram所携带的语义信息。

所有模型在训练过程中,均使用Adam[36]优化负对数似然损失函数,其中β1为0.9,β2为0.999,并在训练集上验证损失最低模型保存节点。不同模型的训练参数设置详情在附录A中可以找到。

此外,我们观测到语料中存在明显噪声(如“图片显示{!-- PGC_VIDEO:…}”,“您的浏览器不支持video标签”),本文仅对训练集进行了清洗(4)https://github.com/HelloGithub233/NgramSum。对于BertSum,本文在训练和测试的过程中将输入源文本序列截断为510(在开始和结束位置添加[CLS],[SEP]),其他所有模型进行截断500处理,具体细节将在附录B中详细介绍。

3.3 摘要质量评估方法

本文使用ROUGE(Recall-Oriented Understudy for Gisting Evaluation)[37]分数评估生成摘要的质量,使用生成摘要和参考摘要之间的unigram,bigram及最长公共子序列的共现度(即ROUGE-1,ROUGE-2,ROUGE-L)来作为不同模型的评估度量。使用Python包pyrouge-0.3.1获取ROUGE评分(5)使用的参数是: “-c 95 -m -n 2 -r 1000 -a”。

4 结果与分析

在本节中,首先报告了在NLPCC2017摘要数据集上具有不同配置的NgramSum及基线的结果;其次分析了NgramSum中CVPA和GA的有效性;之后测试了使用不同N-gram度量效果;最后,探索了不同粒度N-gram对摘要生成的影响,以及不同模型摘要生成结果的案例分析。

4.1 在基准数据集上的结果

为了说明NgramSum的有效性,本文在NLPCC 2017摘要评测任务基准数据集上使用上述基线模型进行了实验。表2给出了该数据集下的ROUGE评分,“√”表示使用NS(NgramSum),“×”表示没有使用,这里的f均为10,k均为1,即如图2(a)所示。第一组中lead表示取源文本前60个字符作为摘要。第二组中基线模型是基础的LSTM+Attention和Transformer以及在这两种模型上的改进模型PNG和BertSum,其中PGN-cov表示不使用coverage机制。首先,总体上看,基于Transformer的模型性能优于基于LSTM的模型。第二,尽管BertSum与Transformer采用完全相同的结构,但是使用在大规模数据集上预训练的BERT作为编码器,取得了更高的分数。BertSum的表现表明,BERT作为编码器,Transformer作为解码器的组合是一种更好的序列到序列模型结构。第三,应用NgramSum框架的BertSum模型表现优于其基线,进一步表明即使是在使用大规模语料进行预训练的BERT作为编码器的模型上,该框架仍然可以增强局部上下文视野感知建模能力。总之,实验结果不仅证实了N-gram信息是一种简单而有效的知识来源,可以帮助摘要生成而无须太多的外部资源支持,而且还充分说明了本文的框架可有效地整合这类知识。

表2 对比实验结果

4.2 CVPA和GA的有效性

为了探究NgramSum中CVPA模块和GA模块的有效性,本文在使用和没有使用这些模块的情况下对基于LSTM+Attention(a)和Transformer(b)的模型进行不同的设置。表3报告了基线和本文框架在测试集上的实验结果。

表3 有无CVPA和GA的实验结果

在实验结果中可以观察到: 首先,与基线(ID=1)相比,使用直接拼接的方式(ID=2)合并不同N-gram信息的模型也能够增强性能。特别是,使用所提出框架NgramSum(ID=3)的模型始终优于基线(ID=1和ID=2)。结果表明,CVPA所建模的不同N-gram所携带的不同上下文语义信息在特定语境下对基线模型是有突出贡献的,利用局部上下文增强信息可以提高摘要生成系统的性能。其次,通过比较有无门模块(GA)模型(即ID=3 vs. ID=2)的结果,本文发现有门模块的模型比没有门模块的模型具有更好的性能。这一观察结果表明,来自上下文编码器和CVPA模块的信息的重要性是不同的,并且所提出的门模块能够有效地根据其贡献来调整权重。

4.3 不同N-gram度量的表现

在本研究中,CVPA模块中的C只是一个N-gram库,从技术上讲,它可以通过许多现有资源或自动方法来构建,与使用来自常规N-gram构建的词典相比,假设为了将N-gram信息纳入一般摘要生成模型,无监督N-gram度量可能是一种潜在的N-gram信息获取方法。为了分析NgramSum对于不同N-gram度量的鲁棒性,本文以Transformer模型为基线测试了其他三种无监督N-gram度量: accessor variety(AV)[29]、pointwise mutual information(PMI)[38]、description length gain(DLG)[39]。实验表明,三种N-gram的提取方法在以Transformer为基线的NgramSum上性能均有显著提升,具体实验结果如表4所示。

表4 不同N-gram度量的实验结果

4.4 不同粒度N-gram对摘要生成的影响

为了分析不同粒度N-gram对摘要生成的影响,本文以Transformer为基线测试了1到5常规N-gram度量[如图2(b)所示]在NgramSum中的表现。其中,构建不同粒度N-gram词典时频率均设置为50,实验结果如表5所示。从实验结果中可以观察到以下几个方面: 首先,粒度为1和5的N-gram信息具有负面作用,其主要原因是1-gram融入源序列表征的信息仅包含单个字符,缩小了token的语义感知范围,而5-gram中包含的正确上下文语义信息较少;其次,2-gram、3-gram、4-gram在ROUGE-2和ROUGE-L得分上优于基线,这是因为词典中包含了较为丰富的正确N-gram信息(如“西昌”“在西昌”“西昌卫星”等),ROUGE-1得分低于基线,这可能是未包含1-gram信息,对于单个字词未能帮助其获取合理的语义信息。最后,总体可以得出以下结论: 源token的语义感知范围受单一粒度N-gram限制时容易被过量的噪声信息干扰,而在使用更广范围的N-gram(1+2+3+4+5)

表5 NS中不同粒度N-gram的实验结果

词典时,因其包含更加全面的N-gram信息表现出了优于单一粒度词典的性能。这一观察结果表明,CVPA模块中注意力机制能够正确地对不同粒度N-gram信息的贡献进行合理权值分配。

4.5 案例分析

表6提供了不同模型基线和NgramSum的生成结果。其中,特别标识了NS(NgramSum)相对于基线所生成摘要的不同。从生成结果中可以得出几个观察结果: 首先,整体表明NgramSum(即具有CVPA和GA模块的模型)在所有的5对生成结果中都优于其基线(即没有CVPA和GA模块的模型);第二,所提出的CVPA和GA模块可以和不同的序列到序列模型兼容,其中还有一些显著改进,如标识部分所示。特别是,相对于Transformer和BertSum,NgramSum可以生成更多对源文档关键性内容高度概括的N-gram(下划横线标识部分);第三,所有的基线模型和NgramSum未能处理“A 1-6不敌B”到“B 6-1胜A”这种更加高级的句法转换表达。该问题可能需要数据增强或其他方法来解决;第四,类似“晋级16强”这种在源文本中没有出现而出现在摘要中的片段,NgramSum(具有CVPA和GA模块的BertSum)可以正确生成,进一步表明即使是在具有丰富先验知识BERT作为编码器的模型,仍可以通过NgramSum框架获得进一步的提升。

表6 不同模型生成摘要结果示例

5 结论

本文提出了一种基于序列到序列模型的神经框架NgramSum。通过上下文N-gram增强主流模型局部上下文视野感知建模能力,进而提高摘要生成系统的表现;提出了一个局部上下文视野感知增强模块来编码N-gram信息,并使用门机制将此类信息聚合到编码token向量表征的过程。在中文摘要数据集上的实验结果表明,NgramSum有效利用了特定语境下的token上下文N-gram语义信息,提高了基于LSTM、Transformer、预训练模型三种不同层次序列到序列模型的性能,并通过进一步的实验证明了NgramSum在不同N-gram度量下的鲁棒性。

猜你喜欢

基线视野语义
基于深度约束的超短基线声速改正方法
真实场景水下语义分割方法及数据集
高度角对GNSS多系统组合短基线RTK影响
WSL下基于GAMIT的高精度GPS/BDS基线解算及精度分析
GAMIT用于GNSS长基线解算分析
视野
汉语依凭介词的语义范畴
真相
视野
品牌视野