融合注意力机制的铁路科技文献关键词抽取研究
2022-02-01李雪山刘鹏鹏李子林赵占芳
李雪山,刘鹏鹏,李子林,赵占芳
(1.中国铁道科学研究院集团有限公司 科学技术信息研究所,北京 100081; 2.河北医科大学第一医院智慧医院建设部,河北 石家庄 050030; 3.河北地质大学 信息工程学院,河北 石家庄 050031; 4.河北省光电信息与地球探测技术重点实验室,河北 石家庄 050030)
以铁路行业科研信息资源赋能领域科技研发、技术攻关成为新时期的重要任务。紧密贴合国家数字转型战略背景,对海量铁路科技文献进行关键词自动抽取等知识组织和文本分析处理,将为后期铁路科技信息资源的自动分类标引、智能语义检索、主题深度关联、领域知识图谱构建夯实元数据基础,进而为我国铁路行业科技研发工作提供精准、智能、优质的科技情报服务。
关键词自动抽取技术是指从文本文档中自动识别或标注出具有主题性、重要性的词或短语,是文本检索、文摘生成等文本数据挖掘、自然语言处理任务的基础性和必要性工作[1]。当前关键词自动抽取技术主要采用统计分析法、语言分析法、人工智能方法、混合方法[1]。其中,统计分析法是利用候选关键词特征的统计信息实现关键词的识别和提取。候选关键词的特征包括长度[2-6]、位置[2-4,7-9]、词频[3-4,6-7,9]、外部知识库引用[8,10-11]、词间关系[12-14]等;语言分析法主要利用自然语言处理的相关技术,例如:依存关系、词性序列[15-16]、修饰手法[17]、特殊格式[16]等特征提高关键词的抽取效果;人工智能方法主要是利用机器学习、深度学习的方法进行关键词抽取,朴素贝叶斯[18-19]、决策树[5-6]、支持向量机[20]、条件随机场[16,21]、神经网络[21-22]等方法均被用于关键词的自动识别和抽取;混合方法是集成了以上两种或三种方法,用于在特定领域提升关键词抽取的质量。
统计分析法是目前应用最为广泛且质量较好的关键词自动抽取方法,TextRank[23]和TF-IDF(Term Frequency Inverse Document Frequency)[24]算法为此类方法中的典型算法。TextRank算法是一种基于图模型的无监督学习方法,以网络图的形式对文本进行分析,根据词汇共现关系对词节点进行连接构造词图模型,以迭代方式计算每个词图节点的TextRank值来表示不同节点的重要程度,最后按值的大小进行排序并选择前N个词作为抽取的关键词。TextRank算法对文献主题没有限制要求,有很强的适应和拓展能力,无须进行数据训练,且收敛速度快,因此被广泛应用于关键词抽取应用中。
但是,TextRank算法仅通过词汇共现等特征构建词图模型,未考虑词语之间的语义关系,忽略了上下文的语义信息,使得关键词抽取效果受到制约。部分学者融合其他方法对TextRank算法进行改进和优化,如,宁建飞等[25]融合Word2Vec与TextRank算法,将单个文档内部的结构信息和语料整体的词向量关系信息进行融合以提升关键词抽取效果。夏天[26]根据词节点本身的各种位置信息进行不等加权,调整词图模型中节点间的影响力传递大小以改进关键词抽取效果。刘奇飞等[27]在融合Word2Vec和TextRank算法的基础上,结合时政类新闻领域的文本特征,利用外部语料库来改进文本中词节点的初始权重,改善领域关键词的抽取效果。余本功等[28]提出多元特征加权的关键词提取方法,通过Word2Vec模型来提取出词语在文档集中的语义关系特征与重要性特征,进而以线性加权的方式计算出每个词语的综合影响力,用于改进TextRank模型中的概率转移矩阵。以上方法虽然均利用Word2Vec模型训练出的词向量信息改进TextRank模型,但传统的Word2Vec模型在学习词的向量化表示过程中,对上下文背景词进行同等加权。通过研究分析可知,在铁路科技文献文本中,不同上下文信息对中心词的价值是不同的,因此,在铁路科技文献文本中,传统的Word2Vec模型导致所得词向量的精度受限。
鉴于以上研究,以关键词抽取算法TextRank为基础,分两阶段对海量铁路科技文献进行关键字抽取实验。第一阶段通过在Word2Vec模型中引入注意力机制,达到改善铁路科技文献词向量表示精度的目的,即训练出更适合铁路科技文献的词向量表示。然后,通过词间相似度优化TextRank网络图中词节点间的概率转移关系,并通过迭代计算筛选出候选关键词。在此基础上,第二阶段受到概率图启发,基于候选关键词词间语义关系,构建新的候选关键词网络图,通过TextRank算法进行二次迭代计算,得到最终的关键词。此处以中国知网CNKI铁路运输核心期刊文献为语料进行对比实验,结果表明,所提方法在关键词抽取效果上有明显改善。
1 TextRank算法
TextRank算法可以将文本以一种网络图的形式表现出来,通过迭代计算的方式得到网络图中每个节点的TextRank值,TextRank值用以表达不同词节点的重要性大小。TextRank算法的词图模型为G(V,E),其中,V为词语集合,E为边集合,假设共有n个节点,TextRank值的计算式为
i,j=1,2,…,n
( 1 )
式中:T(vi)、T(vj)分别为网络图节点vi、vj的TextRank值;d为阻尼系数,通常取0.85;I(vi)为在网络图中指向节点vi的所有节点的集合;O(vj)为网络图中节点vj所指向的节点的集合;wij为vi到vj两个节点之间的转移概率,wij同义。
TextRank算法无须进行模型训练,直接利用语料信息就可以得到网络图模型的候选关键词节点,方法简单高效,因而得到广泛应用。但是,TextRank算法在网络图模型的构建上有一定缺陷,未考虑词图节点之间的相关关系,仅简单认为节点间的影响力传递是均等的。
2 关键词抽取优化算法介绍
Bi-TextRank算法由两阶段组成,第一阶段用融合注意力机制的Word2Vec模型训练所有铁路科技文献,得到更为精确的词向量表征,通过词间语义关系优化TextRank节点间的转移概率,迭代计算初步筛选出M个候选关键词;第二阶段在候选关键词基础上,通过设置语义相似度阈值,基于词间语义关系构建新的网络关系图,筛选掉小于给定语义相似度阈值的节点之间的边,优化网络图模型,最后再次用TextRank算法对候选关键词网络进行二次筛选,得到最终的关键词。整体算法流程见图1,其中,网络图中的A、B、C、D、E分别代表词节点,带方向的实线和虚线表示词节点间的转移概率。
图1 Bi-TextRank算法流程
2.1 融合注意力机制的Word2Vec模型
近年来伴随着神经网络技术的快速发展,注意力机制已被广泛应用于机器翻译、自然语言处理等领域。通过引入注意力机制可以提升神经网络模型学习效果,强化数据中重要的相关信息,忽略不重要的信息。将Word2Vec模型与TextRank算法结合是一种有效提升关键词抽取效果的方案,并且注意力机制的引入不会对模型的计算与存储带来更大的开销。
Word2Vec包含CBOW(Continuous Bag-of-Words)和Skip-Gram两种训练模型。CBOW模型的基本任务是通过给定窗口内的上下文词去预测中心词,Skip-Gram模型的任务与其正好相反,模型训练的同时可以得到词汇的向量化表示。Word2Vec模型是通过上下文与中心词的关系训练得到一个词向量表示,在训练过程中,其对上下文词进行同等加权处理,通过研究分析可知,在铁路科技文献文本中,不同上下文信息对中心词的意义不同。如,在“铁路是供火车等交通工具行驶的轨道线路,以机车牵引列车车辆在两条平行的铁轨上行驶”中,对于中心词“铁路”,“火车”“交通”“工具”“行驶”“轨道”等不同上下文词对其向量表示的影响程度是不同的,注意力机制可迅速定位到文本中的焦点信息,根据文本信息做出准确判断,从海量文本信息中过滤无效信息。因此,为提高铁路科技文献文本词向量计算精度,利用注意力机制对Word2Vec的CBOW模型进行了改进,见图2,在CBOW模型的输入层与隐含层之间,加入注意力机制实现对文本词向量化表征的学习。
图2 引入注意力机制改进后的CBOW模型
CBOW模型分三层神经网络对文本进行训练,模型的输入层是某个中心词上下文词的one-hot向量,one-hot是对文本词进行向量化表示的一种方式,0或1表示其是否在文本中出现,进而将每个词表示为一个多维向量,便于文本计算;模型的输出是该中心词的词向量,隐含层主要通过训练输入词向量来预测中心词的向量表示。CBOW模型的训练目标是最大化对数似然函数L,L的计算式为
( 2 )
式中:w为语料C中任一词语;D(w)为文本中除词语w外的其他词语集合。之后,以函数L为导向,计算语料中词语w在文本中出现的概率,实现中心词的预测;以预测中心词与实测中心词最大相似度为目标,反馈并修正输入词的词向量,最终得到中心词的向量表示。
经过注意力机制处理后CBOW的输入可表示为
( 3 )
( 4 )
( 5 )
式中:tanh为激活函数;参数Wk、Uk由文本单词共现性确定;Zk为注意力模型训练的参数。
( 6 )
式中:f(V′1,V′2,…,V′n-1)为CBOW中隐藏层函数。
2.2 候选关键词抽取
首先利用融合注意力机制的Word2Vec模型训练语料集,通过注意力机制学习到上下文对中心词信息价值的差异化权重,得到较为精确的词向量化表示,在此基础上进行词间相似度的计算
( 7 )
式中:Sij为网络图模型中节点vi与vj间的语义相似度值。
词间相似度作为节点之间的转移概率,得到相似度矩阵M为
( 8 )
式中:相似度矩阵M即为概率转移矩阵。如果节点间的相似度越高,则代表词间相关性越强,影响力传递到相连的词节点的概率也就越大。通过TextRank算法迭代计算,得到的权重值Ti的计算式为
Ti=(1-d)T0+d×M×Ti-1
( 9 )
式中:T0为各节点的初始权重;d为阻尼系数,本文取值为0.85。
TextRank算法第一阶段的具体流程如下:
Step1构建语料词典
为提高专业词汇分词效果,在Jieba分词工具中引入铁路领域外部词库作为自定义词典。对每一篇文献进行分词、停用词过滤后,得到词汇集合Vi,最终得到所有文献的语料词典D=(V1,V2,…,VN)。
Step2初始化TextRank网络图模型
根据词汇共现关系构建TextRank网络图模型,初始化所有节点的权值。
Step3优化节点间转移概率
利用融合注意力机制的Word2Vec模型对语料词典D进行文本训练得到词汇的向量表征,通过计算词间相似度得到词汇间的关联关系,优化网络图模型中节点之间的转移概率。
Step4计算TextRank值
根据网络图模型,迭代计算每一个节点的TextRank值。
Step5抽取候选关键词
将网络图模型中每个节点的TextRank值按从大到小的顺序排序,抽取前N个关键词作为候选关键词。
2.3 关键词抽取
受概率图启发,在候选关键词基础上基于词间语义关系构建新的词间关系网络图,并通过TextRank算法进行关键词二次筛选。算法具体流程如下:
(1)利用第一阶段算法进行候选关键词的初步筛选,生成前M(本次实验M=10)个关键词集合。
(2)计算M个关键词集合中每个当前词与剩余词之间的语义相似度,作为两点之间的权重。
(3)设置阈值,过滤掉权重低于阈值的词关系,大于或等于阈值的候选关键词两两之间连成一条边。
(4)将节点之间的相似度更新到概率转移矩阵中,再次利用TextRank方法进行迭代计算,将计算的结果进行排序,最后输出TopN个词作为最终的关键词,完成关键词的二次筛选。
阈值确定方面,在第二次构建关键词网络图的过程中,采用权重阈值过滤的方法确定词与词之间的边,阈值的选择通过大量实验获得。随机抽取500篇测试语料,当语义相似度阈值设置为0.13时,无论关键词抽取个数为3、5或者7时,整体平均值F达到最优效果,且当阈值超过0.18时,因无法构成新的网络图而输出第一阶段的候选关键词抽取结果,F不再变化,因此,本次实验相似度阈值设置为0.13。图3为关键词抽取个数为3、5、7时,关键词抽取的F随相似度阈值的变化曲线。
3 实验与结果分析
3.1 实验环境
为验证改进算法的性能,本实验将融合注意力机制的Word2Vec模型部署在腾讯云上,GPU为GeForceRTX2080Ti1,内存256 GB,基于操作系统与Tensorflow框架实现。
图3 关键词抽取个数为3、5、7时F随阈值的变化曲线
3.2 实验数据集
中国知网铁路运输核心期刊文献的元数据集(包括文献的题目、摘要和关键词等信息)是本实验的语料,用于模型训练的文献数量共计31 547篇,测试数据集来源于随机抽取的500篇文献,图4列出了部分铁路科技文献语料。
在语料预处理阶段,使用Jieba分词工具时,引用铁路核心词库作为自定义词典对文档进行分词。将得到的文本作为融合注意力机制改进后的Word2Vec模型的输入数据。训练词向量采用融合注意力机制的CBOW模型,其初始化的主要输入参数包括:sentenceos,size=100,window=5;其中words为预处理后的训练语料,size为词向量的维度,window为CBOW模型所设置的窗口大小。本次实验训练词向量共计耗时6 h 21 min,最终得到约293 MB训练后的词向量文件,图5为截取的部分词的向量表征。
图4 部分实验语料
图5 部分词的向量表征
3.3 评判标准
采用以下评价指标:精确率P、召回率R以及F。因F可以综合反映出准确率和召回率的整体效果,选取F作为实验的最终评价标准。各评价指标的计算式为
(10)
(11)
(12)
式中:xi为应用关键词自动抽取算法抽取的第i篇文献的关键词集合;yi为针对第i篇文献人工标记的关键词集合,测试数据集来源于随机抽取的500篇文献。因此,在本实验中N=500。
3.4 实验结果与分析
以提取3、5、7个关键词为实验标准,对自动抽取关键词与人工标注关键词进行对比。实验对比的方法包括:
(1) 传统的TextRank算法。
(2) 文献[25]提出的关键词抽取算法。
(3) 文献[26]提出的关键词抽取算法。
(4) 本文提出的Bi-TextRank关键词抽取算法。
4种算法的关键词抽取结果如表1所示。从图6至图8可以看出,对铁路科技文献测试语料进行关键词抽取实验,结果表明,提出的Bi-TextRank算法整体实验效果均优于其他方法,且效果稳定。在原始TextRank算法的基础上,为了更详细地验证加入不同方法对关键词抽取效果性能的影响,对原始TextRank算法、融合Word2Vec的TextRank算法、引入注意力机制改进Word2Vec进而优化TextRank的算法,以及Bi-TextRank算法进行对比实验,实验结果如表2所示。
图6 平均准确率对比
图7 平均召回率对比
图8 F对比
以关键词抽取个数为7为例。由表2可以看出,TextRank作为基础算法在铁路科技文献数据集上,其关键词抽取的准确率、召回率以及F分别为0.278、0.340、0.306。在TextRank基础上,加入词的语义信息,关键词抽取性能有一定幅度的增加。在铁路科技文献中,上下文单词对中心词的价值不均等,原始Word2Vec模型训练铁路文献语料,导致词向量精度受限,因此Word2Vec模型在聚合注意力机制后,能够根据上下文信息权重有针对性的对中心词的表征进行调整,模型的准确率、召回率以及F得到了较大增加。最后,在引入注意力机制改进Word2Vec进而优化TextRank算法的基础上,基于概率图构建网络图,分阶段抽取关键词,相比于基础的TextRank算法,在铁路科技文献数据集的表现上,进一步提升了关键词抽取的效果,同时也充分证明了改进模型的有效性。
通过对比4种基于TextRank模型的关键词抽取算法,得出以下结论:传统TextRank算法,因统计信息较为简单使得关键词抽取效果受到限制,在4种对比算法中,传统TextRank算法综合表现性能较差;文献[25]提出的融合TextRank与Word2Vec的模型,通过改善词间关系的表示来提升关键词的抽取效果;文献[26]提出的算法利用词节点本身的各种位置信息调整词节点间的影响力传递大小,在一定程度上提升了关键词抽取效果。提出的Bi-TextRank算法,是在融合TextRank与Word2Vec模型的基础上通过引入注意力机制改进Word2Vec模型来改善词向量的表示获取更精确的词间关系,同时,在初次筛选出候选关键词的基础上,通过设置不同阈值来优化网络图模型,再次利用TextRank对候选关键词进行二次筛选,该算法虽然增加了网络图构建的一些时间,但相较传统的TextRank算法整体有较大增加,且明显优于其他对比算法。
表1 关键词抽取的4种算法的评价指标对比
表2 不同方法组合对实验结果的影响
4 结论
本文可得以下结论:
(1)基于铁路科技文献,提出利用注意力机制学习不同语境中上下文对中心词的信息价值权重,改善了传统Word2Vec模型的词间关系表示,获得更为准确的语义相似度信息用以优化TextRank的网络图模型,提升了候选关键词抽取的质量。
(2)通过设置阈值构建不同词间关系网络图,探索其对关键词抽取效果的影响,在候选关键词的基础上,进一步提升了关键词最终抽取的效果。
(3)对Bi-TextRank优化算法和传统TextRank算法等进行实验对比,Bi-TextRank优化算法在准确率,召回率和F上均明显优于其他算法,可推广应用到铁路科技文献资源关键词自动抽取工作中。
伴随着我国铁路行业数字转型、科技创新步伐的不断加快,高质量铁路科技情报与信息服务的需求愈发显著。面对海量的铁路科技信息资源,运用基于Bi-TextRank优化算法的关键词自动抽取技术开展领域内文献资源的知识组织与加工工作,进一步夯实铁路科学研究、技术攻关的基础信息资源建设。