融合上下文信息和关键信息的文本摘要

2022-03-09 11:52李志欣唐素勤马慧芳
中文信息学报 2022年1期
关键词:覆盖率指针编码器

李志欣,彭 智,唐素勤,马慧芳

(1. 广西师范大学 广西多源信息挖掘与安全重点实验室,广西 桂林 541004; 2. 西北师范大学 计算机科学与工程学院,甘肃 兰州 730070)

0 引言

新一代神经网络可以模仿人脑的机制来解释数据特点,从而使得文本摘要得到了长足的发展。特别是Seq2Seq(Sequence-to-Sequence)模型[1-2]的提出解决了文本与摘要间的序列问题,随后又融入了注意力机制的思想[3],其结果要优于之前非神经网络的模型。近年来,更多的技术开始在神经网络的基础上不断出现,从指针网络和覆盖率机制,再到强化学习和生成式对抗网络,以及最新的深度通信代理[4-7],不断的改进使得评价指标的分数不断提升。

现有的模型在训练的时候一般采用“教师强迫”算法[8],并使用交叉熵损失函数。因此,模型在训练和测试之间会存在“暴露偏差”[9],因为训练的时候每个时间步的输入都来自于上一时间步的参考单词。而测试的时候,测试的每一个单词的预测都是基于上一时间步模型自身生成的单词。一旦有一个单词生成得不好,就会导致误差的积累,后面的单词的生成都会产生偏离。同时由于模型使用交叉熵损失函数进行训练,而在测试时,一般使用ROUGE[10]评估指标来评估生成语句的质量。存在训练损失和评估指标不匹配的问题。这种“教师强迫”算法和交叉熵损失只会使得模型生成与参考摘要一模一样模式的摘要,无法像ROUGE评估指标那样灵活地考虑生成式摘要可以通过其他方式排列词汇来产生。

采用自注意机制可以从编码器中获取文本的关键信息并完整地保存下来。但是,因为没有考虑当前预测的词汇的上下文,只关注文本内部信息,会丢失上下文语义信息。在对现有模型的研究中,发现指针网络[4]能很好地再现事实的细节,并且可以通过上下文向量和注意力指针生成更连贯和准确的摘要。为了同时保存上下文语义信息和关键信息,本文提出了一个双注意指针网络架构。此外,本文还对覆盖率机制[4]进行改进,使得对重复问题的判断更加准确。同时,运用强化学习方法来优化模型,解决“暴露偏差”问题及训练损失和评估指标不匹配问题。

1 相关工作

深度学习模型广泛应用于自然语言处理、图像处理[11-12]等多个领域。在生成式摘要中,Rush等人[3]首次在文本摘要的生成中使用现代神经网络,依据Seq2Seq架构[2],在编码部分使用卷积模型,然后利用上下文之间的注意力前馈神经网络生成摘要,在DUC-2004和Gigaword数据集上取得了显著效果。在此基础上,Nallapati等人[13]依据Bahdanau等人[14]在机器翻译中的方法提供了一个Seq2Seq+attention基线模型,并构建了CNN/Daily Mail文本摘要数据集,用来评测多句摘要的任务,为今后大量的相关工作提供了数据保障。随着强化学习的发展,Paulus等人[5]提出了改进的注意力机制和强化学习的训练方法,Pasunuru等人[15]将强化学习方法引入传统Seq2Seq+attention基线模型中,通过多奖励方法,使得模型性能获得大幅提升。

指针网络[16]是Seq2Seq模型的一个变种,没有进行序列的转换,而是产生一系列的指针,指向输入序列元素。指针网络应用于文本摘要中,主要是为了解决稀疏词和未登录词的问题。含有指针网络的模型在生成摘要时,一般会产生两个概率: 一个是已有词表中的生成概率,另一个是指针处的拷贝概率。Gu等人[17]提出的CopyNet模型是把生成概率和拷贝概率直接叠加到一起,Nallapati等人[13]提出的Switching Generator-pointer模型和Gulcehre等人[18]提出的The Pointer Softmax模型则是两个概率彼此独立,没有考虑融合。而See等人[4]提出的Pointer-generator Network模型的做法是用一个网络来学习这两个概率之间的权重,加权和的概率产生了更好的生成式摘要,模型当年在CNN/Daily Mail数据集上取得了最优越的结果。

