一种基于规则推理与GRU神经网络推理的混合推理方法与流程

文档序号:31202739发布日期:2022-08-20 02:00阅读:206来源:国知局
一种基于规则推理与GRU神经网络推理的混合推理方法与流程
一种基于规则推理与gru神经网络推理的混合推理方法
技术领域
1.本发明涉及信息与网络的技术领域,具体是涉及一种基于规则推理与gru神经网络推理的混合推理方法。


背景技术:

2.知识图谱(knowledge graph)本质是一种语义网络,通常用(头实体h,关系r,尾实体t)这样的三元组来表达事物属性以及事物之间的语义关系。自知识图谱概念以来,知识图谱已经为智能问答、对话生成、个性化推荐等多个nlp任务领域提供了有力支撑。知识图谱推理是指利用现有知识图谱中的知识三元组,得到新的实体间的关系或者实体的属性三元组,主要用于知识图谱中的知识补全、知识纠错和知识问答。知识图谱能够从海量数据中挖掘、组织和有效管理知识,提高信息服务质量,为用户提供更智能的服务,所有这些方面都依赖于知识推理对知识图谱的支持。知识图谱上的关系推理是知识工程和人工智能领域的一个重要研究问题。
3.目前已经有多种从知识图谱中学习逻辑规则的方法。大多数传统方法,例如路径排序算法、马尔科夫逻辑网络,通过枚举图上的关系路径作为候选逻辑规则,进而根据算法学习每个候选逻辑规则的权重评估规则质量。最近也有研究者提出了一些基于神经逻辑编程的方法,以可微的方式同时学习逻辑规则及其权重。虽然这些方法在经验上对预测是有效的,但它们的搜索空间是指数级的,因此很难识别高质量的逻辑规则。此外,还有一些研究将逻辑规则学习问题描述为一个连续的决策过程,并使用强化学习来搜索逻辑规则,这大大降低了搜索的复杂性。然而,由于学习过程中的动作空间大、奖励少,这些方法的逻辑规则提取效果仍不尽人意。


技术实现要素:

4.发明目的:针对以上缺点,本发明提供一种基于规则推理与gru神经网络推理的混合推理方法,能够生成高质量的逻辑规则,快速有效地找到知识推理的结果,并计算推理结果的可信度。
5.技术方案:为解决上述问题,本发明提供一种基于规则推理与gru神经网络推理的混合推理方法,包括以下步骤:
6.(1)从知识数据库加载数据生成知识图谱,设定一个查询q(h,r,?),h为头实体,r为规则,?为待查询结果;利用gru网络根据查询q(h,r,?)生成规则集合r;(2)设定候选答案,根据生成规则集合r在知识图谱上构建马尔可夫逻辑网络进行知识图谱推理,获得规则集合r中每个规则对候选答案的贡献进行评价打分;
7.(3)取分数最高的k个规则组成的最大化规则集合rk,通过最大化规则集合rk的对数似然来更新gru网络参数θ;
8.(4)重复步骤(1)至步骤(3)n

次得到训练好的gru网络;利用训练好的gru网络再次根据给定的查询q(h,r,?)生成规则集合,并将新生成的规则集合在知识图谱上构建马尔
可夫逻辑网络进行知识图谱推理;利用价值函数计算每个规则价值得分,选取得分最高的规则推理的实体作为推理结果输出。
9.进一步的,步骤(1)中利用gru网络根据查询q(h,r,?)生成规则集合r具体为:
10.(1.1)设定一组规则rule=[rq,r1,r2,
……rl
,re]用于推理,rq表示查询关系,re表示规则结束,ri表示规则体,i∈(1
……
l);
[0011]
(1.2)利用gru网络根据当前给定的规则生成下一组规则;所述gru网络定义公式如下:
[0012]
h0=f1(vr)
[0013]ht

=gru(h
t
′‑1,f2[vr,v
rt

])
[0014]
式中,h0为gru网络的初始状态隐藏层,h
t

为t

状态的隐藏层,h
t
′‑1为t

