基于对比学习与语言模型增强嵌入的知识图谱补全

2024-04-23 10:13张洪程李林育杨莉伞晨峻尹春林颜冰于虹张璇
计算机工程 2024年4期
关键词:三元组集上图谱

张洪程,李林育,杨莉,伞晨峻,尹春林,颜冰,于虹,张璇,4,5*

(1. 云南电网有限责任公司政企部,云南 昆明 650032;2. 云南大学软件学院,云南 昆明 650091;3. 云南电网有限责任公司电力科学研究院,云南 昆明 650217;4. 云南省软件工程重点实验室,云南 昆明 650091;5. 跨境网络空间安全教育部工程研究中心,云南 昆明 650091)

0 引言

知识图谱[1-2]利用海量知识的独特表示与管理优势,为推荐系统[3-4]、智能问答[5]等多种下游知识感知工程任务提供了高品质的结构化知识。在实际工程应用中,知识图谱的完整性和准确性对于自然语言处理和人工智能技术的发展至关重要。例如,在比较常见的问答系统或智能客服系统中,若知识图谱缺失某些信息,则无法回答某些问题或无法提供准确的答案。另外,在数据挖掘和机器学习领域中,知识图谱也扮演着重要的角色,因为它可以提供有价值的结构化数据,帮助分析和预测数据。然而,在实际工程条件下知识图谱通常由于数据来源的限制和知识获取的困难,因此知识图谱往往存在不完整的情况,即缺少某些实体、属性或关系,这将造成大量有价值的知识缺失。因此,需要改进现有知识图谱以便补充这些缺失的知识,知识图谱补全(KGC)[6]技术应运而生并成了知识图谱领域的一个重要研究问题。

通常知识图谱补全翻译模型TransE[7]能够捕捉到良好的结构信息,然而这类模型仅过于简单地依赖知识图谱的结构信息,并且没有考虑到每个实体间丰富的语义信息。对于结构信息匮乏的长尾实体而言,这类实体难以得到充分的表征。随着基于来自Transformer的双向编码器表示的知识图谱补全(KG-BERT)[8]的出现,使用文本信息的模型得到了广泛应用,但此类模型仅关注文本信息,对知识图谱中原本应考虑的结构信息有所忽略。另外,在知识图谱补全任务中,训练数据通常不包含负样本,即仅由正样本三元组构成。但是,为了更好地训练模型使得模型学到更多的知识,现有的方法通常采用随机替换头尾实体的负采样方法增加负样本。负采样指的是在知识图谱补全任务中,当给定输入一个正样本的三元组(h,r,t)时,需要通过某种方法来生成一个或者多个负样本的同时输入模型用于训练,使得模型具有判别正确三元组和错误三元组的能力。多数现有方法使用TransE中所提出的随机破坏方法来生成错误的三元组充当负样本,然后过滤掉训练过程中可能会因为随机采样而产生的虚假负类,每一个三元组的负样本在训练中都是独立的。但这种负采样方法的效率低下且没有考虑文本重叠的问题,这将会导致模型无法获得更优质的负样本。

基于上述问题,本文提出一种基于对比学习与语言模型增强的知识图谱补全模型(CBT-KGC)。将语言模型用于增强翻译模型的实体和关系语义部分,能够更好地表示捕获的知识图谱中实体和关系的特征。此外,为了更好地利用负样本来提升模型的表征能力,提出2种采集负样本的方法用于对比学习:1)同批次负采样方法,在输入一个三元组时,利用同一个批次中的非其他实体来充当负样本,这样能够充分利用同批次内其他三元组信息来辅助模型对输入三元组的训练;2)自我批评负采样方法,当输入一个头实体h和关系r用来预测尾实体t时,基于文本的方法在预测尾实体时会有很大的概率把头实体h当成尾实体从而分配较高的分数,出现这种情况可能是因为文本的语义相似度非常高,给模型带来了噪声,自我批评负采样方法使用头实体h来充当该输入三元组的负样本,能在一定程度上缓解噪声。通过引入上述2种负采样方法能够使得模型对虚假文本匹配的依赖程度降低,从而提高模型的鲁棒性,并且还能够使得模型更好地学习正确的语义关联,避免过度拟合到错误的关联,类似于自我校验的过程。最后,在WN18RR、FB15K等数据集上进行大量实验,将CBT-KGC模型与基线模型进行性能比较。

