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

一种基于规则推理与GRU神经网络推理的混合推理方法有效专利 发明

技术领域

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

相关背景技术

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

具体实施方式

[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(ht′‑1,f2[vr,vrt′])
[0048] 式中,h0为GRU网络的初始状态隐藏层,ht′为t′状态的隐藏层,ht′‑1为t′状态的前一状态的隐藏层;f1和f2是线性变换函数,vr是问题查询q的头关系嵌入向量,vrt′是与vr关联关系的嵌入向量,[vr,vrt′]为向量串联操作;
[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为配分函数;wrule为权重;nrule(t)是获得候选答案a=t的推理过程中规则rule满足的次数,即一阶逻辑谓词F所有取真值的规则rule的数量;
[0059] (2.3)针对规则集合R中每个规则对候选答案的贡献进行评价打分,打分函数为:
[0060] H(rule)=pθ(rule|q)nrule(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页 第3页