大纲
本体知识推理简介与任务分类
本体推理方法与工具介绍
实践展示:使用Jena进行知识推理
本体知识推理简介与任务分类
OWL本体语言
是知识图谱中最规范(W3C),最严谨(描述逻辑),表达能力最强的语言(一阶谓词逻辑的子集);
- 语法
RDF语法,三元组(SPO) - 逻辑基础:描述逻辑
描述逻辑(Description Logic)是基于对象的知识表示的形式化,也叫概念表示语言或术语逻辑。是一阶谓词逻辑的一个可判定子集。 - 描述逻辑系统
四个基本的组成部分:1)最基本的元素:概念,关系和个体;2)TBox术语集(概念术语的公理集合);3)ABox断言集(个体的断言集合);4)TBOx和ABox上的推理机制。 - 概念
解释为一个领域的子集,例如,学生:{x|student(x)} - 关系
解释为该领域上的二元关系(笛卡尔乘积),例如,朋友:{<x,y>|friend(x,y)} - 个体
一个领域内的实例,例如,小明:{Ming} - TBox——泛化的知识
描述概念和关系的知识,称之为公理 - ABox——具体个体的信息
ABox包含外延知识(又称断言(Assertion)),描述论域中的特定个体 - Tbox语言
定义:引入概念以及关系的名称
包含:声明包含关系的公理 - Abox语言
概念断言——表示一个对象是否属于某个概念
关系断言——表示两个对象是否满足特定关系 - 描述逻辑语义
知识推理任务
可满足性,分类,实例化
OWL本体推理
- 可满足性
本体可满足性
检查一个本体是否可满足,即检查本体是否有模型。
概念可满足性
检查某一概念的可满足行,即检查是否具有模型,使得针对该概念的解释不是空集
针对可满足性推理采用Tableaux算法 - 分类
针对Tbox的推理,计算新的概念包含关系 - 实例化
实例化即计算属于某个概念或关系的所有实例的集合
本体推理方法和工具介绍
基于Tableaux运算的方法
相关工具简介
- FaCT++
Java版本Jfact,基于OWL API - Racer
- Pellet
- HermiT
基于逻辑编程改写的方法
规则推理
- 本体推理的局限:
仅支持预定义的本体公理上的推理;
用户无法定义自己的推理过程 - 引入规则推理
可以根据特定的场景定制规则,以实现用户自定义的推理过程;
Datalog语言可以结合本体推理和规则推理。 - Datalog语言
面向知识库和数据库设计的逻辑语言,表达能力和OWL相当,支持递归;
便于撰写规则,实现推理 - 相关工具——KAON2
OWL推理机、本体管理API;
基于一阶消解原理;
针对大规模ABox进行优化 - 相关工具——RDFox
可扩展、跨平台、基于内存的RDF三元组存储系统;
支持并行Datalog推理,SPARQL查询
RDFox实践
基于一阶查询重写的方法
- 相关工具——Ontop
基于产生式规则的方法
- 产生式系统
一种前向推理系统,可以按照一定机制执行规则从而达到某些目标,与一阶逻辑类似。
应用:自动规划,专家系统 - 相关工具
Drools
Jena
RDF4J
GraphDB
Drools实战
基于并行技术的方法
实践展示:使用Jena进行知识推理
使用Jena完成实例图谱知识上的上下位推理、缺失类别补全和一致性检测等