对于知识图谱的关注可以分为两个方面:知识图谱的构建和基于知识图谱数据结构的应用。知识图谱的构建主要关注如何整合结构化、非结构化的数据,实现用统一的语义数据结构如三元组RDF形式的数据存储。基于知识图谱的应用主要关注如何从这种语义数据结构中挖掘、发现、推演出相关的隐藏知识或新知识或者实现更上层的应用如搜索、问答、决策、推荐等,具体可以参考《三个角度理解知识图谱》。本文主要讲一下基于知识图谱推理的关系推演(或者叫做关系预测),主要包括如下几个方面:
1、知识图谱推理的主要作用;
2、知识图谱推理的基本原理;
3、知识图谱推理的主要方法;
4、TransE算法理解
1、知识图谱推理的主要作用
针对知识图谱分析系统,需要考虑哪些具体场景能用到推理算法,根据目前了解,大致可以分为如下的几种情况:
- 大量数据表到知识图谱转化的时候,有部分数据是没有直接关联的,需要通过推理算法来进行类别标注/关系连接补全;
- 加载业务模型时,可以使用一些业务规则(或逻辑规则)进行推理,这些业务规则可以是常用人机交互流程的固化 ,也可以是用户编辑的业务规则;
- 使用分布式表示学习方法时,可以利用表示学习后向量做一些更高层次的应用,比如计算相似度来做搜索、推荐或输入其它机器学习算法中去,完成相关的分类、聚类、推荐等;
2、知识图谱推理的基本原理
知识图谱推理根据是否与业务相关,主要可以分为基于规则的推理和基于算法的推理。
(1)基于规则的推理
主要是通过业务本体框架中的相关约束来做相关的推理,比如类别推理、属性推理等。
- 想知道实体类别,而没有直接给出-----类别推理;
由底层类向高层类的推理(是底层类,则必是高层类)
- 通过关系的定义域和值域来推理(关系的定义域和值域是固定的,实例具有这种关系,则实例就是定义域或值域规定的类别)
(2)基于算法的推理
基于算法的推理可以分为很多种,基于路径的建模、分布式