一种基于关系路径与双层注意力的知识图谱嵌入方法

文档序号:28077713发布日期:2021-12-18 01:02阅读:143来源:国知局
一种基于关系路径与双层注意力的知识图谱嵌入方法

1.本发明涉及一种知识图谱嵌入方法,具体涉及一种基于关系路径与双层注意力的知识图谱嵌入方法。


背景技术:

2.知识图谱嵌入(knowledge graph embedding,kge)属于表示学习的范畴,关键思想是将实体和关系嵌入到低维连续的向量空间中,在保留知识图谱固有结构的同时简化操作,学到的嵌入表示可以进一步用于各种任务中,如知识库补全、推荐系统等。知识图谱表示学习领域已提出了大量相关模型,尽管已有的基于深度学习的kge模型比浅层模型很大程度地提升了嵌入的表达能力,但仍然存在一些问题:(1)它们通过堆叠多个网络层传播高阶邻域内的信息,容易发生过度平滑,即模型过深时高阶邻域中的信息会剧减,从而无法充分提取知识图谱中的语义信息;(2)它们通常仅利用知识图谱中存在的三元组事实,并且往往只考虑实体之间的直接关系,忽略了“间接关系”的重要性。实际上实体之间存在着大量的多步路径,并且蕴含了丰富的推理模式;(3)知识图谱中的关系是至关重要的,但是以往模型通常利用权重矩阵更新关系表示,对关系的嵌入学习比较简单。(4)另外,复杂的网络结构缺乏正则化约束,容易发生过拟合问题,导致模型的鲁棒性和泛化能力较差。


技术实现要素:

