基于关系注意力的知识图谱推理方法、装置和计算机设备与流程

文档序号:22042522发布日期:2020-08-28 18:17阅读:204来源:国知局
基于关系注意力的知识图谱推理方法、装置和计算机设备与流程

本申请涉及知识图谱技术领域,特别是涉及一种基于关系注意力的知识图谱推理方法、装置、计算机设备和存储介质。



背景技术:

知识图谱在许多自然语言处理应用中有非常重要的作用,例如问答系统、语义搜索等。但由于知识获取的不确定性,基于实体识别和关系抽取技术构建的知识图谱,会导致知识图谱的不完整,从而影响这些应用的性能。如果知识图谱中存在错误,会导致该应用返回错误的结果。知识图谱推理技术指的是根据现有的知识图谱中的已知事实,推断出新的事实,使用知识图谱推理技术可以丰富知识图谱。

三元组是知识图谱中知识表示的基本单位,被用来表示实体与实体之间的关系,或者实体的某个属性的属性值是什么。例如:我们将知识图谱中的节点用表示,节点与节点之间的关系用表示,相应地,知识图谱可表示为,其中,每一个三元组描述实体与实体之间的某种关系。

为了捕获三元组周围的局部邻居中固有隐含的复杂和隐藏信息,已有相关研究中,基于图注意力的模型在获取网络结构上取得了成功,但直接用于知识图谱是不合适的,因为它忽略了知识图谱里很重要的一部分信息——边,即在kg里实体之间的关系信息。文献1(nathanid,chauhanj,sharmac,etal.learningattention-basedembeddingsforrelationpredictioninknowledgegraphs[c]//.meetingoftheassociationforcomputationallinguistics,(acl)2019:4710-4723.)中提出的一种考虑知识图谱中关系的端到端的模型,在每一层节点特征聚合时都考虑了关系向量表示。但是该模型只是在计算注意力时考虑了关系与实体表示的简单拼接,并没有突出关系的重要性。文献2(velikovip,cucurullg,casanovaa,etal.graphattentionnetworks[c]//6thinternationalconferenceonlearningrepresentations,{iclr}2018,vancouver,bc,canada,april30-may3,2018.)提出的gat模型考虑所有邻居,给每个邻居不同的权重,但是gat只考虑了一阶邻居,而且没有关注边的特征。均导致的知识图谱推理不准确。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够知识图谱推理不准确问题的基于关系注意力的知识图谱推理方法、装置、计算机设备和存储介质。

一种基于关系注意力的知识图谱推理方法,所述方法包括:

获取知识图谱中节点的初始嵌入表示,将所述初始嵌入表示转换到高维空间,得到高维嵌入表示;

获取所述知识图谱中目标节点的邻居节点集合,根据所述目标节点与所述邻居节点集合中邻居节点的关系类型,构建邻居子图;

根据所述目标节点的高维嵌入表示和所述邻居子图中邻居节点的高维嵌入表示,得到所述目标节点嵌入邻居子图中信息的邻居嵌入表示;

将所述目标节点的高维嵌入表示与所述邻居嵌入表示进行聚合,得到目标节点的聚合嵌入表示;

根据每个所述邻居子图的第一注意力分值,对所述聚合嵌入表示进行融合,得到所述目标节点的融合嵌入表示;

根据所述融合嵌入表示,计算所述目标节点对应三元组的得分,根据得分进行三元组推理。

在其中一个实施例中,还包括:根据预先设置的嵌入模型,将知识图谱中三元组的头实体、尾实体以及关系进行嵌入,得到初始嵌入表示;根据预先设置的转换矩阵,将所述头实体和尾实体转换至高维空间,得到头实体高维嵌入表示,根据预先设置的关系转换矩阵,将所述关系转换至高维空间,得到关系高维嵌入表示。

在其中一个实施例中,还包括:获取所述目标节点的高维嵌入表示和所述邻居子图中邻居节点的节点对嵌入表示为:

其中,表示节点对嵌入表示,表示第一线性转换矩阵,表示目标节点的高维嵌入表示,表示所述邻居子图中邻居节点的节点对嵌入表示;

根据所述节点对嵌入表示,确定所述邻居节点对所述目标节点的第二注意力分值为:

其中,表示第二注意力分值,表示激活函数,表示第二线性转换矩阵;

对所述第二注意力分值进行归一化,并根据所述邻居子图中每个邻居节点的第二注意力分值的归一化结果,聚合得到邻居嵌入表示。

在其中一个实施例中,还包括:根据预先设置的聚合函数,将所述目标节点的高维嵌入表示与所述邻居嵌入表示进行聚合,得到目标节点的聚合嵌入表示为:

其中,表示聚合嵌入表示,表示邻居嵌入表示。

在其中一个实施例中,还包括:计算每个所述邻居子图的第一注意力分值为:

其中,表示邻居子图对应的关系类型,表示对角为的对角矩阵,表示的嵌入表示;

对所述第一注意力分值进行归一化,并根据所述邻居子图的第一注意力分值的归一化结果,融合得到融合嵌入表示。

在其中一个实施例中,还包括:对所述融合嵌入表示进行拓展,得到多头注意力嵌入表示为:

其中,m表示注意力的头数;

以及根据所述多头注意力嵌入表示,拓展得到多层嵌入表示为:

其中,k表示层数。

在其中一个实施例中,还包括:根据所述融合嵌入表示,计算所述目标节点对应三元组的得分;若三元组的得分在对应的评测指标预设排名范围内,则确定三元组成立;若三元组的得分不在对应的评测指标预设排名范围内,则确定三元组不成立。

一种基于关系注意力的知识图谱推理装置,所述装置包括:

高维嵌入模块,用于获取知识图谱中节点的初始嵌入表示,将所述初始嵌入表示转换到高维空间,得到高维嵌入表示;

子图构建模块,用于获取所述知识图谱中目标节点的邻居节点集合,根据所述目标节点与所述邻居节点集合中邻居节点的关系类型,构建邻居子图;

邻居信息嵌入模块,用于根据所述目标节点的高维嵌入表示和所述邻居子图中邻居节点的高维嵌入表示,得到所述目标节点嵌入邻居子图中信息的邻居嵌入表示;

聚合模块,用于将所述目标节点的高维嵌入表示与所述邻居嵌入表示进行聚合,得到目标节点的聚合嵌入表示;

融合模块推理模块,用于根据每个所述邻居子图的第一注意力分值,对所述聚合嵌入表示进行融合,得到所述目标节点的融合嵌入表示;根据所述融合嵌入表示,计算所述目标节点对应三元组的得分,根据得分进行三元组推理。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

获取知识图谱中节点的初始嵌入表示,将所述初始嵌入表示转换到高维空间,得到高维嵌入表示;

获取所述知识图谱中目标节点的邻居节点集合,根据所述目标节点与所述邻居节点集合中邻居节点的关系类型,构建邻居子图;

根据所述目标节点的高维嵌入表示和所述邻居子图中邻居节点的高维嵌入表示,得到所述目标节点嵌入邻居子图中信息的邻居嵌入表示;

将所述目标节点的高维嵌入表示与所述邻居嵌入表示进行聚合,得到目标节点的聚合嵌入表示;

根据每个所述邻居子图的第一注意力分值,对所述聚合嵌入表示进行融合,得到所述目标节点的融合嵌入表示;

根据所述融合嵌入表示,计算所述目标节点对应三元组的得分,根据得分进行三元组推理。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

获取知识图谱中节点的初始嵌入表示,将所述初始嵌入表示转换到高维空间,得到高维嵌入表示;

获取所述知识图谱中目标节点的邻居节点集合,根据所述目标节点与所述邻居节点集合中邻居节点的关系类型,构建邻居子图;

根据所述目标节点的高维嵌入表示和所述邻居子图中邻居节点的高维嵌入表示,得到所述目标节点嵌入邻居子图中信息的邻居嵌入表示;

将所述目标节点的高维嵌入表示与所述邻居嵌入表示进行聚合,得到目标节点的聚合嵌入表示;

根据每个所述邻居子图的第一注意力分值,对所述聚合嵌入表示进行融合,得到所述目标节点的融合嵌入表示;

根据所述融合嵌入表示,计算所述目标节点对应三元组的得分,根据得分进行三元组推理。

上述基于关系注意力的知识图谱推理方法、装置、计算机设备和存储介质,通过将节点嵌入到高维空间,然后在目标节点嵌入时,根据目标节点的邻居节点,确定邻居子图,然后根据目标节点与邻居子图中节点相连边的关系,确定目标节点嵌入邻居子图信息的邻居嵌入表示,另一方面,将高维嵌入表示与邻居嵌入表示进行聚合,然后针对所有邻居子图,采用注意力分值进行融合,得到融合嵌入表示,从而进行知识图谱的推理。由于融合嵌入表示融合邻居节点相连边的信息,从而可以提高知识图谱推理的准确性。

附图说明

图1为一个实施例中基于关系注意力的知识图谱推理方法的流程示意图;

图2为一个实施例中基于关系注意力的知识图谱推理装置的结构框图;

图3为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

在一个实施例中,如图1所示,提供了一种基于关系注意力的知识图谱推理方法,包括以下步骤:

步骤102,获取知识图谱中节点的初始嵌入表示,将初始嵌入表示转换到高维空间,得到高维嵌入表示。

对于知识图谱中的节点,通过采用三元组进行表示,对于三元组,其中,表示头实体,表示关系,表示尾实体,初始嵌入是通过将三元组中的实体与关系输入预先设置词嵌入模型得到的。将初始嵌入表示转换到高维空间可以通过高维的转换矩阵实现。

步骤104,获取知识图谱中目标节点的邻居节点集合,根据目标节点与邻居节点集合中邻居节点的关系类型,构建邻居子图。

在知识图谱中,存在与目标节点连接的节点,所有与目标节点连接的节点构成了目标节点的邻居节点。

本实施例中,根据目标节点与邻居节点连接边的类型,对邻居节点进行聚类,即同一类型的邻居节点构建邻居子图。

步骤106,根据目标节点的高维嵌入表示和邻居子图中邻居节点的高维嵌入表示,得到目标节点嵌入邻居子图中信息的邻居嵌入表示。

步骤108,将目标节点的高维嵌入表示与邻居嵌入表示进行聚合,得到目标节点的聚合嵌入表示。

步骤110,根据每个邻居子图的第一注意力分值,对聚合嵌入表示进行融合,得到目标节点的融合嵌入表示。

本实施例中,引入注意力机制,即对于每个邻居子图,通过计算其第一注意力分值,从而设置每个邻居子图进行融合权重。

步骤112,根据融合嵌入表示,计算目标节点对应三元组的得分,根据得分进行三元组推理。

上述基于关系注意力的知识图谱推理方法中,通过将节点嵌入到高维空间,然后在目标节点嵌入时,根据目标节点的邻居节点,确定邻居子图,然后根据目标节点与邻居子图中节点相连边的关系,确定目标节点嵌入邻居子图信息的邻居嵌入表示,另一方面,将高维嵌入表示与邻居嵌入表示进行聚合,然后针对所有邻居子图,采用注意力分值进行融合,得到融合嵌入表示,从而进行知识图谱的推理。由于融合嵌入表示融合邻居节点相连边的信息,从而可以提高知识图谱推理的准确性。

在其中一个实施例中,根据预先设置的嵌入模型,将知识图谱中三元组的头实体、尾实体以及关系进行嵌入,得到初始嵌入表示;根据预先设置的转换矩阵,将头实体和尾实体转换至高维空间,得到头实体高维嵌入表示,根据预先设置的关系转换矩阵,将关系转换至高维空间,得到关系高维嵌入表示。

具体的,以三元组为例,初始嵌入表示可以是:

其中,

将初始嵌入表示转化为高维嵌入表示为:

其中,,分别是三元组的初始嵌入向量。,是映射到高维空间后的节点嵌入,是映射到高维空间的关系嵌入。是转换矩阵,是关系转换矩阵。

在另一个实施例中,获取目标节点的高维嵌入表示和邻居子图中邻居节点的节点对嵌入表示为:

其中,表示节点对嵌入表示,表示第一线性转换矩阵,表示目标节点的高维嵌入表示,表示邻居子图中邻居节点的节点对嵌入表示。

根据节点对嵌入表示,确定邻居节点对目标节点的第二注意力分值为:

其中,表示第二注意力分值,表示激活函数,表示第二线性转换矩阵;对第二注意力分值进行归一化,并根据邻居子图中每个邻居节点的第二注意力分值的归一化结果,聚合得到邻居嵌入表示。

具体的,归一化的过程为:

其中,归一化采用的是softmax函数,表示邻居节点集合。

聚合得到邻居嵌入表示为:

其中,表示在关系下的邻居嵌入表示。

在其中一个实施例中,根据预先设置的聚合函数,将目标节点的高维嵌入表示与邻居嵌入表示进行聚合,得到目标节点的聚合嵌入表示为:

其中,表示聚合嵌入表示,表示邻居嵌入表示。

在另一个实施例中,计算每个邻居子图的第一注意力分值为:

其中,表示邻居子图对应的关系类型,表示对角为的对角矩阵,表示的嵌入表示;对第一注意力分值进行归一化,并根据邻居子图的第一注意力分值的归一化结果,融合得到融合嵌入表示。值得说明的是,知识图谱推理时涉及多个关系,则则理解为多个关系组合的嵌入表示。

对第一注意力分值进行归一化的过程为:

融合得到融合嵌入表示为:

在其中一个实施例中,对融合嵌入表示进行拓展,得到多头注意力嵌入表示为:

其中,m表示注意力的头数;

以及根据多头注意力嵌入表示,拓展得到多层嵌入表示为:

其中,k表示层数。

在其中一个实施例中,根据融合嵌入表示,计算目标节点对应三元组的得分;若三元组的得分在对应的评测指标预设排名范围内,则确定三元组成立;若三元组的得分不在对应的评测指标预设排名范围内,则确定三元组不成立。

具体的,评测指标可以采用mmr指标,排名可以通过hit@n算法实现。

应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图2所示,提供了一种基于关系注意力的知识图谱推理装置,包括:高维嵌入模块202、子图构建模块204、邻居信息嵌入模块206、聚合模块208和融合模块推理模块210,其中:

高维嵌入模块202,用于获取知识图谱中节点的初始嵌入表示,将所述初始嵌入表示转换到高维空间,得到高维嵌入表示;

子图构建模块204,用于获取所述知识图谱中目标节点的邻居节点集合,根据所述目标节点与所述邻居节点集合中邻居节点的关系类型,构建邻居子图;

邻居信息嵌入模块206,用于根据所述目标节点的高维嵌入表示和所述邻居子图中邻居节点的高维嵌入表示,得到所述目标节点嵌入邻居子图中信息的邻居嵌入表示;

聚合模块208,用于将所述目标节点的高维嵌入表示与所述邻居嵌入表示进行聚合,得到目标节点的聚合嵌入表示;

融合模块推理模块210,用于根据每个所述邻居子图的第一注意力分值,对所述聚合嵌入表示进行融合,得到所述目标节点的融合嵌入表示;根据所述融合嵌入表示,计算所述目标节点对应三元组的得分,根据得分进行三元组推理。

在其中一个实施例中,高维嵌入模块202还用于根据预先设置的嵌入模型,将知识图谱中三元组的头实体、尾实体以及关系进行嵌入,得到初始嵌入表示;根据预先设置的转换矩阵,将头实体和尾实体转换至高维空间,得到头实体高维嵌入表示,根据预先设置的关系转换矩阵,将关系转换至高维空间,得到关系高维嵌入表示。

在其中一个实施例中,邻居信息嵌入模块206还用于获取所述目标节点的高维嵌入表示和所述邻居子图中邻居节点的节点对嵌入表示为:

其中,表示节点对嵌入表示,表示第一线性转换矩阵,表示目标节点的高维嵌入表示,表示所述邻居子图中邻居节点的节点对嵌入表示;

根据所述节点对嵌入表示,确定所述邻居节点对所述目标节点的第二注意力分值为:

其中,表示第二注意力分值,表示激活函数,表示第二线性转换矩阵;

对所述第二注意力分值进行归一化,并根据所述邻居子图中每个邻居节点的第二注意力分值的归一化结果,聚合得到邻居嵌入表示。

在其中一个实施例中,聚合模块208还用于根据预先设置的聚合函数,将所述目标节点的高维嵌入表示与所述邻居嵌入表示进行聚合,得到目标节点的聚合嵌入表示为:

其中,表示聚合嵌入表示,表示邻居嵌入表示。

在其中一个实施例中,融合模块推理模块210还用于计算每个所述邻居子图的第一注意力分值为:

其中,表示邻居子图对应的关系类型,表示对角为的对角矩阵,表示的嵌入表示;

对所述第一注意力分值进行归一化,并根据所述邻居子图的第一注意力分值的归一化结果,融合得到融合嵌入表示。

在其中一个实施例中,融合模块推理模块210还用于对所述融合嵌入表示进行拓展,得到多头注意力嵌入表示为:

其中,m表示注意力的头数;

以及根据所述多头注意力嵌入表示,拓展得到多层嵌入表示为:

其中,k表示层数。

在其中一个实施例中,融合模块推理模块210还用于根据融合嵌入表示,计算目标节点对应三元组的得分;若三元组的得分在对应的评测指标预设排名范围内,则确定三元组成立;若三元组的得分不在对应的评测指标预设排名范围内,则确定三元组不成立。

关于基于关系注意力的知识图谱推理装置的具体限定可以参见上文中对于基于关系注意力的知识图谱推理方法的限定,在此不再赘述。上述基于关系注意力的知识图谱推理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于关系注意力的知识图谱推理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现上述实施例中方法的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中方法的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1