1 相关工作

知识图谱补全是指通过利用已有知识图谱中的实体和关系之间的语义信息,预测缺失或未出现在知识图谱中的实体或关系,这一任务在多个领域中都具有重要应用价值。目前,研究者将知识图谱补全方法大致分为基于翻译的嵌入模型、基于张量的因子分解模型、基于神经网络与负采样的改进模型3类。

1.1 基于翻译的嵌入模型

基于翻译的嵌入模型起源于TransE[6],TransE借鉴了Word2Vec[9]的思想,先将实体和关系分别从文本信息嵌入为向量表示,然后与向量运算中的加法运算类似,将三元组中的关系比作一个头实体到一个尾实体间的翻译。形式化表示如下:当一个三元组被认为是正确的三元组的前置条件是头实体h、关系r和尾实体t要满足h+r≈t。针对TransE面向复杂关系建模效果不好的缺陷,超平面上的TransH[10]随之衍生。TransH的核心思想就是为每一个不同的关系定义一个不同的超平面,在这种情况下关系和实体就不在一个嵌入空间中,目的是使模型具有更加复杂的表征能力,而不是仅局限于表示一对一的简单关系。随后的TransR[11]的主要思想是通过引入一个关系矩阵将实体向量映射到与该关系对应的向量空间中。这样可以将关系建模在不同的向量空间中,从而更好地处理多个不同的关系类型。TransD[12]的主要思想是在TransR的基础上引入了实体嵌入矩阵,以更好地处理多种类型的关系。与TransR不同的是,TransD中每个实体都有一个对应的嵌入矩阵,该矩阵用于将实体的向量映射到对应的关系空间中。TransAD[13]通过在得分函数中引入权重矩阵来缓解维度无关性问题,也取得了较好的效果。

1.2 基于张量的因子分解模型

基于张量的因子分解模型是知识图谱补全任务中常用的模型之一,主要包括DistMult[14]、ComplEx[15]和TuckER[16],这类模型过对知识图谱的三元组关系张量进行分解,提取实体和关系之间的潜在特征向量表示,并基于这些向量表示来预测新的三元组。例如:知识图谱的增强CP分解链接预测方法(E-CP)[17]通过逆关系的方法来解决实体相互独立的问题,并取得了不错的效果,当一个图谱中出现可逆关系时,E-CP为关系的逆也添加实体关系,从而使得模型能够同时处理可逆关系和非可逆关系。

1.3 基于神经网络与负采样的改进模型

基于神经网络的知识图谱补全方法是近年来快速发展的一类方法,主要思想是通过神经网络来学习实体和关系之间的复杂非线性映射关系,从而提高模型的预测能力,主要包括基于卷积的2D知识图谱嵌入(ConvE[18]、ConvKB[19])、融合多关系的图卷积神经网络(CompGCN)[20]、神经张量网络(NTN)[21]和LTE[22]等模型,其中,NTN是一种基于双线性张量层的知识图谱补全模型,旨在通过多维关联2个实体向量并计算它们具有某种关系的得分来推理知识图谱中的新三元组,该模型能够将实体名称中的词向量进行平均生成实体向量,并使名称相似的实体共享文本信息。与NTN不同,基于邻域聚合与卷积神经网络的知识图谱实体类型补全模型(NACE2T)[23]以邻域聚合和卷积神经网络为基础,并采用注意力机制为实体邻域中的每个关系-实体对分配不同的权重,以聚合实体邻域中的实体和关系信息,从而有效利用实体之间的关系。