3.发明目的:针对上述存在的问题,本发明设计了一种基于关系路径与双层注意力的知识图谱嵌入方法,即harpa(hierarchical attention with relation paths for knowledge graph embedding adversarial learning)。具体来说,harpa模型包含两部分:双层注意力编码器和对抗训练模块。双层注意力编码器首先在三元组级别挖掘三元组和邻域中的信息,不用堆叠多个注意力层便可获取高阶邻域的信息,更好地利用邻域信息辅助模型学习嵌入;然后在路径级别采用注意力机制衡量路径与对应关系之间的语义相似性,并基于三元组级别的关系嵌入建模路径,进一步使用路径表示更新关系嵌入,最后使用convkb模型作为解码器执行链路预测任务,将学得的实体关系表示输入到解码器中,更好地维持了三元组之间的平移特性。在嵌入过程中同时引入生成对抗网络指导编码器的嵌入表示学习过程,可以将生成对抗网络模块视作整个模型的正则化项,约束知识图谱嵌入表示学习的过程,从而缓解过拟合的问题并增强模型的鲁棒性。
4.技术方案:本发明所述的一种基于关系路径与双层注意力的知识图谱嵌入方法依次包括以下顺序执行的步骤:
5.步骤1.构建双层注意力编码器,包含三元组级别和路径级别,首先在三元组级别学习实体嵌入和关系嵌入,通过注意力机制计算三元组的权重系数后更新实体表示,以获取邻域内邻居节点对中心实体的不同影响,然后将学得的嵌入表示输入到下一层;然后在路径级别根据对应关系与路径之间的语义相似性筛选路径,紧接着基于三元组级别的嵌入建模路径表示,并通过注意力机制计算路径的权重后进一步更新关系嵌入,解码器进一步
提取三元组和路径中的信息,并维持三元组的平移特性;
6.步骤2.根据步骤1得到的嵌入表示,引入生成对抗网络对学得的嵌入表示施加正则化约束。
7.进一步地,步骤1中所述双层注意力编码器基于图注意力网络(graph attention network,gat)构建,具体包括如下步骤:
8.步骤1.1.在三元组级别,对gat加以改进,在计算邻域中不同三元组对中心实体的影响时考虑关系:针对每个中心实体,首先在头实体、尾实体和关系的初始表示上执行线性转换,然后使用激活函数以确保注意力非负即获得每个三元组的嵌入表示:
[0009][0010]
其中,和分别表示头实体、尾实体和关系的初始表示,σ表示激活函数,包括relu、leakyrelu,ω1为线性转换矩阵,||表示拼接操作,即三元组的嵌入表示;
[0011]
步骤1.2.获得每个三元组的嵌入表示后按式(2)得到邻域内每个三元组的相对注意力系数:
[0012][0013]
其中,α
hrt
是三元组(h,r,t)的注意力系数,h表示头实体,r表示关系,t表示尾实体,exp表示e的指数,ω2为线性转换参数矩阵,n
h
表示头实体h邻域内的所有实体,r
ht
即h和t之间的关系集合;
[0014]
步骤1.3.进一步使用多头注意力机制更新实体的嵌入表示:
[0015][0016]
其中,m表示使用注意力机制的总次数,||表示拼接,是第m次注意力机制下的归一化注意力系数,定示第m次注意力机制下线性转换后的三元组嵌入表示,则是每个注意力层聚合更新后的实体表示;
[0017]
步骤1.4.在三元组级别的最后一层注意力网络上,采用平均操作聚合嵌入表示:
[0018][0019]
其中,定示用平均操作聚合嵌入表示后的实体表示,
[0020]
经过堆叠多层注意力后的实体嵌入表示矩阵为n为实体的邻域阶数,d为最终的嵌入维度,为了保留原有表示中的信息,如式(5)所示:将初始的实体嵌入矩阵进行特征转换,聚合与转换后的实体嵌入得到最终的实体嵌入矩阵ω3为初始表示的权重矩阵:
[0021][0022]
同时,在输入的关系嵌入上使用参数矩阵ω
r
更新表示:
[0023][0024]
其中,表示更新后的关系嵌入,是输入的关系嵌入;
[0025]
步骤1.5.在路径级别,获取到知识图谱中的所有路径后,首先基于直接关系与对应路径之间语义相似性的方法筛选出可靠的路径,对于实体对(h,t)之间的任意一条路径p
i
={r1,r2,..,r
l
},r
i
表示第i个关系,l表示路径p
i
中包含的关系数,首先根据输入的初始关系向量矩阵,采用加法操作建模路径表示:
[0026][0027]
其中,是路径p
i
的嵌入表示,是第i个关系的嵌入表示;
[0028]
步骤1.6.在拼接路径表示与对应关系r的表示后执行线性变换,再使用激活函数σ计算路径p
i
的分数得到每条路径与关系的相似性得分其中δ为线性转换的参数矩阵:
[0029][0030]
其中,是关系r的嵌入表示;
[0031]
得到每条路径与关系的相似性得分后,过滤掉分数小于阈值的路径即为最终参与训练的路径p
filter
={p1,p2,...,p
s
},s为过滤后路径的数量;
[0032]
步骤1.7.得到最终参与训练的路径后,基于三元组级别学到的嵌入表示,进一步更新关系嵌入,在注意力层匹配实体对之间的直接关系和路径,按照式(9)(10)计算每条路径的相对注意力系数:
[0033][0034][0035]
其中,w,v为参数矩阵,即每条路径与对应关系之间的绝对相似性得分,为路径的注意力系数,是路径p
i
的嵌入表示,表示三元组级别的关系表示,紧接着聚合所有路径在注意力层的嵌入表示,即为匹配路径的最终表示:
[0036][0037]
其中,为匹配路径的最终表示;
[0038]
步骤1.8.聚合三元组级别的关系表示与路径级别对应的路径表示更新嵌入,以获取最终的关系嵌入表示其中ω
p
为用于线性转换三元组级别关系表示的权重参数矩阵:
[0039][0040]
harpa基于三元组平移转换的思想,通过度量经过关系平移后的头实体与尾实体
之间的l1距离评估三元组的置信度:
[0041][0042]
其中,d
(
·
)
表示三元组的得分,||
·
||1表示l1范式,
[0043]
步骤1.9.最小化基于margin的损失函数训练模型,从而学得实体和关系的嵌入表示:
[0044][0045]
其中,[x]
+
为max{x,0},即取x的正数部分,γ>0是表示正负例间隔的超参数,f为kg中存在的事实,即正三元组,f

为无效三元组(负例),且f

