首页> 中国专利> 一种基于规则推理与GRU神经网络推理的混合推理方法

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

摘要

本发明公开了一种基于规则推理与GRU神经网络推理的混合推理方法,包括步骤:生成知识图谱并给定的问题查询q,利用GRU网络生成逻辑规则;基于生成的逻辑规则,构建马尔可夫逻辑网络进行知识图谱推理,对逻辑规则进行价值打分;将生成的高质量逻辑规则给到GRU网络用于优化网络参数;利用价值函数计算推理结果的得分并输出可能的结果,量化表示推理结果的可信度。本发明通过对价值函数的设计,结合规则推理和GRU神经网络推理,能够快速有效地找到知识推理的结果,并计算推理结果的可信度。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-08-04

    授权

    发明专利权授予

  • 2022-09-06

    实质审查的生效 IPC(主分类):G06F16/332 专利申请号:2022105972659 申请日:20220530

    实质审查的生效

说明书

技术领域

本发明涉及信息与网络的技术领域,具体是涉及一种基于规则推理与GRU神经网络推理的混合推理方法。

背景技术

知识图谱(Knowledge Graph)本质是一种语义网络,通常用(头实体h,关系r,尾实体t)这样的三元组来表达事物属性以及事物之间的语义关系。自知识图谱概念以来,知识图谱已经为智能问答、对话生成、个性化推荐等多个NLP任务领域提供了有力支撑。知识图谱推理是指利用现有知识图谱中的知识三元组,得到新的实体间的关系或者实体的属性三元组,主要用于知识图谱中的知识补全、知识纠错和知识问答。知识图谱能够从海量数据中挖掘、组织和有效管理知识,提高信息服务质量,为用户提供更智能的服务,所有这些方面都依赖于知识推理对知识图谱的支持。知识图谱上的关系推理是知识工程和人工智能领域的一个重要研究问题。

目前已经有多种从知识图谱中学习逻辑规则的方法。大多数传统方法,例如路径排序算法、马尔科夫逻辑网络,通过枚举图上的关系路径作为候选逻辑规则,进而根据算法学习每个候选逻辑规则的权重评估规则质量。最近也有研究者提出了一些基于神经逻辑编程的方法,以可微的方式同时学习逻辑规则及其权重。虽然这些方法在经验上对预测是有效的,但它们的搜索空间是指数级的,因此很难识别高质量的逻辑规则。此外,还有一些研究将逻辑规则学习问题描述为一个连续的决策过程,并使用强化学习来搜索逻辑规则,这大大降低了搜索的复杂性。然而,由于学习过程中的动作空间大、奖励少,这些方法的逻辑规则提取效果仍不尽人意。

发明内容

发明目的:针对以上缺点,本发明提供一种基于规则推理与GRU神经网络推理的混合推理方法,能够生成高质量的逻辑规则,快速有效地找到知识推理的结果,并计算推理结果的可信度。

技术方案:为解决上述问题,本发明提供一种基于规则推理与GRU神经网络推理的混合推理方法,包括以下步骤:

(1)从知识数据库加载数据生成知识图谱,设定一个查询q(h,r,?),h为头实体,r为规则,?为待查询结果;利用GRU网络根据查询q(h,r,?)生成规则集合R;(2)设定候选答案,根据生成规则集合R在知识图谱上构建马尔可夫逻辑网络进行知识图谱推理,获得规则集合R中每个规则对候选答案的贡献进行评价打分;

(3)取分数最高的K个规则组成的最大化规则集合R

(4)重复步骤(1)至步骤(3)N′次得到训练好的GRU网络;利用训练好的GRU网络再次根据给定的查询q(h,r,?)生成规则集合,并将新生成的规则集合在知识图谱上构建马尔可夫逻辑网络进行知识图谱推理;利用价值函数计算每个规则价值得分,选取得分最高的规则推理的实体作为推理结果输出。

进一步的,步骤(1)中利用GRU网络根据查询q(h,r,?)生成规则集合R具体为:

