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

基于逻辑规则与强化学习的知识图谱推理方法

2023-02-01 14:50:42 来源:中国专利 TAG:


1.本发明的技术方案涉及知识图谱推理的方法,具体地说是基于逻辑规则与强化学习的知识图谱推理方法。


背景技术:

2.知识图谱采用基于图的数据结构对现实世界的事实进行结构化表示。利用图结构表示的优势,知识图谱在知识问答、语义搜索等自然语言处理任务中发挥着重要的作用。自2012年google推出第一版知识图谱以来,各类知识图谱层出不穷,如世界知识库freebase、多语言知识库dbpedia、英文知识库wordnet、综合知识库yago、nell以及以wikipedia为基础的wikidata等等。然而,这些知识图谱尽管体量很大,但仍然存在无法表示所有客观知识的问题,尤其面对日益增加的新知识,知识图谱很难对下游应用提供有力的支持。针对上述问题,知识图谱推理从知识库中已有的实体关系出发,利用已有的一个或多个知识经过计算推理建立实体之间的新关联,从而丰富知识网络,为知识图谱的补全任务提供解决方法。
3.如今,知识图谱推理模型可以分为单跳推理模型和多跳推理模型两类。单跳推理模型又称为基于三元组的推理模型,其目标是将知识图谱中的实体和关系用向量空间中的低维嵌入表示,通常定义得分函数来衡量三元组的正确性。单跳推理模型可以分为三类,分别是距离模型、张量分解模型和语义匹配模型:距离模型又称为平移模型,典型的算法包括transe,transr,rotate等,将知识图谱的每个关系表示为从头实体向量到尾实体向量的一个平移变换,模型通过最小化平移转化误差,将实体和关系映射到低维空间中;张量分解模型通过对基本张量分解算法进行改进和调整并加以应用,以rescal为代表,将关系张量通过特定技术分解为多个矩阵,利用这些矩阵构造知识图谱的低维嵌入表示;语义匹配模型利用实体和关系的相似度信息设计目标函数,在低维向量空间发现不同实体和关系潜在语义,distmult将知识图谱中的二元语义和三元语义进行匹配,quate在复向量表示基础上,提出超复空间的向量表示,并将实体和关系映射到该空间。对于知识图谱推理,单跳推理模型能够有效发掘实体和关系之间隐含的语义信息,相比于其他方法性能较好,但是可解释性较差。
4.多跳推理模型的目标是在知识图谱中找到与问题相关的多个三元组,并建模多跳长路径以寻找正确的答案。具体而言,给定问题三元组预测尾实体,模型不断根据头实体的邻域信息找到适合的下一跳三元组,直到推理结束。在推理结束时,模型提供可解释的推理路径。deeppath模型采用强化学习框架进行关系路径的推理,并在关系路径推理上展现了优秀的性能。minerva利用reinforce算法完成多跳推理任务。multihop在minerva模型的基础上,加入动作丢弃和奖励塑造方法,减小虚假路径对模型的误导。rlh引入分层强化学习框架模拟人的思维方式,将宏观操作分解为简单子任务,进而学习每个关系的潜在语义。针对知识图谱中的长尾数据,metakgr进一步将元学习引入多跳推理,使得模型面对少样本任务时可以快速学习一个较好的参数。针对稀疏知识图谱,dackgr提出动态预测策略和动态完备策略,在推理过程中引入额外的动作增加路径数。为了适应知识图谱动态增长,cpl将
多跳推理与事实抽取相结合,实现从文本中查找路径和提取事实。相比于单跳推理模型,多跳推理模型准确性有所降低,但有较好的可解释性,能够有效提供推理路径。
5.然而,基于强化学习的多跳推理方法仍然存在两个问题:(1)路径关联性较弱。由于强化学习在路径选择上采用随机采样,路径之间的关联性被削弱,导致路径的可解释性相比逻辑规则较差。(2)探索奖励难以确定。强化学习在一定程度上依赖于奖励的反馈,模型需要根据奖励的多少优化动作可能性的分布,而由于知识图谱环境的复杂性,模型通常难以给予恰当的奖励。


技术实现要素:

6.本发明所要解决的技术问题是:提供基于逻辑规则与强化学习的知识图谱推理方法,是一种利用逻辑规则优化强化学习路径奖励的方法,克服了现有的强化学习方法在知识图谱推理过程中探索奖励难以确定,导致的智能体探索效率低下的缺陷,提高了强化学习推理的精度,同时增强了路径的可解释性。
7.本发明解决该技术问题所采用的技术方案是:基于逻辑规则与强化学习的知识图谱推理方法,是一种利用逻辑规则优化强化学习路径奖励的方法,具体步骤如下:
8.第一步,强化学习状态建模:
9.(1.1)知识图谱三元组嵌入表示:
10.将原始三元组(s,r,o)数据输入嵌入方法中进行表示学习,利用打分函数公式(1)将其转化为向量表示形式。
[0011][0012]
其中es表示原始三元组中头实体s的嵌入表示,eo表示原始三元组中尾实体o的嵌入表示,rr是依赖于r的一个关系参数,和分别是es和rr堆叠而成的二维空间上的重构向量。*表示卷积操作,ω表示卷积层的过滤器。方法利用重构向量和作为卷积层的输入,ω作为卷积核,计算特征张量,之后将特征张量利用变换函数vec重构成向量,利用矩阵w进行线性变换,并通过内积匹配尾实体的嵌入eo。
[0013]
之后,将分数进行归一化处理,p=σ(ψr(es,eo)),其中σ表示sigmod函数。嵌入表示方法利用公式(2)的损失函数优化参数。
[0014][0015]
其中,t表示标签向量,若实体之间存在关系为1,不存在则为0。
[0016]
(1.2)历史路径信息表示:
[0017]
将探索的路径长度规定为t步,第t步的动作(r,e)根据上述(1.1)步的关系向量和实体向量进行向量化表示为a
t
=[r;e],利用公式(3)的长短期记忆网络(long short term memory network,lstm)存储历史路径信息。
[0018]ht
=lstm(h
t-1
,a
t-1
)
ꢀꢀꢀꢀ
(3)
[0019]
(1.3)强化学习状态组成:
[0020]
对上述(1.1)步实体和关系嵌入表示和(1.2)步的历史信息进行组合,利用公式(4)完成强化学习第t步的状态的构建。
[0021]st
=[rq;e
t
;h
t
]
ꢀꢀꢀ
(4)
[0022]
其中,rq表示要查询的关系的嵌入表示,e
t
表示第t步到达实体的嵌入表示,h
t
表示第t步探索的路径历史信息。
[0023]
至此完成强化学习状态的构建,得到在第t步的状态s
t

