一种联合逻辑规则和置信度的知识表示方法与流程

文档序号:20705350发布日期:2020-05-12 16:20阅读:493来源:国知局
一种联合逻辑规则和置信度的知识表示方法与流程

本发明涉及知识表示和知识推理领域,特别是一种联合逻辑规则和置信度的知识表示方法。



背景技术:

目前,基于逻辑规则的知识表示方法主要有amie、amie+和hornconcerto等等。这些方法主要采取应用推理规则到知识库中的手段,通过触发规则的前件来推导出新的事实。但这些基于逻辑规则的知识表示方法只考虑了知识图谱中的直接事实,忽略了知识图谱中逻辑规则隐藏的语义信息对于关系和实体的嵌入的重要影响。此外,针对不确定知识的知识表示方法有ar-transe,该方法虽然在知识表示时考虑了三元组的置信度信息,但同样忽略了规则蕴含的语义信息。并且该方法选取规则置信度的最大值作为新推理事实的置信度,不能很好地代表推理新事实的置信度。

信息量爆炸式增长的同时携带了大量的不确定性,现有的基于逻辑规则的知识表示方法不能很好地解决不确定性知识下的推理问题。并且现有的知识表示方法主要考虑知识图谱中的直接事实,忽略了逻辑规则蕴含的语义信息。同时,随着动态知识碎片的实时流入,现有模型未能很好地适应在动态知识图谱下的知识推理问题。



技术实现要素:

有鉴于此,本发明的目的是提出一种联合逻辑规则和置信度的知识表示方法,实现了不确定推理在动态知识图谱下的知识推理。

本发明采用以下方案实现:一种联合逻辑规则和置信度的知识表示方法,针对实时流入的动态知识碎片,若其已经存在于现有知识库中,则利用知识库训练好的模型进行知识推理;否则将其存入缓存区;当缓存区内数据满足预设条件时,将缓存区内的知识碎片加入知识库中,并对知识库重新进行模型训练。

进一步地,所述缓存区内数据满足的预设条件为:缓存区内的知识碎片个数与知识库大小的比例大于预设值时。

进一步地,所述对知识库重新进行模型训练具体包括以下步骤:

步骤s1:在知识库上使用规则挖掘算法挖掘出知识库的horn逻辑规则,为每条规则计算规则pca置信度;

步骤s2:应用挖掘出的horn逻辑规则,代入具体实例推理出新的事实三元组,根据规则的置信度结合概率软逻辑计算新推出的事实三元组的置信度;

步骤s3:针对由不同的规则推理出的同一事实,将该事实三元组的关系向量由不同规则的关系向量加权平均所取代,最后将融合逻辑规则语义信息的三元组联合置信度共同嵌入,提高知识表示的性能。

进一步地,步骤s1还包括:通过设置置信度的阈值过滤掉不可信的规则。

进一步地,步骤s2中,所述根据规则的置信度结合概率软逻辑计算新推出的事实三元组的置信度具体为:

根据软逻辑公式p(a∧b)=p(a)·p(b)计算出规则的规则置信度p(r)公式为:

p(r)=1-p(h1,r1,t1)p(h2,r2,t2)+p(h1,r1,t1)p(h2,r2,t2)p(h3,r3,t3);

式中,a和b表示两个逻辑表达式,(hi,ri,ti)表示一个事实三元组,其中,hi表示头实体,ri表示关系,ti表示尾实体,i=1,2,3;

由规则r推理出的新事实三元组(h3,r3,t3)的三元组置信度计算公式为:

进一步地,步骤s2还包括:通过设置三元组置信度阈值多滤掉不可信三元组。

与现有技术相比,本发明有以下有益效果:

1、本发明考虑了知识图谱动态变化的特性,提出动态知识碎片激活策略,在一定程度上减少了模型迭代训练的次数,降低了训练代价,通过暂存知识碎片等待触发激活阈值后重新训练模型实现了不确定推理在动态知识图谱下的知识推理。

