一种知识图谱错误三元组修复方法技术

技术编号:34144128 阅读:12 留言:0更新日期:2022-07-14 18:32
本发明专利技术公开了一种知识图谱错误三元组修复方法。本发明专利技术包括:步骤1:构建模型训练所需的训练集、验证集、测试集;步骤2:基于编码器

【技术实现步骤摘要】
一种知识图谱错误三元组修复方法


[0001]本专利技术涉及一种人工智能领域技术,具体涉及一种知识图谱错误三元组修复方法。

技术介绍

[0002]随着互联网相关技术的快速发展,数据的产生呈指数上升的趋势,国际权威机构Statista统计预测2025年全球数据量将达到175ZB。越来越多拥有大量数据的公司通过挖掘数据之间潜在的关系来提高自身服务的质量以及通过数据挖掘潜在的用户来实现用户增长,为了保证潜在数据信息的准确性,就对数据质量提出了更高的要求。在数据挖掘过程中,来自不同数据源的数据经过汇集后产生的多源异构数据本身可能存在数据错误如:数据不一致问题,数据同一性问题等数据质量问题。
[0003]现阶段在知识图谱相关领域比较多的工作是知识表示与知识补全,前者通过深度学习模型,将知识图谱中的所有元素嵌入到一个低维连续向量空间中,并保证原有的实体、关系之间潜在的信息同样能够在向量空间中得到表示;后者在前者的基础上根据现有的知识图谱内的各种关系推理出知识图谱中的缺失部分作为新的知识,从而使得原知识图谱更为完整。在实际的知识图谱中,由于数据本身经过不同数据源的汇集之后,本身可能存在一定的错误,这很可能对下游的各种学习任务产生一定的误差,因此需要一种能够修复知识图谱中的错误的方法来解决这一问题,这对知识图谱下游任务合理进行提供一定的数据质量保障。

技术实现思路

[0004]本专利技术要解决的技术问题在于针对现有技术中的缺陷,提供一种知识图谱错误三元组修复的方法。
[0005]为了达到上述目的,本专利技术通过以下技术方案来实现:
[0006]将干净的不含错误三元组的原始数据集定义为G。三元组定义为(e
h
,r
i
,e
t
),其中e
h
表示为头实体,e
t
表示为尾实体,r
i
表示为关系实体,即头实体尾实体之间的关系。定义原始数据集G中的三元组都是正三元组,通过随机替换正三元组中的某个实体生成负三元组,即错误数据。本文中的负三元组都是原始数据集G中未出现的三元组。
[0007]步骤1:将干净的原始数据集G按设定比例分别生成训练集、验证集、测试集,按设定的错误比例随机替换正三元组中的某个实体生成原始数据集G中没有出现过的负三元组,即噪声数据,用于构建含有噪声的知识图谱。定义原始数据集G中出现过的头实体、尾实体集合为E,出现过的所有关系实体集合为R。
[0008]进一步,步骤1包括以下分步骤:
[0009]步骤1.1:将干净的原始数据集G按8:1:1的比例划分训练集、验证集、测试集;
[0010]步骤1.2:按1%、5%、10%、15%、20%、30%、40%、50%的错误比例分别生成训练集、验证集、测试集的噪声数据集,分别表示为集、验证集、测试集的噪声数据集,分别表示为其中rate表示
为错误比例,并保存生成的负三元组在原始数据集G中的位置信息以及替换的实体位置信息。
[0011]步骤2:构建编码器

解码器结构的表示学习模型,随机替换原始数据集G中的正三元组中的某个实体(通过随机替换不同位置实体生成对应三组负三元组),被随机替换后的三元组和其他正三元组一起作为表示学习模型的输入,通过定义的损失函数,学习正三元组的向量表示。
[0012]进一步,步骤2包括以下分步骤:
[0013]步骤2.1:构建模型训练的负样本数据集,负样本三元组数据集包括头实体、关系实体、尾实体分别通过随机替换原始数据集G中正三元组中的某个实体。即随机替换头实体或关系实体或尾实体,得到训练集、验证集、测试集对应的负样本数据集。
[0014]步骤2.2:基于图注意力神经网络的编码器