={(h

,r,t)|h

∈ε}∪{(h,r,t

)|t

∈∈}。
[0046]
进一步地,步骤1中所述解码器采用convkb模型作为解码器,进一步提取三元组和路径中的信息,并维持三元组的平移特性的具体方法是:
[0047]
将每个三元组嵌入表示为三列矩阵的形式,再使用多个1d过滤器进行卷积得到多个不同特征图,然后将多个特征图串联在一起得到一个单独的向量,即三元组的嵌入表示,最后使用点积计算三元组的分数:
[0048][0049]
其中,f(h,r,t)为三元组得分函数,concat(
·
)表示连接操作,为最终的关系嵌入表示,g为激活函数,ω和θ是共享的参数;
[0050]
最后通过最小化soft

margin损失函数训练解码器,损失函数带有权重向量θ的l2正则化项:
[0051][0052]
其中,l
decoder
表示解码器,b
(h,r,t)
=1表示三元组是正样本,b
(h,r,t)


1表示三元组是负样本,λ表是一个超参数,表示权重向量θ的l2正则化项,
[0053]
进一步地,步骤2具体包括如下步骤:
[0054]
步骤2.1.从双层编码器中获取实体嵌入表示的分布p
embed
,同时从简单的高斯先验分布中采样噪音数据,并将其输入到生成器g中:
[0055][0056][0057][0058]
其中,x
noise
表示从高斯先验分布中采样的噪音数据,分别为权重系数和偏
置系数,p
noise
表示噪音数据服从简单先验分布,表示高斯先验分布,u表示期望值,∑表示标准差,k表示堆叠的隐藏层的个数,表示f(
·
)表示非线性激活函数,通过生成器可以将服从简单先验分布的噪音数据映射为较复杂的分布;
[0059]
步骤2.2.将嵌入表示作为正样本,生成样本作为假样本输入到判别器d中,当对抗博弈的过程达到平衡时,判别器无法区别输入的数据来自于生成器还是编码器,通过式(20)进行对抗训练达到理想状态:
[0060][0061]
其中,min
g
表示生成器尝试最小化交叉熵损失,max
d
表示判别器尝试最大化交叉熵损失,表示实体嵌入服从p
embed
分布,表示噪音数据服从p
noise
分布。
[0062]
有益效果:
[0063]
本发明提供一种基于关系路径与双层注意力的知识图谱嵌入方法,双层注意力编码器首先在三元组级别上基于注意力计算不同邻居实体对中心实体的影响,从而学习实体表示;接着在路径级别根据路径与关系之间的语义相似性筛选路径,并再次使用注意力机制基于三元组级别的关系嵌入建模路径,从而进一步更新关系表示,最后使用convkb作为解码器执行链路预测任务,将学得的实体关系表示输入到解码器中,更好地维持了三元组之间的平移特性;在嵌入过程中同时引入了一个对抗训练模块,即使用生成对抗网络为编码器学习嵌入表示的过程施加约束,并在嵌入表示学习过程中建模了一定的不确定性,以缓解模型的过拟合问题,并且增强模型的鲁棒性。模型最终联合优化嵌入表示学习和对抗训练过程,对抗训练模块可以看作是整个模型的正则化项,其包含以下优点:
[0064]
(1)一种新颖的基于关系路径与双层注意力的知识图谱嵌入表示对抗学习模型harpa,通过在深度学习技术的基础上结合关系路径辅助模型学习嵌入。相比于现有的方法,利用注意力机制与关系路径充分地提取了知识图谱中三元组、高阶邻域以及多步路径中的丰富语义信息,提高了嵌入表示的表达能力;
[0065]
(2)通过引入生成对抗网络作为对抗训练模块,为嵌入表示过程建模了一定的不确定性,并为嵌入表示学习过程施加正则化约束。在对抗训练过程中,判别器在与生成器博弈的过程中对编码器进行正则化,最终使得模型更具鲁棒性,并且有效地缓解了模型的过拟合问题。
附图说明
[0066]
图1本发明中harpa算法的流程图;
[0067]
图2为嵌入维度d对性能影响示意图;
[0068]
图3为相似度阈值sim对性能影响示意图;
[0069]
图4为对抗学习率lr_adv对性能影响示意图;
[0070]
图5为间距值γ对性能影响示意图;
[0071]
图6为消融实验示意图;
[0072]
图7为实施例中实体邻域样例。
具体实施方式
[0073]
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合具体实施例和说明附图对本发明作进一步说明,应当理解,此处所描述的优先实施例仅用于说明和解释本发明,并不用于限定本发明。
[0074]
本发明所述的一种基于关系路径与双层注意力的知识图谱嵌入方法依次包括以下顺序执行的步骤:
[0075]
步骤1.构建双层注意力编码器,包含三元组级别和路径级别,首先在三元组级别学习实体嵌入和关系嵌入,通过注意力机制计算三元组的权重系数后更新实体表示,以获取邻域内邻居节点对中心实体的不同影响,然后将学得的嵌入表示输入到下一层;然后在路径级别根据对应关系与路径之间的语义相似性筛选路径,紧接着基于三元组级别的嵌入建模路径表示,并通过注意力机制计算路径的权重后进一步更新关系嵌入,解码器进一步提取三元组和路径中的信息,并维持三元组的平移特性;
[0076]
步骤2.根据步骤1得到的嵌入表示,引入生成对抗网络对学得的嵌入表示施加正则化约束。引入生成对抗网络(generative adversarial network,gan)作为模型的一个正则化项,引入这一模块的有两个优点:作为正则化项可以更好的指导编码器提取输入的有用信息;生成对抗训练可以帮助模型学习出更鲁棒的嵌入表示,可以有效缓解过拟合的问题,提高了模型的泛化能力。
[0077]
进一步地,步骤1中所述双层注意力编码器基于图注意力网络(graph attention network,gat)构建,具体包括如下步骤:
[0078]
步骤1.1.在三元组级别,对gat加以改进,在计算邻域中不同三元组对中心实体的影响时考虑关系:针对每个中心实体,首先在头实体、尾实体和关系的初始表示上执行线性转换,然后使用激活函数以确保注意力非负即获得每个三元组的嵌入表示:
[0079][0080]
其中,和分别表示头实体、尾实体和关系的初始表示,σ表示激活函数,包括relu、leakyrelu,ω1为线性转换矩阵,||表示拼接操作,即三元组的嵌入表示;
[0081]
步骤1.2.获得每个三元组的嵌入表示后按式(2)得到邻域内每个三元组的相对注意力系数:
[0082][0083]
其中,α
hrt
是三元组(h,r,t)的注意力系数,exp表示e的指数,ω2为线性转换参数矩阵,n
h
表示头实体h邻域内的所有实体,r
ht
即h和t之间的关系集合;
[0084]
特别注意的是:为了更好地利用高阶邻域的信息,这里的n
h
不仅是h的一阶邻域,也包括2

