基于图的知识表示方法

摘要:

​ 在知识表示方法的演进过程中,图模型因为其结构性、联想性、自然性、易于人类理解等优点,已经成为知识表示的基础模型。从框架表示法、语义网络表示法、逻辑程序标识法、语义网络表示法、语义网和知识图谱中,能够看到图模型在知识表示方法中的逐步演化历史。目前,基于图的知识表示方法主要聚焦在RDF数据模型和图属性数据模型两种类型。其中:

​ (1)RDF数据模型由从互联网领域发起,W3C制定了丰富的语义网技术栈作为知识表示的一个阶段性成果,并已经成为知识表示的事实标准;相关知识点在第1、2、3、4节中。

​ (2)图属性数据模型由工业界和学术界组成的关联数据基准委员会(LDBC)提出,并正在以属性图为基础对图数据模型、图查询语言进行标准化;相关知识点在第5节中。

一、 基于图的知识表示技术框架

1.1 语义网技术栈的发展过程

1.2 语义网技术栈的主要内容

二、RDF模型—RDF资源描述框架

2.1 RDF概述

  • RDF:资源描述框架(Resource Description Framework, RDF)是一种用于在Web中表示信息的通用语言,构建在XML语言标准之上,用于传递有关面向人类的资源结构信息。RDF的基础构建为“实体-属性-取值”三元组,该三元组被称为声明(Declaration)。

  • RDF-S:RDF是一种通用资源描述框架, 不针对任何特定领域,因此对用户而言必须自行定义三元组声明中使用的术语。W3C的语义网技术栈提供了专门的RDF-S(RDF Schema)标准,以便用户能够精确定义所需词汇表。

  • RDFa:为是网页自身具备语义描述能力,W3C还定义了RDFa标准,通过为XHTML增加若干语义属性,形成语义能力,以方便外部通过对网页的直接访问和解析获得网页语义信息。

2.2 RDF 中的基本要素

  • 资源:
    • 即知识表示中的“实体”或“对象”
    • 每个资源都由一个唯一的URI来做标识符
  • 属性:
    • 即知识表示中的“关系”,是一类特殊的资源,用于描述资源之间的关系,如: “located in”
    • 属性也由一个唯一的URI作为标识符,可以通过URI获取其描述信息
  • 事实陈述(或声明):
    • 声明断言了资源的属性
    • 声明的形式为:<实体-属性-取值>三元组
    • 属性取值要么是一个资源URI,要么是一个文字(literal)。文字必须是原子值,如:数字、字符串或日期。
    • 通常
      • 使用主语一词来指称三元组里的实体
      • 使用宾语来指称其属性取值。
    • 例如,对于声明 “Baron Way Building is located in Amsterdam”,可以由以下三元组声明:
1
2
3
- 资源URI:<http://www.semanticwebprimer.org/ontology/apartments.ttl#BaronWayBuilding> 
- 属性URI:<http://dbpedia.org/ontology/location>
- 属性取值URI:<http://dbpedia.org/resource/Amsterdam>

2.3 RDF图的图形化表示法

  • RDF图定义为三元组(S,P,O)的有限集合

  • 每个三元组表示是一个事实陈述句,S是主语、P是谓语、O是宾语

  • 三元组(S,P,O)表示两类事实陈述:

    • S与O之间具有联系P
    • 或表示S具有属性P,且其取值为O
  • RDF图的正式定义:

    • 设U、B和L为互不相交的无限集合,分别代表URI、空顶点(blank node)和字面量(literal)。一个三元组 (SPO)(UB)×U×(UBL)(S,P,O)\, \in(U \cup B)\times U \times (U \cup B\cup L) 称为RDF三元组。其中,S为主语,P为谓语,O为宾语。RDF图G是RDF三元组的有限集合。
  • RDF图中的基本图例:

  • 用椭圆表示资源,用矩形表示字面量或属性值,用有向边表示联系或属性

  • 有向边及其连接的两个顶点构成一条三元组,尾顶点是主语,边标签是谓语,头顶点是宾语

  • 资源类型也是资源,其与相连接的资源之间构成Is-a的联系,用内置谓语rdf:type标记

    • 如:下图中三元组(James_Cameron,rdf:type,Director)表示James_Cameron是导演
  • 字面量或属性值需遵循标准数据类型定义

    • 如:字符串(放在双引号中)、整型(如:195)、浮点型(如:1.79E9、2.0E8)、日期(如:
      1954-08-16、1974-11-11和1975-10-05)

  • 上图所示RDF图,描述了一个电影知识图谱。其中包括以下三元组集合:
1
2
3
4
5
6
7
8
9
10
11
- G={
(James_Cameron,rdf:type,Director),(James_Cameron,name,"James Cameron"),
(James_Cameron,birthDate,1954-08-16),(James_Cameron,networth,1.79E9),
(James_Cameron,directs,Titanic),(James_Cameron,acts_in,Titanic),
(Titanic,rdf:type,Movie),(Titanic,label,"Titanic(1997 film)"),
(Titanic,budget,2.0E8),(Titanic,length,195),
(Leonardo_DiCaprio,rdf:type,Actor),(Leonardo_DiCaprio,name,"Leonardo DiCaprio"),
(Leonardo_DiCaprio,birthDate,1974-11-11),(Leonardo_DiCaprio,acts_in,Titanic),
(Kate_Winslet,rdf:type,Actor),(Kate_Winslet,name,"Kate Winslet"),
(Kate_Winslet,birthDate,1975-10-05),(Kate_Winslet,acts_in,Titanic)
}.
  • 从数据模型角度看,RDF图是一种特殊的有向标记图。与普通有向标签图相比,RDF图的特殊性在于:

其三元组集合的本质使得一个三元组中的谓语也可作为另一个三元组的主语或宾语,反映在有向标记图中,即边亦可作为顶点,顶点与边交集非空。

2.4 RDF图的文本表示法

  • RDF的文本表示有两种形式:
    • Turtle:一种RDF的简易文本语法,后缀名为 “.ttl”

    • RDF/XML:一套基于XML的RDF文本语法

2.5 RDF-S模式框架

​ 由于基础的RDF没有定义资源和属性类型以及类型之间继承的能力(即定义模式Schema的能力),W3C在RDF基础上,扩展了RDF-S模式框架,提供了描述应用程序专用的类和属性的一个表示框架。主要定义了以下预定义词汇(关键字):Class, subClassOf, type, Property, subPropertyOf, Domain, Range。

  • RDF-S本身不提供实际应用程序的专用类和属性,只提供定义类和属性的语法
  • RDF-S中的类与面向对象编程语言中的类非常相似,使得资源能够作为类的实例和子类来被定义
  • RDF-S在实体关系推理基础上,增加了资源类型等新的推理的能力

2.6 RDFa语法框架

​ 为了使网页自身具有语义,W3C为XHTML扩充了若干语义属性,定为RDFa语法框架

  • RDFa:一套扩充了XHTML属性,使XHTML具有RDF描述能力的文本语法框架

2.7 开放世界假设

​ RDF资源描述框架,最终目的是实现在开放世界假设中,知识可以分布式的表示、存储和共享发布,遵循RDF的知识,可以被自动理解和抽取,并自动合并为更大的知识图谱。

三、RDF模型—OWL本体语言描述框架

3.1 为什么还要OWL框架?

​ RDF虽然经过RDFS扩展,实现了模式定义能力,但人们还是觉得其表达能力有限,因此,又提出了OWL(Web Ontology Language),基于描述逻辑(Description Logic)在RDFS基础上又做了扩展,添加了额外的预定义词汇。OWL提供快速、灵活的数据建模能力和高效的自动推理。详情参见OWL标准

3.2 OWL增加的主要表达构建

3.3 OWL的三个使用场景

​ 由于不同的使用场景,对模式的定义需求不同,OWL标准建议了三种比较典型的应用场景,三者合起来为OWN2的全集。

  • OWL 2/EL :本体结构中有大量相互链接的类和属性,设计者想用自动推理机得到里面复杂的关系。
  • OWL 2/QL:有大量实例数据。OWL 2 QL本体可以被改写为SQL查询,适用于使用OBDA(ontology based data access)方式来访问的关系数据库。也就是说我们不用显式地把关系数据库中的数据转为RDF,而是通过映射的方式,将数据库转为虚拟RDF图进行访问。
  • OWL 2/RL:需要结合基于规则的推理引擎(rule-based reasoning engine)的场合

3.4 基于OWL的推理

知识图谱的推理主要分为两类(详细内容放在知识推理部分梳理):

  • 基于本体的推理

  • 基于规则的推理

3.5 常见的OWL推理机

3.6 OWL与描述逻辑

​ OWL的理论基础是描述逻辑:

​ (1)OWL是⼀种⽤来定义概念、描述客观事物以及这些事物之间关系(即本体)的语⾔,是⼀阶谓词逻辑的可判定⼦集。

​ (2)在知识图谱实践过程中,经常会发现简单三元组的表⽰⽆法满⾜语义表⽰的需求,OWL为更加深度的语义表达提供可供参考的表达能⼒和可选⽤的表达构建。

​ (3)描述逻辑可以为知识图谱的表⽰与建模提供理论基础。描述逻辑之于知识图谱,好⽐关系代数之于关系数据库。做好知识图谱也需要理论与实践兼顾。

四、RDF模型—Web Schema与Semantic Markup

4.1 Web Schema

  • Web Schema是⾯向Web的数据Schema标准,⼈们可以利⽤Web Schema向⽹页增加元数据或Semantic Markup,以便于从⽹页中抽取结构化数据。
  • Web Schema由标准第⼀(1996年起)过渡到数据第⼀(2004年起)再发展为⽤户第⼀(2008年起)。2011年出现了schema.org