解码器模型,三元组的成立概率的评价函数表示为
[0015]f(e
h
,r
i
,e
t
)=||e
h
+r
i

e
t
||1ꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0016]其中,e
h
,r
i
,e
t
为对应实体的向量表示,||x||1表示第一范式,f(e
h
,r
i
,e
t
)∈[0,1],其中正三元组的成立概率接近1,负三元组的成立概率接近0,定义损失函数如下:
[0017][0018]其中,G,G'分别表示为正三元组集合和负三元组集合,[x]+
指获得x和0之间的最大值,η表示为超参数且η>0。
[0019]步骤3:构建分类模型,将步骤1中按设定的错误比例构造的负三元组替换对应的正三元组,生成不同噪声比例的数据集作为分类模型的输入,其中上标rate表示错误比例,下标noise表示噪声;定义二分类损失函数,训练分类模型,得到正、负三元组的分类结果。
[0020]进一步,步骤3包括以下分步骤:
[0021]步骤3.1:根据步骤1中的得到的不同比例的负三元组,替换原始数据集G中对应的正三元组,生成含有噪声的数据集;
[0022]步骤3.2:基于CNN的二分类模型,定义分类模型的概率计算如下:
[0023]P
r
(y=l|e
h
,r
i
,e
t
)=P(y=l|e
h
,r
i
,e
t
)
×
f(e
h
,r
i
,e
t
)
ꢀꢀꢀꢀ
(3)
[0024]其中P(y=l|e
h
,r
i
,e
t
)是分类器对不同类别的概率预测,y=l表示为该三元组的类别是标签l,f(e
h
,r
i
,e
t
)是该三元组的成立概率;
[0025]步骤3.3:分类模型对含有噪声的数据集输出的分类结果为G
noise
,G
clean
,分别表示分类出的负三元组和正三元组。
[0026]步骤4:针对步骤3中得到的负三元组分类结果,用步骤1中定义的实体集E和R随机替换对应位置的某个实体,然后通过评价函数得到对应三元组的成立概率,取前K个作为候选三元组。
[0027]并以候选三元组作为输入,计算候选三元组中各个实体位置的错误概率,得到候选三元组中的错误实体的具体位置,从替换该具体位置的候选三元组中取评分最高的候选三元组作为修复结果。
[0028]进一步,步骤4包括以下分步骤:
[0029]步骤4.1:遍历步骤3中得到的负三元组分类结果G
noise
,通过步骤1中定义的实体集E和R对G
noise
中每一个错误三元组本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种知识图谱错误三元组修复方法,其特征在于具体实现如下:步骤1:将干净的原始数据集G按设定比例分别生成训练集、验证集、测试集,定义原始数据集G中的三元组都是正三元组,按设定的错误比例随机替换正三元组中的某个实体生成原始数据集G中没有出现过的负三元组,即噪声数据,用于构建含有噪声的知识图谱;定义原始数据集G中出现过的头实体、尾实体集合为E,出现过的所有关系实体集合为R;步骤2:构建编码器

解码器结构的表示学习模型,随机替换原始数据集G中的正三元组中的某个实体,被随机替换后的三元组和其他正三元组一起作为表示学习模型的输入,通过定义的损失函数,学习正三元组的向量表示;步骤3:构建分类模型,将步骤1中按设定的错误比例构造的负三元组替换对应的正三元组,生成不同噪声比例的数据集作为分类模型的输入,其中上标rate表示错误比例,下标noise表示噪声;定义二分类损失函数,训练分类模型,得到正、负三元组的分类结果;步骤4:针对步骤3中得到的负三元组分类结果,用步骤1中定义的实体集E和R随机替换对应位置的某个实体,然后通过评价函数得到对应三元组的成立概率,取前K个作为候选三元组;计算候选三元组中各个实体位置的错误概率,得到候选三元组中的错误实体的具体位置,从替换该具体位置的候选三元组中取评分最高的候选三元组作为修复结果。2.根据权利要求1所述的一种知识图谱错误三元组修复方法,其特征在于步骤1所述的构造模型训练所需的数据集,具体如下:步骤1.1:将干净的原始数据集G按8:1:1的比例划分训练集、验证集、测试集;步骤1.2:按1%、5%、10%、15%、20%、30%、40%、50%的错误比例,分别生成训练集、验证集、测试集的噪声数据集,并保存生成的负三元组在原始数据集G中的位置信息以及替换的实体位置信息。3.根据权利要求1所述的一种知识图谱错误三元组修复方法,其特征在于步骤2所述的编码器

