一种基于注意力机制的知识图谱关系预测方法及装置

文档序号:135784 发布日期:2021-10-22 浏览:9次 >En<

阅读说明:本技术 一种基于注意力机制的知识图谱关系预测方法及装置 (Attention mechanism-based knowledge graph relation prediction method and device ) 是由 李弼程 李佳乐 杜文倩 皮慧娟 王华珍 王成 于 2021-08-11 设计创作,主要内容包括:本发明公开了一种基于注意力机制的知识图谱关系预测方法及装置,利用Trans模型获得三元组实体的嵌入,将三元组中的关系当作头实体和尾实体间翻译操作,得到三元组向量表示,针对知识图谱中三元组实体描述的全部文本信息采用Doc2Vec模型进行嵌入,得到实体描述向量表示,通过Trans模型得到的三元组向量表示与实体层次类型映射矩阵结合,得到实体类型向量表示,采用融合三元组向量表示、实体描述向量表示以及实体类型向量表示的三元组实体向量作为编码器输入,编码器基于知识图谱设计注意力机制,得到关系层次、实体层次、三元组层次的权重,解码器则利用ConvKB模型重构知识图谱,进行关系预测。本发明可用于知识图谱推理,根据已知的知识推理出未知的潜在的知识。(The invention discloses a knowledge graph relation prediction method and a device based on an attention mechanism, which utilize a Trans model to obtain the embedding of a triple entity, take the relation in the triple as the translation operation between a head entity and a tail entity to obtain triple vector representation, embed all text information described by the triple entity in a knowledge graph by adopting a Doc2Vec model to obtain entity description vector representation, combine the triple vector representation obtained by the Trans model with an entity level type mapping matrix to obtain entity type vector representation, adopt a triple entity vector represented by fusing the triple vector representation, the entity description vector representation and the entity type vector representation as the input of an encoder, the encoder designs the attention mechanism based on the knowledge graph to obtain the weights of the relation level, the entity level and the triple level, and the decoder reconstructs the knowledge graph by utilizing a ConvKB model, and (6) performing relation prediction. The invention can be used for knowledge graph reasoning to deduce unknown potential knowledge according to known knowledge.)

一种基于注意力机制的知识图谱关系预测方法及装置

技术领域

本发明涉及三元组关系预测领域,具体涉及一种基于注意力机制的知识图谱关系预测方法及装置。

背景技术

2012年,谷歌提出了知识图谱的概念,并将其运用到搜索引擎中。之后,大规模知识图谱的构建取得了巨大的进展,涌现出一大批知识图谱,具有代表性的有YAGO、DBpedia、FreeBase等。目前,知识图谱在很多人工智能应用上发挥着重要的作用,例如智能问答、信息推荐、网页搜索等。知识图谱是一个结构化的语义网络,存储着大量的事实三元组(头实体,关系,尾实体),通常简化为(h,r,t)。

但是,随着知识图谱规模的逐渐扩大,数据类型逐渐多样化,实体与实体之间的关系越来越复杂,传统基于符号和逻辑的方法,由于其计算低效性,使得知识图谱应用面临挑战。为了解决这个问题,表示学习被提出并得到蓬勃发展。

表示学习的目的是将知识图谱三元组中的实体和关系映射到低维稠密的向量空间,将传统基于逻辑和符号的运算转变为基于数值的向量计算。基于能量函数的表示学习模型由于其简单高效性在链接预测、三元组分类等任务上取得了较好的结果,被广泛应用于知识图谱补全、实体对齐等领域。然而,这些模型大都只考虑了知识图谱的三元组信息,对知识图谱中丰富的文本信息、类型信息融合程度低,融合方式单一,而这些信息对于降低实体和关系的模糊程度、提高推理预测的准确度至关重要。

