一、早期知识表示简介
Horn逻辑
Horn逻辑是一阶谓词逻辑的子集,它的表达形式简单,复杂度低。
著名的Prolog语言就是基于Horn逻辑设计实现的。
描述逻辑:
描述逻辑是一阶谓词逻辑的可判定子集,用于描述概念,属性。对于术语知识库的构建提供了便捷的表达形式。
描述逻辑的知识库O:=<T, A>,T即Tbox,A即Abox
产生式系统
产生式系统是一种更广泛意义的规则系统,和谓词逻辑有关联,也有区别。
它其实就是一种if-then的逻辑:
框架 (Framework)
框架理论的基本思想:认为人们对现实世界中各种事物的认识都是以一种类似于框架的结构存储在记忆中。当面临一个新事物时,就从记忆中找出一个合适的框架, 并根据实际情况对其细节加以修改、补充,从而形成对当[图片上传中...(屏幕快照 2018-08-21 17.19.12.png-de21be-1534843169530-0)]
前事物的认识。
语义网络
二、基于语义网的知识表示框架
1. RDF
- Resource: 页面、图片、视频等任何具有URI标识符
- Description: 属性、特征和资源之间的关系
- Framework: 模型、语言和这些描述的语法
在RDF中,知识总是以三元组形式出现,即每一份知识可以分解为如下形式:
( subject (主) , predicate (谓) , object (宾) )
同时,RDF也可以是一个图模型,其表示形式如下:
(vertex, edge, vertex)
上面是实际意义来表示资源,但是在RDF中,资源往往被表示成URIs,可以理解成唯一确定的超链接,那么假设上面图中的资源可以用URIs来替代的话,就变成如下的样子:
使用命名空间来表示URIs:
由于不是有所有资源都是URIs这种形式,比如像字符串,可能就不需要每一个字符串都用一个唯一ID来表示,所以,可以直接使用字符串来表示这些值:
除此以外,还可以使用XML的形式来处理,例如:CCF ADL has one speaker Haofen and last 3 hours 这句话用XML的形式处理的话:
需要注意的是,RDF是数据模型,不是序列化格式,所以它不等同于XML之类的格式。
RDF允许空白节点,一个资源可以是匿名的,即不被URI标识,并标识为_: xyz,例如:Haofen是某一次KG讲座的讲者 这句话可以处理成:
2. RDF变种——带标注的RDF
就是用来说明是什么类型的知识
3. RDF变种——RDF Schema ( RDFS )
RDFS在RDF基础上提供了一个术语、概念等的定义方式,以及哪些属 性可以应用到哪些对象上。换句话说,RDFS为RDF模型提供了一个基本的类型系统。
上述三元组表示用户自定义的元数据Author是Dublin Core的元数据Creator 的子类。RDF Schema正是通过这样的方式来描述不同词汇集的元数据之间的关系,从而为网络上统一格式的元数据交换打下基础。
4. OWL
W3C于2002年7月31日发布了OWL Web 本体语言 (OWL Web Ontology Language) 工作草案的细节,其目的是为了更好地开发语义网。
OWL的三个子语言:
- OWL Lite
- OWL DL
- OWL Full
OWL词汇:
5. OWL2
6. SPARQL
是一种RDF的查询语言,可以对不同的数据集撰写复杂的连接 (joins),由所有主流图数据库支持,SPARQL Protocol and RDF Query Language。
基本上来说还是比较类似SQL
详见:http://www.w3.org/TR/rdf-sparql-query/
7. JSON-LD
JSON-LD是JavaScript Object Notation for Linked Data的缩写,是一 种基于JSON表示和传输互联数据 (Linked Data)的方法。JSON-LD描 述了如何通过JSON表示有向图,以及如何在一个文档中混合表示互 联数据及非互联数据。JSON-LD的语法和JSON兼容
JSON-LD处理算法和API (JSON-LD Processing Algorithms and API) 描述了处理JSON-LD数据所需的算法及编程接口,通过这些接口可以 在JavaScript, Python及Ruby等编程环境中直接对JSON-LD文档进行转 换和处理