一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于路径置信度的知识图谱噪声检测方法与流程

2022-02-24 14:38:29 来源:中国专利 TAG:


1.本发明涉及知识图谱技术领域,特别是指一种基于路径置信度的知识图谱噪声检测方法。


背景技术:

2.现如今,知识图谱在解决人工智能任务方面起着重要作用。然而,手动或自动构建的知识图谱有很多质量问题,通常会包含一些错误或缺失的三元组。知识图谱中的噪声可能是由人的失误或数据中的错误引起的,大多数噪声表现为三元组中的错误实体或关系。目前,越来越多的学者开始关注知识图谱噪声问题,并提出了很多解决方案。
3.知识图谱中的噪声检测方法可以大致分为基于路径的方法和基于规则的方法。基于路径的方法始于transe、transh、transr等翻译模型,尽管它们多用于知识图谱嵌入表示和补全,但这些翻译模型也能用于检测知识图谱中的噪声。melo等人提出patybred模型,将类型和路径特征融入到局部关系分类器中,为每个关系保留特定的路径,以指示三元组是否是错误。xie等人提出ckrl模型,利用三元组的局部和全局信息来表示三元组出错的概率。然而,基于路径的方法在发现噪声的能力上较弱,不适合处理含有复杂关系的知识图谱。与基于路径的方法相比,基于规则的方法通常具有较强的噪声检测能力。brocheler等人提出psl模型,使用一阶谓词逻辑和加权规则,从不确定的三元组中提取最有可能正确的三元组。abedini等人提出correction tower,分三个步骤识别三元组中的离散、不一致和错误关系。然而,基于规则的方法缺失知识表示的能力,即当基于规则的方法检测并排除知识图谱中的噪声后,还需要将知识图谱映射到连续的向量空间,以便让下游任务中更方便地操作知识图谱。
4.如果能将基于路径的方法和基于规则的方法相结合,不仅可以发现噪声,还能构建无噪声的知识图谱表示。具体地来说,首先在三元组的路径中,制定规则筛选出有效特征。要求这些特征能够明显区分噪声信息和正确信息,并且正确信息中要包含全局三元组信息和局部三元组信息。然后利用这些特征来完成噪声检测和三元组表示工作,提高知识图谱质量,从而提高用户体验。


技术实现要素:

5.针对现有基于路径的方法在发现噪声的能力上较弱,不适合处理含有复杂关系的知识图谱以及基于规则的方法缺失知识表示的能力的技术问题,本发明提出了一种基于路径置信度的知识图谱噪声检测方法,结合基于路径的方法和基于规则的方法,提高检测知识图谱中噪声的效率,从而提高知识图谱质量。
6.本发明的技术方案是这样实现的:
7.一种基于路径置信度的知识图谱噪声检测方法,其步骤如下:
8.步骤一:初始化三元组的数量,找到所有三元组的所有路径,利用翻译模型transe算法对每一条路径的每一个三元组进行嵌入化表示,将三元组的全部路径表示为路径嵌入
序列;其中,路径嵌入序列中相邻的三元组之间形成一个节点,节点数量为n;
9.步骤二:将节点依次输入至基于置信度的基于相关度的概率逻辑层(cpll),计算每条路径中每个节点的置信度得分矩阵;
10.步骤三:分别将每个路径中的所有节点的置信度得分矩阵输入到bi-gru中,获得每个路径的得分矩阵;
11.步骤四:将每个路径的得分矩阵的l2范数作为路径置信度,并将路径置信度最高时对应的得分矩阵作为三元组的最优嵌入矩阵。
12.优选地,在步骤二中,具体方法为:
13.s21、对输入的节点t进行初始化:
14.t=n
′i·
(n

i 1
)
t
ꢀꢀꢀ
(1);
15.n
′i=(x
′i,r
′i,x

i 1
)
ꢀꢀꢀ
(2);
16.n

i 1
=(x

i 1
,r

i 1
,x

i 2
)
ꢀꢀꢀ
(3);
17.其中,n
′i表示路径上第i个三元组的嵌入矩阵,n

i 1
表示路径上第i 1个三元组的嵌入矩阵,(n

i 1
)
t
表示三元组嵌入矩阵n

i 1
的转置,x
′i、x