状态的前一状态的隐藏层;f1和f2是线性变换函数,vr是查询q的头关系嵌入向量,v
rt

是与vr关联关系的嵌入向量,[vr,v
rt

]为向量串联操作;
[0015]
(1.3)将生成的下一组规则作为当前给定的规则重复步骤(1.2)n-1次,获得n组规则形成集合r;获取概率分布p
θ
(r|q)为:
[0016]
p
θ
(r|q)=md(r|d,gru
θ
(q))
[0017]
式中,md代表多项式分布;d为集合r大小的超参数;gru
θ
(q)定义了查询为q的组合规则上的分布。
[0018]
进一步的,步骤(2)具体为:
[0019]
(2.1)假设待查询结果?的候选答案集合为a,a为规则集合r中的所有规则推理得到候选答案构成的集合,候选答案a∈a;
[0020]
(2.2)根据生成规则集合r在知识图谱上构建马尔可夫逻辑网络进行知识图谱推理,构建的马尔可夫逻辑网络概率计算公式为:
[0021][0022]
式中,t为查询结果;z为配分函数;w
rule
为权重;n
rule
(t)是获得候选答案a=t的推理过程中规则rule满足的次数,即一阶逻辑谓词f所有取真值的规则rule的数量;
[0023]
(2.3)针对规则集合r中每个规则对候选答案的贡献进行评价打分,打分函数为:
[0024]
h(rule)=p
θ
(rule|q)n
rule
(t))
[0025]
式中,h(rule)表示规则集合r中每个规则对候选答案的贡献获取的分数;p
θ
(rule|q)为gru网络根据给定的查询q生成规则rule的先验概率;
[0026]
进一步的,步骤(3)中通过最大化规则集合rk的对数似然来更新gru网络参数θ公式为:
[0027][0028]
进一步的,步骤(4)中利用价值函数计算价值得分具体是:将新生成的规则集合中每个新生成的规则对应的马尔可夫逻辑网络概率作为价值得分,公式为:
[0029]
[0030]
式中,b为候选答案,b∈b,b为新生成的规则集合中的所有规则推理得到候选答案构成的集合。
[0031]
进一步的,步骤(4)中n

取值为3。
[0032]
此外,本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利上述方法的步骤。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
[0033]
有益效果:本发明所述的所述一种基于规则推理与gru神经网络推理的混合推理方法相对于现有技术,其显著优点是:通过gru神经网络生成逻辑规则,并根据生成的逻辑规则结合马尔可夫逻辑网络进行知识推理,对推理结果进行评分,选取高质量的逻辑规则用于gru网络的优化;采用优化后的gru网络生成高质量的逻辑规则并结合马尔可夫逻辑网络量化表示推理结果的可信度,从而快速有效地找到知识推理的结果。
附图说明
[0034]
图1所示为本发明所述方法的流程图;
[0035]
图2所示为本发明所述方法的结构图;
[0036]
图3所示为本发明所述马尔可夫逻辑网络构建流程图。
具体实施方式
[0037]
下面结合附图对本发明的技术方案进一步说明。
[0038]
如图1所示,本发明所述的一种基于规则推理与gru神经网络推理的混合推理方法,具体包括以下步骤:
[0039]
步骤一、生成知识图谱与逻辑规则;
[0040]
本发明的目标是知识推理,即给出推理问题,自动搜索知识图谱中可信的答案。
[0041]
(1)从知识数据库中加载数据并构建知识图谱,设定问题查询q(h,r,?);h为头实体,r为规则,?为待查询结果;
[0042]
(2)根据设定的查询问题,利用gru网络生成逻辑规则集合r;
[0043]
如图2所示,gru网络包括规则生成器和推理逻辑器。其中,规则生成器先生成一组逻辑规则用于推理来回答查询,推理逻辑器用于筛选出高质量规则。对于生成的逻辑规则可以认为是一组序列关系[rq,r1,r2,
……rl
,re],gru根据当前的逻辑规则利用生成下一组逻辑规则。具体包括以下步骤:
[0044]
(1.1)设定一组规则rule=[rq,r1,r2,
……rl
,re]用于推理,rq表示查询关系,re表示规则结束,ri表示规则体,i∈(1
……
l),该规则体表示一些具体的路径;
[0045]
(1.2)利用gru网络根据当前给定的规则生成下一组规则;使用的gru网络定义如下:
[0046]
h0=f1(vr)
[0047]ht