解码器表示学习模型,具体如下:步骤2.1:构建模型训练的负样本数据集,负样本三元组数据集包括头实体、关系实体、尾实体分别通过随机替换原始数据集G中正三元组中的某个实体;即随机替换头实体或关系实体或尾实体,得到训练集、验证集、测试集对应的负样本数据集;步骤2.2:基于图注意力神经网络的编码器

解码器模型,三元组的成立概率的评价函数表示为:f(e
h
,r
i
,e
t
)=||e
h
+r
i

e
t
||1ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)其中,e
h
,r
i
,e
t
为对应实体的向量表示,||x||1表示第一范式,f(e
h
,r
i
,e
t
)∈[0,1],其中正三元组的成立概率接近1,负三元组的成立概率接近0,定义损失函数如下:其中,G,G'分别表示为正三元组集合和负三元组集合,[x]
+
指获得x和0之间的最大值,η表示为超参数且η>0。4.根据权利要求1或3所述的一种知识图谱错误三元组修复方法,其特征在于步骤3所述使用分类模型分类出含有噪声的数据集中的负三元组,具体如下:
步骤3.1:将步骤1中得到的不同错误比例的负三元组,替换原始数据集G中对应的正三元组,生成含有噪声的数据集;步骤3.2:基于CNN的二分类模型,定义分类模型的概率计算如下:P
r
(y=l|e
h
,r
i
,e
t
)=P(y=l|e
h
,r
i
,e
t
)
×
f(e
h
,r
i
,e
t
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)其中P(y=l|e
h
,r
i
,e
t
)是分类器对不同类别的概率预测,y=l表示为该三元组的类别是标签l,评价函数f(e
h
,r
i
,e
t
)用于表示该三元组的成立概率;步骤3.3:分类模型对含有噪声的数据集输出的分类结果为G
noise
和G
clean
,分别表示分类出的负三元组和正三元组。5.根据权利要求4所述的一种知识图谱错误三元组修复方法,其特征在于步骤4所述结合邻居关系,利用全概率公式来定位具体错误的位置,具体如下:步骤4.1:遍历步骤3中得到的负三元组分类结果G
noise
,通过步骤1中定义的实体集E和R对负三元组分类结果G
noise
中每一个错误三元组分别替换各位置的实体,利用步骤2中的表示学习模型计算三元组的成立概率score,选取排名前K个三元组作为候选三元组,定义为G
candidate
,将候选三元组G
candidate
根据替换的位置划分为头实体候选三元组集合G
candidate_h
,关系实体候选三元组集合G
candidate_r
和尾实体的候选三元组集合,G
candidate_t
;步骤4.2:对于三元组(e
h
,r
i
,e
t
),(e
t
,r
j
,e
t_2hop
),(e
h_2hop
,r
k
,e
h
),定义e
t
是e
h
经过r
i
的一跳邻居,e
t_2hop
是e
h
经过r
i
和r
j
的两跳邻居,e
h_2hop
是经过r
k
和r
i
到达e
t
两跳邻居;根据全概率公式并结合一跳邻居和两跳邻居,计算各个位置由真值替换的概率表示为P
r

【专利技术属性】
技术研发人员:张桦徐宏叶晨吴以凡戴国骏
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1