与图像分类、文本分类等任务不同,在知识图谱补全任务中的知识图谱数据集通常是没有负样本的,需要设定规则采集负样本用以模型的训练。随着TransE中的随机负采样方法的发展,目前已经有许多新的负采样方法被提出。ZHANG等[24]提出基于缓存负样本采样的知识图谱嵌入策略(NSCaching),使用缓存来保留经常出现在负采样过程中的负样本,并引入具有不同权重的缓存区域,以更好地处理不同类型的关系。

但上述方法均存在一定缺陷,它们通常只单一地考虑知识图谱中的结构信息,忽略了知识图谱中所蕴含的文本语义信息,未将结构信息与文本的语义信息相结合考虑,导致实体和关系的表示学习不能到达最优的效果,这就会严重影响知识图谱补全的性能。本文提出的CBT-KGC模型同时考虑了知识图谱的文本语义信息和知识图谱的结构信息。此外,还利用对比学习进一步改进知识图谱中的三元组表示,从而获得了非常优异的补全效果。

2 模型设计

本节中将描述CBT-KGC模型的具体实现及设计思路。在进行知识图谱补全任务的过程中,除了需要考虑知识图谱中三元组的结构信息以外,还应该考虑知识图谱的实体和关系中丰富的自然语言语义信息。与此同时,引入对比学习并提出2种对比学习中的负采样方法来更好地区分正负样本,以提高模型的表示学习能力。

2.1 语言模型增强嵌入

一个知识图谱可以抽象地表示为G=(E,R,T),其中,E表示实体集合,R表示关系集合,T表示边集合。每一条边(h,r,t)∈T都代表一个三元组,表示在关系r∈R下头实体h到尾实体t是真实存在的。

图1 知识图谱实例Fig.1 Knowledge graph example

图2 CBT-KGC模型整体框架Fig.2 Overall framework of CBT-KGC model

2.2 语言模型增强结构嵌入与对比学习

知识图谱的结构信息已经非常好地应用于知识图谱补全任务。面向TransE、TransR等传统模型,2个实体间的关系对应两者在嵌入向量空间中的转换,与通过只使用前向传播的语言模型来进行知识图谱补全任务的模型不同,单一使用语言模型无法捕获到图谱中的结构信息。针对该问题,CBT-KGC使用语言模型来增强并联合捕获结构信息,以实现同时捕获图谱文本的语义信息和图谱中的结构信息,即通过微调包含着结构化损失函数的预训练语言模型进行联合嵌入。

模型训练的目标是捕获基于文本语义嵌入中的结构信息,h、r、t的向量在更新后表示为h、r、t,但它们融合了知识图谱中的图谱结构信息,并且同时保存了从预训练语言模型中获得的文本语义信息。通过优化结构化损失来获取文本语义嵌入中的结构信息,三元组的得分函数定义与TransE模型一致,如式(1)所示:

(1)

为了更好地区分正负样本,受对比学习启发,本文提出2种新的对比学习方法,并将对比学习引入知识图谱补全任务。值得注意的是,每一个三元组所生成的一个或者多个用于对比学习的负样本是独立存在而不共享的。

同批次负样本(N1):使用同一个批次中三元组所包含的其他实体来充当负样本。

自我批评负样本(N2):为了缓解头尾实体文本重叠度过高的问题,在预测尾实体时将头实体当成尾实体作为自我批评负样本。

随机采样负样本(N3):除了上述2种负样本以外,依旧使用TransE中的负采样思想,通过随机替换头实体或尾实体有效地生成大量的负样本,并且在一定程度上提高了模型的鲁棒性和泛化能力。

需要注意的是,在具体应用中,通常会根据正负样本的分布情况来调整负采样的数量,以保证训练数据中正、负样本的比例平衡。假设模型的batch size设置为512,N1、N2、N3数量设置为511、1、512。

在训练过程中,使用InfoNCE损失函数来训练模型,如式(2)所示:

(2)

