融合多层注意力表示的中文新闻文本摘要生成

2023-11-02 12:35雷景生唐小岚
计算机应用与软件 2023年10期
关键词:主题词注意力卷积

王 骞 雷景生 唐小岚

(上海电力大学 上海 201300)

0 引 言

随着互联网的飞速发展以及智能手机的普及,海量的文本信息进入并影响着人们的生活。如何从这些越来越庞大的数据中快速获取自己想要的信息成为当下阅读的一个难题。文本自动摘要技术应运而生,它可以对长篇文档“阅读理解”之后概括出短小易懂的文本,从而便于让人们快速了解文本内容,掌握数据信息。目前文本摘要主要分为抽取式文本摘要和生成式文本摘要。

抽取式摘要是指从原文中选择比较重要的句子并提取出来作为摘要,这些句子常常包含一些关键词或者能够反映文章主旨的词语。早期的抽取式摘要可以通过获取包含高频词的句子[1],甚至可以直接选择文章的前几句作为摘要[2]。图模型的兴起为提高抽取式摘要的性能找到了突破口,它可以将文章中每个句子视作图结构中的节点,句子间的关系视作连接节点的边,如经典算法TextRank[3]。基于此,张云纯等[4]提出了基于图模型的多文档摘要生成算法。罗芳等[5]提出了融合主题特征的多维度度量的文本摘要模型MDSR,通过定义主题重要度等概念,结合其他统计特征提高了摘要生成质量。随着神经网络的出现,抽取式摘要技术迎来了巨大的革新。Chopra等[6]提出了可以解决序列数据任务的循环神经网络RNN(Recurrent Neural Network);同样作为序列数据,Sutskever等[7]提出了Seq2Seq(sequence-to-sequence)模型,现在已成为文本摘要领域常用的架构之一;随后Bahdanau等[8]在序列模型的基础上提出了注意力机制,它可以模仿人的阅读习惯,极大地提升了文本摘要的效率。

生成式摘要是将文本数据送入计算机,这类似于人的阅读过程,需要捕捉和归纳形成文章的主旨大意。生成式摘要可以包括原文本中没有出现过的词汇,更符合人类的习惯,因此越来越受研究人员的青睐。Perez-Beltrachini等[9]提出了一种包含层次解码器的序列模型,它从文档和句子两个角度分别学习词向量并加以组合,并结合LDA算法为每一个句子分配一个可能的主题,使得生成的句子表意全面且紧扣主题。宁珊等[10]提出了融合关键词的文本摘要生成方法,它通过提取文中关键词及相邻词的信息来达到提升主题关联度的目的。倪海清等[11]提出了基于语义感知的短文本摘要生成模型,它结合了BERT预训练模型,并且用参考摘要作为监督以计算不一致损失,生成了质量较好的文本摘要。潘慧[12]通过无监督的关键句抽取算法得到关键句,并将其压缩为短文本,然后在短文本的基础上运行模型生成摘要。Nallapati等[13]通过对关键词建模以及捕捉句子到单词的结构,使生成的摘要结构规范严谨,这给本文提供了良好的思路。上述方法都有结合注意力机制,虽然在一定程度上提升了语义表示,但是未能注重中长文本中经常出现的远距离词句关联,忽略了远距离词句的依赖信息,造成文本表征不全面。

为了解决上述问题,本文提出了融合多层注意力表示的文本摘要方法。该方法总体沿用Seq2Seq架构,使用Transformer进行编码与解码。首先通过对中长文本进行抽取式分割,得到用于后续生成式摘要训练的主体文本和辅助文本。然后对主体文本进行图卷积训练和依存句法分析,从句间信息和句子结构两个方面,得到相关词句的动态表征;同时对辅助文本进行高频主题词抽取。最后将以上三种信息以三种注意力表示与Transformer进行融合,加强输入文本的信息表征,从而输出表意更加全面的文本摘要。

1 本文模型

本文的主体研究路线如图1所示。

图1 论文研究路线

