知识图谱自动纠错方法、控制装置、设备和存储介质与流程
未命名
07-23
阅读:79
评论:0
1.本技术涉及人工智能技术领域,尤其涉及一种知识图谱自动纠错方法、控制装置、设备和存储介质。
背景技术:
2.在卡奥斯赋能的化工园区项目中,由于化工园区中企业多,物料种类繁多,关系错综复杂等,在构建图谱过程中发现,极容易出现错误节点等噪声问题,会导致严重影响图谱产业链查询、推理分析的准确性和有效性。
3.目前,对于知识图谱的纠错研究主要集中在基于规则方法或者基于知识图谱嵌入损失的方法进行纠错。
4.传统的基于规则方法的图谱纠错,需要大量人工的工作,并且构建专业领域规则还需领域专家,这种方法的成本比较高,且规则库维护和运营也需要耗费不少精力。
5.传统的基于知识图谱嵌入的方法虽然减少了对人工和领域专家的依赖,但是其在训练时所需的负样本,一般由随机简单替换三元组中的头部或者尾部实体生成,这种简单负采样策略无法适应复杂的实际场景,导致在实际生产环境中纠错的效果不佳。
技术实现要素:
6.本技术提供一种知识图谱自动纠错方法、控制装置、设备和存储介质,用以解决传统的基于知识图谱嵌入的方法无法适应复杂实际场景,导致在实际生产环境中纠错的效果不佳的问题。
7.第一方面,本技术提供一种知识图谱自动纠错方法,包括:
8.根据园区知识图谱g生成园区整体超图,以及根据所述园区内各个企业的企业知识图谱g,生成每个企业对应的企业局部超图;
9.构造所述园区知识图谱g的三元组(h,r,t)的目标负例,利用所述目标负例获得所述三元组的初始向量表示(h,r,t);
10.根据所述园区整体超图获取园区超图节点的全局嵌入表示xi,以及根据所述企业局部超图获取企业超图节点的全局嵌入表示yi;
11.根据所述初始向量表示(h,r,t)得到kg嵌入损失,根据所述全局嵌入表示xiyi获取超图损失;
12.根据所述kg嵌入损失和所述超图损失获取所述三元组(h,r,t)的联合置信度评分,并根据所述联合置信度评分进行图谱自动纠。
13.在一种可能的实施方式中,所述构造所述园区知识图谱g的三元组(h,r,t)的目标负例,包括:
14.对所述三元组(h,r,t)中的实体进行替换处理,得到所述三元组(h,r,t)的候选负例;
15.通过word2vec模型训练得到企业节点词向量表示xi和与物料节点词向量表示yi16.获取园区知识图谱中的企业节点在向量空间中的平均嵌入表示:
17.获取园区知识图谱中的物料节点在向量空间的平均嵌入表示:
18.当满足条件和满足条件时,将所述候选负例作为所述目标负例。
19.其中n:园区知识图谱中企业节点个数,m:园区知识图谱中物料节点个数,β1:第一阀值;β2:第二阀值,ai:园区知识图谱中企业节点的替换节点的词向量表示,bi:园区知识图谱中物料节点的替换节点的词向量表示。
20.在一种可能的实施方式中,所述利用所述目标负例获得所述三元组的初始向量表示(h,r,t),包括:
21.将所述目标负例三元组的关系和对应的原始三元组中的关系初始化为符合正态分布的随机向量
22.将所述目标负例三元组的头实体和对应的原始三元组中的头实体初始化为符合正态分布的随机向量
23.将所述目标负例三元组的尾实体和对应的原始三元组中的尾实体初始化为符合正态分布的随机向量
24.通过bi-lstm模型训练得到所述三元组的初始向量表示(h,r,t)。
25.在一种可能的实施方式中,所述根据所述园区整体超图获取园区超图节点的全局嵌入表示xi,包括:
26.拼接所述初始向量表示(h,r,t),获取所述园区整体超图的节点嵌入qi:qi=(hi;ri;ti);
27.获取qi与相邻的k个节点中每个节点qj的第一相关性分数:α
ij
=qi*qj,其中,j=1...k,k为正整数;
28.根据所述与第三阀值μ,得到其中,所述
29.根据所述和所述qi,通过sigmoid函数获取所述园区超图节点的全局嵌入表示xi:其中,σ∈(0,1);
30.所述根据所述企业局部超图获取企业超图节点的全局嵌入表示yi,包括:
31.初始化所述企业局部超图节点嵌入pi;
32.获取pi与相邻的k个节点中每个节点pj的第二相关性分数:β
ij
=pi*pj,其中,j=1...k,k为正整数;
33.对所述第二相关性分数进行归一化处理,得到归一化处理后的第二相关性系数
34.根据所述与所述第三阀值μ,得到其中,所述
35.根据所述和所述pj,通过sigmoid函数获取所述企业超图节点的全局嵌入表示yi:
36.在一种可能的实施方式中,所述根据所述全局嵌入表示xiyi获取超图损失,包括:
37.获取所述xi与所述yi的第三相关性分数cos(xi,yi);
38.获取所述园区整体超图与每个所述企业局部超图的损失函数:
[0039][0040]
获取所述园区整体超图与所有所述企业局部超图的损失函数:
[0041][0042]
其中,c:企业局部超图中节点数量,d:园区企业数量,τ:超参数,用于控制损失函数对正负例敏感性。
[0043]
在一种可能的实施方式中,所述根据所述初始向量表示(h,r,t)得到kg嵌入损失,包括:
[0044]
基于transd模型训练初始向量表示(h,r,t),得到评分函数定义为:
[0045][0046]
其中,m
rh
=r
phpt
+i为头实体投影到关系空间的投影矩阵,m
rt
=r
p
t
pt
+i为尾实体投影到关系空间的投影矩阵,i为单位矩阵,r
p
、h
p
、t
p
为头实体、关系、尾实体对应的投影向量。
[0047]
在一种可能的实施方式中,所述根据所述kg嵌入损失和所述超图损失获取所述三元组(h,r,t)的联合置信度评分,包括:
[0048]
根据所述kg嵌入损失与所述超图损失,得到联合置信度评分:
[0049]
com(h,r,t)=σ(cos(xi,yi)-λfr(h,t))
[0050]
其中,所述λ用来权衡嵌入损失与超图损失的贡献权重,σ为sigmoid函数将联合置信度评分映射至(0,1)区间,所述联合置信度评分越趋近于0则所述三元组(h,r,t)为异常三元组的概率越大。
[0051]
在一种可能的实施方式中,所述根据所述联合置信度评分进行图谱自动纠错,包括:
[0052]
随机保留联合置信度评分低于第四阈值的三元组中的两个元素,获取三个空槽二
元组;
[0053]
在知识图谱中搜索填补空槽的三元组,填补所述空槽二元组,得到备选三元组;获取所述备选三元组的联合置信度评分,选取联合置信度评分最高且高于所述第四阈值的备选三元组,替换所述联合置信度评分低于第四阈值的三元组。
[0054]
第二方面,本技术提供一种知识图谱自动纠错的控制装置,包括:
[0055]
生成模块,用于根据园区知识图谱g生成园区整体超图,以及根据所述园区内各个企业的企业知识图谱g,生成每个企业对应的企业局部超图;
[0056]
获取模块,用于构造所述园区知识图谱g的三元组(h,r,t)的目标负例,利用所述目标负例获得所述三元组的初始向量表示(h,r,t);
[0057]
所述获取模块,还用于根据所述园区整体超图获取园区超图节点的全局嵌入表示,以及根据所述企业局部超图获取企业超图节点的全局嵌入表示;
[0058]
所述获取模块,还用于根据所述初始向量表示(h,r,t)得到kg嵌入损失,根据所述全局嵌入表示获取超图损失;
[0059]
控制模块,用于根据所述kg嵌入损失和所述超图损失获取所述三元组(h,r,t)的联合置信度评分,并进行图谱自动纠错。
[0060]
在一种可能的实施方式中,所述获取模块,还用于对所述三元组(h,r,t)中的实体进行替换处理,得到所述三元组(h,r,t)的候选负例;
[0061]
通过word2vec模型训练得到企业节点词向量表示xi和与物料节点词向量表示yi;
[0062]
获取园区知识图谱中的企业节点在向量空间中的平均嵌入表示:
[0063][0064]
当满足条件和满足条件时,将所述候选负例作为所述目标负例。
[0065]
其中n:园区知识图谱中企业节点个数,m:园区知识图谱中物料节点个数,β1:第一阀值;β2:第二阀值,ai:园区知识图谱中企业节点的替换节点的词向量表示,bi:园区知识图谱中物料节点的替换节点的词向量表示。
[0066]
在一种可能的实施方式中,所述获取模块,还用于将所述目标负例三元组的关系和对应的原始三元组中的关系初始化为符合正态分布的随机向量
[0067]
将所述目标负例三元组的头实体和对应的原始三元组中的头实体初始化为符合正态分布的随机向量
[0068]
将所述目标负例三元组的尾实体和对应的原始三元组中的尾实体初始化为符合正态分布的随机向量
[0069]
通过bi-lstm模型训练得到所述三元组的初始向量表示(h,r,t)。
[0070]
在一种可能的实施方式中,所述获取模块,还用于拼接所述初始向量表示(h,r,t),获取所述园区整体超图的节点嵌入qi:qi=(hi;ri;ti);
[0071]
获取qi与相邻的k个节点中每个节点qj的第一相关性分数:α
ij
=qi*qj,其中,j=1...k,k为正整数;
[0072]
对所述第一相关性分数进行归一化处理,得到归一化处理后的第一相关性系数
[0073]
根据所述与第三阀值μ,得到其中,所述
[0074]
根据所述和所述qi,通过sigmoid函数获取所述园区超图节点的全局嵌入表示xi:其中,σ∈(0,1);
[0075]
所述根据所述企业局部超图获取企业超图节点的全局嵌入表示yi,包括:
[0076]
初始化所述企业局部超图节点嵌入pi;
[0077]
获取pi与相邻的k个节点中每个节点pj的第二相关性分数:β
ij
=pi*pj,其中,j=1...k,k为正整数;
[0078]
对所述第二相关性分数进行归一化处理,得到归一化处理后的第二相关性系数对所述第二相关性分数进行归一化处理,得到归一化处理后的第二相关性系数
[0079]
根据所述与所述第三阀值μ,得到其中,所述
[0080]
根据所述和所述pj,通过sigmoid函数获取所述企业超图节点的全局嵌入表示yi:
[0081]
在一种可能的实施方式中,所述获取模块,还用于获取所述xi与所述yi的第三相关性分数cos(xi,yi);
[0082]
获取所述园区整体超图与每个所述企业局部超图的损失函数:
[0083][0084]
获取所述园区整体超图与所有所述企业局部超图的损失函数:
[0085][0086]
其中,c:企业局部超图中节点数量,d:园区企业数量,τ:超参数,用于控制损失函数对正负例敏感性。
[0087]
在一种可能的实施方式中,所述获取模块,还用于基于transd模型训练初始向量表示(h,r,t),得到评分函数定义为:
[0088][0089]
其中,m
rh
=r
phpt
+i为头实体投影到关系空间的投影矩阵,m
rt
=r
p
t
pt
+i为尾实体投影到关系空间的投影矩阵,i为单位矩阵,r
p
、h
p
、t
p
为头实体、关系、尾实体对应的投影向量。
[0090]
在一种可能的实施方式中,所述控制模块,还用于根据所述kg嵌入损失和所述超图损失获取所述三元组(h,r,t)的联合置信度评分:
[0091]
com(h,r,t)=σ(cos(xi,yi)-λfr(h,t))
[0092]
其中,所述λ用来权衡嵌入损失与超图损失的贡献权重,σ为sigmoid函数将联合置信度评分映射至(0,1)区间,所述联合置信度评分越趋近于0则所述三元组(h,r,t)为异常三元组的概率越大。
[0093]
在一种可能的实施方式中,所述控制模块,还用于根据所述联合置信度评分进行图谱自动纠错,包括:
[0094]
随机保留联合置信度评分低于第四阈值的三元组中的两个元素,获取三个空槽二元组;
[0095]
在知识图谱中搜索填补空槽的三元组,填补所述空槽二元组,得到备选三元组;获取所述备选三元组的联合置信度评分,选取联合置信度评分最高且高于所述第四阈值的备选三元组,替换所述联合置信度评分低于第四阈值的三元组。
[0096]
第三方面,本技术提供一种电子设备,至少一个处理器和存储器,其中;
[0097]
所述存储器用于存储计算机执行指令;
[0098]
所述至少一个处理器用于执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如第一方面所述的知识图谱自动纠错方法。
[0099]
第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面所述的知识图谱自动纠错方法。
[0100]
本技术提供的一种知识图谱自动纠错方法、控制装置、设备和存储介质,实现了如下技术效果:
[0101]
1、通过生成化工园区整体超图与企业局部超图,从整体与局部的角度构造对比学习数据,从而保持整体与局部的高度一致性。
[0102]
2、根据本技术的对比学习数据构建超图损失函数,结合超图损失和kg嵌入损失获取三元组的联合置信度评分,提高其在实际生产环境中的纠错效果。
附图说明
[0103]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0104]
图1为本技术实施例提供的超图构建示意图;
[0105]
图2为本技术实施例提供的一种知识图谱自动纠错方法的流程示意图一;
[0106]
图3为本技术实施例提供的一种知识图谱自动纠错方法的流程示意图二;
[0107]
图4为本技术实施例提供的一种知识图谱自动纠错方法的流程示意图三;
[0108]
图5为本技术实施例提供的一种知识图谱自动纠错的控制装置的结构示意图;
[0109]
图6为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
[0110]
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0111]
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。
[0112]
本技术实施例中,“示例性的”或者“例如”等词用于表示例子、例证或说明。本技术中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
[0113]
在卡奥斯赋能的化工园区项目中,由于化工园区中企业多、物料种类多、关系错综复杂等,在构建知识图谱过程中发现,容易出现错误节点、噪声等问题,会严重影响知识图谱产业链查询以及推理分析的准确性和有效性。
[0114]
现有技术针对上述构建知识图谱过程中容易出现错误节点、噪声等问题,现有技术对于知识图谱的纠错研究主要集中在基于规则方法或者基于知识图谱嵌入损失的方法进行纠错。但基于规则方法的图谱纠错需要大量人工工作,且构建专业领域规则还需领域专家,规则库维护和运营也需要耗费不少精力,这种方法的成本比较高。基于知识图谱嵌入的方法,在训练时所需的负样本,一般由随机简单替换三元组中的头部或者尾部实体生成,这种简单负采样策略无法适应复杂的实际场景,导致在实际生产环境中纠错的效果不佳。
[0115]
故本技术提出一种根据园区知识图谱生成园区整体超图和各企业的企业局部超图,根据园区知识图谱三元组构建负例并获取其初始向量表示,在根据园区整体超图和企业局部超图获取对应的全局嵌入表示,根据初始向量表示计算kg嵌入损失,根据全局嵌入表示计算超图损失,最后结合kg嵌入损失和超图损失获取三元组的联合置信度评分并进行图谱纠错的图谱纠错方法。通过该方法,根据对比学习数据构建超图损失函数,结合超图损失和kg嵌入损失获取三元组的联合置信度评分,从整体与局部的角度构造对比学习数据,从而保持整体与局部的高度一致性,提高其在实际生产环境中的纠错效果。
[0116]
图1为本技术实施例提供的超图构建示意图。如图1所示,该超图构建流程为:
[0117]
将知识图谱中的三元组看做一个整体,作为超图的节点,超图的关系则为:通过三元组1(h1,r1,t1)和三元组2(h2,r2,t2)中的共有实体建立关系,方向为原有关系的方向,即(h1,r1,t1)
→
(h2,r2,t2),其中t1=h2。根据此方法生成园区整体超图和企业局部超图,其中园区整体超图只有一个,企业局部超图和园区中企业数量相等。
[0118]
示例性的,从企业局部知识图谱g中选取两个三元组:三元组a(醋酸乙烯,工艺制作,e/vac)和三元组b(乙烯,外供生产,醋酸乙烯)。以三元组a和三元组b整体作为企业局部超图的两个节点,以三元组a和三元组b的共有实体醋酸乙烯建立关系,方向为原有方向,构建新的超图三元组c:a
→
b。
[0119]
本技术通过生成化工园区整体超图与企业局部超图,从整体与局部的角度构造对比学习数据,从而保持整体与局部的高度一致性。
[0120]
下面结合图2说明本技术实施例提供的一种知识图谱自动纠错方法如何实现知识图谱自动纠错。
[0121]
图2为本技术实施例提供的一种知识图谱自动纠错方法的流程示意图一。如图2所示,该方法包括:
[0122]
s201、根据园区知识图谱g生成园区整体超图,以及根据所述园区内各个企业的企业知识图谱g,生成每个企业对应的企业局部超图。
[0123]
本步骤中,化工园区结构、关系复杂,导致化工园区的知识图谱结构信息非常丰富。原始的知识图谱嵌入方法仅能学习知识图谱的局部结构信息,故为了从更宏观的角度学习化工园区知识图谱的丰富结构信息,故本技术采用基于超图的方法,构造化工园区知识图谱的整体超图和局部超图,构造对比学习数据。同时基于化工园区知识图谱构造的整体超图和局部超图的节点应该保持高度的一致性,故本技术会通过计算整体超图与局部超图中三元组的相似性。故超图中的异常节点,相似度比较差,从而可以将其作为判断节点异常的依据之一。
[0124]
所以先构建化工园区的园区知识图谱g和企业知识图谱g,再根据园区知识图谱g生成园区整体超图,根据企业知识图谱g生成每个企业对应的企业局部超图,其中园区整体超图数量只有1个,企业局部超图与企业数量相等。关于如何构建超图,已在图1做了详细的解释,故本实施例不再做详细的描述。
[0125]
s202、构造所述园区知识图谱g的三元组(h,r,t)的目标负例,利用所述目标负例获得所述三元组的初始向量表示(h,r,t)。
[0126]
本步骤中,本实施例通过超图构造对比学习数据,从整体、宏观的角度去判断节点是否异常。为了使本实施例的知识图谱异常判断更加严谨、全面,故本实施例将计算的整体超图与局部超图中三元组的相似性与传统嵌入方法进行联合训练,综合判断节点是否异常,故构造园区知识谱图g的三元组(h,r,t)的目标负例,并根据目标负例获取知识图谱g的三元组(h,r,t)的初始向量表示(h,r,t)。
[0127]
其中,本实施例对如何构造知识图谱g的三元组(h,r,t)的目标负例不做任何限定,例如:可以随机替换知识图谱g三元组(h,r,t)的头实体和尾实体。示例性的,还可以基于原型网络方法构造知识图谱g的三元组(h,r,t)的目标负例。生成目标负例后,通过bi-lstm模型训练获得知识图谱g的三元组(h,r,t)的初始向量表示(h,r,t)。
[0128]
s203、根据所述园区整体超图获取园区超图节点的全局嵌入表示xi,以及根据所述企业局部超图获取企业超图节点的全局嵌入表示yi。
[0129]
本步骤中,基于注意力机制,根据园区整体超图获取园区超图节点的初始表示,根据企业局部超图获取企业超图节点的初始表示。直接基于园区超图节点的初始表示和企业超图节点的初始表示计算整体超图与局部超图中三元组的相似性,可能会导致错误信息传
递。故为了避免错误信息的传递,进而降低错误信息对后续任务的影响。因此本实施例优先基于注意力机制获取园区超图节点的初始表示和企业超图节点的初始表示,再通过simoid函数对园区超图节点的初始表示和企业超图节点的初始表示进行修正,获取园区超图节点的全局嵌入表示xi,获取企业超图节点的全局嵌入表示yi。
[0130]
s204、根据所述初始向量表示(h,r,t)得到kg嵌入损失,根据所述全局嵌入表示x
i yi获取超图损失。
[0131]
本步骤中,利用知识图谱g的三元组(h,r,t)的初始向量表示(h,r,t)通过模型训练获取嵌入损失,即kg嵌入损失。本实施例对获取嵌入损失的模型选取不做任何限定,示例性的,可选取的模型有:transe、transh、transr、transd等。
[0132]
基于本实施例构建的对比学习数据不同,故本实施例涉及特殊的超图损失函数,用于根据整体超图与局部超图中三元组的相似性获取超图损失。本实施例用余弦相似度计算整体超图与局部超图中三元组的相关性分数cos(xi,yi),再根据相关性分数cos(xi,yi)获取园区整体超图与每个企业局部超图的损失函数lossj,再根据损失函数lossj获取园区整体超图与所有企业局部超图的损失函数loss。
[0133]
s205、根据所述kg嵌入损失和所述超图损失获取所述三元组(h,r,t)的联合置信度评分,并根据所述联合置信度评分进行图谱自动纠错。
[0134]
本步骤中,本实施例通过超图构造对比学习数据,从整体、宏观的角度去判断节点是否异常。为了使本实施例的知识图谱异常判断更加严谨、全面,故本实施例将计算的整体超图与局部超图中三元组的相似性与传统嵌入方法进行联合训练,综合判断节点是否异常。
[0135]
故将kg嵌入损失和超图损失进行联合训练,得到知识图谱三元组(h,r,t)的联合置信度评分,并根据联合置信度评分较低的异常三元组进行自动纠错更新。本实施例对如何对异常三元组进行自动纠错更新不做任何限定。
[0136]
本技术实施例提出一种知识图谱自动纠错方法,根据园区知识图谱生成园区整体超图和各企业的企业局部超图,根据园区知识图三元组谱构建负例并获取其初始向量表示,在根据园区整体超图和企业局部超图获取对应的全局嵌入表示,根据初始向量表示计算kg嵌入损失,根据全局嵌入表示计算超图损失,最后结合kg嵌入损失和超图损失获取三元组的联合置信度评分并进行图谱纠错的图谱纠错。通过该方法,从整体与局部的角度构造对比学习数据,从而保持整体与局部的高度一致性,根据对比学习数据构建超图损失函数,结合超图损失和kg嵌入损失获取三元组的联合置信度评分,提高其在实际生产环境中的纠错效果。
[0137]
下面结合图3说明本技术实施例提供的一种知识图谱自动纠错方法如何获取超图损失和kg嵌入损失。
[0138]
图3为本技术实施例提供的一种知识图谱自动纠错方法的流程示意图二。如图3所示,该方法包括:
[0139]
s301、对所述三元组(h,r,t)中的实体进行替换处理,得到所述三元组(h,r,t)的候选负例,获取知识图谱中企业节点和物料节点的平均嵌入表示,根据平均嵌入表示和词向量表示获取目标负例。
[0140]
本步骤中,对三元组(h,r,t)中的头实体或尾实体进行随机替换处理,得到三元组
(h,r,t)的候选负例,再通过word2vec模型训练得到企业节点词向量表示xi和与物料节点词向量表示yi。再根据xi计算向量空间中企业节点的平均嵌入表示,根据yi计算向量空间中物料节点的平均嵌入表示,其中:
[0141]
企业节点的平均嵌入表示为:
[0142]
物料节点的平均嵌入表示为:
[0143]
n为园区知识图谱中企业节点个数,m为园区知识图谱中物料节点的个数。
[0144]
为了确保被替换实体和替换后的实体在类型上保持一致,所以对三元组(h,r,t)中的头实体或尾实体进行随机替换处理,得到三元组(h,r,t)的候选负例的过程中,替换节点不能偏离原型网络中原类型节点太多。
[0145]
故,通过word2vec模型训练得到候选负例的企业节点词向量表示ai和与物料节点词向量表示bi,当满足且时,将该对应的候选负例作为目标负例。
[0146]
其中,β1为第一阀值;β2为第二阀值,β1、β2根据实际情况确定。
[0147]
s302、将目标负例三元组与原始三元组的头实体、关系和尾实体对应初始化为随机向量并通过bi-lstm模型训练得到所述三元组的初始向量表示(h,r,t)。
[0148]
本步骤中,将目标负例三元组的关系和对应的原始三元组中的关系初始化为符合正态分布的随机向量将所述目标负例三元组的头实体和对应的原始三元组中的头实体初始化为符合正态分布的随机向量将所述目标负例三元组的尾实体和对应的原始三元组中的尾实体初始化为符合正态分布的随机向量
[0149]
依次将输入bi-lstm模型,通过该模型训练得到三元组(h,r,t)的初始向量表示(h,r,t),即:向量表示(h,r,t),即:
[0150]
s303、拼接所述初始向量表示(h,r,t),获取所述园区整体超图的节点嵌入qi,根据qi和相邻的k个节点中每个节点qj获取第一相关性分数,并获取所述园区超图节点的全局嵌入表示xi。
[0151]
本步骤中,根据初始向量表示(h,r,t)拼接获取园区整体超图的节点嵌入qi:qi=(hi;ri;ti)。但直接拼接获取园区整体超图的节点嵌入qi,可能会导致错误信息的传递,故通过qi和相邻的k个节点qj,利用了注意力机制对qi进行更新,其步骤如下:
[0152]
获取qi与相邻的k个节点中每个节点qj的第一相关性分数:α
ij
=qi*qj,其中,j=1...k,k为正整数。
[0153]
利用softmax对第一相关性分数进行归一化,得到归一化处理后的第一相关性系数数
[0154]
设定第三阈值μ∈(0,1),其具体取值根据实际情况确定。根据所述与第三阀值μ,得到其中,所述
[0155]
根据所述和所述qi,通过sigmoid函数获取所述园区超图节点的全局嵌入表示xi:其中,σ∈(0,1)。
[0156]
s304、获取企业局部超图节点嵌入pi,根据pi和相邻的k个节点中每个节点pj获取第二相关性分数,并根据所述第二相关性分数获取所述企业超图节点的全局嵌入表示yi。
[0157]
本步骤中,根据初始向量表示(h,r,t)拼接获取企业局部超图的节点嵌入pi,通过pi和相邻的k个节点pj,利用了注意力机制对pi进行更新,其步骤如下:
[0158]
获取pi与相邻的k个节点中每个节点pj的第二相关性分数:β
ij
=pi*pj,其中,j=1...k,k为正整数;
[0159]
对所述第二相关性分数进行归一化处理,得到归一化处理后的第二相关性系数对所述第二相关性分数进行归一化处理,得到归一化处理后的第二相关性系数
[0160]
根据所述与所述第三阀值μ,得到其中,所述
[0161]
根据所述和所述pj,通过sigmoid函数获取所述企业超图节点的全局嵌入表示yi:
[0162]
s305、根据所述xi和所述yi获取第三相关性分数,根据第三相关性分数获取所述园区整体超图与每个所述企业局部超图的损失函数lossj,再获取所述园区整体超图与所有所述企业局部超图的损失函数loss。
[0163]
本步骤中,本技术通过生成化工园区整体超图与企业局部超图,从整体与局部的角度构造对比学习数据,故需要基本整体和局部的角度设定特定的损失函数,故本技术通过余弦相似度计算园区超图节点的全局嵌入表示xi和企业超图节点的全局嵌入表示yi的相关性分数,其步骤为:
[0164]
获取所述xi与所述yi的第三相关性分数cos(xi,yi);
[0165]
获取所述园区整体超图与每个所述企业局部超图的损失函数:
[0166][0167]
获取所述园区整体超图与所有所述企业局部超图的损失函数:
[0168][0169]
其中,c:企业局部超图中节点数量,d:园区企业数量,τ:超参数,用于控制损失函数对正负例敏感性。
[0170]
在一种可能的实施方式中,为保证局部超图节点能快速匹配到整体超图中对应的节点,本技术对整体超图中的节点和企业超图中的节点均进行了标注,且各企业超图中的节点标签与整体超图中对应的节点标签应保持一致。
[0171]
s306、根据transd模型训练初始向量表示(h,r,t),获取kg嵌入损失。
[0172]
本步骤中,化工园区中企业多,物料种类繁多,关系错综复杂,使得化工园区的知识图谱中三元组头实体和尾实体会有类型不同或属性复杂的情况。故本实施例通过transd模型训练初始向量表示(h,r,t),获取kg嵌入损失,其具体步骤为:
[0173]
kg嵌入损失为:
[0174]
其中,m
rh
=r
phpt
+i为初始向量表示的头实体投影到关系空间的投影矩阵,m
rt
=r
p
t
pt
+i为初始向量表示的尾实体投影到关系空间的投影矩阵,i为单位矩阵,r
p
、h
p
、t
p
分别为头实体、关系、尾实体对应的投影向量。
[0175]
本技术实施例提出一种知识图谱自动纠错方法,基于原型网络的方法构造目标负例,并通过bi-lstm获得三元组的初始向量表示,并获取kg嵌入损失。同时基于注意力机制,获得超图的初始表示,最后通过simoid函数获得超图的最终嵌入表示,根据超图的最终嵌入表示,获取超图损失。通过上述方法,确保构建负例时被替换实体与替换后的实体在类型上能够保持一致性,避免被替换后的实体跳跃性太大;通过transd模型获取kg嵌入损失,使得本技术能够应用在更加复杂的化工园区图谱项目中。
[0176]
下面结合图4说明本技术实施例提供的一种知识图谱自动纠错方法如何根据联合置信度评分自动纠错。
[0177]
图4为本技术实施例提供的一种知识图谱自动纠错方法的流程示意图三。如图4所示,该方法包括:
[0178]
s401、根据所述kg嵌入损失和所述超图损失获取所述三元组(h,r,t)的联合置信度评分。
[0179]
本步骤中,将kg嵌入损失和对比学习中超图损失进行联合训练,获取三元组(h,r,t)的联合置信度评分:com(h,r,t)=σ(cos(xi,yi)-λfr(h,t))。
[0180]
其中,所述λ用来权衡嵌入损失与超图损失的贡献权重,σ为sigmoid函数将联合置信度评分映射至(0,1)区间,所述联合置信度评分越趋近于0则所述三元组(h,r,t)为异常三元组的概率越大。
[0181]
s402、随机保留联合置信度评分低于第四阈值的三元组中的两个元素,获取三个空槽二元组。
[0182]
本步骤中,若三元组的联合置信度评分低于第四阈值,随机保留其中两个元素,形成三个空槽二元组,例如:联合置信度评分低于第四阈值的错误三元组为(hw,rw,tw),随机保留三元组中的两个元素,得到三个空槽二元组(*,rw,tw)、(hw,*,tw)和(hw,rw,*)。
[0183]
s403、在知识图谱中搜索填补空槽的三元组,填补所述空槽二元组,得到备选三元
组。
[0184]
本步骤中,在知识图谱中搜索可填补空槽二元组中的三元组,当搜索到的三元组与空槽二元组的两个元素一致,则将另外一个元素填补进对应的空槽二元组,得到备选三元组。
[0185]
s404、获取所述备选三元组的联合置信度评分,选取联合置信度评分最高且高于所述第四阈值的备选三元组,替换所述联合置信度评分低于第四阈值的三元组。
[0186]
本步骤中,得到三个备选三元组后,获取该备选三元组的联合置信度评分,具体步骤在前面已经详细解释,本处不再做详细说明。保留置信度评分最大且大于第四阈值的备选三元组,将其与错误三元组进行替换。当备选三元组的置信度评分均小于第四阈值时,返回通过人工进行核实调整。
[0187]
本技术实施例提出一种知识图谱自动纠错方法,根据kg嵌入损失和超图损失获取三元组的联合置信度评分,联合置信度评分低于第四阈值的三元组随机保留两个,匹配图谱在相似的防范,选择置信度较高的进行替换。通过上述方式,使得本技术能够应用在更加复杂的化工园区图谱项目,同时提高了在实际生产环境中的纠错效果和纠错效率。
[0188]
图5为本技术实施例提供的一种知识图谱自动纠错的控制装置的结构示意图。如图5所示,该装置包括:
[0189]
生成模块501,用于根据园区知识图谱g生成园区整体超图,以及根据所述园区内各个企业的企业知识图谱g,生成每个企业对应的企业局部超图;
[0190]
获取模块502,用于构造所述园区知识图谱g的三元组(h,r,t)的目标负例,利用所述目标负例获得所述三元组的初始向量表示(h,r,t);
[0191]
所述获取模块502,还用于根据所述园区整体超图获取园区超图节点的全局嵌入表示,以及根据所述企业局部超图获取企业超图节点的全局嵌入表示;
[0192]
所述获取模块502,还用于根据所述初始向量表示(h,r,t)得到kg嵌入损失,根据所述全局嵌入表示获取超图损失;
[0193]
控制模块503,用于根据所述kg嵌入损失和所述超图损失获取所述三元组(h,r,t)的联合置信度评分,并根据所述联合置信度评分进行图谱自动纠错。
[0194]
在一种可能的实施方式中,所述获取模块502,还用于对所述三元组(h,r,t)中的实体进行替换处理,得到所述三元组(h,r,t)的候选负例;
[0195]
通过word2vec模型训练得到企业节点词向量表示xi和与物料节点词向量表示yi;
[0196]
获取园区知识图谱中的企业节点在向量空间中的平均嵌入表示:
[0197][0198]
当满足条件和满足条件时,将所述候选负例作为所述目标负例。
[0199]
其中n:园区知识图谱中企业节点个数,m:园区知识图谱中物料节点个数,β1:第一阀值;β2:第二阀值,ai:园区知识图谱中企业节点的替换节点的词向量表示,bi:园区知识图谱中物料节点的替换节点的词向量表示。
[0200]
在一种可能的实施方式中,所述获取模块502,还用于将所述目标负例三元组的关
系和对应的原始三元组中的关系初始化为符合正态分布的随机向量
[0201]
将所述目标负例三元组的头实体和对应的原始三元组中的头实体初始化为符合正态分布的随机向量
[0202]
将所述目标负例三元组的尾实体和对应的原始三元组中的尾实体初始化为符合正态分布的随机向量
[0203]
通过bi-lstm模型训练得到所述三元组的初始向量表示(h,r,t)。
[0204]
在一种可能的实施方式中,所述获取模块502,还用于拼接所述初始向量表示(h,r,t),获取所述园区整体超图的节点嵌入qi:qi=(hi;ri;ti);
[0205]
获取qi与相邻的k个节点中每个节点qj的第一相关性分数:α
ij
=qi*qj,其中,j=1...k,k为正整数;
[0206]
对所述第一相关性分数进行归一化处理,得到归一化处理后的第一相关性系数对所述第一相关性分数进行归一化处理,得到归一化处理后的第一相关性系数
[0207]
根据所述与第三阀值μ,得到其中,所述
[0208]
根据所述和所述qi,通过sigmoid函数获取所述园区超图节点的全局嵌入表示xi:其中,σ∈(0,1);
[0209]
所述根据所述企业局部超图获取企业超图节点的全局嵌入表示yi,包括:
[0210]
初始化所述企业局部超图节点嵌入pi;
[0211]
获取pi与相邻的k个节点中每个节点pj的第二相关性分数:β
ij
=pi*pj,其中,j=1...k,k为正整数;
[0212]
对所述第二相关性分数进行归一化处理,得到归一化处理后的第二相关性系数对所述第二相关性分数进行归一化处理,得到归一化处理后的第二相关性系数
[0213]
根据所述与所述第三阀值μ,得到其中,所述
[0214]
根据所述和所述pj,通过sigmoid函数获取所述企业超图节点的全局嵌入表示yi:
[0215]
在一种可能的实施方式中,所述获取模块502,还用于获取所述xi与所述yi的第三相关性分数cos(xi,yi);
[0216]
获取所述园区整体超图与每个所述企业局部超图的损失函数:
interconnect,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
[0235]
可选的,在具体实现上,如果处理器601和存储器602集成在一块芯片上实现,则处理器601和存储器602可以通过内部接口完成通信。
[0236]
本技术还提供一种计算机存储介质,计算机存储介质中存储有计算机执行指令,当处理器执行计算机执行指令时,实现前述知识图谱自动纠错方法的技术方案。
[0237]
上述的计算机可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。该计算机可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0238]
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(application specific integrated circuits,简称:asic)中。当然,处理器和可读存储介质也可以作为分立组件存在于衣物处理设备的控制装置中。
[0239]
所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0240]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0241]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0242]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0243]
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0244]
至此,已经结合附图所示的优选实施方式描述了本技术的技术方案,但是,本领域
技术人员容易理解的是,本技术的保护范围显然不局限于这些具体实施方式,以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
技术特征:
1.一种知识图谱自动纠错方法,其特征在于,包括:根据园区知识图谱g生成园区整体超图,以及根据所述园区内各个企业的企业知识图谱g,生成每个企业对应的企业局部超图;构造所述园区知识图谱g的三元组(h,r,t)的目标负例,利用所述目标负例获得所述三元组的初始向量表示(h,r,t);根据所述园区整体超图获取园区超图节点的全局嵌入表示x
i
,以及根据所述企业局部超图获取企业超图节点的全局嵌入表示y
i
;根据所述初始向量表示(h,r,t)得到kg嵌入损失,根据所述全局嵌入表示x
i y
i
获取超图损失;根据所述kg嵌入损失和所述超图损失获取所述三元组(h,r,t)的联合置信度评分,并根据所述联合置信度评分进行图谱自动纠错。2.根据权利要求1所述的方法,其特征在于,所述构造所述园区知识图谱g的三元组(h,r,t)的目标负例,包括:对所述三元组(h,r,t)中的实体进行替换处理,得到所述三元组(h,r,t)的候选负例;通过word2vec模型训练得到企业节点词向量表示x
i
和与物料节点词向量表示y
i
;获取园区知识图谱中的企业节点在向量空间中的平均嵌入表示:获取园区知识图谱中的物料节点在向量空间的平均嵌入表示:当满足条件和满足条件时,将所述候选负例作为所述目标负例;其中n:园区知识图谱中企业节点个数,m:园区知识图谱中物料节点个数,β1:第一阀值;β2:第二阀值,a
i
:园区知识图谱中企业节点的替换节点的词向量表示,b
i
:园区知识图谱中物料节点的替换节点的词向量表示。3.根据权利要求1所述的方法,其特征在于,所述利用所述目标负例获得所述三元组的初始向量表示(h,r,t),包括:将所述目标负例三元组的关系和对应的原始三元组中的关系初始化为符合正态分布的随机向量将所述目标负例三元组的头实体和对应的原始三元组中的头实体初始化为符合正态分布的随机向量将所述目标负例三元组的尾实体和对应的原始三元组中的尾实体初始化为符合正态分布的随机向量通过bi-lstm模型训练得到所述三元组的初始向量表示(h,r,t)。4.根据权利要求1所述的方法,其特征在于,所述根据所述园区整体超图获取园区超图节点的全局嵌入表示x
i
,包括:拼接所述初始向量表示(h,r,t),获取所述园区整体超图的节点嵌入q
i
:q
i
=(h
i
;r
i
;
t
i
);获取q
i
与相邻的k个节点中每个节点q
j
的第一相关性分数:α
ij
=q
i
*q
j
,其中,j=1...k,k为正整数;对所述第一相关性分数进行归一化处理,得到归一化处理后的第一相关性系数根据所述与第三阀值μ,得到其中,所述根据所述和所述q
i
,通过sigmoid函数获取所述园区超图节点的全局嵌入表示x
i
:其中,所述根据所述企业局部超图获取企业超图节点的全局嵌入表示y
i
,包括:初始化所述企业局部超图节点嵌入p
i
;获取p
i
与相邻的k个节点中每个节点p
j
的第二相关性分数:β
ij
=p
i
*p
j
,其中,j=1...k,k为正整数;对所述第二相关性分数进行归一化处理,得到归一化处理后的第二相关性系数根据所述与所述第三阀值μ,得到其中,所述根据所述和所述p
j
,通过sigmoid函数获取所述企业超图节点的全局嵌入表示y
i
:5.根据权利要求4所述的方法,其特征在于,所述根据所述全局嵌入表示x
i
y
i
获取超图损失,包括:获取所述x
i
与所述y
i
的第三相关性分数cos(x
i
,y
i
);获取所述园区整体超图与每个所述企业局部超图的损失函数:获取所述园区整体超图与所有所述企业局部超图的损失函数:
其中,c:企业局部超图中节点数量,d:园区企业数量,τ:超参数,用于控制损失函数对正负例敏感性。6.根据权利要求5所述的方法,其特征在于,所述根据所述初始向量表示(h,r,t)得到kg嵌入损失,包括:基于transd模型训练初始向量表示(h,r,t),得到评分函数定义为:其中,m
rh
=r
p
h
pt
+i为头实体投影到关系空间的投影矩阵,m
rt
=r
p
t
pt
+i为尾实体投影到关系空间的投影矩阵,i为单位矩阵,r
p
、h
p
、t
p
为头实体、关系、尾实体对应的投影向量。7.根据权利要求6所述的方法,其特征在于,所述根据所述kg嵌入损失和所述超图损失获取所述三元组(h,r,t)的联合置信度评分,包括:根据所述kg嵌入损失与所述超图损失,得到联合置信度评分:com(h,r,t)=σ(cos(x
i
,y
i
)-λf
r
(h,t))其中,所述λ用来权衡嵌入损失与超图损失的贡献权重,σ为sigmoid函数将联合置信度评分映射至(0,1)区间,所述联合置信度评分越趋近于0则所述三元组(h,r,t)为异常三元组的概率越大。8.根据权利要求1至7任一项所述的方法,其特征在于,所述根据所述联合置信度评分进行图谱自动纠错,包括:随机保留联合置信度评分低于第四阈值的三元组中的两个元素,获取三个空槽二元组;在知识图谱中搜索填补空槽的三元组,填补所述空槽二元组,得到备选三元组;获取所述备选三元组的联合置信度评分,选取联合置信度评分最高且高于所述第四阈值的备选三元组,替换所述联合置信度评分低于第四阈值的三元组。9.一种电子设备,其特征在于,包括:至少一个处理器和存储器,其中;所述存储器用于存储计算机执行指令;所述至少一个处理器用于执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1-8任一项所述的方法。10.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至8任意一项所述的方法。
技术总结
本发明提供一种知识图谱自动纠错方法、控制装置、设备和存储介质,涉及人工智能技术领域。一种知识图谱自动纠错方法,根据园区知识图谱生成园区整体超图和各企业的企业局部超图,根据园区知识图谱三元组构建负例并获取其初始向量表示,在根据超图获取对应的全局嵌入表示,根据初始向量表示计算KG嵌入损失,根据全局嵌入表示计算超图损失,最后结合KG嵌入损失和超图损失获取三元组的联合置信度评分并进行图谱纠错。通过该方法,根据对比学习数据构建超图损失函数,结合超图损失和KG嵌入损失获取三元组的联合置信度评分,从整体与局部的角度构造对比学习数据,从而保持整体与局部的高度一致性,提高其在实际生产环境中的纠错效果。果。果。
技术研发人员:段玉涛 王晓利 郭徽 孟祥秀
受保护的技术使用者:卡奥斯物联科技股份有限公司
技术研发日:2023.04.14
技术公布日:2023/7/21
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