目前知识图谱表示学习方法主要有一下三类:基于张量分解的模型、基于翻译操作的模型、融合多源信息的模型。基于张量分解的表示学习模型以RESCAL模型为代表,它将知识图谱编码为一个张量,若三元组存在于知识图谱中,则对应张量中的值设置为1,反之为0。但是RESCAL模型需要大量的参数,计算效率低。基于翻译操作的表示学习模型以TransE模型为代表,它将三元组中的关系看作头实体和尾实体之间的翻译操作,基本假设是成立的事实三元组(h,r,t)应该满足等式h+r=t。TransE在对一对一类型的关系上很有效,但是在处理一对多、多对一以及多对多问题时存在一定的问题。有很多模型对TransE进行了改进,但是仅考虑知识图谱中的三元组结构信息,尚有大量与实体和关系有关的其它信息没有得到有效应用,造成实体、关系的语义信息不明确。在多源信息融合的表示学习方面,主要是考虑实体描述的知识表示学习模型,以及文本与知识库融合的表示学习,这些模型的信息来源以及融合手段都非常有限。此外,知识图谱中的实体分布呈现长尾分布现象,部分实体在异构的数据源中不具有相应的描述文本。而实体类型作为隐藏变量,可以作为文本的补充信息,丰富实体和关系的语义。

然而,无论一个知识图谱是自动构建还是手动构建的,在一定程度上都不完整。对知识图谱进行关系预测,推理出隐含的、未知的知识,是当今的一个研究热点。图神经网络模型可用于建模知识图谱图结构上的节点和关系,进而进行未知关系预测。

发明内容

针对上述提到的技术问题问题。本申请的实施例的目的在于提出了一种基于注意力机制的知识图谱关系预测方法及装置,来解决以上背景技术部分提到的技术问题。

第一方面,本申请的实施例提供了一种基于注意力机制的知识图谱关系预测方法,包括以下步骤:

S1,基于知识图谱中三元组利用Trans模型,获得三元组向量表示;

S2,对实体描述信息采用Doc2Vec模型对实体描述的文本信息进行嵌入,得到实体描述向量表示;

S3,将三元组向量表示与实体层次类型映射矩阵结合,得到实体类型向量表示;

S4,将三元组向量表示、实体描述向量表示和实体类型向量表示进行连接,得到三元组实体向量;

S5,构建基于注意力机制和图神经网络的编码器,将三元组实体向量输入编码器,对实体和关系的嵌入表示进行更新,输出得到基于层次的三元组向量表示;

S6,采用ConvKB模型作为解码器,将基于层次的三元组向量表示输入解码器对知识图谱进行重构,输出三元组的得分,基于三元组的得分判断知识图谱中三元组的关系是否成立。

在一些实施例中,步骤S1中Trans模型包括TransE模型或TransR模型。

在一些实施例中,步骤S2具体包括:

将实体描述信息随机生成N维的文档向量xparagraph-id和N维文档中每个词语的独热(one-hot)形式的词向量xi-m,...,i+m,其中m是指窗口大小,i是指由上下文预测的当前中心词的标号,

对N维的文档向量xparagraph-id和词向量xi-m,...,i+m进行降维:

vi-m=Vxi-m,vi-m+1=Vxi-m+1,...,vi+m=Vxt+m,vparagraph-id=Vxparagraph-id;其中,V是一个n行N列的单位矩阵,n远小于N,

通过降维后的词向量和文档向量得到中心词向量yi

其中,U为一个N行n列的单位矩阵,进一步将中心词向量通过softmax函数进行归一化:

以初始化中独热编码形式的词向量作为真实值,作为预测值,利用logistic函数对进行训练,通过随机梯度下降方法最小化目标函数,目标函数为:

更新并输出实体描述向量表示。

在一些实施例中,步骤S3具体包括:

设k为实体e的所有实体类型数,对于每一个实体类型c,ci代表实体e属于的第j个类型,为cj的映射矩阵,αj为cj对应的权重,αi可通过实体e属于cj的频率得到,对于特定的三元组(h,r,t),头实体映射矩阵的计算式为:

其中,Crh代表给定的关系r下,头实体的关系类型集合,

同理,Crt为给定的关系r下,尾实体的关系类型集合,Mc是类型c的投影矩阵,Mc被定义为:

其中,m是层次类型的层数,表示第i个子类型cj的映射矩阵;

将Mrh、Mrt与TransE或TransR得到的三元组向量表示相乘得到实体类型向量表示。

在一些实施例中,步骤S4具体包括:

将三元组向量表示、实体描述向量表示和实体类型向量表示进行连接的第一损失函数为:

其中,γ为超参数,衡量正确三元组和错误三元组的边界,

T′={(h′,r,t)|h′∈E}∪{(h,r′,t)|r′∈R}∪{(h,r,t′)|t′∈E};