图1中,首先将中文文本进行预处理,并通过预训练模型得到词向量,接着通过TextRank算法将文本分为主体文本和辅助文本;然后对主体文本进行图卷积和依存句法分析,分别得到包含句间序列信息的词向量表征和包含句法结构信息的依存词对,同时对辅助文本进行高频主题词的挖掘,尽可能地利用文本信息,这里主要用到的方法是LDA和TF-IDF;最后将这三种信息送入Transformer模型并对模型稍作改进,得到最终的摘要。

1.1 预训练模型

ALBERT是BERT模型的优化模型之一。它将原始BERT模型的Embedding Dimension(简称E)与Hidden Dimension(简称H)解绑,采用矩阵因式分解的方法,将原本的参数量V×H优化为V×E+E×H,大大减少了模型参数。

传统Transformer的每一层参数都是独立的,导致层数增加时带来参数量的大幅上升。ALBERT模型将所有层的参数共享,相当于只学习第一层的参数,并在剩下的所有层中重新用该层的参数。实验发现,使用共享参数不仅可以减小参数规模,提升运算速度,还可以有效地提升模型稳定性。

另外,ALBERT将BERT模型中的“下一个句子预测”任务改为“句子顺序预测”,提高了多种下游任务的表现。

本文基于减少实验参数及提升词向量表征的综合考量,采用ALBERT模型对输入文本词汇进行训练。

1.2 TextRank算法

TextRank是抽取式文摘领域的经典算法,它是一种用于文本的基于图的排序算法。它的基本思想是将每个句子视作节点,句子间的相似度视作连接节点的边上的权值。为每个节点初始化一个值,通过不断迭代计算直到收敛。最终将结果值最高的K个节点即句子作为最终摘要。

TextRank一般模型可以表示为一个有向有权图G=(V,E),由点集合V和边集合E组成。本文将中文数据集以句号分割得到的每一个句子vi作为节点,以vi、vj两个句子间的词汇共现度作为节点上边的权重wij。对于一个给定的点vi,(vi)为指向该点的点集合,Out(vi)为点vi指向的点集合。点vi的得分定义如下:

(1)

式中:d为阻尼系数,表示从图中某一节点指向其他任意点的概率,一般取0.85[14]。

对于给定的句子Si和Sj,词汇共现度计算公式如式(2)所示。

(2)

式中:sim(Si,Sj)表示两个句子的共现度。

每个顶点的最终取值与初始权值的选择无关,初始权值只会影响算法迭代直到收敛的次数。考虑到阻尼系数d取0.85,它表示图中某一节点指向其他任一点的概率为0.85,则可认为该节点对自身的转移概率为0.15,即本文为每个句子节点赋初始权重为0.15。另外,TextRank算法中任意一点的误差率小于给定的极限值就可以达到收敛,文献[14]认为该极限值是一个经验值,一般取0.000 1即可令绝大部分节点的误差率达到收敛,因此本文取该极限值为0.000 1。

当算法收敛时,按照得分从高到低排序,取前40%的句子组合做主体文本。这里的40%是因为本次实验所用的样本平均长度在10个句子左右(以句号分割),后续的对比实验要求样本平均长度为4,所以只取结果中前40%的句子,以达到数据集的一致性。

1.3 依存句法分析

依存指的是非对称的、二元的中心词与依赖词之间的关系。依存句法分析通过分析语言单位内成分之间的依存关系揭示其句法结构。对于计算机来说,理解词汇本身的意思是很难的,但是可以通过理解词汇所承受的语义框架来描述该词汇。

依存句法分析认为句子中的核心动词是支配其他成分的中心成分,它本身不受支配。其次,其他成分间也存在支配关系。例如,“他一边喝小米粥,一边看小米电视。”这句话中,核心动词是“喝”,它与“看”是并列关系;“喝”与“小米粥”、“看”与“小米电视”分别是动宾关系。但是句子中的“小米粥”与“小米电视”有相同的部分“小米”,如果仅仅只关注这个部分,相应的词向量会很难区分二者的差异。而通过依存句法分析之后,会很容易明白二者各自的含义。

依存分析的结果表示为有向图,如图2所示。

图2 依存句法分析有向图

