知识图谱-推理 -- 潘登同学的KG笔记
前言
知识图谱的推理是知识图谱最核心的技术,有以下两个主要方向
- 如何表示和表述知识,进而完成推理(基于符号的推理)
- 通过表示学习、神经网络完成逻辑层面的推理(基于表示学习的推理)
什么是推理
- 通过已知的事实推理得出新的事实;
常见的推理方法
- 演绎: Topic-down logic,如事实是:周日我会去远足,已知今天是周日,那么今天我会去远足;从抽象规则和原因出发,推理最终结果的过程
- 归纳: Bottom-up logic, 如数学归纳法,从观察和原因出发,归纳抽象规则的过程
- 溯因: 我们知道下雨了草地就会湿,我们观察发现草地湿了,那么我们就推断出下过雨;从观察和抽象规则出发,寻找可能原因的过程
- 类比: 我们知道绵羊吃草,知道山羊也吃草,那么绵羊就与山羊很相似,那么绵羊有的属性可能山羊也会有,从个体到个体的推理过程
知识图谱推理的目标
- 利用图谱中已经存在的关联关系或事实来推断未知的关系或事实;
- 推理可以用于
- 补全缺失的属性
- 检测错误的描述
- 识别语义冲突以提升图谱的质量
- 在问答中,推理可以用来拓宽问句的语义
- 在推荐计算中,推理可以用来提升推荐的精准性和可解释性
知识图谱常用推理方法
符号推理VS向量推理
- 符号推理
- 显式知识表示,一般需要人工定义
- 推理过程依赖符号匹配,更适合精确推理场景
- 需要人工定义推理逻辑
- 无可解释问题
- 向量推理
- 捕获隐式知识,通过机器学习出的表示,需要训练语料
- 理过程通过向量计算完成,适合不确定推理场景
- 不需要人工定义推理逻辑
- 丢失可解释性
基于符号逻辑的推理
基于Ontology的推理
OWL本体推理
概念包含的推理
实例检测推理
一个实例检测推理的例子
典型本体推理算法:Tableaux算法
- OWL本体上实现的各种推理都可以用Tableaux算法来实现;
- Tableaux算法的基本思想是通过一系列规则构建Abox,以检测知识库的可满足性;
- Tableaux算法将概念包含、实例检测等推理都转化为可满足性检测问题来实现;
- Tableaux算法检查可满足性的基本思想类似于一阶逻辑的归结反驳(就是把假设扔到知识库中,如果与规则冲突,那么就是错的,否则成立);
声明规则
举例说明
OWL本体推理工具
基于Datalog的符号推理
本体推理的局限
- 主要实现了基于本体概念描述的推理,无法支持规则型知识的推理;
- 用户无法定义自己的推理过程。
引入规则推理
- 可以根据特定的场景定制规则,以实现用户自定义的推理过程;
- Datalog语言可以结合本体推理和规则推理;
- Datalog是面向知识库和数据库设计的逻辑语言,表达能力与OWL相当,支持递归,同时便于撰写规则,实现规则推理。
Datalog基本语法
Datalog推理举例
Datalog推理工具
基于产生式规则的推理
产生式系统
- 一种前向推理系统,可以按照一定机制执行规则从而达到某些目标,与一阶逻辑类似,也有区别
应用
- 自动规划
- 专家系统
产生式系统的组成
- 事实集合 (Working Memory)
- 事实的集合
- 描述对象: 形如(type attr1:val1, attr2:val2),Student name:Alice age:24
- 描述关系: 形如(basicFast relation: olderThan firstArg: John secondArg: Alice)
- 用于存储当前系统的所有事实
- 事实的集合
- 产生式/规则集合
- 产生式规则的集合: IF conditions THEN actions
- conditions又称为LHS(left Hand Side)
- 条件的集合,各条件之间是且的关系,当LHS中所有条件均被满足,该规则触发
- 每个条件形如(type attr1:spec1, attr2:spec2), 如Student age: > 20
- actions又称为RHS(right Hand Side)
- 动作的序列,执行时依次执行,动作种类如下
- ADD pattern:向事实集合中加入新事实pattern
- Remove i: 从事实集合中删除事实
- Modify i: 对事实的属性进行修改
- 推理引擎
- 模式匹配:用规则的条件部分匹配事实集中的事实,整个LHS都被满足的规则被触发,并被加入议程(agenda)
- 解决冲突:按一定的策略从被触发的多条规则中选择一条;
- 执行动作:执行被选择出来的规则的RHS,从而对WM进行一定的操作;
RETE算法
RETE算法是产生式规则中的常用推理算法,因为与一个规则匹配的事实有很多,数据库join计算复杂度很高;
- Rete 算法是一种启发式算法,不同规则之间往往含有相同的模式,因此在 Rete网络中可以共享 不同规则的条件部分。如果Rete网络中的某一个条件node 被 N 条规则共享,则算法在此节点上效率会提高 N 倍
- Rete 算法由于采用 AlphaMemory 和 BetaMemory 来存储事实,当事实集合变化不大时,保存在 alpha 和 beta 节点中的状态不需要太多变化,避免了大量的重复计算,提高了匹配效率
- 从 Rete 网络可以看出,Rete 匹配速度与规则数目无直接关系,这是因为事实只有满足本节点才会继续向下沿网络传递。
产生式系统的工具
总结
- 常见的基于符号的知识图谱推理方法有基于OWL的本体推理,基于Datalog的规则推理和比较传统的基于Rete算法的产生式规则推理。
- 基于符号表示的推理最大的优势是精确并具有可解释性,因而对那些规模可控,对知识表示的精确度要求比较高的场景更加有用。
- 这类基于符号表示的推理都是基于演绎逻辑的推理,对知识的表示和描述要求比较高,这增加了知识获取的难度,同时在知识库规模比较大时,推理的鲁棒性和效率都会降低。因此,当前更多的研究是基于大数据的推理实现;
基于表示学习的推理
基于嵌入学习的知识图谱推理
词嵌入模型
- 为知识图谱中的每个实体和关系都学习一个向量表示;
- 将离散的符号表示转换为连续的向量表示;
- 将推理转换为向量或矩阵之间的计算过程。
- 翻译距离模型: TransE、TransH、TransR、TransD、TranSparse、TransM、MianfoldE、TransF、TransA、KG2E、TransG、UM、SE模型等
- 语义匹配模型:包括RESCAL、DistMult、HoLE、ComplEx、ANALOGY、SNE、NTN、MLP、NAM模型等;
- 随机游走模型:包括DeepWalk、LINE、node2vec模型等;
- 子图汇聚模型:包括GCN、GAT、GraphSage模型等。
经典模型
嵌入模型的预测与评价(以TransE模型为例)
TransE的问题
- 无法处理一对多、多对一和多对多问题
为了解决TransE的问题,可以采用TransH将关系映射到另外一个超平面上,也可也采用TransR将关系映射到关系空间上去, 也可以采用TransD将关系矩阵进一步运算以区分头尾节点表示;
DistMult
Analogy
- Analogy是基于linear maps的假设,用矩阵$W_r$来表示关系,用乘法来表示真假得分
ComplEx
ConvE
RotaE
BetaE
强化学习框架下
稀疏性问题
总结
2019-2020的知识图谱经典嵌入推理模型
基于规则的关系推理
- 规则: 知识图谱中的规则可以用以下形式表示: $$ B_1 \land B_2 \land \dots \land B_n \to H $$ 其中$B_1 \land B_2 \land \dots \land B_n$表示规则的body部分,有n个原子构成,H表示规则的Head部分,由一个原子构成,每个原子A可以表示为$A=r(x,y)$的形式,其中r表示为原子的包含关系,$x,y$为变量
- PRA学习的路径也可以称为一条规则,又称路径规则 $$ r_1(x,z_1) \land r_2(z_1,z_2) \land \dots \land r_n(z_{n-1},y) \to r(x,y) $$
- 如果规则中的所有变量替换为具体的实体并保证每一个实例化后的原子都在图谱中,这样规则实例化后的结果成为规则的一个grounding
规则学习的几个统计指标
经典模型
PRA算法
AMIE
NeuralLP
DRUM
RuleE
利用规则增强知识图谱表示学习--IterE
总结
- 规则是包含更加复杂逻辑结构的知识,在很多实际的业务场景中,规则知识非常普遍。
- 传统的符号逻辑推理依赖人工构建这些规则,可扩展性不高,且不易于处理不确定的隐含知识,因此我们更多需要研究规则的自动学习方法。
- 单一依靠实体和关系的嵌入表示学习,不足以支持规则层面的推理能力;而传统基于符号搜索的规则学习方法(如PRA,AMIE)等也存在搜索空间过大的问题。
- 利用嵌入表示学习来实现规则学习能加速规则学习的过程,并让规则推理过程更易于捕获隐含的知识逻辑。
- 此外,考虑规则学习和嵌入学习的有机融合也是实现知识图谱推理的重要发展方向。
Ontology Embedding-本体概念层推理
Ontology Embedding
- Ontology Embedding的侧重于对本体中概念体系进行学习。
- 这包括类与类之间的关系,类与实例之间的关系,以及类与属性之间的关系等。
Ontology Embedding 与 KG Embedding的区别
- 本体嵌入和知识图谱嵌入本质上都是一种知识表示结构的嵌入,只不过嵌入的内容有所不同,本质上也没有严格的区分和界限。
- Onto Embedding侧重于Tbox概念层的表示学习,KG Embedding则更加侧重于Abox实例层的表示学习。
- 概念层的表示学习通常被用来增强实例层的学习效果,同时,实例层也被经常用来实现概念层,如本体axiom的学习。
EL Embedding
其他模型
Quantum Embedding
Onto2Vec&OWL2Vec
JOIE
MuPP
总结
核心问题是:给定一个知识图谱,里面有什么信息可以进行Embedding的学习,进而完成知识推理
- 传统的知识图谱嵌入模型仅能学习实体和关系的表示,但知识图谱中还有复杂的本体概念逻辑,例如类层次关系、Tbox的各种Axioms等等,于是才有了Ontology Embedding;
- 虽然图神经网络能发掘节点之间的关系,但是节点之间的关系仍不能完成推理,还需要深挖规则结构才能支持更高层次的推理
总结
- 在知识图谱上可以完成包括演绎推理、归纳推理、溯因推理(未介绍)、类比推理等多种推理形式,针对不同的问题需要可选择不同的推理技术。
- 演绎推理精确、可解释,但需要人工定义推理逻辑,缺乏可扩展性。归纳推理可充分利用大数据的优势,更多依靠机器来学习和总结推理逻辑,是当前知识图谱推理研究的主要关注点。
- 知识图谱归纳推理主要分为基于嵌入学习、基于规则学习和基于图神经网络等多种方法,这些方法各有优缺点,应综合运用,不能偏废。