基于关系上下文进行实体对齐的图神经网络模型及方法
文献发布时间:2023-06-19 11:57:35
技术领域
本发明涉及知识图谱处理领域,尤其涉及一种基于关系上下文进行实体对齐的图神经网络模型及方法。
背景技术
知识图谱是一种多关系有向图,图中的每个节点都表示一个实体,每条边都表示两个实体之间的关系,而边的方向则表示了该关系的指向性。知识图谱中的每个事实(Fact)一般以三元组(头实体,关系,尾实体)的形式存储,例如,一个人的三元组为:姚明,出生地,上海。
在实际应用中,当构建知识图谱时,知识的来源语料可能是跨语言(中文、英文等不同语言)和跨源(不同的语料库)的。这些跨语言与跨源的知识图谱之间存在许多相同的实体与关系,但它们往往表现为不同的形式,如中文知识图谱中的实体“姚明”与英文知识图谱中的“Yao Ming”表示的实际上是同一实体。除此之外,这些知识图谱之间往往也存在许多互补的知识。因此,需要将这些跨语言与跨源的知识图谱进行知识融合,以获得规模更大、更完整的知识图谱,从而更好地应用于下游任务。知识融合的方式之一为实体对齐。实体对齐旨在将寻找两个知识图谱中匹配的实体对(如上文提到的“姚明”与“Yao Ming”)。
目前是使用知识图谱的分布式表示(也称为知识图谱嵌入)来执行实体对齐任务。这些方法将实体表示为统一向量空间中的低维向量,并要求对齐的实体对具有近似相同的嵌入。近几年,图神经网络(Graph Neural Networks)通过利用节点的邻域信息,在图的建模表示领域显示出了强大的能力。最近的一些工作也开始利用GNN进行实体对齐,这些工作基于两个对齐的实体应该具有相似的相邻节点这一假设,带来了显著的性能提升。然而,现实世界中的知识图谱经常会遇到错误对齐问题,即两个不同的实体也可能拥有相似的邻域信息,因此可能会被只利用实体信息的传统GNN模型错误对齐。图1示意了这种错误问题,实体对Limestone County和George_S._Houston虽然在语义上截然不同,前者是一个地点而后者是人,但由于它们拥有相似的相邻实体,被传统的GCN将它们错误判断为应该对齐的实体。
为了解决错误对齐问题,研究人员提出了不同的方法,一种是利用MuGNN的方法,其假设错误对齐问题是由于知识图谱的结构不完整,即知识图谱中的部分链接是缺失的。因此,它首先进行知识图谱补全,然后基于补全后的知识图谱进行实体对齐。另一种AliNet的方法直接聚合多跳邻居节点以增加两个对齐实体之间的邻域重合度。
现有这两种方法通过增加知识图谱间实体的连接(对知识图谱进行补全或是直接聚合多跳邻居节点),使得不同的实体对的邻居实体尽量不同,同时增加两个对齐实体之间的领域重合度,从而达到解决错误对齐问题的目的。
然而,这两种方法至少存在以下问题:(1)新增的实体间连接无法保证是完全正确的,因此会引入噪声,从而带来的性能提升有限;(2)这些方法没有考虑知识图谱中丰富的关系信息。
发明内容
基于现有技术所存在的问题,本发明的目的是提供一种基于关系上下文进行实体对齐的图神经网络模型及方法,能解决现有解决知识图谱遇到错误对齐问题所采用的MuGNN或AliNet的方法,所存在的新增的实体间连接无法保证是完全正确的,因此会引入噪声,使得性能提升有限,以及没有考虑知识图谱中丰富的关系信息的问题。
本发明的目的是通过以下技术方案实现的:
本发明实施方式提供一种基于关系上下文进行实体对齐的图神经网络模型,包括:
实体上下文模块、关系上下文模块、向量拼接模块和相似度判断模块;其中,
所述实体上下文模块,与所述关系上下文模块并列设置,根据对齐的实体种子,以知识图谱中每一个实体及其周围的子图信息作为输入,输出该实体的实体上下文向量;
所述关系上下文模块,与所述实体上下文模块并列设置,根据对齐的实体种子,以知识图谱中每一个实体及其周围的子图信息作为输入,输出该实体的关系上下文向量;
所述向量拼接模块,分别与所述实体上下文模块和关系上下文模块的输出端连接,能将所述实体上下文模块输出的实体上下文向量与所述关系上下文模块输出的关系上下文向量进行拼接,得到实体的最终向量;
所述相似度判断模块,与所述向量拼接模块的输出端连接,能计算两个实体的最终向量的内积作为这两个实体的相似度得分。
本发明实施方式提供一种基于关系上下文进行实体对齐的方法,包括:
步骤1,从待实体对齐的第一知识图谱和第二知识图谱中选定一组预先对齐的实体对作为对齐种子;
步骤2,以所述对齐种子作为输入,训练权利要求1或2所述的基于关系上下文进行实体对齐的图神经网络模型的参数,并通过神经网络优化器以使训练过程中损失函数的值最小化为目标,对所述图神经网络模型进行优化,得到优化后的图神经网络模型;
步骤3,将第一知识图谱中的某一实体与第二知识图谱中的所有候选实体一一组成实体对,通过优化后的所述图神经网络模型对各实体对进行处理,为各实体对的每一个候选实体打分,得分最高的候选实体即为所述某一实体的对齐实体,重复进行该步骤,直至完成第一知识图谱和第二知识图谱中全部实体的对齐。
由上述本发明提供的技术方案可以看出,本发明实施例提供的基于关系上下文进行实体对齐的图神经网络模型及方法,其有益效果为:
通过充分利用知识图谱中的实体上下文信息和关系上下文信息,有效地利用并建模了知识图谱中的关系信息,结合图神经网络模型处理,对进行知识图谱的实体对齐取得了显著的性能提升。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为现有只利用实体信息的传统GNN模型错误对齐实体的示意图;其中,无错误符号X的虚线表示对齐的实体,带错误符号X的虚线表示被错误对齐的实体;
图2为本发明实施例提供的基于关系上下文进行实体对齐的图神经网络模型的示意图;
图3为本发明实施例提供的基于关系上下文进行实体对齐的方法流程图;
图4为本发明实施例提供的方法中聚合关系路径的示意图;
图5为本发明实施例提供的关系方向性建模消融实验的示意图;其中,图(a)为在H@1上的示意图,图(b)为在MRR上的示意图;
图6为本发明实施例提供的RCGNN模型的层数消融实验的示意图。
具体实施方式
下面结合本发明的具体内容,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。本发明实施例中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
参见图2,本发明实施例提供一种基于关系上下文进行实体对齐的图神经网络模型,包括:
实体上下文模块、关系上下文模块、向量拼接模块和相似度判断模块;其中,
所述实体上下文模块,与所述关系上下文模块并列设置,根据对齐的实体种子,以知识图谱中每一个实体及其周围的子图信息作为输入,输出该实体的实体上下文向量;
所述关系上下文模块,与所述实体上下文模块并列设置,根据对齐的实体种子,以知识图谱中每一个实体及其周围的子图信息作为输入,输出该实体的关系上下文向量;
所述向量拼接模块,分别与所述实体上下文模块和关系上下文模块的输出端连接,能将所述实体上下文模块输出的某一实体的实体上下文向量与所述关系上下文模块输出的该实体的关系上下文向量进行拼接,得到实体的最终向量;
所述相似度判断模块,与所述向量拼接模块的输出端连接,能计算两个实体的最终向量的内积作为这两个实体的相似度得分。
上述图神经网络模型中,相似度判断模块的损失函数为:
其中,
上述图神经网络模型中,所述实体上下文模块采用GCN神经网络模型;
所述关系上下文模块采用由多个堆叠的GNN层组成神经网络模型;
所述向量拼接模块拼接实体e的实体上下文向量h
参见图3,本发明实施例还提供一种基于关系上下文进行实体对齐的方法,包括:
步骤1,从待实体对齐的第一知识图谱和第二知识图谱中选定一组预先对齐的实体对作为对齐种子;
步骤2,以所述对齐种子作为输入,训练权利要求1或2所述的基于关系上下文进行实体对齐的图神经网络模型的参数,并通过神经网络优化器以使训练过程中损失函数的值最小化为目标,对所述图神经网络模型进行优化,得到优化后的图神经网络模型;
步骤3,将第一知识图谱中的某一实体与第二知识图谱中的所有候选实体一一组成实体对,通过优化后的所述图神经网络模型对各实体对进行处理,为各实体对的每一个候选实体打分,得分最高的候选实体即为所述某一实体的对齐实体,重复进行该步骤,直至完成第一知识图谱和第二知识图谱中全部实体的对齐。
上述方法的步骤1中,两个知识图谱分别为第一知识图谱G
实体对(e1,e2)∈E1×E2指现实世界中的是同一个对象,用
选定一组预先对齐的实体对作为的对齐种子表示为
上述方法的步骤2中,基于对齐种子训练图神经网络模型中的参数,进而确定所述两个知识图谱中未知的对齐实体。训练方法如下,将一对对齐种子e1和e2输入该图神经网络模型,该图神经网络模型的输出为所有候选实体的得分,根据这些得分计算损失函数的值,然后通过神经网络优化器(如Adam)进行优化,优化目标为最小化训练过程中损失函数的值;在测试时,为确定两个知识图谱中未知的对齐实体;即,给定知识图谱G1中的一个实体e1,希望找到知识图谱G2中的相应对齐实体,于是,通过本发明的图神经网络模型为每一个G2中的候选实体进行打分,得分最高者即为预测的与G1的实体e1的对齐实体。
上述方法的步骤3中,通过所述优化后的图神经网络模型为另一个知识图谱每一个候选实体进行打分包括:
由优化后的图神经网络模型对两个知识图谱中的每个实体聚合实体上下文向量和关系上下文向量,将得到的所述实体上下文向量和关系上下文向量拼接起来作为每个实体的最终向量;
计算两个实体的最终向量的内积作为两个实体的相似度得分。
上述方法中,由优化后的所述图神经网络模型的实体上下文模块对两个知识图谱中的每个实体聚合实体上下文向量,包括:
在共有L层的所述实体上下文模块中,聚合得到每一层的实体e的实体上下文表示;
计算所述实体e在每一层的实体上下文表示的平均值作为该实体e最终的实体上下文向量,即
其中,h
用获取的信息,通过以下公式计算得出实体e在第l层的实体上下文表示
其中,
由优化后的所述图神经网络模型的关系上下文模块对两个知识图谱中的每个实体聚合关系上下文向量,包括:
在共有L层的所述关系上下文模块每一层中,聚合得到每一跳的实体e的关系上下文表示;
计算所述关系上下文模块每一层输出的各跳的实体e的关系上下文表示的平均值作为该实体e的关系上下文向量c
该公式中,L表示得到关系上下文模块的层的数量;
在所述关系上下文模块的第l层,l≥2,基于长度为l-1的关系路径计算长度为l的关系路径的表示,并将这些关系路径的表示聚合为第l跳的关系上下文;具体的,实体e第l跳的关系上下文通过公式
通过拼接所述实体上下文模块输出的实体上下文向量和所述关系上下文模块输出的关系上下文向量得出实体e的最终向量为:
上述方法中,知识图谱中一条路径P表示为:
下面对本发明实施例具体作进一步地详细描述。
本发明实施例提供一种基于关系上下文进行实体对齐的图神经网络模型及方法,该图神经网络模型可称为RCGNN,该模型的构成如图2所示,由实体上下文模块和关系上下文模块组成,其中,实体上下文模块采用GCN神经网络模块,所述关系上下文模块由多个堆叠的GNN层组成。
本发明所处理的知识图谱(KG)是表示结构化人类知识的多关系有向图。本发明中将一个知识图谱表示为G=(E,R,T),其中E表示实体集合,R表示关系集,T=E×R×E表示三元组集合;并使用(h,r,t)来表示三元组,其中h、r和t分别表示头实体、关系和尾实体。
考虑两个知识图谱G1=(E1,R1,T1)与G2=(E2,R2,T2),如果实体对(e1,e2)∈E1×E2在现实世界中指的是同一个对象,则用
与现有方法不同的是,本发明的方法中,通过利用关系上下文来解决错误对齐问题。主要是考虑到知识图谱包含丰富的关系信息,而现有的基于实体信息的GNN没有充分利用它们,但相似的实体通常具有相似的关系角色,而关系上下文对于实体的准确描述至关重要。参见图1,通过比较它们的相邻关系,可以清楚地识别出“Limestone County”和“George_S._Houston”之间的不同之处。然而,要充分利用关系上下文,两个要素必不可少,即关系有向性与远距离的关系邻域。关系有向性表示一个关系为其头实体和尾实体提供了不同的语义信息。例如,在三元组(姚明,出生于,上海)中,尽管实体“姚明”与实体“上海”共享共同的相邻关系“出生于”,该关系应该为“姚明”与“上海”提供了不同的语义信息,因为该关系的头实体是一个“人”,而尾实体是一个“地点”。
远距离关系邻域信息则是考虑了远距离邻居实体的关系角色,从而为实体提供了更准确的特征描述。在某些场景下,仅仅利用相邻关系是不够的。例如,一对夫妇可能拥有相同的相邻关系,例如“配偶”、“子女”和“父母”,但这两个实体不应该被对齐。
本发明提供由实体上下文模块和关系上下文模块组成的图神经网络模型RCGNN,能利用实体的关系上下文信息以增强实体的表示,该RCGNN的主要创新之处在于引入关系方向和远距离关系邻域来利用关系上下文,并将这两个关键因素统一为关系路径的形式,关系路径的定义如下:
知识图谱中一条路径P表示为:
本发明的RCGNN模型的结构如图2所示,其包含两个GNN模块,即实体上下文模块和关系上下文模块,这两个模块分别为每个实体聚合实体上下文和关系上下文信息,并将这两个模块的输出拼接起来作为每个实体的最终表示。
其中,所述实体上下文模块采用传统的GCN,对于实体e,用he(l)∈Rd表示其在第l层的表示,其中d是嵌入维度;he(0)为实体e的初始表示形式;在该实体上下文模块中,he(0)的计算公式为:
对于实体e的实体上下文向量he通过下式计算:
所述关系上下文模块由几个堆叠的GNN层组成,通过使用一个基于关系的GNN结构来建模关系上下文,第k层的输出表示是以每个实体为结尾的长度为k的关系路径,也表示每个实体的第k跳关系上下文,在每一层中,基于第k-1跳的关系上下文,采用基于关系复合的方法来计算第k跳的关系上下文,聚合关系路径的示意如图3所示。
所述关系上下文模块的第l层为每个实体e聚合了距离为一跳的关系上下文,所述实体e的一跳的关系上下文
在所述关系上下文模块的第l层(l≥2),基于长度为l-1的关系路径计算长度为l的关系路径的表示,并将这些关系路径的表示聚合为第l跳的关系上下文,具体的,实体e第l跳的关系上下文通过方式
利用关系上下文模块每层的输出计算平均值,得到所述关系上下文模块的最终输出c
将上述得到的所述实体上下文向量和关系上下文向量拼接起来作为对应实体e的最终向量为:
实施例
步骤1,训练阶段:
本发明图神经网络模型RCGNN的损失函数分为对齐损失函数与TransE损失函数,实体对齐与关系对齐的损失函数
其中,其中,
TransE损失函数定义如下:
其中
训练阶段的目标为优化以下目标函数:min L,即最小化最终损失函数;
步骤2.测试阶段:
在进行测试时,针对给定的两个知识图谱
本发明实施例的模型的性能数据为:
Table 1:Evaluation results on DBI5K and DWY100K.Results of MTransE,JAPE,AlignE,GCN-Alin,and MuGNN are taken from Cao et al.(2019).Results ofRGCN and AliNet are taken from Sun et al.(2020),We reimplement GCN,GAT andHGCN under our experimental settings for fair comparison.
上表显示了本发明的基于关系上下文进行实体对齐的图神经网络模型在DBP15K和DWY100K数据集上实体对齐的结果。本发明中,统一设置了GCN、GAT和RCGNN的层数为L=2,以便进行公平比较。结果表明,RCGNN的性能明显优于GCN和GAT基线模型,也优于MuGNN和AliNet等最新模型。一般来说,当本发明的模型利用关系上下文时,它能在具有更多关系类型的数据集上获得更显著的改进。在DBP15K中,这三个数据集包含数千种关系类型,因此为实体提供了丰富的关系上下文信息。在这些数据集上,本发明的模型与GCN基线相比,在H@1和MRR上带来了为0.121~0.138。即使与MuGNN和AliNet等最先进的模型相比,本发明的模型仍然显示出优越的性能。DWY100K中关系的数量比DBP15K小得多。例如,DBP-WD的Wikidata数据集只有200个关系,DBP-YG的YAGO3数据集只有31个关系。然而,即使在DBP-YG上,本发明的模型仍然在MRR上获得了0.052的性能提升,并且与GCN相比性能提升了0.068。与AliNet相比,模型的MRR为0.012。总的来说,在DBP15K和DWY100K上的结果表明,本发明的模型不仅是有效的,而且对于关系数较少的数据集同样适用。
本发明采用的关系方向性建模消融实验如图5所示,首先,对关系方向性进行消融实验。结果如图5所示。在DBP15K的三个数据集上,建模关系方向性带来了显著的提升。在FR-EN数据集上,本发明的模型提高了0.070的H@1和0.050的MRR。对于ZH-EN和JA-EN,在H@1上的提升分别为0.052和0.059,MRR的提升分别为0.033和0.041。
本发明采用的RCGNN模型的层数消融实验如图6所示,对关系上下文模块的层数进行了消融研究。在图6中,展示了层数L为1到4层的结果。为了公平比较,统一地为实体上下文模块设置L=2。图5说明了多跳关系上下文建模的有效性。在ZH-EN上,通过引入两跳的关系上下文,本发明的模型在MRR上提升了0.015。在JA-EN和FR-EN上,提升分别为0.014和0.013。
通过上述性能可以看出,本发明的模型及方法有效地利用并建模了了知识图谱中的关系信息,同时结合了图神经网络相关技术,取得了显著的性能提升。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
- 基于关系上下文进行实体对齐的图神经网络模型及方法
- 基于上下文向量图核的生物医学实体关系分类方法