i 1
、x

i 2
均表示实体,r
′i和r

i 1
均表示关系;
18.s22、将节点t与参数矩阵w0相乘得到三元组之间的全局置信度,即全局三元组置信度:
19.gtt(i,i 1)=t
·
w0ꢀꢀꢀ
(4);
20.其中,gtt(i,i 1)为全局三元组置信度;
21.s23、节点t进入separate&padd layer中,分离出t的对角线上的子矩阵块t1,t2,t3,然后将t1,t2,t3分别与参数矩阵w1,w2,w3相乘,得到d,e,f;利用d,e,f进行基于相关度的逻辑运算并相加得到三元组之间的局部置信度,即局部三元组置信度:
22.t1=x
′i·
x

i 1
,t2=r
′i·r′
i 1
,t3=x

i 1
·
x

i 2
ꢀꢀꢀ
(5);
23.d=t1·
w1,e=t2·
w2,f=t3·
w3ꢀꢀꢀ
(6);
[0024][0025][0026][0027][0028][0029]
其中,min(
·
)表示取矩阵的最小值,max(
·
)表示取矩阵的最大值,1表示矩阵内元素全为1,-1表示矩阵内的元素全为-1,分别表示不同的逻辑运算,ltt(i,j)为局部三元组置信度;
[0030]
s24、将全局三元组置信度和局部三元组置信度相乘,得到节点t的置信度得分gi:
[0031]gi
=gtt(i,i 1)
·
ltt(i,i 1)
ꢀꢀꢀ
(12)。
[0032]
优选地,在步骤三中,具体方法为:
[0033]
s31、选择将每个节点的置信度得分gi以及邻近节点的置信度g
i 1
、g
i-1
作为双向gru的输入,第i个前向gru和后向gru的计算方式分别如下:
[0034][0035][0036]
其中,表示前向gru的输出结果,表示后向gru的输出结果,gru(
·
)表示门控循环网络。
[0037]
s32、对前向gru和后向gru的最终输出进行连接、线性和归一化操作,得到路径的得分矩阵:
[0038][0039]
其中,h(p)表示门控循环网络的输出结果,即路径得分矩阵,表示前向gru的最终输出结果,表示后向gru的最终输出结果,concat()表示连接函数,linear()表示线性函数,softmax()表示归一化函数。
[0040]
优选地,在步骤四中,路径置信度和最优三元组的计算方法分别为:
[0041][0042]
当时,h(fk)=h(pj)
ꢀꢀꢀ
(17);
[0043]
其中,g(p)表示路径置信度,h(pj)表示路径得分矩阵,表示矩阵的l2函数,g(fk)表示最大的路径置信度,h(fk)表示三元组的最优的路径得分矩阵,也是三元组的最优的嵌入矩阵。
[0044]
优选地,设计的损失函数如下:
[0045]
l=∑
(h,r,t)∈{t'∪t”}
log[1 exp(l
(h,r,t)
·
p(h,r,t))]
ꢀꢀꢀ
(18);
[0046][0047]
其中,exp()表示以自然常数e为底的指数函数,log()表示对数函数,l表示损失函数,p(h,r,t)表示从头实体h到尾实体t的路径,r代表关系,t'是代表了有效三元组的集合,t”是代表了无效三元组的集合,无效三元组指的是随机切换原始三元组其中一个头实体或尾实体形成的三元组,有效三元组指的是原始三元组。
[0048]
与现有技术相比,本发明产生的有益效果为:
[0049]
1)本发明在基于路径的知识图谱中的内部结构信息的基础上,引入了基于相关度的概率模型,并将其融合到神经网络结构中检测知识图谱中的噪声并进行知识图谱表示。
[0050]
2)本发明构建了一种路径置信度网络计算全局三元组置信度和局部三元组置信度,并结合双向门控循环网络,得到三元组的路径置信度和路径得分矩阵;利用路径置信度用以判断三元组是否正确,利用路径得分矩阵用以表示三元组。
[0051]
3)本发明在解决知识图谱噪声问题的同时,也完成了知识图谱表示工作,并在知识图谱噪声检测试验中取得了良好的效果。
附图说明
[0052]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0053]
图1为实体“冠军”到实体“队伍”的所有路径的子图;
[0054]
图2为本发明的流程图;
[0055]
图3为本发明提出模型的流程图;
[0056]
图4为本发明的基于相关度的概率逻辑模型的结构图。
具体实施方式
[0057]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0058]
一般而言,知识图谱中三元组之间存在某种关系能够表现为路径的形式。那么,对三元组f=(h,r,t)进行表示时,从头实体h到尾实体t的路径p=(h,r,t)是一个不容忽视的选择。其中,r中包含至少一个关系,可能包含数个实体,这些实体和关系可以组成数个三元组n,本发明将n称为路径上的三元组。每两个相邻的三元组组成一个节点。并且r≥r,当r=r时,路径p与f相等,表示f是最短的路径。
[0059]
从头实体到尾实体的路径可能有多条,但有些路径不是正确的、有些路径不是完整的、有些路径中的信息不适合用于三元组表示。图1给出了f1=(“冠军”,“参加”,“队伍”)的所有路径的集合,即实体“冠军”到实体“队伍”的路径的集合。在图1中,f1是最短的路径,也是三元组本身,f2=(“足球”,“?”,“队伍”)是缺失的三元组,f3=(“篮球赛”,“等于”,“比赛”)是错误的三元组。因此,f2或f3与其他三元组组合成路径是含有噪声的。这些含有噪声的路径必须在经过一些处理后,它们的路径得分矩阵才能用于表示三元组。
[0060]
然而,大多数基于路径的知识图谱表示方法没有排除路径中含有的噪声。但基于规则的方法却很适合解决路径中含有的噪声问题。具体来说,通过给路径中每个节点一个置信度,来表示该节点有多大可能性是正确的,然后通过概率组合得到路径置信度,路径置信度指示这条路径有多大概率是正确的。如果头实体到尾实体的路径只有三元组本身,那么该三元组就是路径中唯一的节点。此时,三元组置信度、节点置信度和路径置信度就是相等的。但事实上,路径可能有多条,取路径置信度最大的路径来表示三元组是最合适的。如果三元组以矩阵的形式表示,那么通过节点置信度之间的概率组合得到是路径得分矩阵,并将路径得分矩阵的l2范数作为路径的置信度。
[0061]
如图2所示,本发明实施例提供了一种基于路径置信度的知识图谱噪声检测方法,具体步骤如下:
[0062]
步骤一:对于数量为e的三元组,找到所有三元组的所有路径,初始化三元组的数量e=e,遍历所有三元组;遍历三元组的全部路径,路径数量为p,初始化路径数量p=p。利用翻译模型transe算法对每一条路径的每一个三元组进行嵌入化表示,将三元组的全部路
径表示为路径嵌入序列;其中,路径嵌入序列中相邻的三元组之间形成一个节点,节点数量为n;初始化节点数量为n。本发明的结构图如图3所示。
[0063]
步骤二:如图4所示,将节点依次输入至基于相关度的概率逻辑层(cpll),计算每条路径中每个节点的置信度得分;
[0064]
在步骤二中,具体方法为:
[0065]
s21、对输入的节点t进行初始化:
[0066]
t=n
′i·
(n

i 1
)
t
ꢀꢀꢀ
(1);
[0067]n′i=(x
′i,r
′i,x

i 1
)
ꢀꢀꢀ
(2);
[0068]n′
i 1
=(x

i 1
,r

i 1
,x

i 2
)
ꢀꢀꢀ
(3);
[0069]
其中,n
′i,n