[0024]
第二步,将状态输入到强化学习策略网络中,用策略网络引导智能体在动作空间中进行探索,得到下一步动作的概率分布,采用随机抽样选择下一步的动作,进而进行下一步的路径探索:
[0025]
将上述第一步得到的在第t步的状态s
t
输入到强化学习策略网络中,利用公式(5)得到在t步时需要采用动作的概率分布。
[0026]
π
θ
(a
t
|s
t
)=σ(a
t
(w1relu(w2s
t
)))
ꢀꢀꢀꢀ
(5)
[0027]
其中,π
θ
(a
t
|s
t
)表示在s
t
状态下,动作空间中的所有动作的概率分布。σ表示softmax函数,w1和w2表示两个线性神经网络,relu表示激活函数。动作空间用于在s
t
状态下选择下一步需要采用的动作,动作空间的向量表示由动作空间内所有的动作堆叠组成,其中,d表示实体和关系向量的维度。之后,采用随机采样的方法,在动作空间中选择一个动作进行状态的转移,从而进行下一步的转移。
[0028]
第三步,利用逻辑规则优化强化学习奖励:
[0029]
对上述第二步进行探索t步之后,利用嵌入表示分数和逻辑规则置信度优化强化学习奖励。首先,判断得到的结果是否为期望的目标结果,如果与期望结果一致,则奖励为1,否则,根据推理过程和结果对于奖励进行优化,过程为:首先,对于搜索的结果根据公式(1)进行嵌入表示打分,得到嵌入奖励。之后,将推理路径与规则挖掘器得到的规则进行比对,以规则挖掘器得到的规则的置信度作为奖励,得到规则奖励。最后,将嵌入奖励与规则奖励进行加权结合,得到最终的奖励。
[0030]
第四步,利用奖励优化策略网络:
[0031]
对上述第三步得到的奖励进行衰减处理,进而第t步中得到的单步奖励可以表示为r
t
=γ
t
r(s
t
|es,r)。之后用公式(6)进行梯度下降优化策略网络参数。
[0032][0033]
其中,θ表示策略网络的参数,j(θ)表示在网络参数为θ时,模型可以得到的奖励期望。β表示学习率。v(st)表示状态价值函数,即从当前状态出发可以获得奖励的期望,状态价值函数公式为v(s
t
)=w3relu(w4s
t
),其中,w3和w4表示两个线性神经网络,relu表示激活函数。
[0034]
第五步,结合策略网络采用束搜索方法进行动作选择,实现知识图谱推理:
[0035]
将上述第一步输入的知识图谱三元组数据,取70%作为训练集,30%作为测试集。将训练集经过上述第一步到第四步的处理后,得到训练好的策略网络,再将测试集的数据经过上述第一步的处理后得到强化学习状态并输入到策略网络中进行预测,对于每一次策略网络输出的结果采用束搜索方法选择概率最高的动作,直到达到训练前规定的步数。由此实现知识图谱的推理。
[0036]
上述基于逻辑规则与强化学习的知识图谱推理方法,所述利用逻辑规则优化强化学习奖励是在原有命中奖励的基础上融合嵌入奖励与规则奖励,增加了逻辑规则作为引
导,利用公式(7)计算具体路径奖励。
[0037]reward
=r
hit
(1-r
hit
)(δr
emb
λr
rule
)
ꢀꢀꢀꢀ
(7)
[0038]
其中,r
hit
表示命中奖励,如果探索结果与预期一致,r
hit
为1,否则为0。r
emb
表示嵌入奖励,r
rule
表示规则奖励,δ和λ表示嵌入奖励和规则奖励对应的权重,为保证未命中的情况下奖励小于1,有δ λ=1。
[0039]
本发明的有益效果是:与现有技术相比,本发明的突出的实质性的特点和显著进步如下:
[0040]
(1)本发明方法在确定路径总体奖励时添加规则奖励,利用了逻辑规则可解释性强的特点,引导强化学习优先选择可解释性强的路径进行探索,提升了路径之间的关联性。
[0041]
(2)本发明方法在单步奖励的确定上,采用衰减因子区分不同步路径的重要程度,引入状态价值函数结合当前状态给予每一步不同的自适应奖励,克服了强化学习奖励难以确定的问题,提高了知识图谱推理的准确性。
附图说明
[0042]
下面结合附图和实施例对本发明进一步说明。
[0043]
图1为本发明方法的结构示意图。
[0044]
图2为本发明方法嵌入表示的结构示意图。
具体实施方式
[0045]
图1所示实施例表明,本发明方法的流程是:知识图谱三元组数据嵌入表示

将实体和关系嵌入融合历史信息得到强化学习状态

利用策略网络得到不同动作的概率分布

通过随机采样得到下一步需要的动作

根据最终推理结果,结合规则挖掘器挖掘出的规则计算最终路径奖励

通过衰减处理确定单步奖励,利用奖励优化策略网络