其中,T为正例三元组集合,T’为负例三元组集合,通过随机替换正例三元组的头实体或者尾实体或者关系得到,d(h+r,t)为h+r和t的距离度量:

d(h+r,t)=||h+r-t||;

将三元组向量表示、实体描述向量表示以及实体类型向量表示进行连接,最终实体嵌入被定义为:

其中,es、ed和et分别为三元组向量表示、实体描述向量表示以及实体类型向量表示,为连接操作符,即为e=[es||ed||et],

对第一损失函数进行随机梯度下降得到最终的实体嵌入e,最终的实体嵌入e通过能量函数组合成三元组实体向量,其中,能量函数为:

E(h,r,t)=||h+r-t||。

在一些实施例中,步骤S5具体包括:

对三元组实体向量的实体h的邻居节点关系计算权重:

ah,r=W1[h||r].

其中,||代表拼接操作;分别代表实体h、关系r的嵌入表示,d代表嵌入的维度;是训练参数,Nh代表实体h的邻居集合,σ为LeakyReLU函数,ah,r为三元组(h,r,t)在关系层次的向量表示,αh,r为邻居节点的关系层次注意力得分,

则头实体和尾实体之间的关系嵌入vr可以表示为:

vr=αh,rr;

对邻居实体计算权重:

bh,r,t=W2[h||vr||t];

其中,代表实体t的嵌入表示;Rht代表实体h和实体t之间的关系集合; 代表训练参数;bh,r,t为三元组(h,r,t)在实体层次的向量表示,最终得到的βh,r,t是邻居节点的实体层次注意力得分;

计算得到三元组层次的得分:

ηh,r,t=αh,r·βh,r,t

其中,ηh,r,t代表当表示实体h时三元组(h,r,t)的权重,

通过计算关系注意力、邻居节点注意力、三元组注意力,实体h表示为:

其中,代表实体h加入局部邻域权重之后的嵌入表示,bh,r′,t′代表实体h加入局部邻域权重之后的向量表示,编码器的输出的基于层次的三元组向量表示为其中,e2 为r′,e1为t′。

在一些实施例中,步骤S6具体包括:

定义为三元组的得分语义匹配ConvKB模型的三元组表示,由多个基于层次的三元组向量表示连接而成,将输入到ConvKB模型的卷积层,在卷积层上使用多个滤波器以生成不同的特征图,特征图的评分函数表示为:

其中,wm代表mth的卷积层滤波器;Ω为超参数,代表滤波器的个数;代表线性变换矩阵,k代表h、r、t的嵌入维度;

解码器对应的第二损失函数定义为:

其中,S为正例三元组的集合,S′为构建的负例三元组,通过随机替换正例三元组和负例三元组的头实体或者尾实体得到,即:

通过下式来区分正例三元组和负例三元组:

为三元组的得分,根据三元组的得分判断知识图谱中三元组的关系是否成立。

第二方面,本申请的实施例提供了一种基于注意力机制的知识图谱关系预测装置,包括:

三元组向量表示模块,被配置为基于知识图谱中三元组利用Trans模型,获得三元组向量表示;

实体描述向量表示模块,被配置为对实体描述信息采用Doc2Vec模型对实体描述的文本信息进行嵌入,得到实体描述向量表示;

实体类型向量表示模块,被配置为将三元组向量表示与实体层次类型映射矩阵结合,得到实体类型向量表示;

连接模块,被配置为将三元组向量表示、实体描述向量表示和实体类型向量表示进行连接,得到三元组实体向量;

编码器模块,被配置为构建基于注意力机制和图神经网络的编码器,将三元组实体向量输入编码器,对实体和关系的嵌入表示进行更新,输出得到基于层次的三元组向量表示;

解码器模块,被配置为采用ConvKB模型作为解码器,将基于层次的三元组向量表示输入解码器对知识图谱进行重构,输出三元组的得分,基于三元组的得分判断知识图谱中三元组的关系是否成立。

第三方面,本申请的实施例提供了一种电子设备,包括一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。

第四方面,本申请的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。

相比于现有技术,本发明具有以下有益效果:

(1)本发明整合知识图谱表示学习模型,融合知识图谱的三元组信息、实体描述信息以及实体类型信息,从而降低实体和关系的模糊程度;