本文只关注三种主要的关系:动宾关系dobj,如“喝”与“小米粥”;并列关系conj,如“喝”与“看”,复合关系compound,如“小米”与“电视”。将这些关系表示为依存词对,如<喝,小米粥>,词对中的两个词可能相邻,也可能距离稍远;然后用词位置信息替代,将其和原始词向量送入Transformer编码器,其中词位置信息指的是该词在句子中从前往后的位置;取最后一层encoder中每个词对应位置的隐藏层状态向量,将两个词向量简单拼接,作为decoder的输入。

1.4 图卷积神经网络

图卷积网络(Graph Convolutional Network,GCN)是近几年流行起来的神经网络模型[15]。原始卷积神经网络(Convolutional Neural Networks,CNN)的感受野受制于目标词,很难满足大多数场景的需求。现实生活中很多场景都呈现网状结构G=,其中:V代表节点,E代表节点间的关系。而文本序列由于具有时序性,前面的词句或多或少会影响到后面的词句,且不同的词句可以构成不同的节点。这样同时具备了图结构的节点和边信息,因此本文尝试使用图卷积神经网络(见图3)对文本数据进行向量化表示并且学习更高层次的表征。

图3 图卷积网络的概念

如图3所示,GCN包含输入层、输出层和中间的隐藏层。H(0)表示经过训练的词向量组成的句矩阵输入,H(N)表示输出。中间每一个隐藏层的计算公式为:

(3)

(4)

将词向量矩阵作为一个节点,句子之间的相似度作为边的权重,构建图网状结构。这里的构建过程与TextRank算法的图构建过程是相似的,但是迭代计算的原理不同。GCN的权重传播原理如图4所示。

图4 GCN节点权重传播图

图4中,A、B、C和D分别表示不同的节点,以节点A为例,图4(a)表示第一步:发射,将其他节点自身的特征信息经过变换后发送给节点A,可以理解为对节点特征进行抽取变换;图4(b)表示第二步:接收,将节点A及其邻居节点的特征信息聚合起来,即融合该节点的局部信息;图4(c)表示第三步:变换,把前面的信息聚合之后做非线性变换,增加向量的表达能力。

图卷积巧妙地将CNN的局部注意力转换为一个节点对其邻居节点的注意力,这无疑更加符合人类对网状结构的认知。通过图卷积神经网络的训练,可以得到更加具有综合性、概括性的词向量。从某种意义上讲,图卷积将文本的时间序列转变成了空间序列,所以不用考虑之后的Seq2Seq架构再次使用LSTM等循环神经网络。

1.5 LDA与TF-IDF

本节主要是通过LDA与TF-IDF算法对辅助文本进行高频主题词的挖掘,辅助文本指的是对原始文本进行抽取式提取关键句之后剩下的文本内容。这部分文本中也必然包含着一些能够表达文章主题的、频繁出现的词汇,因此对其进行信息挖掘很有必要。

1.5.1LDA

LDA算法是一种文档主题生成模型,其主要原理简单来讲就是“文章以一定概率选择了某个主题,然后又在这个主题下以一定概率选择了某个单词”,通过这样一个层次关系将“文档w-词汇d”的关系拓展为“文档w-主题t-词汇d”。因此LDA算法的核心公式为:

p(w|d)=p(w|t)×p(t|d)

(5)

LDA整个模型中所有可见变量以及隐藏变量的联合分布为:

p(wi,zi,θi,Φ|α,β)=

(6)

式中:wi表示文本中第i个词;zi表示第i个主题;θi表示从狄利克雷分布α中取样生成文本i的主题分布;zi,j表示从主题的多项式分布θi中取样生成文档i第j个词的主题;Φ表示从狄利克雷分布β中取样生成主题zi,j的词语分布,其具体分布形式写为φzi,j;wi,j表示从词语的多项式分布Φ中采样生成的最终词语。

最终一篇文档的单词分布的最大似然估计可以通过对式(6)中的θi、Φ进行积分以及对zi进行求和得到,即:

(7)

根据式(7),本文目的是得到主题分布zi和词汇分布wi。常用的方法是采用Gibbs采样对其进行参数估计来得到主题-词参数矩阵Φ和文档-主题矩阵θ,最终得到辅助样本中各篇文档的主题词。

