基于度量学习和层级推理网络的抽取式摘要方法

2023-01-12 01:45勾智楠
河北科技大学学报 2022年6期
关键词:度量编码器层级

成 悦,赵 康,勾智楠,高 凯

(1.河北科技大学信息科学与工程学院,河北石家庄 050018;2.河北经贸大学信息技术学院,河北石家庄 050061)

抽取式摘要是从源文本中选择突出句或其他语义单位生成摘要,保证摘要的语法正确性以及与相应文档的语义相关性。传统方法主要采用基于图的方法[1]、子模函数[2]或整数线性规划[3]对句子进行评分,再加上手工特征。由于深度学习方法在捕获文本语义和语法信息方面表现出了突出的能力[4-5],因此,最近出现了使用深度神经网络提取突出句子的方法[6]。这些方法虽然可以从文档中识别出重要的句子,但因为模型会选择语义上相互独立的句子来组成摘要,缺乏确保摘要连贯的能力,所以使人对文档的理解造成困难。

基于自注意力的体系结构,尤其是Transformer,已成为自然语言处理(NLP)任务中的常用模型。主要方法是在大型文本语料库上进行预训练,然后在较小的特定任务的数据集上进行微调。Transformer在机器翻译中是有效的,但对文本摘要来说,由于其在编码时不包含句子的位置信息,对句子级上下文的建模能力较差,因此直接应用到文本摘要任务有不足之处,为文本摘要建模长距离依赖的上下文仍然具有挑战[7]。

为了解决这个问题,大部分工作试图探索不同的神经组件或组合来构建端到端的学习模型。CHOWDHURY等[8]提出了一个基于结构注意的层次编码器,来建模句子间和文档间的依赖关系。JIA等[9]提出了分层注意异构图模型,能很好地模拟不同层次的信息,包括单词和句子,并强调句子间的冗余依赖关系,通过消息传递标签依赖关系。YUAN等[10]提出了提取事实级语义单位,基于BERT[11]模型结合使用一个层次图掩码,将文本信息的多层次粒度合并到模型中,以便更好地抽取摘要。WANG等[12]提出了一种基于异构图的抽取式摘要神经网络,该神经网络包含除句子外不同粒度级别的语义节点,丰富了句子间的关系。这些方法的性能在很大程度上取决于机器对文档的理解,也就是文档表示。为了使文本能够学习到更深层次的数据之间的关系以及更好的文档表示,有学者对度量学习方法开展了相关研究。

和传统分类目标损失函数不同,度量学习目标损失函数能够使同一类别的数据在几何空间分布更加紧凑,不同类别的数据彼此远离,因此特征向量具有较强的区分能力。深度度量学习方法在人脸识别领域取得了突出效果[13],证明了方法的有效性。对比损失(contrastive loss)[14]是深度度量学习的开篇之作,首次将深度神经网络引入度量学习。对比损失仅约束类内对的特征尽量近,而类间对的特征尽量远,三元组损失(triplet loss)[15]在对比损失的基础上,进一步考虑了类内对与类间对之间的相对关系。由于三元组损失一次采样3个样本,虽然能够同时考虑类内距、类间距以及二者的相对关系,但该损失没有充分利用训练时每个batch内的所有样本。因此,SONG等[16]提出在一个batch内建立稠密的成对(pair-wise)的连接关系。由于三元组损失在锚点选取时具有任意性,因此,有些不满足类间距>(类内距+间隔)的样本,可能并没有被挖掘到。MISHCHUK等[17]提出成对聚类损失函数(coupled clusters loss,CCL)为同类样本估计了一个类内中心,从而希望所有的正样本到聚类中心的距离间隔小于其他类间样本到聚类中心的距离。度量学习为衡量句间相似性提供了新的解决思路。

本文针对抽取式文本摘要任务提出一种基于度量学习的层级推理模型(metric learning based hierarchical inference network ,MLHIN),由句子编码器、文档编码器和度量损失构成。模型使用Bi-GRU网络结合上下文信息来编码文档中每一个句子为一个向量,并将所有句子向量和一个可训练的文档向量输入到Transformer中,输出文档表示和句子表示。然后,将度量学习概念迁移到文本摘要任务中,计算文档表示和句子表示的相似性度量,利用度量得分选择摘要句。最后,在英文摘要数据集CNN/DailyMail[18]上对其进行测试,并进行消融实验对测试结果进行验证。