最早用于文本摘要中的覆盖率机制,来自于处理机器翻译中的遗漏翻译(under-translation)和过度翻译(over-translation)问题[19-21],主要分为两种方法: 一种为覆盖模型,一种为覆盖惩罚。前者通过覆盖向量引导注意力模型尽量关注未被翻译的词,后者作为一种重排位方法,作用于解码束搜索过程中,来选择重复少的摘要。See等人[4]在Tu等人[21]的覆盖模型基础上进行改进,通过设置一个覆盖向量来处理文本摘要中的重复问题。覆盖向量的值是过去所有预测步计算的注意力分布的累加和,记录着模型已经关注过原文的哪些词。同时利用损失函数来对已重复的注意力进行惩罚,来达到消减重复的目的。

2 模型

本文在Seq2Seq+attention模型的基础上进行改进,提出一种基于双注意指针网络的文本自动摘要模型(dual-attention pointer network,DAPT),如图1所示。DAPT在网络中构造了一个用来处理输入文本的双向LSTM编码器、一个自注意机制、一个软注意机制、一个指针结构和一个用来输出摘要的单向LSTM解码器。其中双向LSTM编码器是共用的,它可以通过搭配自注意机制或者软注意机制来产生关键信息或者上下文信息。而改进后的覆盖率机制将通过参与注意力计算来达到消减重复的效果。

图1 双注意指针网络模型

2.1 自注意

编码器会对文章的信息进行提取,并生成一系列的隐藏状态,一般而言,解码器的输入来自编码器的最后一个隐藏状态。在文章长度很长时,最后一个隐藏状态会存在过多不重要的信息,使得生成的摘要可能无法概括文本的核心内容。因此,需要突显源文本中的显著特征,即提取关键信息。关键信息是指编码器提取的信息中与其他信息关联度最大的信息。本文使用自注意机制[22-23]让编码器同自身匹配,动态地搜集文本中的关键信息。为了使模型能更好地处理数据,源文本的输入序列单词使用神经网络转化为分布式表示的词向量X={x1,x2,…,xn},并使用双向LSTM编码器进行处理,获取编码器的隐藏状态序列。前向和后向隐藏状态进行连接后的隐藏状态h作为输入关键信息向量z的计算依据,如式(1)~式(4)所示。

H={h1,h2,…,hn}

(1)

(2)

(3)

z=∑a′H

(4)

2.2 双注意指针网络

由于自注意机制只关注文本内部信息,注意力相对固定,这使得在解码的时候不能生成含有上下文语义的预测,生成的摘要中只会存在重复且分散的词语。因此,本文引入了See等人[4]提出的指针网络。其中的软注意机制与自注意机制结合。通过上下文语义来产生词语之间的关系,补充遗漏的上下文内容,保持生成的摘要的连贯性。同时为了提高摘要的准确度和缓解未登录词问题,依据注意力来指向复制单词。

在指针网络中,每一步的注意力可以告诉模型在解码器的预测过程中原文的哪些词更重要。因此在生成权重分布时,软注意会加入当前步的解码状态序列st进行计算,如式(5)~式(7)所示。

(5)

at=softmax(et)

(6)

(7)

(8)

其中,Wm、Ws、Wx和bcor是可学习的参数,σ是sigmoid函数。gm用来在生成概率分布的时候选择关键信息向量,还是上下文向量。最后生成词汇的分布Pvocab,如式(9)、式(10)所示。

ot=(1-gm)ct+gmz

(9)

Pvocab=softmax(4(V3[s′t,ot]+b3)+b4)

(10)

(11)

(12)

其中,Uc、Us、Ux和bptr是可学习的参数,σ是sigmoid函数,生成概率pgen的范围是[0,1]。最后,通过pgen来选择从词汇表生成单词还是从源文本复制单词。在预测阶段,输出一个概率分布p(w),其维度是词汇表长度加上源文本中未出现在词表中的单词个数。