1.5.2TF-IDF

TF-IDF算法常用于计算文本中的加权词频,得到文本中较为重要的词。TF指的是词频,IDF指逆文本频率指数。其主要思想是:一个词若能在一篇文章中高频出现,且在其他文章中很少出现,则认为这个词能够代表这篇文章,即该词是这篇文章的关键词。

(8)

(9)

式(8)表示第i个词条的TF值,其中分子表示某篇文章中包含第i个词条的个数,分母则表示这篇文章的总词条数目。式(9)表示第i个词条的IDF值,括号内分子表示数据集中的文章总数,分母表示数据集中包含第i个词条的文章总数,之所以要加1,是为了避免分母为0;boolean(i)表示如果第i个词条在第m篇文章中,则为1,反之则为0。最终的TF-IDF计算公式为:

TF_IDF=TF×IDF

(10)

TF_IDF值越大,则这个词成为一个关键词的概率就越大。

通过以上两种算法分别得到辅助样本中每个文本的主题词与关键词,本文对这两个集合取交集得到最终的高频主题词。

1.6 融合多层注意力表的Transformer模型

通过1.3节、1.4节和1.5节,分别得到依存词对、图卷积表示以及辅助样本中的高频主题词,现在将它们分别输入Transformer模型中,进行学习以及文本摘要的生成。

1.6.1传统的Transformer模型

Transformer模型是由Google团队为解决Seq2Seq问题而提出的,它用全attention的结构代替了长短期记忆网络LSTM,在自然语言处理领域取得了很好的效果。Transformer模型的结构如图5所示。

图5 Transformer结构图

Transformer包括n个编码器和n个解码器,每个编码器中又包含两个子层,分别是多头注意力层和前馈层;解码器在编码器中两层的基础上,又加入一个编码-解码注意力子层。除此之外,上述所有子层之后都有一个残差连接和归一化层,目的是为了连接低维的向量、减小不同范围数据的不利影响。

文本数据通过编码和嵌入位置信息之后,进入编码器,通过多头自注意力层对文本不同位置的信息进行学习,然后在前馈层调整权重等参数;通过n个这样的编码器,在最顶端输出包含隐藏层信息的状态向量,再次输入解码器;解码器的大致步骤和编码器相同,但是自注意力层只处理输出序列中靠前的位置,因为靠后位置的信息会对输出序列进行引导,达不到预测目标位置词汇的效果。

1.6.2融合多种注意力表示的改进Transformer模型

传统的Transformer模型在编码解码时通过设置多头注意力层对句子不同的位置进行局部注意力感知,最后将其拼接为完整的词向量。这种局部注意力只能对目标词周围视野内的词信息进行学习,但是有时候无意义地对周围词信息进行学习非常浪费计算成本和时间,因为可能相邻的两个词或多个词并没有多大的关联,仅仅是文本语义上的递进,或者称之为“自然堆砌”。因此引导局部注意力机制向更有效率的方向聚焦非常有必要。

本文在传统局部注意力的基础上,使用前文提到的图卷积表示的词向量作为Transformer编码器的基础输入,结合依存词对和高频主题词的信息,设计了以下改进的Transformer模型。

首先将高频主题词分别与图卷积表示的词向量矩阵进行相似度计算,得到每个词与高频主题词相似度的由高到低的排序,计算公式如下:

(11)

式中:wj表示句子中的第j个词;gi表示高频主题词集中的第i个词。通过将两个词向量进行相乘,得到它们之间的相似性,继续计算该词与下一个主题词的相似性,依此类推,最后将所有相似度累加,得到该词与主题的整体相关度。将句子中的每个词都计算其与主题的相关度,选择相关度最高的TopK个词,并对这些词设置特殊标记位,原理图如图6所示。

图6 改进的Transformer结构

图6中Wd和Wd′分别表示原始滑动窗口长度和扩展之后的窗口长度。带星号的位置表示与主题高度相关的词。

处理完文本输入之后,将其放入Transformer模型进行学习。当第一个编码器学习到具有星号标记位的词时,将滑动窗口的左右长度各放大一个单位。因为该词与主题相关度高,故认为其周围的词也可能包含更多的主题信息,这样在顶层编码器能够使目标词学习到更多周围词的信息。