4.2 RDFa: 早期标准

如前述,RDFa是最早期在网页中嵌入知识表示语法的标准。

4.3 HTML5 Microdata

Microdata微数据,是在⽹页标记语⾔中嵌⼊机器可读的属性数据

  • 微数据使⽤可以来⾃⾃定义词汇表、带作⽤域的键/值对给DOM做标记
  • ⽤户可以⾃定义微数据词汇表,在⾃⼰的⽹页中嵌⼊⾃定义的属性
  • 微数据是给那些已经在页⾯上可见的数据施加额外的语义
  • 当HTML的词汇不够⽤时,使⽤微数据可以取得较好的效果

4.4 Schema.org

  • 致力于在⽹⻚、邮件、应⽤程序等更多范围内嵌⼊语义数据

  • 截⽌2016年,全球约有1.2亿的⽹站,超过30%的⽹⻚已经嵌⼊有Schema.org的语义数据

  • ⾕歌2015年12⽉推出的Cutomizable Knowledg Graph,允许各⽹站基于Schema.org,以RDFa, JSON-LD, HTML Microdata等⽅式在⽹⻚、邮件等数据源中嵌⼊语义化数据,⽀持个⼈和企业定制⾃⼰的知识图谱信息

4.5 cnSchema.org

  • cnSchema.org是⼀个基于社区维护的开放的知识图谱Schema标准
  • cnSchema的词汇集包括了上千种概念分类(classes)、数据类型(data types)、属性(propertities)和
    关系(relations)等常⽤概念定义,以⽀持知识图谱数据的通⽤性、复⽤性和流动性
  • 结合中⽂的特点,复⽤、连接并扩展了Schema.org,Wikidata, Wikipedia等已有的知识图谱Schema标准
  • 为中⽂领域的开放知识图谱、聊天机器⼈、搜索引擎优化等提供可供参考和扩展的数据描述和接口定义标准

4.6 IoT与Web Schema

​ Semantic Markup会更加⼴泛的被植⼊到⽹页、App、邮件和各类传感器当中。

​ 知识表示方法天生就是为机器自动抽取使用的,将来Web Schema在IoT系统中机器与机器之间的相互理解和交流沟通,以及流式数据的语义化。

五、属性图模型表示框架

​ 关联数据基准委员会(Linked Data Benchmark Council,简称LDBC)在⼯业界的工程实践中,数据库内部模型往往采用另外一种有向标记图–属性图,而将RDF或OWL作为一种数据交换格式(属性图在知识存储和图数据库部分梳理)。在此参考陈华钧教授的PPT,列出以下几点不同:

  • 属性图由于其建模更多考量实⽤场景需求,并针对图查询做性能优化,因此在⼯业界有⽐较多的实践;
  • 但属性图缺乏形式化基础,不利于推理的实现;
  • RDF是更多考量了互联⽹知识发布需求的模型,RDF作为⼀种知识图谱表⽰框架的参考标准,向上对接OWL等更丰富的语义表⽰和推理能⼒,向下对接简化后的属性图数据库以及图计算引擎,是最值得重视的知识图谱表⽰框架。

六、总结

(1)当前基于图的知识表示方法主要有RDF模型和属性图模型两大类,其中:RDF模型标准统一、描述能力强使用比较广泛,而属性图模型则由于简单灵活、实现代价小,为工业界在图数据库中广泛采用;

(2)RDF模型以及在其基础上扩展的RDF-S、OWL等语义网技术栈,具有更强的知识表示、描述逻辑和支撑推理的能力,同时也作为交换格式广泛使用;

(3)知识表示模型直接决定了其推理能力,RDF-S、OWL不仅支持实体之间的关系推理,同时还在模式或本体层面同时提供推理能力,亦即在知识抽象层面推理能力也较强;

(4)知识表示的最终极目的是实现人工智能,而IoT是机器构成的网络,直觉上两者之间能够形成融合,通过分布式知识表示、存储和发布,实现真正的机器智能;

(5)与UML为软件的建模提供通用语言类似,语义网技术栈为知识建模提供了通用语言,因此,和软件建模相似,学习和掌握OWL只是掌握了工具,更重要的是如何利用OWL去为领域知识库建立本体,千万不要陷入为语言而学语言的境地。

(6)目前可用的知识建模工具有:protégé、SemanticWorks()、TopBraid Composer、WSMT等,其中protégé、TopBraid Composer具有一定的本体推理能力。

七、参考资料

(1)浙大陈华钧老师

(2)W3C,(2004)OWL Web Ontology Language Guide

(3)What is protégé?

(4)A Practical Guide To Building OWL Ontologies Using Protege 4 and CO-ODE Tools

(5)Ontology Development 101: A Guide to Creating Your First Ontology