语义Web简单综述(XML、RDF、OWL、知识库、知识图谱)

摘 要

随着Web技术的发展,传统万维网正向着语义Web发展。语义Web试图让Web上的信息具有语义,能够被机器理解,使得Web上信息的获取更加智能快捷。本文在全面阐述语义Web基本概念和体系结构的基础上,研究和讨论了语义Web构建过程中的关键技术,包括XML、RDF和OWL,最后对语义Web的发展应用以及面临的问题和挑战进行了讨论。
关键词: 语义Web;XML;RDF;OWL;知识库;知识图谱

1 引言

随着计算机技术的发展,人类已经进入互联网时代,享受着互联网提供的便利。Web技术作为互联网发展的标志性技术,正经历着快速的演进与发展, 以文档互联为特征的传统Web正向着数据互联的语义Web演变。目前我们使用的Web是面向人的网络,Web更多的是组织、呈现、共享信息的媒介,Web并不能理解数据表达的含义,因此很多繁琐的过程都需要人类参与。面对目前网页爆炸式增长,人们快速准确地获取有价值信息的难度越来越大。考虑到传统Web存在的问题,Web之父Berners-Lee于1998年提出了语义Web的概念,至此掀开了语义Web研究的热潮。在语义Web中,信息具有明确的含义,使得计算机和人类能够更好的合作[1]。W3C标准化组织一直致力于改进、扩展和规范化语义Web的体系结构,许多语义Web技术得到发展,比如RDF、OWL、SKOS和SPARQL等。语义Web技术允许人们在Web上创建数据存储,建立词汇表,并编写处理数据的规则。
本文对语义Web的基本概念、体系结构以及关键技术进行了学习研究,并重点探究了语义Web的关键技术,以此加深对语义Web的理解与认识。本文组织结构安排如下:第二章从传统Web的不足开始逐步引出语义Web的概念;第三章将对语义Web的体系结构进行介绍;接着在第四章中重点讨论其中的关键技术及其发展;第五章将结合案例对语义Web的发展与挑战进行总结;最后对语义Web相关知识进行总结。

2 语义Web基本概念

互联网的发展改变了人们的生活方式和商业运作的方式,带来了翻天覆地的社会变革。21世纪,Web已经成为人们获取信息最主要的渠道,人们在Web上浏览国内外新闻、关注时事热点、进行网上交易、搜索查询资料等。Web上互联的文档编织成了一张巨大的网络,我们遨游其中,享受着其带来的便利。但是,在信息爆炸的当今时代,Web上的网页数量呈指数级增长,传统Web人机交互性弱的缺点被无限放大。语义Web的提出为这一问题的解决提供了出路。

2.1 万维网现状

当前的Web是一种面向人的网络,很多繁琐的过程依旧需要人工的参与。以搜索引擎为例,目前的搜索引擎主要依靠关键字匹配,因此存在如下问题:1)高匹配、低精度,搜索出来的内容中往往参杂着大量不相关文档。2)检索结果对词汇高度敏感,不同的关键字会返回不同的搜索结果,即使是语义上相似的关键字。3)检索结果是单一的网页,搜索返回结果以网页为单位,分布在不同网页的信息往往需要用户给出多个查询来收集相关信息。此外,即使搜索引擎返回 了用户期望的内容,用户仍然需要自己浏览网页,从中提取需要的信息。以上这些缺点,都增加了用户获取信息的成本。不仅仅是搜索引擎,所有的传统Web应用在面对越来越大的网页数量、越来越复杂的Web数据结构时,都显得力不从心。
究其原因是因为Web上的内容是面向人而不是面向机器的,因而机器无法理解Web上的内容。在机器看来,Web上的内容都只是普通的二进制数据,数据背后的含义机器无法理解,因此无法实现Web内容的自动处理。Web之父Berners-Lee在万维网建立之初就预见了问题的存在,并提出了语义Web的蓝图。

2.2 语义Web的概念

Berners-Lee对于语义Web的最初描述如下:
“I have a dream for the Web [in which computers] become capable of analyzing all the data on the Web – the content, links, and transactions between people and computers. A “Semantic Web”, which makes this possible, has yet to emerge, but when it does, the day-to-day mechanisms of trade, bureaucracy and our daily lives will be handled by machines talking to machines. The “intelligent agents” people have touted for ages will finally materialize.” [2, p.157]
Berners-Lee关于语义Web的构想是宏伟的,同时也是难以实现的。目前广泛认为语义Web是万维网的扩展,根据W3C的定义:语义Web提供了一个通用框架,允许在应用程序,企业和社区之间共享和重用数据。因此我们可以认为语义Web是具有语义支持的万维网,是对现有万维网的延伸和扩展,其提供了整合不同来源的数据的通用格式和记录数据与现实世界对象对应关系的语言,其目标是使得机器能够理解Web上的内容,并能够进行一定的推理,促进高效的信息共享和机器智能协同。