(2)本发明通过实体描述及实体类型的嵌入,考虑实体描述的全部语义信息,利用Doc2Vec模型进行描述信息的表示,提高知识图谱三元组实体表示的语义信息,考虑到三元组实体存在多种类型,并且类型存在层次性,将层次类型信息进行表示,结合翻译模型嵌入进行拼接,训练一个表示学习模型提高知识图谱应用的性能;

(3)本发明在图神经网络的基础上,加入注意力机制,分别对关系、邻居节点赋予不同的权重,以解决关系、邻居实体贡献程度不同的问题。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请的一个实施例可以应用于其中的示例性装置架构图;

图2为本发明的实施例的基于注意力机制的知识图谱关系预测方法的流程示意图;

图3为本发明的实施例的基于注意力机制的知识图谱关系预测方法的整体模型示意图;

图4为本发明的实施例的基于注意力机制的知识图谱关系预测方法的三元组向量表示获取的示意图;

图5为本发明的实施例的基于注意力机制的知识图谱关系预测方法的实体类型向量表示获取的示意图;

图6为本发明的实施例的基于注意力机制的知识图谱关系预测方法的实体类型向量表示获取的示意图;

图7为本发明的实施例的基于注意力机制的知识图谱关系预测方法的多头注意力机制图;

图8为本发明的实施例的基于注意力机制的知识图谱关系预测方法的ConvKB模型图;

图9为本发明的实施例的基于注意力机制的知识图谱关系预测装置的示意图;

图10是适于用来实现本申请实施例的电子设备的计算机装置的结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

图1示出了可以应用本申请实施例的基于注意力机制的知识图谱关系预测方法或基于注意力机制的知识图谱关系预测装置的示例性装置架构100。

如图1所示,装置架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种应用,例如数据处理类应用、文件处理类应用等。

终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。

服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上传的文件或数据进行处理的后台数据处理服务器。后台数据处理服务器可以对获取的文件或数据进行处理,生成处理结果。

需要说明的是,本申请实施例所提供的基于注意力机制的知识图谱关系预测方法可以由服务器105执行,也可以由终端设备101、102、103执行,相应地,基于注意力机制的知识图谱关系预测装置可以设置于服务器105中,也可以设置于终端设备101、102、103中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。在所处理的数据不需要从远程获取的情况下,上述装置架构可以不包括网络,而只需服务器或终端设备。

图2示出了本申请的实施例提供的一种基于注意力机制的知识图谱关系预测方法,整体流程结构示意图如图3所示,包括以下步骤:

S1,基于知识图谱中三元组利用Trans模型,获得三元组向量表示。

在具体的实施例中,步骤S1中Trans模型包括TransE模型或TransR模型。

1)通过TransE模型获取三元组向量表示的具体步骤如下:

首先,随机生成三元组头实体、关系、尾实体的向量表示,实体e表示为(h,r,t),h为头实体,t为尾实体,关系r看作从头实体h到尾实体t,分别记为h、r、t,如图4所示。

其次,依据关系是头实体与尾实体之间的翻译操作这一思想,使用下式随机生成负样本数据(h',r',t')。其中,E、R分别代表知识图谱的实体集合和关系集合。

T'={(h',r,t)|h'∈E}∪{(h,r',t)|r'∈R}∪{(h,r,t')|t'∈E};

其中,T为正例三元组集合,T’为负例三元组集合,通过随机替换正例三元组的头实体或者尾实体或者关系得到。

最后,优化下式的目标函数L(h,r,t),获得基于TransE模型的三元组向量表示,该三元组向量表示用于获取实体类型向量表示。

其中,d(h+r,t)=||h+r-t||,d(h+r,t)为h+r和t的距离度量,γ为超参数,衡量正确三元组和错误三元组的边界。

将每个三元组实例(h,r,t)中的关系r看作从头实体h到尾实体t之间的平移操作(翻译),通过优化目标函数不断调整h、r和t的向量表示h、r、t,使得h+r≈t,最后得到三元组向量表示(h,r,t)。

2)通过TransR模型获取三元组向量表示的具体步骤如下:

TransE模型假设实体和关系在同一个语义空间,这样相似的实体在空间中有着相近的位置,然而每一个实体都可以有很多方面,而不同的关系关注的就是实体的不同的方面。因此,TransR模型对不同的关系建立各自的关系空间,在计算时先将实体映射到关系空间进行计算。