1 基于度量学习的层级推理模型

1.1 抽取式摘要任务

MLHIN模型主要由句子编码器、文档编码器和度量学习3大模块组成。首先,利用句子编码器将每个句子si转换为一个句子表示si。然后,这些句子表示将由文档编码器编码。最后,通过计算句子与文档表示之间的相似度来选择摘要句。

1.2 层级推理编码器

由于抽取摘要模型的目的是从文档中选择句子,因此对文档进行良好的建模至关重要。文档是分层结构的,一个文档是由多个句子组成,每个句子都由单词组成。因此利用层次结构,设计一个层级神经模型,原理如图1所示。层级推理结构由句子编码器、文档编码器构成。句子编码器的目的是学习文档中的每个句子的表示,文档编码器的目的是学习文档的表示。本文将详细描述模型的每个组件。

图1 基于度量学习和层级推理网络的原理图Fig.1 Schematic diagram of MLHIN

1) 句子编码器

句子编码器的作用是读取句子中的每一个单词并对每个词产生一个向量表示,经过最大池化后组成句子表示。为了能高效地对输入序列进行编码,模型使用了基于双向门控循环单元(bidirectional gated recu-rrent unit,简称Bi-GRU)的编码器,其相对循环神经网络,不需要逐词处理输入序列,而是通过门控机制同时计算每个词的上下文向量,因此有着良好的并行能力,计算复杂度较低,对长距离依赖友好。

给定一个句子si={x1,…,x|si|},xi为序列当中的一个词。首先,将序列词依次进行词嵌入得到词向量;然后,使用门控循环单元(gated recurrent unit,简称GRU)网络编码句子,GRU定义如下:

zi=σ(Wz[xi,hi-1]),

(1)

ri=σ(Wr[xi,hi-1]),

(2)

(3)

(4)

2) 文档编码器

由句子编码器编码得到句子表示si,将文档中每一个句子向量拼接起来,并在开头加上可学习的初始化的文档向量表示clsD。然后,与可学习的句子位置编码相加。

H=Ew+Ep,

(5)

式中:Ew=[s1,s2…,sn],表示所有的句子向量;Ep=[pos1,pos2,…,posN]是一个可学习的位置嵌入矩阵,表示句子在文档中的位置。最后,将其输入到Transformer中进行编码,更新句子向量和文档向量。

文档编码器的目的是从输入文本中提取文档语义特征,并映射到特征空间中。在Transformer模型中,编码器由L个编码层堆叠而成,每个编码层包括多头自注意力子层(MultiHeadAtt)以及按位置的前馈网络子层组成。另外,在每2个子层之间,使用残差连接(Residual connection),最后归一化(Layer normalization)。多头注意力通过将输入文本特征映射到不同的特征空间,可以提取到不同的语义特征信息。每一个编码层的最后的隐藏状态都会通过前馈神经网络。第l层编码层的计算公式如下:

(6)

(7)

(8)

1.3 基于度量学习的损失函数

本文提出使用度量学习的方法来选择摘要。首先,通过余弦距离计算文档表示和句子表示的相似度:

(9)

以交叉熵损失作为整个模型的训练目标,为了使摘要句向量与文档向量更近,非摘要句与文档更远,摘要句和文档向量的相似性更大,模型通过优化以下损失函数进行学习:

(10)

式中:yi∈{0,1}表示参考摘要中是否包括第i句;N为文档中包含的句子个数。在推理阶段,模型通过计算句子与文档表示之间的相似度选择摘要句。

2 实验部分

2.1 环境及参数设置

模型在一个GPU(GeForce GTX TITAN X,12G)上训练。根据验证集上的评估,选择结果最好的模型参数,并报告测试集上的结果。使用Adam[19]作为优化器,epoch设置为20,学习率时间表遵循前1 000步热身的策略。

参数方面,基于CNN/DailyMail训练集的源文本和摘要文本建立词表,大小为5 000,使用维度大小为50的GloVe词向量。文档编码器的层数设置为4,每层的注意力头数设置为4,隐藏层神经元个数为100。使用位置编码,以利用序列的顺序信息,编码维度和句向量维度相同,设置为200。学习率设置为0.000 5,批大小设为32。

2.2 实验测度

Trigram blocking启发于PAULUS等[20]和LIU等[21]所提出的方法,模型使用Trigram Blocking进行解码,这是一个简单但功能强大的Maximal Marginal Relevance[22]方法。具体地说,在选取摘要句时,根据句子与文档的相似性分数来排列句子,并且丢弃那些与前句有3个词重叠的句子。