2、现有的基于逻辑规则的知识表示方法不能很好地解决不确定性知识下的推理问题,并且现有的知识表示方法主要考虑知识图谱中的直接事实,忽略了逻辑规则蕴含的语义信息。本发明提出的算法联合逻辑规则和事实的不确定性共同嵌入,为每个关系和实体学习到更好的知识表示,通过规则的物化推理并结合概率软逻辑得到新的不确定事实以完善知识库,通过融合逻辑规则隐含的语义信息和事实三元组的置信度得分,能够充分利用逻辑规则蕴含的丰富语义信息对嵌入的影响,将其与事实置信度得分联合嵌入,完成更好地知识表示,提高知识推理的预测性能。

附图说明

图1为本发明实施例的方法框架示意图。

图2为本发明实施例的关系的上下文示例图。

图3为本发明实施例的逻辑规则示意图。

图4为本发明实施例的6种逻辑规则示意图。其中(1)-(6)分别为六种不同的逻辑规则示意图。

图5为本发明实施例的部分逻辑规则挖掘结果。

图6为本发明实施例的部分推理出的新事实四元组实例。

图7为本发明实施例的三种类型逻辑规则推理出同一事实p(x,y)示意图。

图8为本发明实施例的知识推理举例图。

具体实施方式

下面结合附图及实施例对本发明做进一步说明。

应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

如图1所示,本实施例提供了一种联合逻辑规则和置信度的知识表示方法,针对实时流入的动态知识碎片,若其已经存在于现有知识库中,则利用知识库训练好的模型进行知识推理;否则将其存入缓存区;当缓存区内数据满足预设条件时,将缓存区内的知识碎片加入知识库中,并对知识库重新进行模型训练。

在本实施例中,所述缓存区内数据满足的预设条件为:缓存区内的知识碎片个数与知识库大小的比例大于预设值时。

在本实施例中,所述对知识库重新进行模型训练具体包括以下步骤:

步骤s1:在知识库上使用规则挖掘算法挖掘出知识库的horn逻辑规则,为每条规则计算规则pca置信度;

步骤s2:应用挖掘出的horn逻辑规则,代入具体实例推理出新的事实三元组,根据规则的置信度结合概率软逻辑计算新推出的事实三元组的置信度;

步骤s3:针对由不同的规则推理出的同一事实,将该事实三元组的关系向量由不同规则的关系向量加权平均所取代,最后将融合逻辑规则语义信息的三元组联合置信度共同嵌入,提高知识表示的性能。

在本实施例中,步骤s1还包括:通过设置置信度的阈值过滤掉不可信的规则。

为了更好的对本实施例的步骤与原理进行说明,对以下定义进行说明。

问题定义:给定一定规模的语义网络知识库kb,通过不确定性嵌入获得每个实体和关系的向量表示。

定义1(rdf事实三元组,t):设t=(h,r,t)表示事实三元组,其中h表示头实体(headentity),r表示关系(relation),t表示尾实体(tailentity)。多个事实三元组t构成一个rdf知识库kb。

定义2(rdf事实四元组,q):设q=(h,r,t,w)表示事实四元组,其中其中h表示头实体(headentity),r表示关系(relation),t表示尾实体(tailentity),w表示事实三元组(h,r,t)对应的置信度(weight)。

定义3(rdf知识库,kb):设kb=(t1,t2,…,tn)表示以rdf事实三元组集合构成的有向连接图,其中ti=(hi,ri,ti)∈kb,hi表示事实三元组ti中的头节点,ti为尾节点,ri为一条连接头尾节点的有向边。

定义4(实体集合,e):设实体集e={e1,e2,...,en}=ehead∪etail表示包括头实体和尾实体的全体实体的集合,它描述了知识图谱中的所有实体,并且对应rdf中的实例集合。

定义5(关系集合,r):设关系集合r={r1,r2,...,rn}表示实体与实体之间的所有关系集合。

定义6(事实集合,f):设事实集合f={t1,t2,…,ti}表示知识库kb中的事实,每个事实由一个事实三元组t=(实体1,关系,实体2)组成。

定义7(不确定知识网络,ukn):设不确定知识网络unk=<e,r,w>,其中e表示entity(实体)的集合,r表示relation(关系)的集合,w表示对应事实三元组的weight(置信度)集合,即w:e→r,本发明用w(ri,j)=wi,j表示被某条边联结的两节点之间的置信度。