2.3 改进的覆盖率机制

重复问题在许多自然语言处理任务都普遍存在,几乎是所有生成模型的通病,特别是对于经常使用Seq2Seq作为基准架构的神经机器翻译任务[21,24-25]。由于神经机器翻译任务与文本摘要任务相近,且发展较早,因此很多文本摘要中针对这个问题的优化方案中都采用了神经机器翻译的优化模型[4,27]。与See等人[4]的方法相似,本文采用了Xiao等人[24]的覆盖模型来解决这一问题,并对其进行了改进。

(13)

其中,wk是学习参数,长度与v1一致。这样做的目的在于,在模型进行当前步注意力计算的时候,告诉它之前已经关注过哪些词,希望避免出现连续注意力到某几个词上的情形。

覆盖向量可以传递之前已经关注过的词的信息,如果某些词已经被关注过了,在之后的时刻就需要抑制。为了防止模型重复关注这些词,需要一个额外的损失函数来对重复的注意作惩罚,如式(14)所示。

(14)

2.4 混合学习目标2.4.1 计划采样

(15)

(16)

最后,为了使摘要不再重复,引入了改进的覆盖率机制的损失,将其整合到学习目标。通过引入一个超参数λ,生成新的损失函数,如式(17)所示。

LMLE(ss)-COV=LMLE(ss)+λLCOV

(17)

2.4.2 混合训练目标

策略梯度是强化学习的基本算法,本文通过策略梯度来最大限度地减小负奖励期望,直接优化不可微的ROUGE评估指标。其中基线模型DAPT可以看作是与外部环境进行交互的代理,而模型生成单词可看作是代理所采取的操作。在生成完整摘要序列y后,将其与参考摘要序列y*进行比较,计算奖励r(y)。

(18)

在式(8)中最小化负期望,是为了使用梯度下降。当模型采样得到的ys获得比基线更好的回报时,最小化损失相当于最大化ys的条件似然,从而增加了基线模型DAPT的总体回报期望。

虽然强化学习的优化训练解决了损失-评估不匹配问题,但是可能会导致生成摘要的可读性和流畅性降低。而摘要的可读性一般可以通过“教师强迫”算法来获得,在这里本文通过计划采样获取。和Paulus等人[5]的方法类似,本文同样采用混合训练目标来融合计划采样和强化学习,使得生成的摘要能保持可读性和获得更高的评估指标,即:

LMIXED=γLRL+(1-γ)LMLE(ss)

(19)

其中,γ是一个超参数,用来调节两个目标函数的损失。一般而言,本文先对模型进行预训练,再使用混合损失进行训练优化。

3 实验结果分析

3.1 数据集与评价指标

为了体现所提出的模型对于面向短文本摘要生成与长段落摘要生成这两个存在一定差异性的任务下的表现。本文在LCSTS和CNN/Daily Mail两个数据集上进行了实验[13,27-28],其中LCSTS是一个中文短文本摘要数据集,CNN/Daily Mail数据集是长段落摘要数据集。本文通过ROUGE-N和ROUGE-L[10]评价指标评估不同方法在抽象文本摘要任务中的性能。

3.2 实验设置

在训练中,截断参数β的大小为注意力权重的最大值减去最小值的平均值。当然尝试过更高的数值,结果影响了对重复的惩罚,其中λ的值为1。计划采样中的最小真实量q为0.6,在混合训练中γ的值为0.975。

在训练中,本文的编码器和解码器中LSTM的隐藏单元数设置为512。对于LCSTS数据集,为了降低分词错误和减少未登录词,使用基于汉字的方法来处理源输入和目标输出。词汇表大小限制为4 000个符号,输入文章的大小限制为前140个字,而摘要限制为30个字。在CNN/Daily Mail数据集中将词汇表大小限制为50 000。本文将输入文章的大小限制为前800个单词,而摘要限制为100个单词。使用Adam优化器[29]在交叉熵损失下训练模型,初始学习率为1×10-3,批量大小为64。最后,在训练好的模型上运行混合训练。在这个阶段,学习率设置为3×10-4,批量大小为64。测试时,在搜索解码过程中设置大小为5。