在最后一个编码器学习完毕之后,根据依存词对储存的位置信息,将对应词的隐状态向量提取出来,随后放入解码器进行学习。

进入解码阶段,大致步骤和传统的Transformer解码器相同。不同之处在于,如果解码的时候碰到了具有依存信息的词时,则将该词周围位置的词隐状态向量改为和该词具有依存关系词的隐状态向量。考虑到有些词并没有依存关系,因此对这些词依然采用原来的局部注意力处理。即:

Attention=(1-p)×D_Attention+

p×L_Attention,p∈{0,1}

(12)

式中:D_Attention表示依存注意力;L_Attention表示局部注意力。

综上,将图卷积表示的词向量作为基础输入,此为第一种注意力表示;根据高频主题词的信息,将传统局部注意力适当放大,以学习到更多主题信息,此为第二种注意力表示;按照依存关系对目标词进行更远距离的信息学习,此为第三种注意力表示。

2 实验与结果分析

2.1 实验数据集

本文采用文本摘要研究领域较为通用的数据集,即NLPCC2017任务中面向今日头条的新闻文本摘要数据集,该数据集涵盖民事、科技、娱乐、医学、军事等十多个领域内的中文新闻内容,每一篇新闻文本都含有新闻对应的人工撰写的摘要,可用于评估针对互联网媒体网站上新闻文档的自动摘要技术。训练集包括文本内容和参考摘要共100 418条,测试集包括文本内容和参考摘要共4 000条。

2.2 实验过程

首先对数据进行预处理:由于本文研究的是中长文本摘要,因此先将文本过短的新闻进行剔除,剔除后新闻数量约为10万条;然后对文本进行分词、去停用词、词性标注等工作;最后按照图1的流程进行实验。词性标注的工作是为了之后的依存句法分析便于进行。

2.3 实验结果评价指标

本论文实验采用国际通用的摘要评价指标ROUGE,ROUGE分数用于计算生成摘要与参考摘要的词汇重叠度。本文采用其中的ROUGE-1、ROUGE-2、ROUGE-S4。ROUGE-1和ROUGE-2分数分别表示公共词长度为1和2的重叠度,这两个指标直观简洁,能够在一定程度上反映词序;ROUGE-S4表示词间最大距离为4,比n-gram模型更能深入反映句子级词序。

2.4 实验环境及参数设置

本实验的环境配置和参数设置分别如表1和表2所示。

表1 实验环境配置

表2 实验参数设置

2.5 实验结果分析

为了探究本文模型的优劣,选择以下摘要模型作为基线模型,分别是经典的TextRank抽取式摘要模型(取得分最高的两个句子组成摘要)、传统的Transformer生成式摘要模型、罗芳等[5]提出的MDSR摘要模型、宁珊等提出的融合关键词的摘要模型(下文简称为“关键词模型”)。后两种模型由于建立在短文本数据集上,因此直接使用本文中的主体文本作为数据集进行实验。为了证明数据集的基准性,本文还与NLPCC2017文本摘要任务中排名靠前的NLP@WUST团队的实验模型[16]进行对比。该团队使用基于句子抽取的特征工程来获得抽取式摘要,并通过句子压缩算法进一步提高摘要质量。另外,针对本文的多层注意力表示,设置多个消融分析实验,观察其中各层注意力的效果。

2.5.1本文模型与基线模型对比实验

通过在NLPCC 2017文本摘要集上对各模型进行复现实验,得到五个基线模型与本文模型的ROUGE分数,具体如表3所示。

表3 各模型结果对比实验结果(%)

为了更直观地观察分析结果,将该表数据绘制为如图7所示的折线统计图。

图7 各模型对比实验结果图