其中:φ()表示三元组的得分函数;|N|表示负样本集合;InfoNCE损失函数会使得正样本的得分逐渐变大、负样本的得分逐渐变小,直至收敛;温度参数τ用于调整负样本在损失函数中的相对重要性,不同的τ值会影响模型的性能和效果,较小的τ值可以使损失函数更加关注负采样,从而提高模型的鲁棒性和泛化能力,然而当τ过小时,模型可能会过度拟合训练数据中的标签噪声,导致模型泛化能力下降。

3 实验与结果分析

3.1 数据集

为了保持与基线模型对比的一致性,使用的数据集为WN18、FB15K、WN18RR、FB15K-237、UML-S,其中,UML-S是包含了生物信息的小数据集,WN18RR和FB15K-237是通过删除了WN18与FB15K冗余关系而得到的数据集。5个数据集的详细信息统计如表1所示。

表1 数据集信息统计Table 1 Dataset information statistics 单位:个

3.2 链接预测及评价指标

与多数基线模型一致,使用平均倒数排名(MRR)、平均排名(MR)以及排名小于等于N的三元组的平均占比(Hits@N)指标评估知识图谱补全模型性能。

MRR指标计算测试集中每个正确三元组在预测结果中的排序的倒数并求其平均值,反映了模型给出的排序结果对于正确三元组的倒数的平均排名。因此,MRR指标既考虑了预测结果的准确性,又考虑了位置信息,能较准确地评价模型的性能,计算公式如下:

(3)

其中:rrank,i表示第i个正确的三元组在所有候选三元组中的排名;|T|表示测试集中正确三元组的数量。

MR指标是在测试集中对每个正确三元组计算其排序结果的排名,并求出所有正确三元组的平均排名,计算公式如下:

(4)

Hits@N指标是知识图谱补全任务中广泛使用的评价指标之一,目的在于通过考察模型的前N个预测结果来衡量模型的预测准确性,即是否能够将正确实体排在前N位,计算公式如下:

(5)

其中:|T|表示测试集集合;topN(h,r)表示在给定头实体h和关系r的条件下,预测的前N个实体列表。

MRR指标和Hits@N指标值越大,模型的性能越好;MR指标值越小,模型的性能越好。

3.3 基线模型

为了验证CBT-KGC的有效性,选择以下基线模型:

1)TransE[6]:经典的翻译模型,假设一个三元组中的头实体向量加上其与关系向量的和应该接近尾实体向量的向量表示。

2)TransR[11]:将实体和关系映射到不同的向量空间,可以捕获到不同关系下更丰富的语义信息。

3)ComplEx[15]:采用复数向量表示实体和关系,并使用复数内积计算三元组,可对实体和关系之间的多重关联关系进行建模,并表现出优异性能,在众多知识图谱相关任务中得到广泛应用。

4)DistMult[14]:类似于矩阵分解,但仅考虑与每个实体或关系相关的向量,并使用点积来预测三元组,核心思想是改进双线性模型中的关系矩阵,使参数量减少至与TransE相同。

5)ConvE[18]:是一种经典的基于卷积神经网络的知识图谱表示学习模型,将三元组中的头实体和关系嵌入拼接为一个特征图,并使用卷积运算进行语义关系建模,最后使用逐点乘积操作计算头尾实体之间的得分。

6)CompGCN[20]:是一种基于图卷积神经网络的知识图谱表示学习模型,使用复合关系嵌入对多个关系之间的交互进行建模,并采用层次化聚合策略和残差连接来提高模型性能,在实验部分采用TransE作为基线模型。

7)NSCaching[24]:经典的负采样模型,设计一种新的缓存机制来优化负采样策略,在实验部分使用TransE作为基线模型。

8)E-CP[17]:通过增强因子分解的方法对一个三元组中的头实体和尾实体分别进行向量嵌入学习,并在模型训练中采用概率生成的方法进行负采样,从而获得了更好的效果。

9)KG-BERT[8]:利用BERT进行知识图谱补全任务,通过实体和关系的描述文本来捕获三元组中的文本信息,但没有考虑结构信息。