定义8(不确定性嵌入问题):给定一个不确定知识网络unk,不确定性嵌入问题的目标是为每个事实三元组t=(h,r,t)设计相应的置信度概率公式,从而为每个实体(h和t)和关系(r)学习到一个更好的低维度向量表示以最小化损失函数,使得每个三元组的预测置信度更好地符合知识网络中相应的置信度(w)。

定义9(关系的上下文,path(r)):给定一个关系r,把与r直接相连的h和t之间的多条关系路径path(r)记做r的关系上下文。即存在路径其中(r1…,rl)集合为r的关系上下文path(r)。图2所示为关系上下文的示例。其中,r-1表示一个关系的逆关系。根据上述定义,基于不确定性推理的带权上下文嵌入模型的第一阶段,本实施例遍历整个知识库kb,为每个实体和关系获取其上下文信息并存储,用于下节置信度计算。

大规模知识库由于规模庞大,人工提炼horn逻辑规则显然不现实,本实施例通过自动挖掘算法,发现描述知识库通用关系的规则。例如,本实施例可以挖掘出规则:该规则可以转换成逻辑规则示意图,如图3所示。其中,实线连接的实体表示知识库中已经存在的事实三元组,虚线代表通过该条规则可以推理得到的一条新的规则三元组。通过这样的闭式规则捕获了一个事实,即如果知道x住在哪里,y是x的妻子,那么可以推导出(大概率)y住在哪里。挖掘出此类逻辑规则,有以下几个方面优点:首先,在知识库上运用此规则,可以得到新的事实让知识库更完整;其次,这样的逻辑规则可以帮助检测知识库中的错误。例如知识库中包含a住在两个完全不一样的地方的事实实例,那么就很有可能存在错误。第三,规则可以帮助我们更好地理解数据。比如,结婚是一个对称关系,经常贸易的国家之间可能说的是同一种语言。

本发明的首要目的是利用逻辑规则挖掘算法挖掘这些通用规则,应用逻辑规则学习不确定事实以动态扩充知识库,提高数据完整性。接下来本实施例给出horn逻辑规则的相关定义。

horn逻辑规则的典型表现形式是一个蕴含式,由规则头h和规则体b1,…,bn组成,其表现形式为:缩写为

上述表达式可以用析取范式等效地表示为:

通过对连接规则的限制能避免许多具有完全不相关事实的规则进行挖掘,即要求规则之间要有联系,如果一个规则中的两个事实共享一个变量或一个实体,则它们才是连接的。此外,horn逻辑规则还要求规则是封闭的,如果规则中的变量至少出现两次,则该变量是封闭的,如果一个规则的所有变量都是封闭的,那么该规则就是封闭的。因此,horn逻辑规则的挖掘旨在挖掘此类闭式规则。

本发明结合大型知识库的horn逻辑规则挖掘算法hornconcerto,为后续知识表示阶段提供更多高质量的horn规则。由于挖掘出的规则存在置信度,引入规则置信度度量方法pca(partialcompletenessassumption)。为介绍pca计算方法,本实施例首先引入逻辑规则的支持度概念。

定义4-1支持度(support):支持度也可以理解为规则的重要程度,衡量了一条规则的证据量。即,挖掘出的规则必须高于给定的支持阈值,否则不能描述知识库中的通用规则,只满足个例情况,那么得出的结论就缺少可信度。horn逻辑规则的支持度表示同时满足规则头和规则体的事实三元组个数,其中z1,……,zm表示除x、y外的规则变量,计算公式如下(1)所示:

定义4-2规则置信度得分(confidence):大多数规则挖掘算法都是根据一定的分数对规则进行度量和排序。一个horn闭式逻辑规则可以用pca计算置信度得分,pca假设知识库满足开放世界假设(owa),即不存在在知识库中的事实正确性是未知的,不一定是错误的。因此,知识库中不存在的关系不能被当做负例,相反,只有当存在事实三元组(s,p,o1)时,(s,p,o2)才能被当做负例。规则置信度的计算公式定义如下公式(2)所示:

该公式表示置信度=支持度除以仅符合规则体的实例数目,式中,分子表示规则的支持度,分母中y’是除了y以外的规则变量。规则的置信度得分表示该规则的可信度,越接近于1,表示该规则越有可能是正确的。

假设p、q、r为关系,按照规则挖掘算法挖掘出的规则模式为:该规则表示实体x1和实体xn+1由关系q通过n跳路径规则连接推理出实体x1和实体xn+1通过p关系连接。更具体地,通过限制规则体的长度为1或2得到以下6种类型(1)-(6)的horn逻辑规则:

上述6种类型的规则通过转换成闭式逻辑规则示意图,可以得到图4。

最后,通过horn逻辑规则挖掘算法得到知识库中上述模式的逻辑规则,通过规则置信度得分公式计算每个规则的置信度,设置规则置信度阈值σ,从而过滤掉不可信的规则,部分逻辑规则挖掘结果举例如图5所示:

根据上节挖掘到的诸如此类的horn逻辑规则,通过规则的实例化,即将规则中的所有变量以常量替换,可以推理派生出新的事实三元组,动态更新知识库,使之变得更加完备。通过逻辑规则动态扩充训练集,训练集中包含了更多事实三元组的信息,使得知识推理任务更加准确。由于挖掘到的逻辑规则不是百分百正确,因此推理出的新的事实三元组也是不确定的。下面将介绍如何计算事实三元组的置信度得分。

本发明认为规则的置信度不能很好地度量一条事实三元组的置信度,因此引入概率软逻辑重新计算事实三元组的置信度得分。例如,一条规则的置信度应由三元组和的置信度通过逻辑蕴含式共同决定。本实施例用∧表示逻辑与,表示逻辑非,概率软逻辑计算方式如式(3)-(6)所示:

p(a∧b)=p(a)·p(b);(3)

p(a∨b)=p(a)+p(b)-p(a)·p(b);(4)

在本实施例中,步骤s2中,所述根据规则的置信度结合概率软逻辑计算新推出的事实三元组的置信度具体为:

根据软逻辑公式p(a∧b)=p(a)·p(b)计算出规则的规则置信度p(r)公式为:

p(r)=1-p(h1,r1,t1)p(h2,r2,t2)+p(h1,r1,t1)p(h2,r2,t2)p(h3,r3,t3);(7)

式中,a和b表示两个逻辑表达式,(hi,ri,ti)表示一个事实三元组,其中,hi表示头实体,ri表示关系,ti表示尾实体,i=1,2,3;

由规则r推理出的新事实三元组(h3,r3,t3)的三元组置信度计算公式为:

至此,对于给定目标关系r,在知识库中找到导致触发规则的规则体b(r),可以为每个推理出的新事实三元组添加置信度得分。其中,如果有多个推理规则推理得到同一个事实三元组,取计算三元组置信度得分的最大值。为三元组的置信度设置阈值β,低于阈值β的事实三元组则被认为是噪声三元组,即不可信的三元组。引入这样的噪声三元组会降低知识表示的性能,因此直接剔除。表1为推断出一条新事实teamplayssport(la,basketball)的示例。

表1计算新事实teamplayssport(la,basketball)的三元组置信度示例

如表1所示,三个不同类型的规则都推理出同一个事实三元组teamplayssport(la,basketball),本实施例最终选择置信度最大的得分作为teamplayssport(la,basketball)的最终置信度得分。其中,以表1第三行为例,规则的置信度0.9,知识库中已有事实atheleteplaysforteam(kobe,la)的置信度0.7和atheleteplayssport(kobe,basketball)的置信度0.8,通过式(8)得到新事实teamplayssport(la,basketball)的置信度为0.82。由此,类型(5)的规则推理出的事实置信度得分最大,最终teamplayssport(la,basketball)的置信度得分为0.82。但由于teamplayssport(la,basketball)这条事实三元组由类型(1)、(2)、(5)的逻辑规则均可以推理得到,表明不同类型的逻辑规则对该事实的知识表示均有不同程度的影响。实际上,规则路径等同于关系路径,因此参照定义9的关系的上下文,为新推断出的事实四元组存储关系的上下文信息,即不同类型的推理规则路径信息。图6为推理出的部分新的事实四元组的实例。