(1.1)设定一组规则rule=[r

(1.2)利用GRU网络根据当前给定的规则生成下一组规则;所述GRU网络定义公式如下:

h

h

式中,h

(1.3)将生成的下一组规则作为当前给定的规则重复步骤(1.2)N-1次,获得N组规则形成集合R;获取概率分布p

p

式中,MD代表多项式分布;D为集合R大小的超参数;GRU

进一步的,步骤(2)具体为:

(2.1)假设待查询结果?的候选答案集合为A,A为规则集合R中的所有规则推理得到候选答案构成的集合,候选答案a∈A;

(2.2)根据生成规则集合R在知识图谱上构建马尔可夫逻辑网络进行知识图谱推理,构建的马尔可夫逻辑网络概率计算公式为:

式中,t为查询结果;z为配分函数;w

(2.3)针对规则集合R中每个规则对候选答案的贡献进行评价打分,打分函数为:

H(rule)=p

式中,H(rule)表示规则集合R中每个规则对候选答案的贡献获取的分数;p

进一步的,步骤(3)中通过最大化规则集合R

进一步的,步骤(4)中利用价值函数计算价值得分具体是:将新生成的规则集合中每个新生成的规则对应的马尔可夫逻辑网络概率作为价值得分,公式为:

式中,b为候选答案,b∈B,B为新生成的规则集合中的所有规则推理得到候选答案构成的集合。

进一步的,步骤(4)中N′取值为3。

此外,本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利上述方法的步骤。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。

有益效果:本发明所述的所述一种基于规则推理与GRU神经网络推理的混合推理方法相对于现有技术,其显著优点是:通过GRU神经网络生成逻辑规则,并根据生成的逻辑规则结合马尔可夫逻辑网络进行知识推理,对推理结果进行评分,选取高质量的逻辑规则用于GRU网络的优化;采用优化后的GRU网络生成高质量的逻辑规则并结合马尔可夫逻辑网络量化表示推理结果的可信度,从而快速有效地找到知识推理的结果。

附图说明

图1所示为本发明所述方法的流程图;

图2所示为本发明所述方法的结构图;

图3所示为本发明所述马尔可夫逻辑网络构建流程图。

具体实施方式

下面结合附图对本发明的技术方案进一步说明。

如图1所示,本发明所述的一种基于规则推理与GRU神经网络推理的混合推理方法,具体包括以下步骤:

步骤一、生成知识图谱与逻辑规则;

本发明的目标是知识推理,即给出推理问题,自动搜索知识图谱中可信的答案。

(1)从知识数据库中加载数据并构建知识图谱,设定问题查询q(h,r,?);h为头实体,r为规则,?为待查询结果;

(2)根据设定的查询问题,利用GRU网络生成逻辑规则集合R;

如图2所示,GRU网络包括规则生成器和推理逻辑器。其中,规则生成器先生成一组逻辑规则用于推理来回答查询,推理逻辑器用于筛选出高质量规则。对于生成的逻辑规则可以认为是一组序列关系[r

(1.1)设定一组规则rule=[r

(1.2)利用GRU网络根据当前给定的规则生成下一组规则;使用的GRU网络定义如下:

h

h

式中,h

(1.3)将生成的下一组规则作为当前给定的规则重复步骤(1.2)N-1次,获得N组规则形成规则集合R;将生成规则集合R上的分布定义为多项式分布,得到

概率分布p

p

式中,MD代表多项式分布;D为集合R大小的超参数;GRU

步骤二、基于生成的规则集合R,在知识图谱上构建马尔可夫逻辑网络进行知识图谱推理;获得规则集合R中每个规则对候选答案的贡献进行评价打分。

如图3所示,马尔可夫逻辑网络是由最大似然方法构建的,首先,将预先定义的规则转化为子句的集合,然后每个子句作为一个节点,每个集合中的子句相互之间都有连边,构成马尔科夫逻辑网络。将生成规则集合R在知识图谱上构建马尔可夫逻辑网络进行知识图谱推理,并评分具体为:

(2.1)假设待查询结果?的候选答案集合为A,A为集合R中的所有规则推理得到候选答案构成的集合,候选答案a∈A;

(2.2)根据生成规则集合R在知识图谱上构建马尔可夫逻辑网络进行知识图谱推理;构建的马尔可夫逻辑网络边权,即马尔可夫逻辑网络的概率计算公式为:

式中,t为查询结果;z为配分函数;w

(2.3)针对规则集合R中每个规则对候选答案的贡献进行评价打分,打分函数为:

H(rule)=p

式中,H(rule)表示规则集合R中每个规则对候选答案的贡献获取的分数;p

步骤三、筛选出质量高的规则并优化GRU网络

取分数H(rule)最高的K个规则rule组成的最大化规则集合R

四、获取最终查询结果,具体包括:

(1)重复步骤二至步骤三进行迭代操作三次,得到训练好的GRU网络。即每一次更新的GRU网络重新生成规则集合,重新在知识图谱上构建马尔可夫逻辑网络进行知识图谱推理进行打分,筛选出规则进行新一轮的更新,直至完成设定的迭代次数。

(2)利用训练好的GRU网络再根据给定的问题查询q生成规则集合,该新生成的规则集合在知识图谱上构建马尔可夫逻辑网络进行知识图谱推理。其中,新生成的规则集合中的所有规则推理得到候选答案构成的集合为B,b为候选答案,b∈B。

(3)计算每个规则对应的马尔可夫逻辑网络概率,将b的发生概率作为b的价值得分,计算该价值得分的价值函数公式为:

比较不同规则的得分,获得得分最高的规则所推理得到的实体为最终的输出结果。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号