i 1
分别表示路径上第i和i 1个三元组的嵌入矩阵,(n

i 1
)
t
表示三元组嵌入矩阵n

i 1
的转置,x
′i、x

i 1
、x

i 2
表示实体,r
′i和r

i 1
表示关系。
[0070]
s22、将节点t与参数矩阵w0相乘得到三元组之间的全局置信度,即全局三元组置信度:
[0071]
gtt(i,i 1)=t
·
w0ꢀꢀꢀ
(4);
[0072]
其中,gtt(i,i 1)为全局三元组置信度。
[0073]
s23、节点t进入分离&填充操作层中,分离出t的对角线上的子矩阵块t1,t2,t3,然后将t1,t2,t3分别与参数矩阵w1,w2,w3相乘,得到d,e,f;利用d,e,f进行基于相关度的逻辑运算并相加得到三元组之间的局部置信度,即局部三元组置信度:
[0074]
t1=x
′i·
x

i 1
,t2=r
′i·r′
i 1
,t3=x

i 1
·
x

i 2
ꢀꢀꢀ
(5);
[0075]
d=t1·
w1,e=t2·
w2,f=t3·
w3ꢀꢀꢀ
(6);
[0076][0077][0078][0079][0080][0081]
其中,min(
·
)表示取矩阵的最小值,max(
·
)表示取矩阵的最大值,1表示矩阵内元素全为1,-1表示矩阵内的元素全为-1,分别表示不同的逻辑运算,ltt(i,j)为局部三元组置信度。
[0082]
s24、将全局三元组置信度和局部三元组置信度相乘,得到节点t的置信度得分gi:
[0083]gi
=gtt(i,i 1)
·
ltt(i,i 1)
ꢀꢀꢀ
(12)。
[0084]
步骤三:分别将每个路径中的所有节点的置信度得分按照前后顺序输入到双向门控循环网络bi-gru中,获得每个路径的得分矩阵;
[0085]
在步骤三中,具体方法为:
[0086]
s31、选择将每个节点的置信度得分gi以及邻近节点的置信度g
i 1
、g
i-1
作为双向gru的输入,第i个前向gru和后向gru的计算方式分别如下:
[0087][0088][0089]
其中,表示前向gru的输出结果,表示后向gru的输出结果,gru(
·
)表示门控循环网络。
[0090]
s32、为了最大限度地保留有效信息,对前向gru和后向gru的最终输出进行连接、线性和归一化操作,得到路径的得分矩阵:
[0091][0092]
其中,h(p)表示门控循环网络的输出结果,即路径得分矩阵,表示前向gru的最终输出结果,表示后向gru的最终输出结果,concat()表示连接函数,linear()表示线性函数,softmax()表示归一化函数。
[0093]
步骤四:将每个路径的得分矩阵的l2范数作为路径置信度,并将路径置信度最高时对应的得分矩阵作为最优三元组。
[0094]
在步骤四中,路径置信度和最优三元组的计算方法分别为:
[0095][0096]
当时,h(fk)=h(pj)(17);
[0097]
其中,g(p)表示路径置信度,h(pj)表示路径得分矩阵,表示矩阵的l2函数,g(fk)表示最大的路径置信度,h(fk)表示三元组的最优的路径得分矩阵,也是三元组的最优的嵌入矩阵。
[0098]
为了训练本发明提出的模型,设计的损失函数如下:
[0099]
l=∑
(h,r,t)∈{t'∪t”}
log[1 exp(l
(h,r,t)
·
p(h,r,t))]
ꢀꢀꢀ
(18);
[0100][0101]
其中,exp()表示以自然常数e为底的指数函数,log()表示对数函数,l表示损失函数,p(h,r,t)表示从头实体h到尾实体t的路径,r代表关系,t'是代表了有效三元组的集合,t”是代表了无效三元组的集合,无效三元组指的是随机切换原始三元组其中一个头实体或尾实体形成的三元组,有效三元组指的是原始三元组。
[0102]
本发明使用知识图谱噪声检测的三个基准数据集fb15k、wn18和nell995,它们分别从freebase、wordnet和nell知识库中抽取的信息构成。表1列出了它们的统计数据。
[0103]
表1基准数据集fb15k、wn18和nell995的统计数据
[0104][0105]
[0106]
为了评估模型的性能,需要在上述的数据集中添加噪声。基本的方法是:对于给定一个正三元组(h,r,t),随机切换其中一个头实体或尾实体以形成一个负三元组(h

,r,t)或(h,r,t

)作为噪声。按照这个方法,对每个基准数据集都构造了含有10%、20%、40%噪声的数据集。这些有噪声的数据集与原数据集共享相同的实体集、关系集、验证集和测试集,并且生成的所有噪声都被融合到原始训练集中。
[0107]
本发明将路径得分矩阵的l2范数作为路径置信度,然后根据这些路径置信度对训练集中的所有三元组进行排序。三元组的路径置信度越大,表示三元组越有效。
[0108]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献