可以看出,本文提出的融合多层注意力表示的文本摘要方法在各项指标上均有提升。与经典的TextRank算法模型和传统的Transformer序列模型相比较,本文模型效果有了一倍多的提升,分析原因可知,本文提出的多层注意力表示已经将TextRank算法的思想、传统的Transformer模型涵盖在内,并且在其上有了更大的改进,因此会有一个很大的提升。与MDSR模型、关键词模型相比较,本文模型的ROUGE-S4分数分别增加了3.95百分点和1.50百分点,原因在于本文模型在照顾到高频主题词的基础上,不仅增加了句法结构方面的知识和相关的远距离注意力跳转,还对相邻词句进行了更高层次的图卷积表示,极大地丰富了词向量的表征。NLP@WUST团队的模型ROUGE-2分数为22.53%,是所有实验中最高的,但是ROUGE-S4分数比本文模型低2.42百分点,分析原因可知该团队的模型用特征工程的方法,结合多种词句特征在原文中选择出具有代表性的词汇,但是并没有对长距离词句关系进行探究,因此呈现出词汇共现度高但是句子级词序描述不足的结果。综上所述,本文提出的方法可以被证明对文本摘要具有可行性,且能达到较好的效果。

2.5.2本文模型各层注意力消融分析实验

为了探究本文方法中各层注意力表示的效果,设置以下消融分析实验。以传统的Transformer序列模型作为对照,分别以GCN、依存词、主题词三种注意力表示、三者之间两两结合以及最后三者综合起来进行对比分析,得到如图8所示的条形统计图(为了方便对比,去掉了解释性最差的ROUGE-1分数)。

图8 各注意力消融分析结果图

由图8看出,在第二至第四组实验中,GCN加Transformer的表现最好,其ROUGE-2、ROUGE-S4分数比依存词加Transformer分别高了约3百分点和2百分点,比主题词加Transformer分别高了约4百分点和2.5百分点;在第五至第七组实验中,GCN加依存词和Transformer的ROUGE得分最高,分别比其他两组的得分高了约2百分点、4百分点。这表明,同数量层的注意力表示中,包含图卷积GCN表示的实验效果是最佳的,其次是依存词,最后是主题词。分析原因可以知道,实验中先做的是图卷积表示,每个词向量都学习到大量周围词以及相邻句子的知识,而依存词和主题词分别在其基础上进行优化改进,且主题词是在辅助文本中挖掘得到,主体文本中已经包含了许多主题相关的关键词,因此对实验的积极影响都相对较小。

2.6 典型示例说明

为了更加具象化实验数据的解释性,实验还选取了数据集中的一条新闻样本在各个模型下生成的摘要进行对比说明。如表4所示,其中包括文本内容、参考摘要、对比实验的摘要以及本文模型的摘要。

表4 各模型生成的摘要示例

可以看出,TextRank、MDSR、NLP@WUST的结果属于抽取式摘要,而Transformer、关键词模型、本文模型的结果属于生成式摘要。TextRank和MDSR的摘要可读性较差,前者直接抓取了文本的前两句内容,后者则仅生成了关键词的集合;Transformer和关键词模型的摘要大意和参考摘要贴合,但是句式结构糅杂,部分语义模糊的问题很明显;而NLP@WUST团队模型的摘要缺少主语。本文模型利用图卷积和依存关系解决了长距离依赖和句式结构的问题,并且通过挖掘高频主题词使得摘要进一步贴合主题,所以生成了可读性更好、表意完整、句式结构严谨的摘要。

3 结 语

本文针对传统的文本序列模型向量表征不全面,且融合句法结构信息方面稍显欠佳的问题,提出了一种融合多种注意力表示的文本摘要方法。本方法适用于中长文本数据集,首先通过抽取式摘要技术将文本分割为主体文本和辅助文本,然后利用图卷积网络、依存句法分析和高频主题词得到融合后的注意力表示,最后将其送入Transformer序列模型中,得到文本摘要。实验结果相较于经典的算法模型和目前的几个研究更优,下一步的工作是研究如何融合更多更复杂的句法结构,且巧妙地改进注意力模型来获得质量更高的文本摘要。

猜你喜欢
主题词注意力卷积
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
我校学报第32卷第5期(2014年10月)平均每篇有3.04个21世纪的Ei主题词
我校学报第32卷第6期(2014年12月)平均每篇有3.00个21世纪的Ei主题词
2014年第16卷第1~4期主题词索引
《疑难病杂志》2014年第13卷主题词索引