首先,对于每一个关系,有一个变换矩阵Mr和一个在它自己的空间向量的表示向量r。通过变换矩阵将头实体和尾实体的向量表示映射到关系空间,即将Mr与头实体和关系实体向量相乘,得到关系空间下的基于TransR模型的三元组向量表示。

具体地,将实体表示空间和关系表示空间进行拆分,通过关系映射矩阵Mr将头尾实体映射到关系向量空间,得到hr和tr,即:

hr=hMr

tr=tMr

利用投影到关系表示空间的头尾实体向量进行三元组得分的计算:

得到三元组向量表示(h,r,t)。

然后,生成负采样数据。

最后,优化目标函数,目标函数为:

其中,d(h+r,t)=||h+r-t||,d(h+r,t)为h+r和t的距离度量,γ为超参数,衡量正确三元组和错误三元组的边界。

基于TransE模型或TransR模型的三元组向量表示均可以用于获取实体类型向量表示。

S2,对实体描述信息采用Doc2Vec模型对实体描述的文本信息进行嵌入,得到实体描述向量表示。

在对实体描述信息进行关键词抽取之后,对实体描述的文本信息进行嵌入,如图5所示,步骤S2具体包括:

将实体描述信息随机生成N维的文档向量xparagraph-id和N维文档中每个词语的独热(one-hot)形式的词向量xi-m,,i+m,其中m是指窗口大小,i是指由上下文预测的当前中心词的标号,

对N维的文档向量xparagraph-id和词向量xi-m,...,i+m进行降维:

vi-m=Vxi-m,vi-m+1=Vxi-m+1,...,vi+m=Vxi+m,vparagraph-id=Vxparagraph-id;其中,V是一个n行N列的单位矩阵,n远小于N,文档向量和词向量降为n维。

通过降维后的词向量和文档向量得到中心词向量yi

其中,U为一个N行n列的单位矩阵,进一步将中心词向量通过softmax函数进行归一化:

以初始化中独热编码形式的词向量作为真实值,作为预测值,利用logistic函数对进行训练,通过随机梯度下降方法最小化目标函数,目标函数为:

更新并输出实体描述向量表示。

S3,将三元组向量表示与实体层次类型映射矩阵结合,得到实体类型向量表示。

如图6所示为三元组向量表示与实体层次类型映射矩阵结合的示意图,实体类型具有层次化。因此,首先需要对实体类型下的实体进行映射。然后,在1-N、N-1以及N-N的复杂关系模式下,实体在不同关系下具有不同表示。为了更好的进行复杂关系预测,需要对特定关系下的实体进行映射,最后得到融合层次类型的实体类型向量表示。

在具体的实施例中,步骤S3具体包括:

设k为实体e的所有实体类型数,对于每一个实体类型c,ci代表实体e属于的第j个类型,为cj的映射矩阵,αj为cj对应的权重,αi可通过实体e属于cj的频率得到。在本申请的实施例中,设置αj的值相同,对于特定的三元组(h,r,t),头实体映射矩阵的计算式为:

其中,Crh代表给定的关系r下,头实体的关系类型集合,

同理,Crt为给定的关系r下,尾实体的关系类型集合,Mc是类型c的投影矩阵。

然后,在投影过程中,实体首先被映射到更一般的子类型空间,然后被映射到更精确的子类型空间。Mc被定义为:

其中,m是层次类型的层数,表示第i个子类型cj的映射矩阵;

最后将Mrh、Mrt与TransE或TransR得到的三元组向量表示相乘得到实体类型向量表示。

后续将融合知识图谱的三元组信息、实体描述信息以及实体类型信息为三元组实体向量,作为编码器的输入,并且在编码器中进行更新。

S4,将三元组向量表示、实体描述向量表示和实体类型向量表示进行连接,得到三元组实体向量。

在具体的实施例中,步骤S4具体包括:

将三元组向量表示、实体描述向量表示和实体类型向量表示进行连接的损失函数为:

其中,γ为超参数,衡量正确三元组和错误三元组的边界,

T'={(h',r,t)|h'∈E}∪{(h,r',t)|r'∈R}∪{(h,r,t')|t'∈E};

其中,T为正例三元组集合,T’为负例三元组集合,通过随机替换正例三元组的头实体或者尾实体或者关系得到,d(h+r,t)为h+r和t的距离度量:

d(h+r,t)=||h+r-t||;