=gru(h
t
′‑1,f2[vr,v
rt

])
[0048]
式中,h0为gru网络的初始状态隐藏层,h
t

为t

状态的隐藏层,h
t
′‑1为t

状态的前一状态的隐藏层;f1和f2是线性变换函数,vr是问题查询q的头关系嵌入向量,v
rt

是与vr关
联关系的嵌入向量,[vr,v
rt

]为向量串联操作;
[0049]
(1.3)将生成的下一组规则作为当前给定的规则重复步骤(1.2)n-1次,获得n组规则形成规则集合r;将生成规则集合r上的分布定义为多项式分布,得到
[0050]
概率分布p
θ
(r|q)为:
[0051]
p
θ
(r|q)=md(r|d,ru
θ
(q))
[0052]
式中,md代表多项式分布;d为集合r大小的超参数;gru
θ
(q)定义了查询为q的组合规则上的分布。
[0053]
步骤二、基于生成的规则集合r,在知识图谱上构建马尔可夫逻辑网络进行知识图谱推理;获得规则集合r中每个规则对候选答案的贡献进行评价打分。
[0054]
如图3所示,马尔可夫逻辑网络是由最大似然方法构建的,首先,将预先定义的规则转化为子句的集合,然后每个子句作为一个节点,每个集合中的子句相互之间都有连边,构成马尔科夫逻辑网络。将生成规则集合r在知识图谱上构建马尔可夫逻辑网络进行知识图谱推理,并评分具体为:
[0055]
(2.1)假设待查询结果?的候选答案集合为a,a为集合r中的所有规则推理得到候选答案构成的集合,候选答案a∈a;
[0056]
(2.2)根据生成规则集合r在知识图谱上构建马尔可夫逻辑网络进行知识图谱推理;构建的马尔可夫逻辑网络边权,即马尔可夫逻辑网络的概率计算公式为:
[0057][0058]
式中,t为查询结果;z为配分函数;w
rule
为权重;n
rule
(t)是获得候选答案a=t的推理过程中规则rule满足的次数,即一阶逻辑谓词f所有取真值的规则rule的数量;
[0059]
(2.3)针对规则集合r中每个规则对候选答案的贡献进行评价打分,打分函数为:
[0060]
h(rule)=p
θ
(rule|q)n
rule
(t))
[0061]
式中,h(rule)表示规则集合r中每个规则对候选答案的贡献获取的分数;p
θ
(rule|q)为gru网络根据给定的查询q生成规则rule的先验概率;
[0062]
步骤三、筛选出质量高的规则并优化gru网络
[0063]
取分数h(rule)最高的k个规则rule组成的最大化规则集合rk,通过最大化规则集合rk的对数似然来更新gru网络参数θ,公式为:
[0064][0065]
四、获取最终查询结果,具体包括:
[0066]
(1)重复步骤二至步骤三进行迭代操作三次,得到训练好的gru网络。即每一次更新的gru网络重新生成规则集合,重新在知识图谱上构建马尔可夫逻辑网络进行知识图谱推理进行打分,筛选出规则进行新一轮的更新,直至完成设定的迭代次数。
[0067]
(2)利用训练好的gru网络再根据给定的问题查询q生成规则集合,该新生成的规则集合在知识图谱上构建马尔可夫逻辑网络进行知识图谱推理。其中,新生成的规则集合中的所有规则推理得到候选答案构成的集合为b,b为候选答案,b∈b。
[0068]
(3)计算每个规则对应的马尔可夫逻辑网络概率,将b的发生概率作为b的价值得分,计算该价值得分的价值函数公式为:
[0069][0070]
比较不同规则的得分,获得得分最高的规则所推理得到的实体为最终的输出结果。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1