3 语义Web的体系结构

语义Web栈(Semantic Web Stack),也称语义Web层次蛋糕(Semantic Web Layer Cake),用于直观的展示语义Web的体系结构。各个组件之间的功能和关系如下图所示:

语义Web简单综述(XML、RDF、OWL、知识库、知识图谱)_第1张图片

Unicode + URI,是语义Web的基础层,包含Unicode和URI。其中Unicode用来对Web上的内容进行统一编码。URI即统一资源标识符,用于给Web上的资源一个唯一的标识。
XML,是语义Web的语法层,核心是XML。XML是一种可扩展标记语言,通过标签的形式组织数据,标签的嵌套结构定义了文档中数据的关系。XML没有固定的标签集,标签由用户自行定义,因此XML非常的灵活,可以将其作为标记语言的元语言。同时XML还定义了命名空间(Name Space)和XML模式规范(XML Schema),对XML文档的标签和结构提供约束。XML特别适合数据存储、传输。
RDF,是语义Web的数据交换层,核心是RDF。RDF是一种数据模型,用来描述Web上资源以及资源之间的关系,其目标是建立一种描述网络资源的通用框架。RDF解决了XML语法不具备语义描述能力的问题,一个RDF数据模型能够采用多种语法进行描述,比如:RDF/XML、N3、Turtle和RDFa等。
RDF Schema,RDF Schema是RDF的扩展,规定了用于描述RDF资源的属性和类的词汇表,并且提供了属性和类在语义上的层次结构。
OWL,是语义Web的本体层。该层用于帮助用户构建领域相关的轻量级本体。OWL在RDF Schema的基础上了增加了更多的描述类和属性的词汇,比如类不相交性、基数约束、类的布尔组合,更加丰富的属性和属性性质以及枚举类。
RIF,是语义Web规则交换格式。其采用XML语言表达Web规则,因此能够被计算机执行。RIF提供了多种版本,称作方言,包括RIF基本逻辑方言(RIF-BLD)和RIF产生式规则方言(RIF PRD)。
SPARQL,是RDF查询语言,即数据库的语义查询语言,能够检索和操作以RDF格式存储的数据。
Logic + Proof + Trust,是语义Web的逻辑层、验证层和信任层。逻辑层提供了公理和推理规则,在前面各层的基础上进行逻辑推理操作。验证层对推理结果进行验证,证明其有效性。信任层通过Proof交换以及数字签名,建立一定的信任关系。
目前,语义Web的体系结构仍然处在建设阶段,研究者和W3C等相关组织还在研究制定相关规范、开发相关工具和软件包。

4关键技术

语义Web的实现依赖于三大关键技术:XML、RDF和Ontology。本章将分别探讨这三种技术。

4.1 XML

XML(eXtensible Marked Language,即可扩展标记语言)是一种标记语言[3],用于传输和存储数据。XML不仅能描述了文档的每一成分,也描述了文档成分之间的结构信息。与HTML不同,XML没有固定的标签集,由用户自定义适用于特定应用的标签,这大大提高了XML的可扩展性。代码1是一个XML文档的实例:


<note>
   <to>Georgeto>
   <from>Johnfrom>
   <body>Hello world!body>
note>

第一行是XML声明,定义了XML的版本(1.0)和使用的编码(UTF-8)。下一行开始是对文档的描述,其中标签是根元素,包含3个子元素(to,from,body),最后一行定义了根元素的结尾。元素note、to、from和body完全由用户自行定义,但我们依旧能轻松的理解其表达的含义,同时其清晰的嵌套结构也非常适合机器自动处理,比如利用XPath对XML进行查询,利用DOM和SAX对XML进行解析。
自定义标签集提高了XML的可扩展性,但不同应用之间的交互必须对标签集进行约定。XML允许用户通过XML模式来定义标签集,XML模式为XML文档提供了一种约束机制,限定XML文档所能使用的元素名和属性名,同时也对文档结构进行了约束,限定属性的取值范围,元素之间的嵌套关系。常用的XML模式主要有DTD(Document Type Definition)和XML Schema。DTD相对陈旧,并且限制较多,XML Schema基于XML语法,并且提供了扩展的可能性,也因此XML Schema应用更为广泛。代码2展示了XML Schema的一个实例:


<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="note">
   <xs:complexType>
      <xs:sequence>
         <xs:element name="to" type="xs:string"/>
         <xs:element name="from" type="xs:string"/>
         <xs:element name="body" type="xs:string"/>
      xs:sequence>
   xs:complexType>
xs:element>
xs:schema>

元素是每一个XML Schema的根元素,元素定义的语法是:。“name”指定了元素的名称,“type”指定了元素的类型,XML Schema拥有很多内置数据类型,同时也可以自定义数据类型,如代码2例子所示,自定义了一个complexType类型,包含3个元素(to,from,body),每个元素的类型都是内置类型”string”。标签指定了3个元素必须按序出现。
为了解决命名冲突的问题,XML引入了命名空间(Name Space),即在每个元素名前加上前缀,构成如下格式:“前缀:元素名”,其中“前缀”就代表命名空间,所以需要首先对命名空间进行声明,形式如下:“xmlns:前缀=”位置””,如代码2所示,我们声明了命名空间”xs”并在每个元素中使用。

4.2 RDF

XML通过标签和标签的嵌套结构给用户提供了一种良好的组织数据的方式,因为其强大的可扩展性和可解读性,XML逐渐成为数据存储和传输的第一选择,成为语义Web的支撑。然而,XML并不具有语义描述能力。为此,W3C于1999年提出了RDF(Resource Description Framework,即资源描述框架)用来解决XML的局限,2004年2月RDF正式成为W3C推荐标准,目前最新的RDF版本是2014年推出的RDF 1.1。
RDF是一种描述资源信息的框架,资源可以是任何东西,包括文档、人、物理对象和抽象概念[4]。RDF由三部分组成:RDF Data Model、RDF Schema和RDF Syntax。RDF Data Model允许用户用陈述(statement)的方式对资源进行描述,每个陈述的格式如下:

一个RDF陈述描述了两个资源之间的关系,主语(subject)和宾语(object)分别指两个资源,“predicate”表达了这个资源之间的关系,关系以有向的方式表达(从主语到宾语),因此在RDF中关系也被称作属性(property)。因为每个RDF陈述包含三个元素,因此RDF陈述也被称作RDF三元组(triples)。下表1展示了RDF的一些实例:

<Bob> <is a> <person>
<Bob> <is a friend of> <Alice>
<Bob> <is born on> <the 4th of July 1990>
<Bob> <is interested in> <the Mona Lisa>
<the Mona Lisa> <was created by> <Leonardo da Vinci>
<the video 'La Joconde à Washington'> <is about> <the Mona Lisa>

同一个资源通常会在多个三元组中出现,一个资源可能在某一三元组中是主语,但在另一个三元组中可能是宾语,这使得三元组之间可以进行连接。我们可以通过有向图可视化各个三元组,有向图中,节点表达主语或谓语,有向边表示谓语,下图2以图的形式展示了表1中展示的各RDF三元组。
语义Web简单综述(XML、RDF、OWL、知识库、知识图谱)_第2张图片

一旦我们构建如图所示的图,我们就可以采用SPARQL进行语义查询,比如“people interested in paintings by Leonardo da Vinci”。
RDF Data Model提供了一种描述资源的方式,但是RDF Data Model没有对用于资源描述的词汇做出任何定义,也就是依旧没有提供资源的语义信息,为此RDF Data Model常和一组词汇表结合使用,为了支持词汇表定义,RDF提供了RDF Schema语言,RDF Schema允许用户定义RDF data的语义特征。RDF Schema采用面向对象的思想对词汇表进行组织,RDF Schema的作用是[5]:
(1)定义资源和属性的类型;
(2)定义属性所能应用的资源类以及属性的类型;
(3)定义上述类别声明的语法;
(4)申明一些由其他机构或组织定义的元数据标准的属性类。
RDF定义了如下表2所示的核心类、核心属性。

概念 语法形式 描述
Class(类) C rdf:type rdfs:Class C(资源)是一个RDF类
Property(类) P rdf:type rdf:Property P(资源)是一个RDF属性
type(属性) I rdf:type C I(资源)是C(类)的实例
subClassOf(属性) C1 rdfs:subClassOf C2 C1 (类)是C2(类)的子类
subPropertyOf (属性) P1 rdfs:subPropertyOf P2 P1(属性)是P2(属性)的子属性
domain (属性) P rdfs:domain C P(属性)的定义域是C(类)
range (属性) P rdfs:range C P(属性)的值域是C(类)