将三元组向量表示、实体描述向量表示以及实体类型向量表示进行连接得到最终实体嵌入:

其中,es、ed和et分别为三元组向量表示、实体描述向量表示以及实体类型向量表示,为连接操作符,即为e=[es||ed||et],

对损失函数进行随机梯度下降得到最终的实体嵌入e,最终的实体嵌入e通过能量函数组合成三元组实体向量,其中,能量函数为:

E(h,r,t)=||h+r-t||。

通过以上能量函数进行优化训练。

S5,构建基于注意力机制和图神经网络的编码器,将三元组实体向量输入编码器,对实体和关系的嵌入表示进行更新,输出得到基于层次的三元组向量表示。

为了避免模型过拟合,本申请的实施例使用多头注意力机制获取更多的信息,如图7所示为多头注意力机制图。将三元组向量、实体描述向量以及实体类型向量表示融合得到的三元组实体向量作为编码器的输入,在编码器,设计了注意力机制用于计算实体的关系、邻居节点、三元组的权重,用于更新实体和关系的嵌入表示。三元组实体向量作为编码器的输入,对一个实体e1,输入为(e1,r3,e2),编码器输出为编码器在这期间建立了层次结构。考察知识图谱的局部图结构,以e1为中心的发散子图结构,其中e2、e3、e4、e5等4个实体分别通过r1、r2、r3等3个关系(边)与e1相连,以信息传递的方式更新e1的嵌入表示。

在具体的实施例中,步骤S5具体包括:

在表示一个实体时,与此实体相连的边(关系)有着不同的权重。因此,对三元组实体向量的实体h的邻居节点关系计算权重:

ah,r=W1[h||r];

其中,||代表拼接操作;分别代表实体h、关系r的嵌入表示,d代表嵌入的维度;是训练参数,Nh代表实体h的邻居集合,σ为LeakyReLU函数,ah,r为三元组(h,r,t)在关系层次的向量表示,αh,r为邻居节点的关系层次注意力得分,通过以上两个公式,可得与实体h的相连的各个关系层次的权重。

那么,头实体和尾实体之间的关系嵌入vr可以表示为:

vr=αh,rr;

获取头实体和尾实体之间的关系嵌入vr后,考虑实体的关系特征,对邻居实体计算权重:

bh,r,t=W2[h||vr||t];

其中,代表实体t的嵌入表示;Rht代表实体h和实体t之间的关系集合; 代表训练参数;bh,r,t为三元组(h,r,t)在实体层次的向量表示,分别对比TransE模型的三元组嵌入与TransR模型的三元组嵌入两种模型的融合。最终得到的βh,r,t是邻居节点的实体层次注意力得分。

在获得关系层次的注意力以及实体层次的注意力之后,计算得到三元组层次的得分:

ηh,r,t=αh,r·βh,r,t

其中,ηh,r,t代表当表示实体h时三元组(h,r,t)的权重。

通过计算关系注意力、邻居节点注意力、三元组注意力,实体h表示为:

其中,代表实体h加入局部邻域权重之后的嵌入表示,bh,r',t'代表实体h加入局部邻域权重之后的向量表示,编码器的输出的基于层次的三元组向量表示为其中,e2 为r′,e1为t′。

为了避免模型过拟合,本申请的实施例使用多头注意力机制获取更多的信息,对于头实体、边、尾实体先进行线性变换,再进行M次扩展点乘,将结果进行拼接操作,最后通过一个线性变换操作获得的注意力值即为多头注意力的结果。

S6,采用ConvKB模型作为解码器,将基于层次的三元组向量表示输入解码器对知识图谱进行重构,输出三元组的得分,基于三元组的得分判断知识图谱中三元组的关系是否成立。

在具体的实施例中,步骤S6具体包括:

定义为三元组的得分语义匹配ConvKB模型的三元组表示,由多个基于层次的三元组向量表示连接而成,对于给定的三元组卷积层的目的是为了分析三元组在整个知识图谱各个维度上的嵌入性质,同时对编码器获得的基于层次的三元组向量表示进行归一化,以挖掘出更多的特征。ConvKB模型如图8所示,每个都表示为3列矩阵,其中每个列向量都代表一个三元元素。

输入到ConvKB模型的卷积层,即将此3列矩阵输入到卷积层,在卷积层上使用多个滤波器以生成不同的特征图,特征图的评分函数表示为:

其中,wm代表mth的卷积层滤波器;Ω为超参数,代表滤波器的个数;代表线性变换矩阵,k代表h、r、t的嵌入维度;

解码器对应的损失函数定义为:

其中,S为正例三元组的集合,S'为构建的负例三元组,通过随机替换正例三元组和负例三元组的头实体或者尾实体得到,即:

通过下式来区分正例三元组和负例三元组:

为三元组的得分,根据三元组的得分判断知识图谱中三元组的关系是否成立。

将特征图串联到代表输入三元组的单个特征向量中,通过点积操作将特征向量与权重向量W1相乘以返回此三元组的得分,作为解码器最终的输出结果,表示知识图谱关系预测结果是三元组关系是否有效。

本发明的思想是对于给定的三元组(h,r,t),当头实体h或者尾实体t缺失的时候,关系预测任务的目的是预测出缺失的头实体或者尾实体。首先计算负例三元组的分数,然后按照降序对其进行排名,最后记录正确实体的排名。因此,使用以下3种评估策略评价模型的性能:

(1)[email protected](N=1,3,10):前N个正确实体的比例;

(2)均值排名(Mean Rank,MR):正确实体排在第n位,则排名为n。全部正确实体的排名与全部实体数的商为最终的MR值;

(3)均值排名倒数(Mean Reciprocal Rank,MRR):预测的正确实体排名在第n位,则它的匹配分数为1/n。全部实体分数的和为最终的MRR值。

较低的MR值和较高的[email protected]或者MRR值通常表明该模型具有较好的性能。

为了评估所提出模型的有效性,本发明使用以下4个数据集进行验证:

(1)WN18RR:大规模知识库WordNet的子集,包含11种关系和40,943个实体;

(2)FB15K-237:大规模知识库FreeBase的子集,包含237种关系和14,541个实体;

(3)NELL-995:NELL数据集的子集,包含200种关系和75,492个实体;

(4)kinship:该数据集为亲属关系数据集,由两个家族中的24个唯一名称组成,它们具有相同的结构,包含妻子、父亲等25种关系。

实验中均将4个数据集划分为训练集、验证集和测试集,其详细数据统计如表1所示。

表1数据集数据统计

为了验证本发明的方法的有效性,本发明以下列8个模型作为基线进行对比:

(1)TransE:最为广泛使用的一种关系预测模型;

(2)ConvE:一个流行的基于CNN的模型;

(3)ConvKB:基于CNN的、目前最好的一个模型;

(4)DistMult:使用双线性评分函数进行三元组得分计算的张量分解模型;

(5)ComplEx:DistMult模型的扩展模型;

(6)R-GCN:图卷积神经网络(Graph Convolutional Network,GCN)的扩展模型,对特定关系下的邻居实体进行建模;

(7)n-hopGAT:基于图注意力模型(Graph Attention Network,GAT),对不同的三元组进行权重计算;

(8)A2N:基于GNN模型,学习实体基于查询的表示。

评估标准如下:

对于编码器来说,模型的输入和输出向量维度均为200维,多头注意力机制的头数为2;对于解码器来说,关系和实体的向量维度同样设置为200。此外,学习率设置为0.005。各个数据集上的实验结果如表2和表3所示,每个数据集下最好的结果加粗显示,次好的结果加下划线显示。

表2数据集FB15k-237和WN18RR上的实验对比结果

表3数据集NELL-995和kinship上的实验对比结果

为了进一步验证模型的有效性,分析具有不同关系数量的实体邻居节点的影响,将FB15k-237和WN18RR的训练集按照如下步骤分为3个子集:中的实体度数位于训练集中的前10%,包含10%-50%,剩余的包含在中。然后按照以下方法获得新的测试集:假设一个三元组(h,r,t),如果那么以相同的方法得到的数据统计如表4所示。

表4的数据统计

方法 准确率(%)
TransE 82.6
TransR 83.4
DKRL 86.3
TKRL 85.7
DISMULT 80.8
ComplEx 81.8
Analogy 82.1
SimplE 81.5
AutoKGE 82.7
本发明模型(TransE融合) 87.2
本发明模型(TransR融合) 88.7

仅与解码器ConvKB进行对比实验,实验结果如表5和6所示,每个指标下最好的实验结果加粗显示。

表5FB15k-237上的实验对比结果

表6WN18RR上的实验对比结果