hop及以上的邻域,并且中心位置的头实体h与n

hop邻域内的所有实体之间的联系都是“最短连边”。如图7所示,对于中心节点e0,其中计算e4,e5的注意力时,仅考虑它们与e0之间的最短连边r7,r6,而不考虑2

hop连接。
[0085]
步骤1.3.进一步使用多头注意力机制更新实体的嵌入表示:
[0086][0087]
其中,m表示使用注意力机制的总次数,||表示拼接,是第m次注意力机制下的归一化注意力系数,则是每个注意力层聚合更新后的实体表示;
[0088]
步骤1.4.在三元组级别的最后一层注意力网络上,采用平均操作聚合嵌入表示:
[0089][0090]
经过堆叠多层注意力后的实体嵌入表示矩阵为n为实体的邻域阶数,d为最终的嵌入维度,为了保留原有表示中的信息,如式(5)所示:将初始的实体嵌入矩阵进行特征转换,聚合与转换后的实体嵌入得到最终的实体嵌入矩阵ω3为初始表示的权重矩阵:
[0091][0092]
同时,在输入的关系嵌入上使用参数矩阵ω
r
更新表示:
[0093][0094]
其中,表示更新后的关系嵌入,是输入的关系嵌入;
[0095]
步骤1.5.在路径级别,获取到知识图谱中的所有路径后,首先基于直接关系与对应路径之间语义相似性的方法筛选出可靠的路径,对于实体对(h,t)之间的任意一条路径p
i
={r1,r2,..,r
l
},r
i
表示第i个关系,l表示路径p
i
中包含的关系数,首先根据输入的初始关系向量矩阵,采用加法操作建模路径表示:
[0096][0097]
其中,是路径p
i
的嵌入表示,是第i个关系的嵌入表示;
[0098]
步骤1.6.在拼接路径表示与对应关系r的表示后执行线性变换,再使用激活函数σ计算路径p
i
的分数得到每条路径与关系的相似性得分其中δ为线性转换的参数矩阵:
[0099][0100]
其中,是关系r的嵌入表示。
[0101]
得到每条路径与关系的相似性得分后,过滤掉分数小于阈值的路径即为最终参与训练的路径p
filter
={p1,p2,...,p
s
},s为过滤后路径的数量;
[0102]
步骤1.7.得到最终参与训练的路径路径后,基于三元组级别学到的嵌入表示,进一步更新关系嵌入,在注意力层匹配实体对之间的直接关系和路径,按照式(9)(10)计算每条路径的相对注意力系数:
[0103]
正则化项:
[0121][0122]
其中,l
decoder
表示解码器,b
(h,r,t)
=1表示三元组是正样本,b
(h,r,t)


