一种基于多跳推理的知识图谱三元组验证方法
- 国知局
- 2024-09-05 14:51:57
本发明涉及一种基于多跳推理的知识图谱三元组验证方法,属于知识图谱。
背景技术:
1、知识图谱是推动下一代技术的基本趋势之一,现在已经发展成为一种新的知识表示形式,知识图谱广泛应用于智能分析和图结构应用中,知识图通常由三元组(h,r,t)组成,其要素包括头实体、关系实体和尾实体,量化三元组的真实性用可信概率来表示,其使用三元组来描述现实世界中的关系和事实描述现实世界中实体之间的关系,实体充当节点,不同的关系充当边缘,从而形成具有大量知识的网络。由于数据源质量参差不齐,半结构化和非结构化数据逻辑复杂,存在一些诸如异常值、噪声以及不完整的数据信息影响到整体领域知识图谱三元组的完整性和完善性,知识图谱中组成的三元组的错误积累会影响知识图谱的质量,使生成的知识图谱构造的有效性受到影响。因此在将外部三元组合并到现有知识图的过程中,验证三元组知识的可信度水平对于构建综合知识图谱至关重要。本方法使用知识图谱三元组数据集来训练模型,可以用来验证三元组是否正确,其他来源的与本方法本体特征相同的三元组数据集或知识图谱都可以使用本模型来验证相关三元组的正确性。
技术实现思路
1、本发明的目的是为针对上述背景技术所提及的技术问题,提出一种基于多跳推理的知识图谱三元组验证方法,能更好地验证知识图谱中三元组置信度,进而保证整个知识图谱的质量。技术方案如下:
2、一种基于多跳推理的知识图谱三元组验证方法,执行如下步骤:
3、步骤s1:获取已构建好的小规模知识图谱三元组数据集,并进行负例生成;
4、步骤s2:基于步骤s1生成的数据建立三元组知识图谱数据集和初始化的多跳推理的三元组置信度预测模型;
5、步骤s3:使用步骤s2中的数据集训练和测试多跳推理的三元组置信度预测模型;
6、步骤s4:使用步骤s3中训练后的模型,验证新添加的三元组置信度值,并用通过验证的三元组建立知识图谱。
7、进一步的,步骤s1中的预处理包括如下步骤:
8、步骤s11:获取已经构建好的小规模知识图谱三元组数据集,其中包含实体关系集e,以及定义相对应的关系集r,并且已经得到标注,其中有实体关系数据集er={m1,m,…,mn},mk=(hk,rk,tk);
9、步骤s12:对小规模知识图谱三元组数据集进行负例生成,负例生成分为实体负例生成和关系负例生成两部分,实体负例为每个三元组都为其头部实体和尾部实体生成负样本;对于相同的关系,当时,保持关系和尾部实体不变,随机替换头部实体;相反,当时,保持关系和头部实体不变,随机替换尾部实体;新增的三元组不应是已经生成的负样例三元组,即不存在重复的个体;关系负例生成为对于每个三元组,生成一个关系的负例。此时固定头部实体和尾部实体,随机替换关系,但是保证新增的三元组并不重复。
10、步骤s13:将知识图谱三元组数据集和负例进行合并作为本方法所用的数据集,所形成的数据集为er={m1,m,...,mn},mk=(hk,rk,tk,v),其中v代表的是四种预测结果:实体正确、头实体错误、关系错误和尾实体错误。
11、进一步的,步骤s2中建立初始化的多跳推理的三元组置信度预测模型采用如下步骤:
12、步骤s21:使用两跳近似注意力传播预测层(two-step approximate attentionpersonalized propagation of neural predictions,taappnp)的实体特征提取方法,在头实体与尾实体、尾实体与头实体间的关系引入实体图节点二跳的方法衡量实体节点之间的资源流动关系,计算方式表示为:πppr(ix)=(1-β)aβ((1-α)aαπppr(ix)+αix)+βix,其中α、β分别表示二跳和一跳收敛系数,在包含有实体关系的知识图谱中,一跳指的是头节点,二跳指的是尾节点,通过计算头尾节点的资源流动从而得到节点的特征表示,并用含有注意力机制的resourcegatrank(resource gate attention rank)模型改善图谱中可能存在孤立节点,导致最后特征表达不收敛的问题,计算方式表示为:π′ppr(ix)=ai,iθπppr(ix)+∑j∈n(i)ai,jθπppr(ix),在多次迭代后最终结果收敛于以下的表达形式:πppr(ix)=[1-(1-β)(1-α)aβaα]-1[α(1-β)aβ+βiβ]ix,当β=0时退化为appnp(approximate personalizedpropagation of neural predictions)模型,实体间多跳关系描述了实体之间的关系,用于表达实体当中资源特征值的重要程度;
13、步骤s22:使用关系图神经网络来增强数据特征的有效性其中表示的是节点i的关系为r的邻居节点集合;ci,r是一个正则化常量,ci,r的取值为wr(1)是显性转化函数,使用规则化的方式对此矩阵进行分解处理,使得在训练过程中减少模型过拟合现象:
14、步骤s23:使用到ggnn(gated graph neural network)来获取实体路径信息特征,该网络使用gru(gate recurrent unit)门控来计算隐藏层当中的特征信息:其中节点v首先聚合来自其中相邻节点的信息,是图的邻接矩阵a的子矩阵,表示的是相邻节点的连接,gru的更新函数使用来自每个节点邻居的信息以及上一个时间步更新节点的隐藏状态,实质上用到了ggnn生成输出序列,用于表示节点路径输出的特征,由于输出序列关系到每个节点之间的特征关系,所以ggnn很大程度汇集了实体路径的特征,以增强图谱验证中的效果;
15、步骤s24:将基于改进的appnp实体间多跳特征推理层、基于rgcn(relationaldata with graph convolutional network)实体关系间特征层和基于ggnn路径推理层(path graph gru networks,pggn)作为图神经网络推理层,在训练过程中,图神经网络推理层首先从三层次得到实体特征值,验证计算如下所示:e1=resourcegatrank(g),e2=rgcn(g),e3=ggnn(g),初始化图神经网络之后,对于每一个三元组(hi,ei,ti),通过以下的计算得到最后的验证结果:e4i=hi+ri-ti,ei=[h1i,t1i,h2i,t2i,h3i,t3i,e4i],si=σ(fnn(ei)),其中si∈[0,1],si=0表示不是此知识图谱中的三元组;si=1则表示此三元组即为此知识图谱中的三元组,si的值则表示的是此三元组在知识图谱中置信度大小。其中fnn是一个三层非线性神经网络,其表示为fnn(x)=w2σ(w1x+b1)+b2。
16、进一步的,步骤s3中训练多跳推理的三元组置信度预测模型方法包括以下的步骤:
17、步骤s31:将数据集分为训练集、测试集和验证集,这部分主要用训练集和测试集来训练和测试多跳推理的三元组置信度预测模型。
18、步骤s32:训练过程中使用训练集进行训练,使用损失函数为交叉熵函数,用于模型的梯度更新:
19、步骤s33:使用测试集对模型性能进行评估。
20、进一步的,步骤s4中验证测试新添加的三元组置信度值包括以下的步骤:
21、步骤s41:将领域文本数据进行预处理,即通过分词、实体抽取之后,进行关系分类,形成对应的三元组m′k=(h′k,rk′,t′k);
22、步骤s42:将步骤s41的三元组输入到步骤s2中训练好的模型当中,得到对应的分类置信度值;
23、步骤s43:筛选出符合知识图谱的置信度较高的三元组,添加到知识图谱数据库当中,形成验证之后的知识图谱。
24、有益效果:
25、1)本发明基于多跳推理的知识图谱三元组验证方法,能更好地验证知识图谱中三元组置信度,进而保证整个知识图谱的质量。
本文地址:https://www.jishuxx.com/zhuanli/20240905/288563.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。