利用策略网络在训练集中采用束搜索方法实现知识图谱的推理。
[0046]
图2所示实施例表明,本发明方法中知识图谱三元组嵌入表示训练的流程是:将实体和关系进行初始化向量化表示并将结果进行堆叠。相比于一维卷积,二维卷积可以抽取到更多的特征,因此,对向量化的实体和关系嵌入进行重构和拼接操作,使这些向量转化为二维向量。之后,进行卷积操作,得到特征图。将得到的特征图经过全连接映射线性变换,得到隐藏层,之后与所有实体向量组成的实体矩阵相乘并经过sigmoid进行归一化处理,得到每个实体的匹配程度,选出候选目标与结果进行打分,进而利用损失函数优化实体和关系嵌入表示。损失函数的目标为最小化预测结果与期望结果向量之间的差距,使嵌入方法得到的结果更接近期望的结果。
[0047]
实施例1
[0048]
本实施例的基于逻辑规则与强化学习的知识图谱推理方法,是一种利用逻辑规则优化强化学习路径奖励的方法,具体步骤如下:
[0049]
第一步,强化学习状态建模:
[0050]
(1.1)知识图谱三元组嵌入表示:
[0051]
将原始三元组(s,r,o)数据输入嵌入方法中进行表示学习,利用打分函数公式(1)将其转化为向量表示形式。
[0052][0053]
其中es表示原始三元组中头实体s的嵌入表示eo表示原始三元组中尾实体o的嵌入表示,rr是依赖于r的一个关系参数,和分别是es和rr堆叠而成的二维空间上的重构向量,本发明采用的实体和关系嵌入向量维度为200。*表示卷积操作,ω表示卷积层的过滤器。方法利用重构向量和作为卷积层的输入,ω作为卷积核,本发明采用的卷积核的尺寸为3*3,计算特征张量,之后将特征张量利用变换函数vec重构成向量,利用矩阵w进行线性变换,本发明采用10368*200的线性变换,并通过内积匹配尾实体的嵌入eo。
[0054]
之后,将分数进行归一化处理,p=σ(ψr(es,eo)),其中σ表示sigmod函数。嵌入表示方法利用公式(2)的损失函数优化参数。
[0055][0056]
其中,t表示标签向量,若实体之间存在关系为1,不存在则为0。
[0057]
(1.2)历史路径信息表示:
[0058]
将探索的路径长度规定为t步,本发明采用的探索路径长度为3。第t步的动作(r,e)根据上述(1.1)步的关系向量和实体向量进行向量化表示为a
t
=[r;e],利用公式(3)的长短期记忆网络(long short term memory network,lstm)存储历史路径信息,本发明采用的lstm层数为3,历史信息维度为200。
[0059]ht
=lstm(h
t-1
,a
t-1
)
ꢀꢀꢀꢀ
(3)
[0060]
(1.3)强化学习状态组成:
[0061]
对上述(1.1)步实体和关系嵌入表示和(1.2)步的历史信息进行组合,利用公式(4)完成强化学习第t步的状态的构建。
[0062]st
=[rq;e
t
;h
t
]
ꢀꢀꢀꢀ
(4)
[0063]
其中,rq表示要查询的关系的嵌入表示,e
t
表示第t步到达实体的嵌入表示,h
t
表示第t步探索的路径历史信息。
[0064]
至此完成强化学习状态的构建,得到在第t步的状态s
t