1表示三元组是负样本,λ是一个超参数,表示权重向量θ的l2正则化项。
[0123]
进一步地,步骤2具体包括如下步骤:
[0124]
步骤2.1.从双层编码器中获取实体嵌入表示的分布p
embed
,同时从简单的高斯先验分布中采样噪音数据,并将其输入到生成器g中:
[0125][0126][0127][0128]
其中,x
noise
表示从高斯先验分布中采样的噪音数据,b

i
分别为权重系数和偏置系数,p
noise
表示噪音数据服从简单先验分布,表示高斯先验分布,u表示期望值,∑表示标准差,k表示堆叠的隐藏层的个数,f(
·
)表示非线性激活函数,通过生成器可以将服从简单先验分布的噪音数据映射为较复杂的分布;
[0129]
步骤2.2.将嵌入表示作为正样本,生成样本作为假样本输入到判别器d中,当对抗博弈的过程达到平衡时,判别器无法区别输入的数据来自于生成器还是编码器,通过式(20)进行对抗训练达到理想状态:
[0130][0131]
其中,min
g
表示生成器尝试最小化交叉熵损失,max
d
表示判别器尝试最大化交叉熵损失,定示实体嵌入服从p
embed
分布,表示噪音数据服从p
noise
分布。实验:
[0132]
为了验证模型学习到的嵌入表示的有效性,本文在四个通用知识图谱上进行了链路预测(linkprediction)实验,除此之外,还进行了参数学习和消融分析进一步验证模型的有效性,本文使用的数据集的如表1所示。
[0133]
表1实验所用数据集
[0134]
[0135]
图2展示了,随着嵌入维度的不断增大,模型在链路预测任务上的指标值先以较快的速度增长,然后缓慢增长,最终逐渐趋于稳定。
[0136]
图3展示了,在根据路径与关系的语义相似性筛选路径时,随着相似度阈值的增加,整体上结果有所提升,表明通过提高相似度阈值可以获取到更加可靠的路径,进一步学到更高质量的编码表示。
[0137]
图4展示了,在使用margin

based作为编码器的目标函数时,不同规模的数据集对最优的间距值有不同的要求,图4中(a)为kinship数据集,(b)为wn18rr数据集。
[0138]
图5展示了,随着对抗学习率初始时的不断增大,指标值均有所提升,但是当学习率继续增大时,指标值有所下降,说明学习率过小时,模型收敛较慢,可能没有达到最优解,而学习率过高时,模型学习时间加快,可能提前到达拟合点,跳出最优解,容易发生过拟合现象。
[0139]
图6展示了,当去掉harpa模型中的路径与对抗训练模块(harpa

adv

path)时,模型的性能最差且波动较大;添加路径之后(harpa

adv),模型性能明显上升,说明了结合关系路径可以有效提升模型学习嵌入表示的能力;而harpa模型的性能优于harpa

adv,并且可以看出harpa

adv有一定的波动,harpa模型则呈现稳定上升的趋势,说明在结合路径的基础上进一步引入生成对抗网络,有效地增强了模型学得的嵌入表示的鲁棒性。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1