从表5和6可以看出,具有较高度数的实体有着较多的邻居与其相连接,对实体的更新具有重要意义。此外,实验结果表明,本发明有效捕获了实体的局部图结构信息,显著提高了关系预测任务的指标,具有较好的性能。

进一步参考图9,作为对上述各图所示方法的实现,本申请提供了一种基于注意力机制的知识图谱关系预测装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

本申请实施例提供了一种基于注意力机制的知识图谱关系预测装置,包括:

三元组向量表示模块1,被配置为基于知识图谱中三元组利用Trans模型,获得三元组向量表示;

实体描述向量表示模块2,被配置为对实体描述信息采用Doc2Vec模型对实体描述的文本信息进行嵌入,得到实体描述向量表示;

实体类型向量表示模块3,被配置为将三元组向量表示与实体层次类型映射矩阵结合,得到实体类型向量表示;

连接模块4,被配置为将三元组向量表示、实体描述向量表示和实体类型向量表示进行连接,得到三元组实体向量;

编码器模块5,被配置为构建基于注意力机制和图神经网络的编码器,将三元组实体向量输入编码器,对实体和关系的嵌入表示进行更新,输出得到基于层次的三元组向量表示;

解码器模块6,被配置为采用ConvKB模型作为解码器,将基于层次的三元组向量表示输入解码器对知识图谱进行重构,输出三元组的得分,基于三元组的得分判断知识图谱中三元组的关系是否成立。

综上所述,本发明使用编码器-解码器架构,提出了一种基于注意力机制的知识图谱关系预测方法及装置。在解码器,设计了注意力机制用于计算实体的关系、邻居节点、三元组的权重,用于更新实体和关系的嵌入表示。在解码器,使用ConvKB模型进行知识图谱重构。最后,在4个数据集上进行关系预测任务,结果表明本发明使用的模型具有良好的性能。由于本发明使用图神经网络进行知识图谱图结构特征的提取,并使用卷积神经网络进行解码,模型具有较高的时间复杂性。

下面参考图10,其示出了适于用来实现本申请实施例的电子设备(例如图1所示的服务器或终端设备)的计算机装置1000的结构示意图。图10示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图10所示,计算机装置1000包括中央处理单元(CPU)1001和图形处理器(GPU)1002,其可以根据存储在只读存储器(ROM)1003中的程序或者从存储部分1009加载到随机访问存储器(RAM)1004中的程序而执行各种适当的动作和处理。在RAM 1004中,还存储有装置1000操作所需的各种程序和数据。CPU 1001、GPU1002、ROM 1003以及RAM 1004通过总线1005彼此相连。输入/输出(I/O)接口1006也连接至总线1005。

以下部件连接至I/O接口1006:包括键盘、鼠标等的输入部分1007;包括诸如、液晶显示器(LCD)等以及扬声器等的输出部分1008;包括硬盘等的存储部分1009;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1010。通信部分1010经由诸如因特网的网络执行通信处理。驱动器1011也可以根据需要连接至I/O接口1006。可拆卸介质1012,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1011上,以便于从其上读出的计算机程序根据需要被安装入存储部分1009。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1010从网络上被下载和安装,和/或从可拆卸介质1012被安装。在该计算机程序被中央处理单元(CPU)1001和图形处理器(GPU)1002执行时,执行本申请的方法中限定的上述功能。

需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读介质或者是上述两者的任意组合。计算机可读介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的装置、装置或器件,或者任意以上的组合。计算机可读介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行装置、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行装置、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本申请各种实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的装置来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中。

作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:基于知识图谱中三元组利用Trans模型,获得三元组向量表示;对实体描述信息采用Doc2Vec模型对实体描述的文本信息进行嵌入,得到实体描述向量表示;将三元组向量表示与实体层次类型映射矩阵结合,得到实体类型向量表示;将三元组向量表示、实体描述向量表示和实体类型向量表示进行连接,得到三元组实体向量;构建基于注意力机制和图神经网络的编码器,将三元组实体向量输入编码器,对实体和关系的嵌入表示进行更新,输出得到基于层次的三元组向量表示;采用ConvKB模型作为解码器,将基于层次的三元组向量表示输入解码器对知识图谱进行重构,输出三元组的得分,基于三元组的得分判断知识图谱中三元组的关系是否成立。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

30页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种对象标签确定方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!