存在许多不同的序列化方法来描述RDF陈述,这些序列化方法称之为RDF Syntax,不同的RDF Syntax描述的RDF陈述在逻辑上完全等价。这些RDF Syntax大致分为四类:
(1)Turtle类RDF语言(N-Triples、Turtle、TriG和N-Quads);
(2)JSON-LD(基于JSON的RDF Syntax);
(3)RDFa(HTML和XML相嵌);
(4)RDF/XML(用XML语法描述RDF)。

4.3 OWL

RDF和RDF Schema能够描述一定的语义信息,但表达能力依旧有限,为了更好的描述语义Web上的信息,需要更加强大的本体建模语言。术语Ontology(本体)是一个哲学上的概念,是对客观世界的抽象。目前,Ontology已经被广泛应用到计算机科学领域,用以描述概念和概念之间关系。Geuber关于本体的定义最为广发认可,他将本体定义为:
“An ontology is an explicit specification of a conceptualization.” [6, p.1]
概念化(conceptualization)的数学定义为: C=<D,W,Rc> C =< D , W , R c > ,其中C代表概念化对象,D表示一个领域,W是该领域相关事物状态的集合,Rc是域空间 <D,W> < D , W > 上概念关系的集合。规范(specification)是为了形成对领域内概念、知识及概念间关系的统一认知与推理,以利于共享和重用[7]。
本体语言用于对本体进行显示的形式化描述,目前存在多种本体语言, W3C的推荐标准是建立在RDF与RDF Schema基础上的OWL(Web Ontology Language),OWL为需要处理信息内容的应用程序设计,而不仅仅是向人类呈现信息,通过提供额外的词汇和形式化的语义,OWL提供了比XML,RDF和RDF Schema更高的机器对Web内容的可解释性。OWL提供了三种表达能力越来越强的子语言:OWL Lite,OWL DL和OWL Full。
OWL Full是完整的OWL语言,即使用了OWL所有的原语,适合于那些希望获得RDF最大表现能力和RDF语法自由度且无计算效率要求的用户,OWL Full允许引入本体来扩展预定义的RDF/OWL词汇的含义。OWL DL是OWL Full的子语言,包含了OWL所有的语言结构,但对其使用进行了限制,适用于那些希望获得最大表现力,同时保持计算完整性和可判定性的用户。OWL Lite对OWL DL的语法进行了进一步限制,因而容易掌握和实现,适用于那些只需要分类层次和简单约束的用户。
采用OWL的本体开发人员需要考虑哪种子语言最适合其需求。选择OWL Lite还是OWL DL取决于用户多大程度上需要OWL DL提供的更具表现力的构造。OWL DL和OWL Full之间的选择主要取决于用户多大程度上需要RDF Schema的元建模机制。与OWL DL相比,当使用OWL Full时,推理支持是难以预测的,因为完整的OWL Full实现是不可能的。
OWL使用基于XML的RDF语法,OWL Lite除了兼容RDF Schema的语义特征外,进一步将属性进行细化为:ObjectProperty、DatatypeProperty、inverseOf、TransitiveProperty、SymmetricProperty、FunctionalProperty、InverseFunctionalProperty,同时对属性取值方式进行了约束:allValuesFrom、someValuesFrom,也可以对属性取值进行基数约束:minCardinality 、maxCardinality。对类的(不)等价关系也进行了定义:equivalentClass、equivalentProperty、sameAs、differentFrom、AllDifferent、distinctMembers。OWL DL和OWL Full在OWL Lite的基础上额外增加了布尔组合扩展:unionOf、complementOf、intersectionOf。

5 应用于挑战

5.1 发展与应用