3.3 结果与分析

3.3.1 性能比较

表1和表2分别列出了本文模型在CNN/Daily Mail和LCSTS两个数据集上的性能以及与其他先进模型的对比。表中的数据显示了DAPT在ROUGE值上优于传统的基线模型,达到了现有主流方法的性能。其中DAPT+imp_coverage为添加改进覆盖率机制的双注意指针网络,RL+MLE(ss)表示使用了混合训练进行优化。在模型收敛之后,本文通过混合训练的方法来优化模型的ROUGE评估度量。可以看到,该方法可以使模型的各项评估度量整体上得到提升,有较大的性能改进。

表1 在CNN/Daily Mail数据集上的性能比较

表2 在LCSTS数据集上的性能比较

图2展示了在CNN/Daily Mail数据集中的对重复处理的结果,可以观察到改进后的覆盖模型的百分比和参考摘要相近,重复的问题几乎完全消除。改进的覆盖率机制使得主要目标的生成不受到干扰,提高了惩罚的效果。

图2 生成摘要中重复的百分比

3.3.2 消融分析

表3展示了在CNN/Daily Mail和LCSTS两个数据集上添加不同的模块后模型的效果。从表3可以观察到,在CNN/Daily Mail数据集中各个模块都使得模型获得了一定的性能提升。而在LCSTS数据集上,双注意指针网络模型ROUGE-1的得分比基线模型要低,ROUGE-2和ROUGE-L的得分也没有明显提升。这是因为LCSTS数据集是短文本摘要数据集,文本短则信息更加精炼,编码器很容易获得主要信息,如果再进行关键信息的获取,反而会造成信息冗余,影响摘要的生成。

表3 在两个数据集上添加不同模块的ROUGE评分

改进的覆盖率机制与传统的覆盖率机制都可以减少重复,并且重复的减少程度相差不多,但是改进的覆盖率机制能更好地提高摘要的质量。为了更好地展示这种效果。在CNN/Daily Mail数据集上,在以DAPT为基线的情况下,进行了改进的覆盖率机制与传统的覆盖率机制的比较,结果如表4所示。可以看出,以CNN/Daily Mail数据集为例,改进的覆盖率机制获得的ROUGE评分更高。

表4 在DAPT添加不同的覆盖率机制ROUGE评分

3.3.3 示例分析

图3展示了一个由模型生成的摘要示例,并与pointer-generator模型和参考摘要进行了比较。源文本介绍兰花的唇瓣形成的原因。很明显,文章的主旨是兰花的唇瓣。然而,pointer-generator模型生成的摘要没有包含唇瓣的信息,反而关注了其他琐碎的细节。与之相比,本文模型生成的摘要更加连贯,并且包含更突出的信息。本文的模型关注的是唇瓣而不是兰花,它能够提供最主要的思想信息。由于自注意负责从编码器中选择输出的重要信息来提高注意分值的质量,所以琐碎的细节能够很好地被减弱。

图3 生成摘要的对比

4 结论

本文提出了一种用于文本摘要的双注意指针网络DAPT,引入自注意机制获取源文本关键信息,同时结合门机制来控制信息的选择。在现有的覆盖率机制的基础上,加入截断参数,来防止该机制对生成其他目标的干扰。此外,本文通过混合训练来优化模型的评估度量,在提升模型的整体性能的同时不失去生成摘要的可读性。实验结果表明,与传统的pointer-generator模型相比,该方法在长段落摘要数据集中能够生成更准确、更连贯的摘要,并在ROUGE评价指标上取得性能提升。

猜你喜欢
覆盖率指针编码器
民政部等16部门:到2025年村级综合服务设施覆盖率超80%
融合CNN和Transformer编码器的变声语音鉴别与还原
我国全面实施种业振兴行动 农作物良种覆盖率超过96%
转炉系统常用编码器选型及调试
垂悬指针检测与防御方法*
舞台机械技术与设备系列谈(二)
——编码器
电信800M与移动联通4G网络测试对比分析
为什么表的指针都按照顺时针方向转动
基于数字信号处理的脉冲编码器
浅析C语言指针