至此,通过动态扩充知识库后的知识表示能力已经优于原始知识库的知识表示能力。进一步,本发明通过上节计算出的不确定的事实三元组的置信度联合嵌入,提高知识推理的性能。

传统transe模型定义三元组的能量公式为:e(h,r,t)=||h+r-t||,e(h,r,t)的值越低表示该三元组越符合transe的平移假设。本发明认为学习更好的知识表示应该同时考虑每个三元组的置信度得分,更多地关注置信度高即更可信的三元组。因此三元组(h,r,t)的能量函数应该联合其置信度共同嵌入,提出优化目标函数如式(9)所示:

其中,γ>0是一个超参,(h,r,t,ω)是知识库中已有的事实四元组以及horn逻辑规则推理得到的正例四元组;(h’,r,t’)为负采样生成的负例三元组,即ukn’={(h’,r,t)|h’∈ukn}∪{(h,r,t’)|t’∈ukn}。本实施例试图降低正例三元组的能量函数得分,提高负例三元组的能量函数得分。联合置信度ω嵌入目标函数表示本实施例的模型更多地关注那些置信度更高即更可信的事实元组。其中,当(h,r,t)∈ukn时,ω的取值为知识库中该三元组的置信度得分;当(h,r,t)∈ukninferred时,ω的取值为式(8)中计算得到的该三元组的置信度得分。其中,ukninferred表示经过推理扩充后的ukn。

在考虑新推出的事实(h,r,t)的关系r的向量时,由于不同类型的规则都有可能推理得到相同的事实三元组,以表1为例本实施例可以得到图7。

即通过不同的规则路径都可以得到p(x,y)的事实,结合关系的多条逻辑规则路径即定义9的关系上下文信息,本实施例将上下文信息的关系向量加权平均以替代关系r的原始向量。即,设φ(r)表示(h,r,t)中关系r的向量表示,关系r的关系上下文为{r1,…,ri},ri={ri1,…,rik}为其中一条关系路径ri的k跳路径集合。φ(ri)的计算公式如式(10)所示,可以得到φ(r)的计算方式如式(11)所示。

其中,ω(h,ri,t)表示一条关系路径ri的权重,计算方式如式(12)所示:

特别的,随着知识碎片的动态流入,本发明设定知识碎片个数与知识库大小的比例来衡量知识碎片的语义丰富程度,比例越大表明知识碎片蕴含的语义信息越丰富,更能影响已有模型进行更优的知识表示。本实施例设定阈值ε,当kb’/kb的比例大于阈值ε时,将缓存区的知识加入知识库中一起重新训练模型。

即,针对实时流入的知识碎片,本实施例首先逐个判断知识碎片中的三元组元素是否存在于知识库中。若三元组的各元素在知识库中都能找到对应的向量表示,那么运用训练的模型进行知识推理;若三元组中有一个元素不存在于知识库中,则将三元组暂存缓冲区进行判断,如果满足激活策略阈值,则合并缓冲区和原有知识库中的知识重新进行规则挖掘、学习新事实和模型训练。否则,将动态流入的知识碎片留在缓冲区,等待下一批知识碎片的到来激活条件的触发。设计模型激活策略,在一定程度上减少了模型迭代训练的次数,降低了训练代价。

本发明运用于知识图谱下的知识表示和知识推理领域,通过基于向量的知识表示方法,为知识库的知识推理提供有效动力。目前大型的知识库虽然包含数十亿条关系,但知识库远远不是完整的,并且鲜少有现成的本体规则。因此,本发明通过实现大规模数据库规则挖掘算法hornconcerto和jelrc算法,进一步完成知识库的补全,更充分的利用知识。

首先,利用horn规则挖掘算法挖掘出闭式horn规则,例如:毕业院校(x,y)^所属国家(y,z)→国籍(x,z);其次,应用逻辑规则学习不确定事实;最后,联合逻辑规则和事实置信度共同嵌入进行知识表示,结合碎片化知识,不断更新迭代,不断完善知识库。如图8所示,图8为本发明实施例推理出来的新事实三元组。

以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1