按照惯例,在接下来的实验中使用了Rouge-1(uni-gram),Rouge-2(bi-gram)和Rouge-L(最长公共子序列)评估本文的模型。通过计算人类创建的候选摘要和参考摘要之间的重叠单元(如n-gram、单词序列和单词对)的数量,自动评估摘要的质量。Rouge-N[23]的计算公式为

(11)

式中:分子为模型生成的摘要与参考摘要之间共有的n-gram的个数;分母为参考摘要n-gram的总个数。

2.3 基线模型

Lead-3即抽取文档的前3句作为文章的摘要。Lead-3方法虽然简单直接,但却是非常有效的方法。

RAMESH等[24]提出了一个基于序列分类器的循环神经网络模型,采用GRU-RNN结构,由单词级别的循环神经网络得到句子表示,又经过句子级别的循环神经网络得到文档表示。该模型表述简单,可解释性强,并提出新的训练机制,使用生成式摘要的模式来训练抽取式任务。

DONG[25]提出了一种新的方法来训练神经网络执行单文档抽取摘要,而不需要启发式生成提取标签。采用策略梯度强化学习算法对模型进行训练,以选择最大Rouge分数的句子序列。

NEUSUM[26]模型将选择策略集成到打分模型中,解决了此前抽取式文本摘要中句子打分和句子选择这2部分割裂的问题。通过MLP网络学习Rouge和F1的评分,把打分和句子选择整合在同一个网络中,最终训练出来的模型通过选择不同的句子得到尽可能高的Rouge评分。

2.4 主体实验

本文在抽取式任务上提出了基于度量学习和层级推理的抽取式摘要模型(metric learning based hierarchical inference network ,MLHIN),该模型由3部分组成,分别是句子编码器、文档编码器和度量损失。句子编码器由Bi-GRU构成,将文档中每个句子编码为一个向量,将这些向量组合起来输入到文档编码器中,文档编码器由Transformer构成,输出文档表示和句子表示。度量损失计算句子和文档的相似度,抽取摘要句。

本文使用CNN/DailyMail数据集进行模型评估。该数据集包含新闻文档及其对应的摘要,通常用于抽取式摘要和生成式摘要。本文使用WANG等[12]提供的脚本来下载数据集。其中训练集、验证集和测试集中分别包含287 226,13 368和11 490份文档。

模型在英文摘要数据集CNN/DailyMail上进行测试,并报告各个模型对应的 Rouge-1,Rouge-2,Rouge-L的得分,使用封装了Rouge脚本的pyRouge工具计算得分。

2.5 消融实验

本文提出的模型(MLHIN模型)中的句子编码器使用GRU,文档编码器使用Transformer,句子选择部分使用度量损失。为了证明本文所提方法的有效性,进行消融实验,将3部分组件分别进行替换研究。

MLHIN模型 为GRU-Transformer-metric结构,即句子编码器使用GRU,文档编码器使用Transformer,句子选择部分使用度量损失。

GGM模型 为GRU-GRU-metric结构,即句子编码器和文档编码器均使用GRU,句子选择使用度量损失。

CTM模型 为CNN-Transformer-metric结构,即句子编码器使用CNN,文档编码器使用Transformer,句子选择部分使用度量损失。

CTS模型 为CNN-Transformer-sigmoid结构,即句子编码器使用CNN,文档编码器使用Transformer,句子选择部分使用sigmoid函数。

GTS模型 为GRU-Transformer-sigmoid结构,即句子编码器使用GRU,文档编码器使用Transformer,句子选择部分使用sigmoid函数。

TTM模型 为Transformer-Transformer-metric结构,即句子编码器使用Transformer,文档编码器使用Transformer,句子选择部分使用度量损失。

首先,分析其他抽取式摘要模型中不同句子编码器的性能。其次,为了进一步分析其他抽取式摘要模型中不同文档编码器的性能,将本文的文档编码器开展替换研究。最后,本文对度量损失进行2个替换研究实验,替换实验如下。

1)仅将本文提出的度量损失metric替换为其他模型中的sigmoid。

2)在第1)步的基础上,将层级推理模型中的句子编码器替换为CNN。

3 实验结果与分析

3.1 主体实验结果与分析

