基于混合卷积网络的短文本实体消歧
2021-12-27姜丽婷古丽拉阿东别克马雅静
姜丽婷,古丽拉·阿东别克,马雅静
(1. 新疆大学 信息科学与工程学院,新疆 乌鲁木齐830046;2. 新疆多语种信息技术实验室,新疆 乌鲁木齐830046;3. 国家语言资源监测与研究少数民族语言中心 哈萨克和柯尔克孜语文基地,新疆 乌鲁木齐830046)
0 引言
随着互联网技术的飞速发展与普及,网络文本呈现出爆炸式增长的趋势,大量短文本、不规范的实体命名以及实体上下文短缺给实体消歧带来了巨大的挑战。实体消歧的结果对信息检索[1]、智能问答[2]等一系列自然语言处理任务具有重要意义。因此,如何在面临上述困难的情况下取得较好实体消歧结果备受科研者关注。
实体消歧(Entity Disambiguation,ED)是将自然语言文本中存在歧义的实体正确地连接到外部知识库的工程。目前的实体消歧任务分为两种类型: 基于聚类的实体消歧方法和基于实体链接的实体消歧方法[3]。基于聚类的方法面对的是目标实体列表没有给定的情况,而基于实体链接的方法可以将待消歧的实体映射到外部知识库对应的候选实体集合中,本文主要针对后者进行研究。
随着后续智能问答等任务对知识图谱的要求越来越高,单靠早期的实体聚类消歧已经不能满足任务的需要,现在的主流方法是实体链接消歧。实体链接消歧的本质是计算实体指称项与候选实体的相似度,选择相似度最大的候选实体作为链接的目标实体[4]。郭剑毅等[5]提出融合词向量和主题模型的领域实体消歧方法,结合文档全局上下文信息和文档局部上下文信息,分别计算上下文相似度、类别指称相似度、领域主题关键字相似度,并进行融合,选择相似度高的作为消歧结果。杨晓等[6]结合LDA(Latent Dirichlet Allocation)主题模型和局部社区发现思想提出了一种改进的命名实体消歧方法,使用LDA主题模型计算候选实体间的语义相关度,其次使用PageRank算法,高效地使用寻找最优子图作为消歧结果。
目前,深度学习蓬勃发展,循环神经网络(RNN)、卷积神经网络(CNN)等方法被用于实体消歧任务中,但仍存在一些问题: ①上下文文本特征提取不充分; ②语义信息获取的较少。
针对以上问题,本文提出了一个新的模型,混合卷积网络(Mixed Convolution Network,MCN)。首先从知识库中获取待消歧实体的候选实体集,并进行一一拼接,用来扩展句子信息;使用BERT模型进行特征提取,并将特征输入到注意力机制中,使得各个特征更加明显。与此同时,构建短文本的依存树,获得邻接矩阵,将特征分别输入到CNN与GCN模型中,提取文本特征与语义特征,最后,将二者获得的语义特征进行融合,完成消歧任务。
1 相关工作
1.1 特征表示
利用深度学习方法进行自然语言处理时,需要将文本表示为向量的形式,作为神经网络模型的输入。
实体消歧任务主要是根据上下文解决句子中含有歧义的实体具体指代的问题,有些词向量表示方法并不能体现一词多意的问题,例如,Word2Vec,故本文使用Google提出的BERT模型[7]进行特征提取。BERT模型采用的是双向Transformer模型的Encoder作为特征提取器,在实体消歧任务中将文本进行向量化表示。采用前向和后向训练模型对短文本的语义理解会更加深刻,可以提取到隐藏的深层语义信息,最大程度为短文本实体消歧任务的完成提供充分的语义信息。相较于循环神经网络(RNN),该模型可以捕获待消歧实体上下文中更长距离的语义依赖,比RNN更高效。 BERT 使用了两种策略, 分 别是Masked LM (MLM)和Next Sentence Prediction (NSP)。本文通过NSP策略的启发,将待消歧实体与候选实体集结合作为整体模型的输入。
1.2 卷积神经网络模型
卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(Deep Learning)的代表算法之一[8-9]。其主要思想有局部感受野(Local Receptive Fields)、权值共享(Shared Weights)和池化(Pooling),受生物自然视觉认知机制启发而来,最早由LeCun等人[10]提出并应用在手写字体识别任务中(MINST),并且现在被广泛用于自然语言处理中,结果显示其性能不亚于RNN。
在短文本实体消歧任务中,CNN通过卷积核在文本中进行一维的滑动来提取句子中的局部特征信息。因为文本长度较短,且待消歧实体与其周围的词一般是高度相关的,所以卷积后包含的局部特征中,不仅包含词本身所具有的特征,还包含了上下文词的特征信息。其次,使用不同滑动窗口对文本进行卷积操作,可以获得围绕待消歧实体词的不同的特征,将这些特征融合后可以得到更全面的局部语义特征,对实体消歧任务而言,可以更加准确地判别出实体所指含义。
在完成特征的提取之后,还需要对卷积后的结果进行进一步的筛选,筛选得到对实体消歧任务更有用的语义特征。这一操作被称之为池化(pooling),常见的pooling有两种,分别为最大池化(max pooling)和平均池化(mean pooling)。
1.3 图卷积网络模型
(1)
(2)
其中,L0=X。
1.4 注意力机制
Attention 机制最早被应用在计算机视觉领域中,随后,该机制[16]及其变体[17]被广泛应用到了NLP任务中。注意力机制(Attention) 首先需要产生查询向量(Query,Q)、键向量(Key,K) 和值向量(Value,V),上述三个向量决定最终的注意力权重。
第一步是将Query和每个Key进行相似度计算得到权重;第二步一般是使用softmax 函数对这些权重进行归一化处理;最后将权重和相应的键值Value 进行加权求和, 得到最后的 Attention, 如式(3)所示。
(3)
其中,Q为Query,K为Key,V为Value。当dk较小时,乘法注意力和加法注意力效果相差无几,但是当dk比较大时,如果不使用scale factor,则加法注意力效果好,因为乘法结果比较大,容易进入softmax函数的“饱和区”,梯度较小。其结构如图1所示。
图1 注意力机制结构图
本文将注意力机制引入实体消歧模型是为了将BERT模型产生的词向量进行筛选。短文本中蕴含的主要信息是有限的,注意力机制可以将文本中对于判别实体属于具体指代的词给予较高的权重,同时对与实体消歧任务影响较小的词赋予较低的权重。从众多信息中选择对实体消歧任务更关键的信息可以使得后续模型更好地学习特征,从而训练出分类准确率较高的分类器。
2 实体消歧模型构建
短文本具有口语化严重、上下文语义信息不充足的特点,这些特点使得实体消歧任务在短文本领域面临着巨大挑战。为了解决上述问题,本文使用BERT进行特征提取,并结合自注意力机制、卷积神经网络(CNN)和图卷积神经网络(GCN)提出了短文本实体消歧方法。利用该方法可以提取到更加充分的文本特征,采用卷积神经网络提取文本向量的局部特征,图卷积神经网络提取文本的语义、语法依存特征,融合二者捕获的语义特征,并通过全连接层完成实体消歧任务。全连接层使用ReLU激活函数,通过加入ReLU层加速随机梯度下降的收敛速度[18],其模型如图2所示。
图2 实体消歧模型
2.1 任务定义
给定一条文本=(w1,w2,…,wn)作为输入的短文本,实体消歧就是对短文本中第i个实体以及上下文进行特征提取,同时与外部知识库中的每个候选实体进行匹配,以此来判断短文本中的实体属于什么类型。实体消歧的本质在于消解一个词在不同语境环境下的不同含义。例如,“这家果园的苹果真的是太好吃了,又脆又甜”,该句中的“苹果”是一种水果,而不是手机生产公司的苹果。
2.2 文本向量化表示
由于深度学习模型无法直接对文字进行处理,就需要先对文本进行向量化表示。最初使用one-hot表示方法将文本转化为可计算的数值。后来出现了分布式表征,如Word2Vec。Word2Vec 是Google于2013年开源推出的一个用于获取词向量的工具包,因其简单、高效而引起了诸多关注。Word2Vec 就是把单词转换成向量。其本质上是一种单词聚类的方法,作为实现单词语义推测、句子情感分析等的一种手段。Word2Vec主要有两种方法: CBOW(通过附近词预测中心词)、Skip-gram(通过中心词预测附近词)。由于短文本能提供的上下文语义信息十分有限,并且Word2vec产生的词向量是静态的,并不能体现词在不同语境下含义的特殊性,所以在实体消歧任务中,采用Word2vec技术生成的词向量取得的精度有限,这一点在本文3.4节中得到了验证。所以采用Google提出的BERT模型进行特征提取,将一个句子输入到BERT模型,经过BERT模型的特征提取及语义推理,输出这条句子的表示,表示为一个向量,将向量作为输入,传递给后续模型。BERT模型采用Transformer的Encoder结构[17],通过多头注意力机制生成的词向量能体现词在当前句子中的特定语义。
2.3 MCN模型
本文提出MCN模型,将卷积神经网络与图卷积网络并行结合。因数据属于短文本范畴,特征词少,词频、词共现频率等信息不能得到充分利用,往往会丢失词语间潜在的语义关联关系,并且文本形式不规范,导致传统的文本预处理和文本表示方法不够准确。为了获取更多的短文本上下文语义信息,使得实体周围的上下文语义更加突出,本文将知识库中的候选实体集取出,与待消歧文本进行拼接作为一个句子,作为整个模型的输入。获得文本之后,采用BERT模型构建表示向量,如式(4)所示。
S= (s1,s2,…,sm,w1,w2,…,wn)
(4)
其中,s1,s2,…,sm表示待消歧文本向量,w1,w2,…,wn表示候选实体文本向量。与此同时,使用原始文本进行依存树的构建,获得文本的邻接矩阵,依存关系如图3所示。
图3 依存关系
模型分两部分同时进行,第一部分将通过自注意力机制的文本向量输入卷积神经网络(CNN)中,分别使用大小为(3,4,5)的卷积核进行卷积,将卷积的结果分别进行最大池化和均值池化,并以拼接的方式融合提取到的语义信息。这样做的目的是减小特征提取的误差,使得特征更加抽象且明显,其结合如式(5)所示。
s=concat_x⊕concat_y
(5)
其中,concat_x为最大池化结果concat_y为平均池化结果。
第二部分将文本向量与邻接矩阵结合作为图卷积网络(GCN)的输入,通过两层GCN获取文本的语义依赖信息,将卷积神经网络与图卷积网络提取的特征结合,经过一个全连接层,最后采用sigmoid激活函数进行分类。
2.4 模型训练
本文使用梯度下降优化算法Adam进行模型训练,损失函数为最小化交叉熵,使用线性模型正则化中的Early Stopping方法解决过拟合问题,来降低每个参数的有效规模。其中,Early Stopping是在训练中计算模型在验证集上的表现,当模型在验证集上的表现开始下降的时候,停止训练,这样能有效避免继续训练导致过拟合的问题。交叉熵的公式如式(6)所示。
(6)
2.5 算法描述
本文根据待消歧实体从知识库种获取候选实体集,并将其一一拼接,构造为分类文本,利用训练得到的MCN模型对测试文本进行预测,具体过程如算法1所示。
算法1 基于MCN的短文本实体消歧输入: 待消歧实体(mention),知识库输出: 类别标签0或11.Begin2.对数据进行预处理,将数据中的特殊字符转换,删除书名号等,并将数据集划分为训练集与测试集;3.从知识库中获得候选实体集,将待消歧实体与候选实体拼接,并且根据kb_id与subject_id构造分类标签;4.kfold =KFold(n_splits=5,shuffle=False);5.For i,(tra_index, val_index)∈k fold(train[0])6. Beign7. 将训练文本输入BERT模型中,获得表示向量,同时将文本表示为邻接矩阵;8. 表示向量作为注意力机制的输入,并经过注意力机制,结果作为卷积神经网络的输入9. concat_x=[],concat_y=[];10. For index,filter_size∈[3,4,5]11. Begin12. 卷积层,卷积核分别为3,4,5;13. 平均值池化,追加到concat_x;14. 最大值池化,追加到concat_y;15. End16. concat_x,concat_y拼接;17. 将表示向量与邻接矩阵作为GCN模型的输入;18. 经过2层的GCN模型;19. 将步骤16与步骤18得到的结果结合,经过全连接层进行分类;20. 利用训练好的MCN模型进行预测,得到分类结果,若为1,则分类正确,若为0,分类错误21. End22.End
3 实验
3.1 实验环境
本文在BERT提取特征的基础上结合MCN模型完成中文短文本实体消歧任务,将文本特征向量化表示,输入模型进行迭代训练,最后进行预测,输出预测值。实验环境如表1所示。
表1 实验环境
3.2 实验数据
数据集采用全国知识图谱与语义计算大会(CCKS 2019)评测任务中的面向中文短文本的实体识别与链指任务数据(Entity Recognition and Linking,ERL)。ERL数据集中训练集共有90 000条数据,外部知识库共有399 252条数据。数据取自搜索Query、微博、用户对话内容、文章标题等,均为中文短文本。本文采用的数据集是从数据中随机抽取的9 000条数据,其中,8 000条作为训练数据,1 000条作为测试数据。本文主要使用五折交叉验证进行实验,该方法能更好地验证模型的泛化能力。其中,五折交叉验证是将数据集划分为5个大小相似的互斥子集,每个子集尽可能保持数据分布一致性,从数据集中分层采样得到。每次用4个子集的并集作为训练集,余下的子集作为测试集,这样就可以获得5组训练/测试集,从而可以进行5次训练和测试,最终得到5个测试结果的均值。实验数据样例如表2所示。
表2 实验数据样例
3.3 评价标准
自然语言处理领域中评估是一个重要环节,常用的评价标准为准确率P(Precision)、召回率R(Recall)及F值(F-Measure)[19]。P是评估捕获的成果中目标成果所占的比例,R是召回目标类别的比例,而F值则是综合这二者指标的评估指标,用于综合反映整体效果,当参数α=1时,就是最常见的F1。具体计算如(7)~式(9)所示。
(7)
其中,TP、TN、FP、FN的含义如表3所示。表3是根据分类结果建立的混淆矩阵,用来介绍评价指标的计算方式。
表3 混淆矩阵表
3.4 实验结果对比
3.4.1 对比模型介绍
为了证明实验模型的有效性,本文选取了若干深度学习模型在相同的环境下与MCN模型进行对比实验。实验中将待消歧文本与候选实体文本拼接,模型中特征向量使用Google提出的BERT模型进行训练得到。
(1)Word2Vec-BiLSTMBiLSTM是RNN的一种,是由前向的LSTM与后向的LSTM组合而成。基于Word2Vec的文本向量表示,通过BiLSTM可以更好地捕捉双向的语义依赖。
(2)BERT-BiLSTM采用BERT作为文本向量化表示技术,在相同的下游模型下,比较BERT和Word2vec两种文本表示方法对实体消歧任务的影响。
(3)BERT-CNN使用CNN模型的核心在于捕捉文本的局部相关性,用来提取句子中类似N-gram的关键信息。
(4)BERT-GCN根据原始文本构造依存树,进而得到邻接矩阵,与文本向量化表示结合后,经过两层GCN网络进行分类。
(5)BERT-ATT-CNN使用BERT模型对文本进行向量化表示,结合self-attention机制和CNN模型对中文短文本进行分类。
(6)BERT-ACNN-BiLSTM并行采用ATT-CNN模型与BiLSTM模型,一个提取局部特征,另一个提取全局特征,将两种互补模型提取的特征融合,进行分类。
(7)BERT-MCN本文提出的模型,将卷积神经网络与图卷积网络结合,经过全连接层进行分类。
3.4.2 实验结果分析
本文算法与其他算法在相同的数据集上的对比实验结果如表4所示。
表4 CCKS数据集实验结果
由表4可知,在下游模型均采用BiLSTM的情况下,用BERT进行词的向量化表示取得的消歧精度要明显高于Word2Vec,这是因为,BERT生成的词向量是动态的,能够反映词在具体语境下的真正语义,这对同名实体歧义的消解至关重要。
表4中BERT-CNN模型取得的精度结果要优于BERT-BiLSTM,这是短文本的特性所决定的,在短文本的自然语言处理任务中,文本的长度较短,词间距离较短,BiLSTM模型处理长文本的优势没有得以体现,所以用CNN作为下游消歧模型效果较好。而通过Attention机制进一步提取BERT产生的语义向量能够使得模型捕获重要语义的能力进一步提升,所以,BERT-ATT-CNN模型取得的F1值要比BERT-CNN的高2.89%。和BiLSTM和CNN模型相比,GCN能获取不同文本词与词之间语义依存关系,而非仅关注当前文本的语义表示。所以,BERT-GCN取得的消歧F1值要比BERT-BiLSTM和BERT-CNN分别高2.90%和1.40%。
考虑中文短文本语义信息有限这一难点,本文通过拼接待消歧文本和知识库文本来扩展语义信息。在此基础上,结合了ATT-CNN模型捕获的单句语义和GCN模型捕获的词间依存关系,通过并行的方式融合二者的语义信息也规避了过深的深度学习模型在训练中可能出现的梯度消失等系列问题。所以在中文短文本实体消歧任务中,MCN模型取得了优于其他对比模型的精度。
4 结论
本文提出一种结合卷积神经网络与图卷积网络的短文本实体消歧方法,采用的实体消歧方法并没有像传统实体消歧方法那样使用待消歧实体上下文文本特征与候选实体上下文文本特征进行相似度计算,而是将数据按照唯一的编号做成分类数据,再进行分类。MCN模型以并行的方式结合CNN与GCN两种模型,融合了两种模型的优势。针对短文本具有噪声大、特征少的特点以及CNN在池化时会丢失一部分特征的问题,MCN模型在CNN通道中使用了均值池化和最大值池化,并且引入了注意力机制,丰富了特征信息。实验结果表明,本文提出的方法在短文本实体消歧任务中取得了优于主流模型的精度结果。
但是,本文的研究还存在诸多不足,如存在外部知识库中找不到训练数据对应实体的情况。如果存在切实可行且高效的实体消歧技术解决该问题,那么实体消歧任务的精度将可能会被提高。