[0065]
第二步,将状态输入到强化学习策略网络中,用策略网络引导智能体在动作空间中进行探索,得到下一步动作的概率分布,采用随机抽样选择下一步的动作,进而进行下一步的路径探索:
[0066]
将上述第一步得到的在第t步的状态s
t
输入到强化学习策略网络中,利用公式(5)得到在t步时需要采用动作的概率分布。
[0067][0068]
其中,π
θ
(a
t
|s
t
)表示在s
t
状态下,动作空间中的所有动作的概率分布。σ表示softmax函数,w1和w2表示两个线性神经网络,本发明采用的线性网络分别是600*200和200*200。relu表示激活函数。动作空间用于在s
t
状态下选择下一步需要采用的动作,动作空间的向量表示由动作空间内所有的动作堆叠组成,其中,d表示实体和关系向量的维度。之后,采用随机采样的方法,在动作空间中选择一个动作进行状态的转移,从而进行下一步的转移。
[0069]
第三步,利用逻辑规则优化强化学习奖励:
[0070]
对上述第二步进行探索t步之后,本发明中t取3,利用嵌入表示分数和逻辑规则置信度优化强化学习奖励,本方法中规则挖掘器采用anyburl方法。首先,判断得到的结果是否为期望的目标结果,如果与期望结果一致,则奖励为1,否则,根据推理过程和结果对于奖励进行优化,过程为:首先,对于搜索的结果根据公式(1)进行嵌入表示打分,得到嵌入奖励。之后,将推理路径与规则挖掘器得到的规则进行比对,以规则挖掘器得到的规则的置信度作为奖励,得到规则奖励。最后,将嵌入奖励与规则奖励进行加权结合,得到最终的奖励。利用公式(6)得到最终奖励公式。
[0071]reward
=r
hit
(1-r
hit
)(δr
emb
λr
rule
)
ꢀꢀꢀꢀ
(6)
[0072]
其中,r
hit
表示命中奖励,如果探索结果与预期一致,r
hit
为,否则为0。r
emb
表示嵌入奖励,r
rule
表示规则奖励,δ和λ表示嵌入奖励和规则奖励对应的权重,为保证未命中的情况下奖励小于1,有δ λ=1,本发明中δ=0.9,λ=0.1。
[0073]
第四步,利用奖励优化策略网络:
[0074]
对上述第三步得到的奖励进行衰减处理,进而第t步中得到的单步奖励可以表示为r
t
=γ
t
r(s
t
|es,r),本发明中γ取0.99。之后用公式(7)进行梯度下降优化策略网络参数。
[0075][0076]
其中,θ表示策略网络的参数,j(θ)表示在网络参数为θ时,模型可以得到的奖励期望。β表示学习率。v(s
t
)表示状态价值函数,即从当前状态出发可以获得奖励的期望,状态价值函数公式为v(s
t
)=w3relu(w4s
t
),其中,w3和w4表示两个线性神经网络,本发明采用的线性网络分别是600*200和200*200,relu表示激活函数。
[0077]
第五步,结合策略网络采用束搜索方法进行动作选择,实现知识图谱推理:
[0078]
将上述第一步输入的知识图谱三元组数据,取70%作为训练集,30%作为测试集。将训练集经过上述第一步到第四步的处理后,得到训练好的策略网络,再将测试集的数据经过上述第一步的处理后得到强化学习状态并输入到策略网络中进行预测,对于每一次策略网络输出的结果采用束搜索方法选择概率最高的动作,本发明中束宽度设定为100,直到达到训练前规定的步数,本发明的步数设定为3。由此实现知识图谱的推理。
[0079]
本实施例在umls数据集和nell-995数据集两个数据集上进行了实验。其中umls是医疗数据集为医疗数据集,包含实体135个,关系46个,事实5316个,数据集中实体的度数均值为38.6,度数中值为28。nell-995数据集是nell数据库的子集,主要为从网络中自动抽取的三元组。nell-995数据集中包含实体75492个,关系200个,包含事实个数154213个,数据集中实体的平均度数为4,度数的中值为1。本发明方法基于v3.6.0版本的python语言编写,深度学习框架采用pytorch,版本为1.5.1。cpu为intel(r)core(tm)i7-6600u,gpu为nvidia geforce rtx 2080ti,服务器内存128g,操作系统为linux。本实施例的平均倒数排名分别为0.955和0.754。
[0080]
为了验证本发明方法在知识图谱推理上的优势,本实施例选取目前使用较为广泛的五种知识图谱推理方法与本发明的基于逻辑规则与强化学习的知识图谱推理方法进行对比,五种知识图谱推理方法分别为:基于嵌入的方法:distmult、rotate;基于逻辑规则的方法:anyburl;基于强化学习的方法:minerva、mulithop。
[0081]
上述五种知识图谱推理方法与本发明的基于逻辑规则与强化学习的知识图谱推理方法进行对比的结果见表1。
[0082]
表1.不同方法在两个数据库上的知识图谱推理结果对比
[0083][0084]
表中的评价指标分别为平均倒数排名平均倒数排名(mean reciprocal rank,mrr)、hits@1、hits@3和hits@10作为评价指标。
[0085]
mrr表示推理尾实体在候选实体排名列表中排名倒数的平均值,计算公式为:
[0086][0087]
其中,m表示测试集中所有三元组个数,ranki表示对于第i个的三元组,推理的尾实体在所有候选实体中的排名。
[0088]
hits@1、hits@3和hits@10分别表示推理的尾实体在候选实体列表中命中为第1、前3和前10的比例,计算公式为:
[0089][0090]
其中,k∈{1,3,10},表示指示函数,当满足条件ranki≤k时,函数值为1,否则函数值为0。
[0091]
表1对比了本方法与目前常用知识图谱推理方法的实验情况,结果表明本发明方法在umls和nell-995数据集上均超过了其它知识图谱推理方法。
[0092]
上述实施例中,所述嵌入表示方法、规则挖掘器、强化学习方法、束搜索方法等都是本领域公知的。
[0093]
需要说明的是,本发明并不局限于上述具体实施方式中。在不脱离本发明原理的情况下,凡是本领域技术人员在本发明的启示下获得的其它实施方式,均视为在本发明的保护之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献