表1 MLHIN与其他模型的实验结果对比Tab.1 Comparison of experimental results between MLHIN and other models

表1展示了各个模型在CNN/DailyMail数据集上的Rouge指标得分。

由表1可以看出,本文提出的MLHIN在Rouge-1,Rouge-2,Rouge-L3个指标上的得分都明显优于其他模型,相对于已有的模型Lead-3,得分分别提升了0.84%,1.29%,2.43%;而相对于SummaRuNNer模型,得分分别提升了1.66%,2.71%,3.8%;相比GRU模型NEUSUM,在Rouge-L的得分提升了1.12%;对比BANDITSUM模型,在Rouge-2和Rouge-L上分别提升了0.21%和1.5%。MLHIN模型相对Lead-3和SummaRuNNer,在Rouge-2和Rouge-L得分上有明显提升。相对于BANDITSUM和NEUSUM模型,所提模型的效果在Rouge-L的评分更高。以上结果表明,本文所提方法能够有效抽取摘要。

由上述结果可以看出,模型在CNN/DailyMail数据集上关于Rouge-1和Rouge-2的分值提升较少,在Rouge-L上的得分提升较多。Rouge-L表示模型生成的摘要和参考摘要之间相似的最长公共子序列,Rouge-L分值越高,最长公共子序列越长,表明模型生成的摘要与参考摘要越接近。度量学习用来衡量当前句子为摘要句的概率,说明度量学习能够较好地选取摘要句,证明MLHIN模型能够提升摘要抽取的效果。同时,模型在Rouge-1和Rouge-2上的分数相比基线模型也有一定的提高,进一步证明了所提方法在抽取式摘要任务上的效果有整体提升。

3.2 消融实验结果与分析

表2 消融实验结果对比Tab.2 Comparison of ablation experiment results

表2展示了不同模型在CNN/DailyMail数据集上的得分。

从表2可以看出,CTM使用CNN作为句子编码器,将CNN替换为本文提出的层级推理网络中的GRU句子编码器后,模型性能有了很大提升。CTM中使用CNN作为句子编码器,将CNN替换为本文提出的层级推理网络中的GRU句子编码器后,模型性能有了很大提升,表明本文提出的层级推理网络中的句子编码器GRU性能优于其他模型中的句子编码器CNN。GGM模型中使用了GRU作为文档编码器,将该文档编码器替换为本文提出的层级推理网络中的Transformer,从结果可以看出,层级推理网络中的文档编码器Transformer大大提高了模型的性能。通过替换实验,将本文提出的度量损失metric替换为其他模型中的sigmoid,可以看出3个指标分别有不同程度的下降,说明了本文提出的度量损失的有效性。将层级推理模型中的句子编码器替换为CNN,可以看出模型性能也有不同程度的下降,证明了本文提出的层级推理网络和度量损失的有效性。

4 结 语

本文提出了一种基于度量学习和层级推理网络的抽取式文本摘要方法(MLHIN),层级推理网络由句子编码器和文档编码器构成,文档编码器的输入为句子编码器的输出,结合句子的位置信息,编码器不仅能编码句子信息,也能够对包含上下文的文档进行编码,增强了对编码器的训练。同时引入度量学习,对编码后的文档和句子信息进行筛选,保留关键信息,使得模型能根据原文的关键信息来抽取出摘要。在摘要数据集CNN/DailyMail上的实验表明,提出的MLHIN方法能明显提升模型抽取摘要的质量。

本研究在探索算法有效性的过程中,发现文档编码器存在一定的局限性,即文档编码器的输入依赖于句子编码,若句子编码不够准确,会导致后续的训练出现误差。在学习过程中发现,更强大且更有效的算法框架能够帮助模型获得更好的抽取结果。强化学习能够将参考摘要作为信号来激励句子向量编码。未来,将继续探索将抽取式摘要方法与强化学习相结合,以此来提升模型性能,得出更好的抽取式摘要模型。

猜你喜欢
度量编码器层级
融合CNN和Transformer编码器的变声语音鉴别与还原
鲍文慧《度量空间之一》
科室层级护理质量控制网的实施与探讨
军工企业不同层级知识管理研究实践
基于军事力量层级划分的军力对比评估
舞台机械技术与设备系列谈(二)
——编码器
代数群上由模糊(拟)伪度量诱导的拓扑
职务职级并行后,科员可以努力到哪个层级
突出知识本质 关注知识结构提升思维能力
度 量