10)利用预训练模型的多任务知识图谱补全(MKG-BERT)[25]:设计一种有效的多任务学习方法,克服了以往工作在知识图谱建模任务中的局限性,在KG-BERT的基础上通过将关系预测和相关性排序任务与目标链接预测任务相结合,使模型具有更好的表述能力,可以利用更多的属性信息来学习知识图谱中实体之间的关系。

11)用于链路预测的多任务预训练知识图BERT(LP-BERT)[26]:该模型经过多任务预训练和知识图谱微调2个训练阶段,采用掩码语言模型学习上下文语境的知识并引入掩码实体模型和掩码关系模型,通过预测基于语义的实体和关系元素来学习三元组中的关系信息进行知识图谱补全。

3.4 模型参数设置

CBT-KGC模型采用PyTorch[27]实现,所有实验均在包含4张英伟达RTX 3090 GPU的Linux-Ubuntu服务器上并行进行。对模型参数进行批量搜索,通过验证集中表现最优的结构确定最终的参数。温度参数τ初始化为0.05,学习率在{1×10-5,2×10-5,3×10-5,5×10-5}中寻找最优值。对于所有数据集,batch size固定为16,实验迭代次数为5。考虑到时间和服务器显存的限制,实验使用BERT-base预训练语言模型。

3.5 结果分析

实验结果与基线模型TransE、TransR、ComplEx、DistMult、TransEAD、E-CP、KG-BERT在4个数据集上进行5个性能指标MRR、MR、Hits@1、Hits@3、Hits@10的比较分析,其中同一指标中表现最好的结果用加粗表示。由于KG-BERT等基线模型在原文献中并没有使用FB15K和WN18作为实验数据集,因此本文在FB15K和WN18数据集中不使用MR评价指标以减少缺少的实验数值。

由表2和表3可以看出,在FB15K和WN18数据集中CBT-KGC获得了全部指标的最优结果。相较于仅考虑知识图谱中结构信息的TransE,CBT-KGC在2个数据集上的指标提升非常明显,在FB15K和WN18数据集上的Hits@10分别提升了43%和2%。与张量分解的E-CP相比,CBT-KGC在FB15K数据集上的MRR和Hits@10分别提升了10%和9%,在WN18数据集上的MRR和Hits@10指标也提升了3%和2%。与ConvE相比,CBT-KGC在FB15K与WN18 2个数据集上的MRR指标上也分别提升了12%和2%。可见,CBT-KGC在众多基线模型中保持着领先地位,这初步说明了CBT-KGC模型能够有效地利用知识图谱中的文本语义信息和结构信息。

表2 FB15K评测分数对比Table 2 Comparison of FB15K evaluation scores

表3 WN18评测分数对比Table 3 Comparison of WN18 evaluation scores

为了进一步研究和分析CBT-KGC在复杂数据集上的表现效果,在FB15K-237和WN18RR 2个数据集上也进行了链接预测实验。由于文献[18,28]指出FB15K和WN18有测试集泄露、关系冗余等问题,因此提出改进的更复杂和高质量的FB15K-237和WN18RR数据集。

由表4和表5可以看出,在FB15K-237和WN18RR数据集上,CBT-KGC依旧获得了全部指标的最优结果。与前2个数据集不同,这2个数据集新增了MR指标来衡量模型的效果。与基于单一文本语义信息的KG-BERT相比,CBT-KGC在FB15K-237数据集上的MR和Hits@10指标提升了14%和23%,在WN18RR数据集上的MR和Hits@10指标提升了50%和31%,这证明了在复杂知识图谱环境下只考虑单一信息不能较好地完成知识图谱补全任务。与考虑了多任务学习的MKG-BERT相比,CBT-KGC在FB15K-237和WN18RR数据集上的提升也非常明显,其中,在FB15K-237上的MRR和Hits@10指标中分别提升了32%和6%,在WN18RR上的MRR和Hits10指标分别提升了78%和15%。在与基于图神经网络的经典模型CompGCN的对比中,CBT-KGC的表现同样十分出色,在FB15K-237与WN18RR数据集中的MRR指标上也分别提升了15%和23%。通过对比单一使用结构化图谱信息的TransE和单一使用文本语义信息的KG-BERT、MKG-BERT可以看出,CBT-KGC同时捕获了结构信息和文本语义信息,并在对比学习的作用下获得了非常优异的效果。

