基于多特征因子融合的中文短文本实体消歧
2023-03-21王永缔
王永缔,雷 刚
(江西师范大学软件学院,江西 南昌 330022)
0 引 言
近年来,中文短文本实体消歧成为自然语言处理(Natural Language Processing,NLP)领域中众多下游任务的基础工作,如基于搜索引擎的实体搜索任务[1]、基于知识库的问答任务[2]、知识图谱构建[3]等,并且起到了越来越重要的作用。实体消歧是指将一段文本中指定的指称映射到知识库中某个实体的过程,其难点主要在于知识库中一般存在多个与指称同名的实体且每个实体又存在多种表示方式。长文本具有丰富的上下文语境和充足的语义信息,有利于长文的实体消歧。然而像查询文本、微博评论以及其他更短的文本,由于上下文语境不够充分、语义稀疏、文本口语化等问题,仅凭指称上下文与候选实体描述的语义相似度来对指称进行消歧,往往难以取得较好的效果[4]。
针对基于短文本实体消歧存在的上述问题,本文提出一种基于多特征因子融合的实体消歧模型,通过使用多层感知机(Multilayer Perceptron,MLP)和加权融合,将候选实体在不同角度的特征得分进行融合,综合考虑指称上下文与候选实体描述的语义相似度、指称类别嵌入与实体嵌入的语义相似度、同一查询文本中相邻指称候选实体间的共现关系,以及实体流行度4个特征,来更好地完成中文短文本的实体消歧。
1 相关工作
1.1 中英文长文本消歧模型
早期的实体消歧大多是在中英文的长文本数据集上进行的,并且按照消歧对象的不同可分为局部消歧模型和全局消歧模型。局部消歧模型[5-9]对文档中的每个指称单独消歧,一般基于词向量和循环神经网络、卷积神经网络等网络结构建模来将文本映射到统一的语义向量空间中,在此基础上根据指称上下文与候选实体的知识库描述在各个粒度(表面形式、上下文、文档)的语义相似度、指称上下文主题与实体类别相似度,以及实体流行度等基于统计的稀疏特征进行指称的单独消歧。Yin等[9]最早将基于预训练语言模型 BERT (Bidirectional Encoder Representation from Transformers)[10]微调(finetune)处理NLP 任务的方式应用于实体消歧中,在当时的多个数据集上达到了最佳效果。早期的全局消歧模型一般分为2 种:一种是根据消息传播机制使用动态规划算法求取全局的最优解[11-13];另一种是将每篇文档中的指称和候选实体建模为一张图,在此基础上基于图的随机游走算法求取每个候选实体的稳态概率并以此来约束模型的训练[14-15]。此后,Yang 等[16]提出从已消歧指称对应的实体中积累知识来为未消歧指称提供更多的信息帮助决策。Phan 等[17]提出了一种类似于使用克鲁斯卡尔算法求解最小生成树的方式每次对文档中的一对指称进行消歧,反复迭代直到文档中的全部指称消歧完成。此外,Chen 等[18]将指称的类别嵌入与实体嵌入的余弦相似度得分集成到大量已有的局部模型得分的计算中,结果显示该特征得分能够帮助模型纠正大量类别不正确的链接实体。
1.2 中文短文本实体消歧模型
早期中文短文本实体消歧的研究[19-22]大多是基于词向量[23]和机器学习中的词频-逆词频(tf-idf)值及支持向量机等,一般没有使用到神经网络或只用到了浅层的神经网络,其研究重点在于文本噪声、知识库噪声的处理以及候选实体生成策略等。在近期的中文短文本实体消歧研究中,文献[24-26]使用局部消歧模型,在模型的结构设计上进行了创新,其研究重点在实体描述与指称上下文的相似性上并未考虑到实体的共现特征及类别特征。Zhao 等[4]基于注意力机制及BERT 的微调捕获指称上下文与候选实体描述的局部语义相似信息,在此基础上,基于重启随机游走算法进行全局消歧,其采用的实体转移概率矩阵[14]是基于维基百科的统计知识所得。此外,文献[27-28]和本文一样采用了多特征因子融合的方式对候选实体进行打分、消歧。其中文献[27]设计了3种模型从不同角度生成候选实体相关特征,并使用梯度提升树构建分类模型进一步完成实体消歧,在CCKS2019 短文本实体链指比赛中取得了第4 名的成绩。文献[28]使用多个微调后的预训练语言模型对候选实体进行打分及排名,将上述得分及排名视作有助于实体消歧的特征因子,以此通过MLP 将多个预训练语言模型的消歧结果及其他数据集的统计特征进行融合,得到候选实体的最终得分完成消歧。该方案在CCKS2020 及百度2021 这2 项中文短文本实体链指评测比赛中均取得了第一名的成绩。
综上,实体消歧模型一般分为局部消歧模型和全局消歧模型2 种,从特征的角度考虑其区别在于模型在消歧的过程中是否考虑到了实体间的共现,对证明共现特征在实体消歧中起着很关键的作用[14-15]。除了共现特征外,类别特征通常对改善模型消歧结果能起到一定作用[18]。此外,实体流行度特征一直是实体消歧中一项不可忽视的因素。现有的中文短文本实体消歧模型在消歧过程中大多仅考虑候选实体描述与指称上下文的语义匹配特征,对类别特征与共现特征的研究不足。其中大部分模型都没有考虑到类别特征的应用,更没有提出明确有效的类别特征的度量与应用方法;对共现特征的研究一般停留在使用图随机游走算法进行全局消歧,然而当使用固定外部知识库所提供的候选实体时,很难利用到维基百科所提供的有效的初始概率转移矩阵,因此此类全局消歧模型也就很难应用到使用指定外部知识库提供候选实体的实体消歧过程中。
针对上述缺点,本文首先基于实体嵌入和指称类别嵌入[13,18]提出一种新的共现特征及类别特征以及它们的计算方式,然后将计算得分集成到使用指称上下文与候选实体描述语义匹配特征进行消歧的模型得分中,最后在集成模型的得分上通过加权的方式融入实体先验概率完成实体消歧。实验结果表明,本文提出的类别及共现特征得分衡量方式及整体消歧流程是有效的,能够明显地改善消歧的模型中基于指称上下文和候选实体描述语义匹配特征进行消歧的效果。
2 基于多特征因子融合的实体消歧方法
本文提出的基于多特征因子融合的实体消歧方法,首先将基于指称上下文和候选实体描述语义匹配特征的模型作为实体消歧基模型,然后,在其基础上采用系列特征得分融合方式来提高模型的消歧效果。模型的整体消歧流程如图1所示。
图1 整体消歧流程图
基于多特征因子融合的实体消歧方法计算步骤如下:
1)将指称使用掩码替换后的查询文本和知识库所有实体的实体描述分别输入到预训练语言模型中,提取出指称的类别嵌入和知识库实体的实体嵌入。
2)将指称上下文与候选实体的知识库描述输入到步骤1 使用的预训练语言模型中,基于二者的语义匹配得分筛选出得分最高的n个候选实体并保留其语义匹配得分。
3)基于步骤1 所得指称类别嵌入及实体嵌入,使用共现模型及类别模型分别计算由步骤2所得的n个候选实体的共现特征得分及类别特征得分。
4)使用多层感知机将由步骤2 和步骤3 所得的n个候选实体的3 个特征得分映射到一维向量空间中,得到这n个候选实体在上述3 个特征角度的综合得分,将其与候选实体各自的先验概率加权融合得到这n个候选实体的最终得分,选取最终得分最高的候选实体作为目标即完成整体消歧流程。
2.1 基模型特征
基模型即仅使用指称上下文与候选实体描述语义匹配特征进行消歧的模型,通过微调预训练语言模型处理实体消歧任务已被证实能取得很好的消歧效果[9],因此本文同样采用微调预训练语言模型来捕捉指称上下文与候选实体描述的语义匹配得分,即预训练语言模型作为本文的基模型。本文选用百度提出的知识增强型预训练语言模型(Enhanced Representation through Knowledge Integration,Ernie)[29]作为预训练语言模型。
首先本文利用基模型是获得每个候选实体知识库描述与指称上下文的语义相似得分,然后根据该得分过滤掉大量无关的候选实体,保留n个得分最高的候选实体进行进一步的消歧。基模型的具体消歧过程如下:
首先,将指称上下文和指称拼接起来作为sent1,将候选实体的知识库描述作为sent2,然后使用[SEP]标识符将两者拼接起来并在首尾分别插入[CLS]、[SEP]标识符,最终的序列s如公式(1)所示:
接着,将序列s输入到Ernie 中,取其顶层[CLS]位置的输出作为二分类全连接神经网络的输入,采用正负比1:2的负采样方法在每轮训练选择不同的负例进行预训练语言模型的微调。模型结构如图2所示。
图2 基于预训练语言模型微调的二分类模型
图2 中的Trm 指Transformer[30]的编码器。模型使用交叉熵损失函数计算损失值,具体的计算公式如式(2)和式(3)所示:
其中,i表示第i个样本,y^(i)是第i个样本对应的真实标签,p(y^(i))是模型预测样本i标签为y^(i)的概率,loss即为损失函数,base_model 表示上述基模型。将指称上下文和候选实体按上述方式拼接后输入到训练好的基模型,取模型预测样本为正的概率即得到指称上下文与候选实体描述的语义匹配特征得分,称为基模型特征。
2.2 实体共现特征
共现特征一般指查询文本中属于不同指称的2个或多个候选实体同时出现的概率。其值通常可以基于数据集或知识库的统计概率获得[14],也可使用实体嵌入间的语义相似度进行衡量[16],或是综合考虑两者[15]。但由于基于知识库的统计概率获取实体的共现概率对知识库的大小、质量有极高的要求,因此,本文使用实体嵌入间的语义相似度作为共现特征的衡量。
在短文本消歧中,不仅指称上下文语境有限,而且同一查询文本中的相邻指称的联系更为紧密。例如在“周杰伦《你比从前快乐》吉他谱-吉他谱下载....”这句话中“你比从前快乐”既与“周杰伦”存在较强的关联(《你比从前快乐》是周杰伦的歌曲),又与“吉他谱”存在着一定的关联,而与“下载”之间的关联则较为微弱。针对于上述短文本,本文首先将待消歧指称候选实体与其前后向相邻指称候选实体的最高语义关联得分相加。然后,将其作为当前待消歧指称候选实体的共现特征得分。在该过程中语义关联得分采用实体嵌入的余弦相似度进行衡量。为了保证本文所用语义特征均来自同一模型不存在语义间差异,本文使用预训练语言模型Ernie 对实体描述进行编码,取模型顶层输出向量序列均值作为实体嵌入。具体计算步骤描述如下:
首先,计算当前待消歧指称的n个候选实体与其前后向紧邻指称的2n个候选实体的余弦相似度得到2个n×n的相似得分矩阵。然后,将得分矩阵中小于0的值替换为0 以删去无关实体对共现得分计算的影响。最后,挑选出矩阵每一列的最大值即待消歧指称候选实体与相邻指称候选实体的最大语义匹配得分,并将得到2 个n维向量相加得到待消歧指称的n个候选实体的共现特征得分。具体计算如式(4)~式(7)所示:
其中,Ebcur∈Rn×d表示当前待消歧指称的候选实体嵌入,n是候选实体的个数,d表示实体嵌入的维度,Ebadj∈Rn×d表示待消歧指称的紧邻指称候选实体的嵌入,Co_mt ∈Rn×n是使用余弦相似度计算出的Ebcur与Ebadj的相似得分矩阵进行负值过滤后的共现得分矩 阵,Co_mtfor∈Rn×n表 示 前 向 共 现 得 分 矩 阵,Co_mtbac∈Rn×n表示后向共现得分矩阵,将两者最大池化后得到2个n维向量进行相加即得到待消歧指称的n个候选实体共现特征得分Co_sco。具体计算方式如图3所示。
图3 共现特征得分计算示意图
图3 中Ebadj,for表示待消歧指称的前向共现实体嵌入,Ebadj,bac表示待消歧指称的后向共现实体嵌入。
2.3 类别特征
Chen等[18]提出了一种指称的潜在类别信息的获取方式,即将查询文本中的指称字符串用单个[MASK]标识符替换后输入到预训练语言模型BERT中,取其顶层标识符对应输出向量作为指称的类别嵌入。由于本文选用Ernie预训练语言模型对文本进行编码,在其预训练的过程中会对连续的被掩码token进行预测,以学习被掩码token中的知识,因此本文首先将待消歧指称所在查询文本使用Ernie特定的切词工具进行切词后将所获得的token序列中指称对应的子序列替换为等长的[MASK]序列,其余位置保持不变并在首尾添加[CLS]及[SEP]标识符得到序列s={[CLS],t1…[MASK]…[MASK]…,[SEP]}。然后将s输入到Ernie 中取模型[CLS]标识符对应输出作为指称类别嵌入,同样将实体描述输入到Ernie 中取顶层[CLS]标识符对应输出作为类别消歧模型中使用的实体嵌入。
在Chen等[18]的工作中直接使用余弦相似度计算上述指称类别嵌入与实体嵌入的相似度,然而Jiang等[25]认为使用预训练语言模型所提取出的向量是内容宽泛的、有噪声污染的。基于上述原因,本文利用多头注意力机制结合前馈神经网络来捕捉指称类别嵌入与每个指称候选实体嵌入的相似得分。具体过程如下:
首先,将实体嵌入及指称类别嵌入分割成n_head份等长向量,n_head 即为注意力头数,将分割后的每一段指称类别嵌入视作Qi,i∈{1,2,…,n_head},每一段实体嵌入视为Kj及Vj,j∈{1,2,…,n_head},计算所有Qi与Vj的内积,得到注意力权重矩阵Att_mt ∈Rn_head×n_head。再使用saftmax 函数及缩放因子对Att_mt 进行标准化,其中dk(k表示键Kj)表示Qi与Kj的维度,同时将所有Vj按行拼接得到V∈Rn_head×dk,接着使用矩阵乘法计算Att_mt 与V的乘 积 得 到 重 编 码 的 注 意 力 向 量Att_vi,i∈{1,2,…,n_head},将所有Att_vi向量沿着纵轴方向拼接得到完整的注意力向量Att_vec。最后将其输入到前馈神经网络中得到指称类别嵌入与候选实体嵌入的相似得分。详细计算公式如式(8)~式(17)所示:
其中,Ebtype∈R1×d表示指称的类别嵌入,Ebcand∈Rn×d表示指称的n个候选实体的嵌入,normalize 是层标准化。Wq,i∈Rd×dk、Wk,j∈Rd×dk、Wv,j∈Rd×dk、是注意力机制所用到的变换矩阵,FNN 是前馈神经网络。Typ_sco ∈Rn表示n个候选实体的嵌入表示与指称类别表示的相似度得分,即候选实体的类别特征得分,模型的损失计算同公式(3),p(y^(i))中的值即为n维向量Typ_sco中真实标签对应的输出概率。
2.4 实体流行度特征
实体流行度特征指实体出现的频率高低,一般用实体在知识库的先验概率进行衡量。本文使用实体在训练集的先验概率作为实体流行度特征,计算公式如式(18)所示:
Pop_scoent=p(ent|mention,tra_set) (18)其中ent、mention、tra_set 分别表示候选实体、实体指称与训练集。公式(18)计算时假设每个实体的初始出现次数为1,以此对该概率值进行平滑。
2.5 特征因子集成
将根据上述设计的不同特征计算所得n个候选实体的4个特征得分进行集成,其流程如图1所示,其中集成模型是含有2 个隐藏层的多层感知机,隐层神经元个数为100、激活函数为ReLU,使用dropout 防止过拟合,输出层神经元个数为1,输出层得到n个候选实体的集成得分,并使用softmax函数进行归一化。同样采用交叉熵损失函数作为模型的目标优化函数。本模型所采用的训练样本使用硬标签,即标签值非0 即1。为了增强模型的实用性,本文采用标签平滑即为负样本设置一个小概率值来平滑标签分布,并设置了超参数Pmax让模型决定负样本的预测概率取值范围,具体为当正样本的预测概率p(y^)大于Pmax时,则模型在此样本上的损失为0,否则正常计算损失,即当正样本的概率p(y^)大于Pmax时让模型在此样本上的梯度为0。损失函数的详细计算如式(19)和式(20)所示:
候选实体的最终得分计算公式如式(21)所示:
其中,Ase_scoent表示候选实体的上述集成模型得分,a为权重参数。
3 实验及结果分析
3.1 实验设置
本节首先介绍选用的数据集,然后介绍候选实体生成,最后介绍实验参数。
3.1.1 数据集本文分别选用2019 届及2020 届这2 届由中国知识图谱与语义计算大会(CCKS)及百度联合举办的中文短文本实体链指任务提供的2 个数据集(简称为CCKS2019 和 CCKS2020)进 行 训 练 及 测 试。CCKS2019中包含训练数据90000条,测试数据10000条,外部知识库399252 条结构化知识。由于测试数据中不含实体标签,因此本文从前到后的选用训练数据中的10000 条在整个训练数据集中不重复的数据作为测试集,进行模型效果的评估。CCKS2020 数据集中包括训练集70000条数据,开发集10000条数据,测试集10000条数据,外部知识库324418条结构化知识。由于开发集包含实体标签,因此本文在开发集进行模型效果的评估。
3.1.2 候选实体生成
针对于CCKS2020 数据集,本文利用知识库的“subject”字段(实体名)及“alias”字段(实体别名)召回全部目标实体在知识库中的指称候选实体。而针对于CCKS2019 数据集无法根据知识库字段生成指称全部候选实体,本文选择参照训练集的标签人工将其加入指称的候选实体,保证目标实体在候选实体集中。对数据集的NIL 实体的消歧问题,本文参照文献[28]中的方法为每个指称生成完备的候选实体(未将指称预测类别加入实体描述中),即除根据知识库字段生成的候选实体外,还人工为每个指称构造一个NIL候选实体。
3.1.3 实验参数及评价指标
基模型及类别模型的参数如表1 所示,集成模型根据融合的特征数不同需要进行参数调整,因此在这里不进行展示。本文选用消歧准确率作为评价指标,由于本文所采用方法对所有的指称都会预测出一个实体,因此模型的准确率和召回率是等价的,自然也等于F1值,所以本文用准确率来直观地描述模型的性能。
表1 基模型及类别消歧模型参数表
3.2 实验结果及分析
本节展示类别消歧模型及多特征因子集成模型的实验结果,并对模型及特征进行了效果评估以及案例分析。
3.2.1 类别消歧模型实验结果及分析
类别消歧模型在CCKS2020 数据集上的实验结果如图4所示,其中注意力“头数”为1时,表示使用一般的注意力机制,即使用可训练的对角矩阵对候选实体的嵌入表示进行线性变换,然后与指称类别嵌入进行点积的计算并输入到前馈神经网络中求向量的匹配得分。从实验结果发现,随着注意力“头数”的增加,模型的准确率也在不断提升,直到达到峰值后开始保持不变或略有下降,表明使用多头的较细粒度的向量相似度计算并对指称候选实体重编码能够得到更好的特征向量。
图4 注意力头数对类别消歧模型的影响图
3.2.2 特征因子有效性分析
为了验证本文所选特征因子的有效性,本文选用基模型和融入对抗学习[31]的基模型得到的语义匹配得分Ernie-base 和Ernie-Adv 作为基准,在CCKS2019和CCKS2020 数据集上分别做了4 组特征融合实验。实验结果如表2及表3所示,其中,Co表示共现特征得分,Typ表示类别特征得分,Pop表示流行度特征得分。
表2 以Ernie-base为基线融合其他特征得分的消歧准确率/%
表3 以Ernie-Adv为基线融合其他特征得分的消歧准确率/%
从表2来看,基于预训练语言模型Ernie进行微调已经能够较好地完成实体消歧任务,而Ernie-base+Co较Ernie-base 在CCKS2020开发集上提高了0.17个百分点的准确率,在CCKS2019 开发集上提高了0.45 个百分点的准确率,表明本文提出的共现特征在实体消歧中的有效性。Ernie-base+Typ 较Ernie-base 在CCKS2020 开发集提高了0.34 个百分点的准确率,在CCKS2019 开发集上提高了0.42 个百分点的准确率,表明本文提出的类别特征在实体消歧中的有效性。Ernie-base+Co+Typ较Ernie-base在CCKS2020开发集上提高了0.38 个百分点的准确率,在CCKS2019 开发集上提高了0.58个百分点的准确率,说明综合考虑类别特征得分和共现特征得分能更好地改善基模型的消歧效果。以Ernie-Adv 为基线的表3显示出了与表2 类似的特征融合对基模型消歧效果的改善,再一次表明了本文提出的特征因子的有效性。此外,在表2及表3的最后一行还展示了在上述模型得分的基础上加入基于训练数据集所得到的实体先验概率对于实体消歧效果的改善,验证了实体流行度特征对于改善本文所提出模型的消歧结果仍然有所帮助。
为了更形象地展示本文提出的类别特征及共现特征的有效性,本文选取了部分基模型融合上述特征因子后所纠正的具有代表性的案例进行如下展示:例如在“《魔兽争霸3》人族小技巧”这段短文本中,基模型会错误将指称“人族”链接到实体描述为“生物学人亚科目录…”候选实体,而融入共现特征得分后,集成模型则正确地将其链接到实体描述为“游戏《魔兽争霸》系列中的种族…”候选实体;再如在“《荣耀之战25种族》英雄专属详解_rpg攻略”这段文本中,基模型也错误将指称“种族”链接到类别为其他的实体描述为“生物学概念…”候选实体,而融入类别特征得分后,集成模型则正确地将其链接到类别为游戏的实体描述为“荣耀之战…”候选实体。综上所述,实验结果进一步验证本文提出的类别特征和共现特征的有效性。
3.2.3 模型整体效果评价
为了验证本文提出的基于多特征因子融合消歧模型的整体消歧效果,本文在CCKS2019 数据集上选用文献[27]中的结果作为对比,在CCKS2020 数据集上选用文献[28]进行对比,对比结果如表4和表5所示。
表4 在CCKS2019上模型消歧准确率对比/%
表5 在CCKS2020上模型消歧准确率对比/%
从表4 中可以看出本文提出的基于多特征因子融合的消歧模型在CCKS2019 数据集的表现优于文献[27]中的结果,说明本文所选用的特征因子及消歧流程能够较文献[27]中的方法取得更好的消歧效果。
表5的结果来自千言数据集:实体链指比赛提供的评测接口,其评测结果中包含了对NIL 实体的类别判断。其中文献[28]采用的类别模型在开发集NIL实体上的准确率为90.02%,本文所用类别模型在上述数据上的准确率为88.98%。由于开发集与测试集分布存在差异,本文在表中取得的结果并非在开发集上表现最好的模型所取得,而是与其效果近似的模型所取得。
从表5 中可以看出,本文提出的模型在类别模型表现较差的情况下与往届短文本消歧比赛的冠军方案取得了几乎相同的成绩。说明本文提出的模型在中文短文本实体消歧上具有很好的性能。同时相比于文献[28]集成多预训练语言模型消歧结果的方式,本文提出方法的优点是:仅微调了一个预训练语言模型,在模型体量、训练时间及资源上大幅缩减。缺点是:所选用特征因子较少,特征因子集成模型效果不够稳定,在开发集上表现近似的模型在测试集上的表现会有较小的波动,可以考虑使用多折交叉验证的方式进行改进。
4 结束语
本文从指称上下文与候选实体描述语义相似度、指称类别嵌入与实体嵌入相似度、指称候选实体与其紧邻指称候选实体最大语义相似度、实体先验概率4个特征出发,以预训练语言模型为基模型,在其得到的指称上下文与候选实体描述语义匹配得分基础上不断融入其他特征得分来改善其消歧效果。在类别特征得分的计算中,本文利用多头注意力机制和前馈神经网络度量向量的相似度。实验结果显示了本文提出的特征、消歧流程以及方法是有效的,有利于改善对仅使用指称上下文和候选实体描述语义匹配特征进行消歧的基模型的消歧结果。在未来研究工作中,笔者主要将围绕如下2 个方向展开研究:1)通过对比学习[32]或其他方式让基于预训练语言模型获得更高质量的实体嵌入,从而提升消歧效果;2)探索如何在预训练语言模型中融入文中所述的类别、共现等特征,从而提升预训练语言模型的消歧效果,而非使用外部的特征得分来改善其消歧效果。