一种基于交替归纳的知识图谱关系预测方法
未命名
09-29
阅读:102
评论:0

1.本发明涉及知识图谱的技术领域,尤其涉及一种基于交替归纳的知识图谱关系预测方法。
背景技术:
2.知识图谱是由三元组(头实体、关系、尾实体)组成的集合,它广泛应用于各种自然语言处理任务中,如自动问答、智能推荐和常识推理等等。然而,目前许多知识图谱存在不完整问题,尤其涉及实体之间的缺失关系。因此,越来越多的研究者致力于预测实体之间缺失的关系,并提出了许多方法。这些方法可以大致分为基于直推的方法和基于归纳的方法。
3.基于直推的方法指的是传统的知识图谱嵌入方法,可分为基于翻译的方法、基于语义匹配的方法、基于路径的方法、基于图的方法。尽管存在多种不同的形式,但基于直推的方法主要致力于学习知识图谱中实体和关系之间的匹配度分数。尽管许多基于直推的方法在预测实体之间的关系方面被证明是有效的,但它们需要费时费力的重新训练来推断未知实体之间的关系。而对于正在不断添加新实体的真实知识图谱来说,重新训练是不现实的。
4.与基于直推的方法不同,基于归纳的方法旨在学习实体的子图结构来推断知识图谱中实体之间的关系,其中一些实体在训练过程中可以是不可见的或未知的。比如,teru等人提出grail方法来根据这两个节点周围的子图结构预测两个节点之间的关系。xu等人提出snri方法通过全局方式将完整的关系信息纳入封闭的稀疏子图,来进行关系预测。chen等人提出tact方法来通过以实体独立的方式学习关系之间的拓扑感知相关性,来预测缺失的关系。然而,这些方法仅考虑了每层子图中的关系,而未考虑不同层次之间的前后向关联,因此失去了全局性。此外,上述方法仅仅提取两个子图的交集,并删除了独立的节点或远距离的节点,来建模子图之间的共性来预测关系,但通常情况下交集只占到两个子图中的很少部分,这忽略了子图中许多关系类型。
技术实现要素:
5.针对现有知识图谱关系预测的方法需要重新训练,未考虑不同层次之间的前后向关联的技术问题,本发明提出一种基于交替归纳的知识图谱关系预测方法,能够预测知识图谱中实体之间缺失的关系,提高知识图谱关系预测的效果和效率,进而提高了知识图谱的质量。
6.为了达到上述目的,本发明的技术方案是这样实现的:一种基于交替归纳的知识图谱关系预测方法,其步骤如下:
7.s1、初始化知识图谱中每个实体的子图;
8.s2、使用子图序列化模型将子图转化为序列,学习序列化特征得到状态序列;
9.s3、使用偏好强化模型学习子图之间的共同偏好的权重,利用权重表示实体和尾实体的潜在子图;
10.s4、使用交替聚合模型处理潜在子图归纳不同的归纳子图,通过归纳子图之间的得分预测实体之间的关系并输出。
11.优选地,所述步骤s1中初始化每个实体的子图的方法为:从任意实体e的第一层邻域开始,随机采集最多n个关系邻居作为子图的第一层,并添加到子图中;与关系邻居连接的实体,采样每个实体的最多n个邻居关系作为子图的第二层并添加到子图中,以此类推,持续l次。
12.优选地,对于任意实体e,输出的子图为:其中,实体e∈{s,o},s为头实体,o为尾实体,gr(e)是输出的子图,且子图的第i层是i∈[1,l],{r1,r2,...,rn}表示第i层子图的n个关系。
[0013]
优选地,所述子图序列化模型将子图gr(e)视为由状态组成的序列,在序列中,状态的前向层和后向层分别提供历史特征和未来特征,其中n∈[1,n];将每个状态投影成向量即将状态中的每个关系都以所属关系类型的one-hot向量表示;选择双向循环神经网络bi-gru对序列中的状态编码先前的信息和后面的信息,捕获状态之间上下文依赖,子图gr(e)转化为状态序列。
[0014]
优选地,所述子图gr(e)的状态序列为其中,状态序列中的第i个状态是双向循环神经网络bi-gru的输出,concat(
·
)是拼接操作;l为子图的总数;
[0015]
且前向隐藏层状态序列和后向隐藏层状态序列分别为:
[0016][0017][0018][0019]
其中,xj是子图中第j个关系rj的one-hot向量表示,j∈[1,m],并且m≤n是子图中关系的数量,是向量映射操作。
[0020]
优选地,所述步骤s3的实现方法为:将头实体s和尾实体o的子图和输入至偏好强化模型中,得到子图和的共同偏好权重:
[0021][0022]
其中,λ是平滑因子,用于平衡受偏好的共现关系与不受偏好的其他关系。当平滑因子λ越大,共同偏好权重越有利于共现关系,子图交集占的比重很大,平滑因子λ越小,共同偏好权重越有利于其他关系;
[0023]
对于头实体s和尾实体o的子图,头实体s和尾实体o的第i层的受偏好的潜在子图表示为:
[0024][0025][0026]
其中,和分别指的是头实体s和尾实体o的第i个状态的潜在节点表示。
[0027]
优选地,使用交替聚合模型归纳头实体s和尾实体o的第i层子图,得到头实体s和尾实体o的归纳子图表示:
[0028][0029][0030][0031][0032][0033]
其中,和分别表示第i次交替归纳时头实体s和尾实体o的潜在语义特征;和分别表示第i次迭代时头实体s和尾实体o的第i子图的归纳表示;和分别表示第i-1次迭代时头实体s和尾实体o的第i子图的归纳表示;和分别表示第i-1次交替归纳时头实体s和尾实体o的潜在语义特征;和为权重参数,b是偏置参数;δ(
·
)是sigmoid激活函数,f(
·
)是元素级交互操作,(ei)
(1)
和(ei)
(d)
分别表示第i个实体ei的第1个维度和第d个维度。
[0034]
优选地,将归纳子图进一步组合得到头实体s和尾实体o的得分为:
[0035][0036]
其中,δ(
·
)是sigmoid激活函数,w是权重参数,b是偏置参数;分别为第l次交替归纳时头实体s和尾实体o的潜在语义特征。
[0037]
与现有技术相比,本发明的有益效果:首先提出了一个子图序列化模型,将实体的子图转换为由层级组成的层级序列,并使用双向循环神经网络bi-gru对实体子图的层级序列进行编码,以建模子图的层次结构并捕获历史和未来特征。然后,提出了一个偏好强化模型,用于学习两个子图中每个关系的重要性,并为共享的关系赋予更高的权重;为避免过度偏好某些关系,偏好强化模型添加了平滑因子以平衡受偏好和不受偏好的关系。最终,为每个邻居关系分配一个权重,以指示其在两个子图中的重要性。最后,提出了一个交替聚合模型,用于归纳头实体和尾实体的每层子图,并用此来预测头实体和尾实体之间的关系。因此,本发明具有如下效果:
[0038]
1)本发明通过在知识图谱中学习候选实体周围的子图来预测关系,避免学习嵌入
任何特定实体,可以在推理阶段处理新的看不见的实体,以有效地应用到不断添加新兴实体的动态知识图谱中。
[0039]
2)本发明通过学习单个子图中层级之间的潜在关联和不同子图之间的共性来预测推测未知实体之间的关系,以此提高关系预测的准确率。
[0040]
3)本发明提出了子图序列化模型推理单个实体的子图的层次信息,提出了偏好强化模型来获取两个子图之间的同质性,提出了交替聚合模型来推测实体之间的关系,以此提高关系预测的效率。
附图说明
[0041]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0042]
图1为本发明的流程图。
[0043]
图2为本发明一个存在缺失关系的知识图谱子图的示例图。
具体实施方式
[0044]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0045]
如图1所示,一种基于交替归纳的知识图谱关系预测方法,重新审视了实体的子图,并观察到实体周围的实体和关系以层级形式存在于子图中,每层之间存在前后向关联。在子图中,对于子图的某一层而言,它前面和后面的层都可能包含与该层相关的信息。人类在认识事物的过程中会考虑它的历史和未来,对于机器来说也应该如此。因此,在建模子图的每一层时,观察它的历史和未来信息是很重要的。同时,考虑子图各层之间的前后向关联,有助于提高预测关系的准确性。此外,本发明注意到两个实体的子图的交集可能包含有价值的信息,因为频繁出现的共现关系更有可能成为真正的关系。那么,在预测与头实体和尾实体相连的关系时,应该赋予这些共现关系更高的权重,以提高预测的准确性。因此,当某一关系在两个实体的子图的交集中出现频率越高时,该关系与这两个实体同时相连的概率越高,该关系是真实的关系的概率越高,因此应该给予该关系更高的权重。但是需要注意,其他关系的重要性也不能被忽略。
[0046]
关系预测是预测两个实体之间的关系,其中实体可能是知识图谱子图中固有的实体,也可能是新添加到知识图谱中的实体。比如,在图2中,预测人物知识图谱中“老舍”和“齐白石”之间的关系,即推理“老舍”与“齐白石”存在关系?“老舍”认识“齐白石”?“老舍”与“齐白石”是朋友吗?如果有一个新三元组(舒济,亲属,胡絜青)被添加到子图中,由此带来了一个子图中不存在的新实体“舒济”(图2中椭圆形的虚线节点)。如何预测“老舍”和“舒济”的关系?
[0047]
一般来说,对于给定的实体对(s,o),其中s是头实体,o是尾实体,在推断头实体s
和尾实体o之间的关系类型时,围绕头实体s的子图和围绕尾实体o的子图非常重要,它们可以揭示头实体s和尾实体o的性质,并且能够提供推断头实体s和尾实体o之间关系类型的逻辑证据。但是,这些子图中存在大量离散的原子符号,直接对它们进行建模几乎是不可能的。
[0048]
为了解决这个问题,如图1所示,本发明提出了一个新的关系预测方法。具体来说,本发明提出了子图序列化模型推理单个实体的子图的层次信息,来获取子图的全局特征。并且提出了偏好强化模型来获取两个子图之间的同质性,强化共有的部分,减少子图之间的差异,从而获取子图的局部特征。最后,本发明提出了交替聚合模型,通过归纳式地收集头实体和尾实体的子图中的关系来推测实体之间的关系。本发明的实施方法的步骤如下:
[0049]
s1、初始化知识图谱中每个实体的子图。
[0050]
对于所有存在缺失关系的三元组集合f={f1,f2,
…
,fn},其中,第k个三元组fk=(s,?,o),遍历所有的三元组,n表示三元组集合f中三元组的总数。若三元组f=0,结束程序,否则对于三元组fk=(s,?,o)中的头实体s与尾实体o,初始化它们的子图为空。从任意实体e的第一层邻域开始,随机采集最多n个关系邻居作为子图的第一层,并添加到子图中。对于与这些关系邻居连接的实体,本发明采样每个实体的最多n个邻居关系作为子图的第二层并添加到子图中,以此类推,持续l次。
[0051]
对于任意实体e,输出子图如下:
[0052][0053][0054]
其中,式(1)和式(2)中的实体e∈{s,o},式(1)中的gr(e)是输出的子图,式(2)中的是子图的第i层,i∈[1,l],{r1,r2,...,rn}表示第i层子图的n个关系。
[0055]
s2、使用子图序列化模型将子图转化为序列,学习序列化特征得到状态序列。
[0056]
使用子图序列化模型将子图gr(e)视为由状态组成的序列。在这个序列中,状态的前向层和后向层可以为它提供历史特征和未来特征,其中n∈[1,n]。然后,将每个状态投影成向量,即将状态中的每个关系都以所属关系类型的one-hot向量表示。接下来,选择双向循环神经网络bi-gru对序列中的状态编码先前的信息和后面的信息,进而捕获状态之间上下文依赖,那么子图gr(e)就可以转化为状态序列。
[0057][0058][0059][0060][0061][0062]
式(3)中的xj是子图中第j个关系rj的one-hot向量表示,j∈[1,m],并且m≤n
是子图中关系的数量,是向量映射操作。one-hot向量是一种二进制向量,其中仅有一个元素的值是1,其他大部分元素的值都是0。one-hot向量非常稀疏,可以大幅度节省空间和计算资源。式(4)中的和式(5)中的分别是前向隐藏层状态序列和后向隐藏层状态序列,gru(
·
)表示循环神经网络计算函数。式(6)中为状态序列,即双向循环神经网络bi-gru的输出,concat(
·
)是拼接操作。式(6)中为序列中的第i个状态,即bi-gru的输出。对每个状态进行操作,得到式(7)中的sr(e)是子图gr(e)的状态序列。bi-gru模型具有双向计算、长期依赖性、上下文信息丰富等好处,并且能够自动地学习序列化数据中相关的特征表示。通过上述方法,子图序列化模型可以推理单个实体的子图的层次信息,来获取子图的全局特征。
[0063]
s3、使用偏好强化模型学习子图之间的共同偏好的权重,利用权重表示实体和尾实体的潜在子图。
[0064]
将头实体s和尾实体o的子图和输入至偏好强化模型中,得到子图和的共同偏好权重。
[0065][0066]
式(8)中的λ是平滑因子,用于平衡受偏好的共现关系与不受偏好的其他关系。当平滑因子λ越大,式(8)越有利于共现关系,子图交集占的比重很大,平滑因子λ越小,式(8)越有利于其他关系。对于不同的子图,存在不同的平滑因子λ,λ的取值可以通过网格搜索方法来确定。因此,通过子图和的交和并来计算权重为所有邻居关系分配合适的权重,以表示每个关系在两个子图中的重要程度。通过上述方法,偏好强化模型可以分别捕捉头实体与尾实体之间更多的相似特征,以帮助推理头实体与尾实体之间可能的关系。
[0067]
对于头实体s和尾实体o的子图,将头实体s和尾实体o的第i层的受偏好的潜在子图表示为:
[0068][0069][0070]
式(9)中的和式(10)中分别指的是头实体s和尾实体o的第i层的潜在节点表示,由公式(6)得到。
[0071]
s4、使用交替聚合模型处理潜在子图归纳不同的归纳子图,通过归纳子图之间的得分预测实体之间的关系并输出。
[0072]
使用交替聚合模型归纳头实体s和尾实体o的第i层子图,得到头实体s和尾实体o的归纳子图表示:
[0073]
[0074][0075][0076][0077][0078]
其中,式(11)中的和式(12)中的分别表示第i次交替归纳时头实体s和尾实体o的潜在语义特征。式(13)中的和式(14)中的分别表示第i次迭代时头实体s和尾实体o的第i子图的归纳表示。和分别表示第i-1次迭代时头实体s和尾实体o的第i子图的归纳表示。和分别表示第i-1次交替归纳时头实体s和尾实体o的潜在语义特征。和为权重参数,b是偏置参数,初始化为随机值,随着模型训练而更新。本发明将当前的归纳表示乘以前一层的归纳表示,来学习直接的历史信息。式(13)和式(14)中的δ(
·
)是sigmoid激活函数,式(15)中的f(
·
)是元素级交互操作。(ei)
(1)
和(ei)
(d)
分别表示第i个实体ei的第1个维度和第d个维度。
[0079]
接下来,将归纳子图进一步组合在一起,得到头实体s和尾实体o的得分,该得分用于预测头实体s和尾实体o之间的关系类型。头实体s和尾实体o的得分为:
[0080][0081]
式(16)中的δ(
·
)是sigmoid激活函数,w是权重参数,b是偏置参数,初始化为随机值,随着模型训练而更新。分别为第l次交替归纳时头实体s和尾实体o的潜在语义特征,由公式(11)和(12)得到。
[0082]
通过上述方式,交替聚合模型可以从知识图谱的大规模数据中学习知识,并通过自动化的方式不断更新和完善知识图谱。
[0083]
以下为具体实施例:
[0084]
本发明使用了5个知识图谱关系预测的基准数据集,包括nell995、fb15k、fb15k237、wn18和wn18rr。其中,fb15k和fb15k237来自freebase数据集,nell995来自nell数据集,wn18和wn18rr来自wordnet数据集。此外,fb15k237和wn18rr是从fb15k和wn18中删除逆关系后得到的。5个数据集都包含大量实体和关系,并分为训练集、验证集和测试集,如表1所示。
[0085]
表1数据集
[0086][0087]
为了验证所提出的方法的有效性,本发明进行了关系预测实验,该实验旨在预测实体之间的关系,具体而言,对于给定的一个三元组(s,r,o),本发明生成一个用于关系预测的查询任务(s,?,o),并按照得分递减的顺序对所有候选三元组进行排名,以确定正确的三元组(s,r,o)的排名。本发明选择mrr、hit@1和hit@k指标来进行实验效果评估,当mrr或hit@k的得分较高时表示着模型具有更好的效果,实验结果如表2所示。
[0088]
表2实验结果对比
[0089][0090]
从表2的结果可以看出,本发明的实验结果表现优于其他所有的模型,这是本发明通过归纳实体子图的层次性和同质性,取得了最好的表现。
[0091]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种基于交替归纳的知识图谱关系预测方法,其特征在于,其步骤如下:s1、初始化知识图谱中每个实体的子图;s2、使用子图序列化模型将子图转化为序列,学习序列化特征得到状态序列;s3、使用偏好强化模型学习子图之间的共同偏好的权重,利用权重表示实体和尾实体的潜在子图;s4、使用交替聚合模型处理潜在子图归纳不同的归纳子图,通过归纳子图之间的得分预测实体之间的关系并输出。2.根据权利要求1所述的基于交替归纳的知识图谱关系预测方法,其特征在于,所述步骤s1中初始化每个实体的子图的方法为:从任意实体e的第一层邻域开始,随机采集最多n个关系邻居作为子图的第一层,并添加到子图中;与关系邻居连接的实体,采样每个实体的最多n个邻居关系作为子图的第二层并添加到子图中,以此类推,持续l次。3.根据权利要求2所述的基于交替归纳的知识图谱关系预测方法,其特征在于,对于任意实体e,输出的子图为:其中,实体e∈{s,o},s为头实体,o为尾实体,g
r
(e)是输出的子图,且子图的第i层是{r1,r2,...,r
n
}表示第i层子图的n个关系。4.根据权利要求1-3中任意一项所述的基于交替归纳的知识图谱关系预测方法,其特征在于,所述子图序列化模型将子图g
r
(e)视为由状态组成的序列,在序列中,状态的前向层和后向层分别提供历史特征和未来特征,其中n∈[1,n];将每个状态投影成向量即将状态中的每个关系都以所属关系类型的one-hot向量表示;选择双向循环神经网络bi-gru对序列中的状态编码先前的信息和后面的信息,捕获状态之间上下文依赖,子图g
r
(e)转化为状态序列。5.根据权利要求4所述的基于交替归纳的知识图谱关系预测方法,其特征在于,所述子图g
r
(e)的状态序列为其中,状态序列中的第i个状态是双向循环神经网络bi-gru的输出,concat(
·
)是拼接操作;l为子图的总数;且前向隐藏层状态序列和后向隐藏层状态序列分别为:分别为:分别为:x
j
=one-hot(r
j
);其中,x
j
是子图中第j个关系r
j
的one-hot向量表示,j∈[1,m],并且m≤n是子图中关系的数量,是向量映射操作。6.根据权利要求5所述的基于交替归纳的知识图谱关系预测方法,其特征在于,所述步骤s3的实现方法为:将头实体s和尾实体o的子图和输入至偏好强化模型中,得到子图和的共同偏好权重:
其中,λ是平滑因子,用于平衡受偏好的共现关系与不受偏好的其他关系;当平滑因子λ越大,共同偏好权重越有利于共现关系,子图交集占的比重很大,平滑因子λ越小,共同偏好权重越有利于其他关系;对于头实体s和尾实体o的子图,头实体s和尾实体o的第i层的受偏好的潜在子图表示为:为:其中,和分别指的是头实体s和尾实体o的第i个状态的潜在节点表示。7.根据权利要求5或6所述的基于交替归纳的知识图谱关系预测方法,其特征在于,使用交替聚合模型归纳头实体s和尾实体o的第i层子图,得到头实体s和尾实体o的归纳子图表示:表示:表示:表示:表示:其中,和分别表示第i次交替归纳时头实体s和尾实体o的潜在语义特征;和分别表示第i次迭代时头实体s和尾实体o的第i子图的归纳表示;和分别表示第i-1次迭代时头实体s和尾实体o的第i子图的归纳表示;和分别表示第i-1次交替归纳时头实体s和尾实体o的潜在语义特征;和为权重参数,b是偏置参数;δ(
·
)是sigmoid激活函数,f(
·
)是元素级交互操作,(e
i
)
(1)
和(e
i
)
(d)
分别表示第i个实体e
i
的第1个维度和第d个维度。8.根据权利要求7所述的基于交替归纳的知识图谱关系预测方法,其特征在于,将归纳子图进一步组合得到头实体s和尾实体o的得分为:其中,δ(
·
)是sigmoid激活函数,w是权重参数,b是偏置参数;分别为第l次交替归纳时头实体s和尾实体o的潜在语义特征。
技术总结
本发明提出了一种基于交替归纳的知识图谱关系预测方法,其步骤如下:初始化知识图谱中每个实体的子图;使用子图序列化模型将子图转化为序列,学习序列化特征得到状态序列;使用偏好强化模型学习子图之间的共同偏好的权重,利用权重表示实体和尾实体的潜在子图;使用交替聚合模型处理潜在子图归纳不同的归纳子图,通过归纳子图之间的得分预测实体之间的关系并输出。本发明通过在知识图谱中学习候选实体周围的子图来预测关系,避免学习嵌入任何特定实体,可以在推理阶段处理新的看不见的实体;通过学习单个子图中层级之间的潜在关联和不同子图之间的共性来预测推测未知实体之间的关系,提高了知识图谱关系预测的效果和效率,提高了知识图谱质量。提高了知识图谱质量。提高了知识图谱质量。
技术研发人员:马江涛 周辰宇 王艳军 李祖贺 张秋闻 庾骏 李璞 李玉华 张勋才 马宇科 李霆 晋文朵 程佳 刘博 李坤霖 孙一帆 卫梦屹 付一龙
受保护的技术使用者:郑州轻工业大学
技术研发日:2023.06.14
技术公布日:2023/9/23
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/