表4 FB15K-237评测分数对比Table 4 Comparison of FB15K-237 evaluation scores

表5 WN18RR评测分数对比Table 5 Comparison of WN18RR evaluation scores

3.6 消融实验

为了验证负样本对模型效果的影响,进行消融实验,验证本文提出的对比学习负采样方法对模型效果的影响。通过删减负样本的集合,衍生了3个版本的消融实验变体模型,如表6和表7所示,其中,N3模型代表只包含随机负样本采样训练的模型,N2+N3模型代表经过同时包含N2和N3负样本采样训练的模型,N1+N2+N3模型代表同时包含N1、N2、N3 3种负样本采样并经过对比学习训练的模型。

表6 FB15K-237数据集上的消融实验结果Table 6 Ablation experimental results on the FB15K-237 dataset

表7 WN18RR数据集上的消融实验结果Table 7 Ablation experimental results on the WN18RR dataset

由表6和表7可以看出,N1+N2+N3模型效果要明显优于只用随机负采样的N3和N2+N3,并且每一种用于知识图谱补全对比学习的负采样方法都能对模型性能产生一定的辅助作用,当同时使用对比学习负采样方法进行对比学习时模型性能的提升幅度最大。可见,本文提出的用于对比学习的知识图谱负采样方法能够提升模型的性能,这也证明了模型能够通过更多的负样本进行对比学习,从而提高模型的表征能力。

3.7 参数敏感性实验

在对比学习中温度参数τ是一个很重要的参数。为了验证对比学习的τ对模型实际效果的影响程度,进一步对模型进行参数敏感性实验。在实验指标设置中,MR指标值越小越好,Hits@10指标值越大越好。

文献[29]指出了温度参数的作用主要是调节对困难负样本的关注程度,并指出当τ降低到0时,对比损失函数将只关注困难负样本,当τ增大至无穷大时,对比损失函数会对所有负样本一视同仁,丧失了对困难负样本的个性化关注。为了验证最优的温度参数τ,在实验中设置了τ为0.05、0.10、0.20、0.30、0.40,在UML-S数据集上的参数敏感性实验结果如图3所示。由图3可以看出,模型温度参数τ=0.20时获得了最优的效果,并且从柱状图的性能趋势来看,τ的增大并不会使模型性能越来越好,这一发现进一步证明了比较学习损失函数中的τ值不能过大或过小的原则,与文献[29]所述相吻合。

图3 参数敏感性分析Fig.3 Parameter sensitivity analysis

4 结束语

本文提出一种基于对比学习与语言模型增强嵌入的知识图谱补全模型,能够有效地捕获知识图谱中的文本语义信息和结构信息,同时基于对比学习的正负样本的良好区分特性,在实验分析中取得了非常好的效果。实验结果表明,该模型相比于同类模型具有较好的链接预测效果,对于实际工程任务具有较高的借鉴价值。在未来的研究中,将提出更多知识图谱补全方面的对比学习方法,并将这些方法融入基于知识图谱的推荐和对话系统等中。

猜你喜欢
三元组集上图谱
基于带噪声数据集的强鲁棒性隐含三元组质检算法*
特征标三元组的本原诱导子
绘一张成长图谱
Cookie-Cutter集上的Gibbs测度
链完备偏序集上广义向量均衡问题解映射的保序性
关于余挠三元组的periodic-模
复扇形指标集上的分布混沌
补肾强身片UPLC指纹图谱
主动对接你思维的知识图谱
三元组辐射场的建模与仿真