从语义Web概念提出,语义Web的发展主要分为两个阶段,第一阶段从2001年到2006年,是从弱语义到强语义的尝试,研究人员制定了各种技术标准,如RDF、OWL,在逻辑上接近了强语义,但工程上实现却不太可能。2006年开始,研究人员将重点转换了过来,开始关注语义Web的本质——数据互联,数据的元数据、数据的本体这些都可以在数据互联的基础上按序提高。这一阶段的标志是Berners-Lee在2006年提出的Linked Data计划,目前W3C语义Web行动已经纳入W3C数据行动,主要成果有大规模知识库和知识图谱。
在开放互联数据项目中,Freebase、Wikidata、DBpedia和YAGO是最为知名的4个大规模知识库。其中DBpedia处于最核心地位,该项目由德国莱比锡大学和曼海姆大学的科研人员共同发起。DBpedia从维基百科中抽取结构化信息,并将其以关联数据的形式发布在万维网上,允许用户通过语义查询维基百科资源的属性和关系。截止2017年7月,DBpedia数据库包含458万个实体。
知识图谱是语义Web技术发展的一次扬弃与升华,最早由Google于2012年提出,用以提高搜索引擎的能力。较为出名的知识图谱产品有Google的Knowledge Vault,苹果的Wolfram Alpha,微软的Satori,国内知识图谱产品包括百度知心,搜狗知立方。知识图谱主要涉及知识抽取、知识表示、知识融合和知识推理四大核心技术[8]。图3展示了知识图谱的架构图。

语义Web简单综述(XML、RDF、OWL、知识库、知识图谱)_第3张图片

5.2 面临的挑战

语义Web的愿景虽然美好,但语义Web的发展依旧面临很多问题和挑战,主要可以归结为三类:
(1)数据问题。目前万维网上的绝大多数内容尚未加上符合语义Web规范的标记。因此,如何自动化地给现有的Web内容加上符合语义Web规范的标记是语义Web走向实用化面临的难题之一。这涉及到一系列技术,包括信息抽取、分类、表达、存储、查询等。
(2)智能问题。如何让计算机或其它设备具备“思考”和“推断”能力是另一个技术难题,这涉及到本体、逻辑和规则等方面技术。如何应对本体变化带来的问题是当前面临的挑战。另外,描述逻辑语言在表达能力上存在一定的不足,某些应用可能需要研究表达能力更强的描述逻辑。
(3)安全问题。借助语义Web技术所构建的数据互联网络,人们能够迅速、准确地找到实体几乎全部的信息,一旦某些实体的信息,如个人私密信息、机构涉密信息等遭到泄露将导致严重的后果。因此语义Web的安全性同样需要格外重视。

6 总结

本文对语义Web进行了简单的整理与讨论,语义Web是对现有万维网的扩展,目的是让机器能够读懂文档所包含的信息,并进行自动推理,以实现最大程度的人机交互合作。语义Web的构建离不开语义Web技术的发展,XML为数据存储、传输组织提供了基础,RDF将数据以三元组的形式进行组织,并采用RDF Schema提供的词汇表,弥补了XML不具备语义描述能力的缺陷,OWL构建了一个更加抽象的本体层,使得语义Web自动推理成为可能。目前,语义Web的发展产生了大量成果,包括大规模知识库和知识图谱,但依据面临很多问题与挑战。

参考文献

  1. Bernerslee, Tim, J. Hendler, and O. Lassila. :The Semantic Web. Scientific American 284(5): 34–43(2001). DOI: 10.1038/scientificamerican0501-34
  2. Tim Berners-Lee, Mark Fischetti.: Mind to Mind. In: Weaving the Web: The original design and ultimate destiny of the World Wide Web, by its inventor. Vol. 7(1), pp. 157–176. Harpercollins Us (2003)
  3. Tim Bray, Jean Paoli, C. M. Sperberg-McQueen, Eve Maler. (eds.): Extensible Markup Language (XML) 1.0 (Fifth Edition). W3C Recommendation 26 November 2008. https://www.w3.org/TR/REC-xml/ (2008). Accessed 20 Apr 2018
  4. Guus Schreiber, Yves Raimond. (eds.): RDF 1.1 Primer. W3C Working Group Note 24 June 2014. https://www.w3.org/TR/rdf11-primer/ (2014). Accessed 20 Apr 2018
  5. 田春虎.:国内语义Web研究综述. 情报学报 24(2): 243-249 (2005). DOI: 10.3969/j.issn.1000-0135.2005.02.017
  6. Gruber, Thomas R.: Toward principles for the design of ontologies used for knowledge sharing. International journal of human-computer studies 43(5-6): 907-928 (1995). DOI: 10.1006/ijhc.1995.1081
  7. Deborah L. McGuinness, Frank van Harmelen. (eds.): OWL Web Ontology Language Reference. W3C Recommendation 10 February 2004. https://www.w3.org/TR/owl-features/ (2004). Accessed 20 Apr 2018
  8. 徐增林, 盛泳潘, 贺丽荣,等.: 知识图谱技术综述. 电子科技大学学报, 45(4): 589-606(2016)
  9. 语义网技术综述(web3.0)

你可能感兴趣的:(semantic,web)