| |
 |
|
[Semantic Web](连载)语义网之路--语义网体系结构 |
Lee 发表于 2007/1/13 20:40:30 |
语义网的体系结构共分七层,自下而上分别是编码定位层(Unicode + URI)、XML结构层(XML + NS + xmlschema)、资源描述层(RDF + rdfschema)、本体层(Ontology vocabulary)、逻辑层(Logic)、证明层(Proof)和信任层(Trust)。各层之间相互联系,通过自下而上的逐层拓展形成了一个功能逐渐增强的体系。它不仅展示了语义网的基本框架,而且以现有的Web为基础,通过逐层的功能扩展,为实现语义网构想提供了基本的思路与方法。下面详细介绍一下该体系结构各层的含义、功能以及它们之间的逻辑关系。
1 编码定位层(Unicode + URI)
就像人与人之间的交流需要共同的语言一样,语义网要实现机器之间的相互交流与合作也需要使用共同的“语言”。语言需要对信息进行编码,即编码是语言的基础,只有编码相同才能保证语言相通。在当前的WWW中存在着各种各样不同的语言及相应的字符集,要实现不同计算机之间的交流与合作,必须对这些不同的字符集进行统一的编码。
Unicode是一个字符集,这个字符集中所有字符都用两个字节表示,可以表示65536个字符,基本上包括了世界上所有语言的字符。数据格式采用Unicode的好处就是它支持世界上所有主要语言的混合,并且可以同时进行检索。可见,Unicode为语义网提供了统一的字符编码格式,这种统一的编码格式不仅方便语义网上字符的表示,而且也有利于不同国家、不同民族的不同字符集在语义网上的统一操作、存储和检索。
在现实生活中,我们不能仅仅通过一个简单的名字来唯一确定某个人。对于同名的人来说,我们只有通过他(她)所具有的不同的社会关系才能将其与他人区分开来。网络上所有的资源也都有一个“名字”,同样我们也不能根据这个简单的名字来唯一地确定网络上的某一资源,因为具有相同“名字”的网络资源实在是太多了。为了区别不同的网络资源,我们必须为它们确定不同的“社会关系”。对于网络资源来说,其“社会关系”就是URI。
URI(Uniform Resource Identifier),即统一资源标识符,用于标识、定位网络上的资源。URI有多种形式并可扩展,其中最常见的莫过于我们所熟悉的URL,如http://www.google.com指的就是目前互联网上最好用的搜索引擎google,http://www.w3.org/People/Berners-Lee指的就是语义网的创始人提姆·伯纳斯·李。此外URI还有其它多种形式,包括UUID、TAG和els等。我们可以用URI唯一地标识任一事物,并且任一拥有URI的事物都可以说它是在Web上的。比如你上周刚刚买到的书、你脑海中的一些不成熟的思想甚至你本人等等,都可以使用URI在网络上上进行标识。
在语义网的体系结构中,编码定位层(Unicode + URI)处于最底层,是整个语义网的基础,其中Unicode负责处理资源的编码,URI负责资源的标识。只有在对资源进行编码与标识的基础上才能对资源进行进一步的处理。
2 XML结构层(XML + NS + xmlschema)
“李开复,男,1961年12年生于台湾,现任Google全球副总裁兼中国区总裁。”
对于上述文本,我们可以很容易地理解,因为我们知道这段文本是关于李开复的一个简单介绍,其中“李开复”是姓名,“男”表示性别等等。也就是说,我们实际上知道上述文本所隐藏的一些信息。将这些隐藏的信息显式地表达出来就是:
姓名:李开复
性别:男
出生年月:1961年12月
出生地:台湾
单位:Google
职务:全球副总裁,中国区总裁
这些被隐藏的信息称为元数据。元数据是指关于数据的数据。例如数据“姓名”,就是关于数据“李开复”的数据。只有显式地说明关于数据的元数据信息,才能进行完整、清晰、准确的交流。例如对于文本“Google”,如果不显式地说明它表示单位名称,那么对于一个外星人来说很有可能把它当作是一个人的名字或是一个国家。因此元数据对于人与人之间的信息交换以及机器之间的相互交流都是至关重要的。
为了显式地表达数据的元数据,必须对数据进行一定的“标记”,并用标记名称(也叫标签)表达数据的元数据信息。例如对数据“李开复”所做的标记“姓名”。对数据进行标记的规则和方法的总和称为标记语言。对于经常在互联网上冲浪的网友来说,最常见的标记语言莫过于超文本标记语言HTML(Hyper Text Markup Language)了。
所不同的是,HTML所做的标记并不是关于数据内容的元数据,而是关于数据显示格式和显示样式的元数据。例如在HTML中,标签<B>的含义是要求网页浏览器将一段文本加粗表示,而标签<CENTER>的含义是告诉浏览器将这段文本在一行的中间显示。所以,在浏览器中,<CENTER><B>HTML</B></CENTER>是如下显示的:
HTML
此外,HTML提供的标签数量是固定的,这对于大量的网络应用来说显然是不够的。不同的行业、部门、学科分类甚至具体应用都需要面向自己应用的一套标签或标记语言。例如文本“Google”,在具体应用A中可能使用标签<公司名称>定义,而在应用B中可能使用标签<搜索引擎>定义。为了更加灵活地定义面向各种不同应用的标签,人们开发了可扩展标记语言XML(eXtensible Markup Language)。
XML最突出的特点就是功能强大又易于使用,是Web上数据表示的标准。正是由于XML机动灵活,它允许用户在文档中加入任意的结构而无需说明这些结构的含意,从而可以表达丰富的信息资源。用户可以在XML中创建自己的标签、对网页进行注释,脚本(或程序)可以利用这些标签来获得信息。因此XML非常适用于不同应用间的数据交换,而且这种交换是不以预先规定一组数据结构定义为前提,具备很强的开放性。
XML并非像HTML那样提供了一套事先定义好的标签,而是提供了一个标准,利用这个标准,你可以根据实际需要定义自己的置标语言,并为这个置标语言规定它特有的一套标签。因此准确地说,XML是一种元标记语言,即定义标记语言的语言。
NS(Name Space)即命名空间,由URI索引确定,目的是为了简化URI的书写。例如URI“http://www.w3.org/1999/02/22-rdf-syntax-ns#”就可以简写为“RDF”。通过在命名前加上URI索引前缀,即使具有相同命名的两个事物,只要它们的URI索引前缀不同,二者就不会混淆。
XML Schema实际上也是XML的一种应用,它本身采用XML语法,所以XML文档是一种自描述文档。XML Schema是DTD(Document Type Definition)的替代品,但比DTD更加灵活。它不仅提供了一套完整的机制以约束XML文档中标签的使用,而且支持更多的数据类型,能更好地为有效的XML文档服务并提供数据校验机制。
正是由于XML灵活的结构性、由URI索引的命名空间而带来的数据可确定性以及由XML Schema所提供的多种数据类型及检验机制,才使得XML结构层(XML + NS + xmlschema)成为语义网体系结构的重要组成部分。该层主要负责从语法上表示数据的内容和结构,通过使用标准的置标语言将网络信息的表现形式、数据结构和信息内容相分离。但XML数据模式是一种被固定的、树状的文本表示模式,在描述数据元上缺乏一定的灵活性;而且XML所表达的语义是隐含在文档的标记和结构中的,它只能被了解其标签含义的程序人员或网页制作者所使用。因此,XML只能表达数据的语法,而不能表达机器可理解的形式化的语义,为此语义网引入了RDF。
3 资源描述层(RDF + rdfschema)
RDF(Resource Description Framework),即资源描述框架,是W3C推荐的用来描述WWW上的信息资源及其之间关系的语言规范。RDF在语法上符合XML规范,从这个意义上可以把RDF看成是利用XML规范而定义的一种置标语言。但在语义描述上,RDF与XML却有天壤之别。
RDF非常适合描述表达Web资源的元数据信息,如题名、作者、修改日期以及版权信息等,具有简单、开放、易扩展、易交换和易综合等特点。由于它们都被称为Web资源,所以RDF实际上可以描述任何可以在网络上标识的信息。因此在资源描述上,RDF更像是一个数据模型。该模型以“资源-属性-属性值”的形式描述网络信息资源。资源、属性和属性值在RDF中分别用术语主语(Subject)、谓语(Predicate)、宾语(Object)表示,由主语、谓语、宾语构成的三元组(Triple)称为RDF陈述或陈述(Statement)。如果把主语和宾语看作是节点,属性看成是一条边,则一个简单的RDF陈述就可以表示成一个RDF有向图(Graph。
资源
值
属性 RDF数据模型实质上是一种二元关系的表达,由于任何复杂的关系都可以分解为多个简单的二元关系,因此RDF的数据模型可以作为Web上任何复杂关系模型的基础模型。
RDF定义了一套用来描述资源类型及其之间相互的词汇集,称为RDF Schema(RDFS)。在用RDF描述资源时,首先使用RDF Schema提供的建模原语构建被描述资源的Schema信息,然后再利用此Schema描述目标信息资源。通过RDF Schema可以定义资源的类型、属性并显式地揭示它们之间丰富的语义关系。
RDF(S)是语义网的重要组成部分,它使用URI来标识不同的对象(包括资源节点、属性类或属性值)并可将不同的URI连接起来,清楚表达对象间的关系。为揭示对象间关系而由URI连接而成的RDF有向图摆脱了XML文档所隐含的树形资源结构的限制,可以更加灵活地表达网络上的知识或资源,揭示它们之间的相互关系,而这更加符合WWW开放、分布式以及结构松散的特征。在此框架下,以前在XML文档中只能为程序人员或网页制作者所理解和使用的标签已经转换成了定义清晰的词汇,并可显式地表达表达机器可理解的形式化的语义。如果把XML看作是一种标准化的元数据语法规范的话,那么就可以把RDF看作是一种标准化的元数据语义描述规范。
与XML中使用的标签类似,RDF对属性的定义没有任何限制。也就是说不同的词汇来可能表示的是同一个属性,如使用Creator和Author都可以表示一篇论文的作者。这就是我们通常所说的同义词或多词一义现象,即一个概念可以用多个不同的词汇来表达。当两个不同的系统或软件代理分别使用不同的词汇来表达同一个概念并需要进行数据交换时,多词一义就会带来问题,因为它们不知道这两个词汇表示的是同一个概念。与多词一义相对应的另一个问题是一词多义,即表达概念的同一个词汇在不同的应用背景下其含义是不同的。RDF并不具备解决这两个问题的能力。
此外,RDFS所提供的构造元素(Constructor),虽然可以表达比XML更为丰富的语义信息,但距离语义网强大推理能力的要求,其表达能力仍然偏弱; RDF允许把类作为实例和属性使用,并且也可以把陈述作为资源,这在理论化模型(Model-theoretic)语义下相当于高阶逻辑,不可判定,从这个意义上讲,RDF的表达能力又太强了。因此必须在语言的表达能力与推理能力之间进行一定的折衷,在保障足够的表达能力的同时,提供充分的推理能力。
基于以上两点,语义网引入了本体。
4 本体层(Ontology vocabulary)
本体(Ontology)的概念最初起源于哲学领域,用于研究客观世界的本质。在语义网范畴内,本体是关于领域知识的概念化、形式化的明确规范。在语义网体系结构中,本体的作用主要表现在:
l 概念描述 即通过概念描述揭示领域知识;
l 语义揭示 本体具有比RDF更强的表达能力,可以揭示更为丰富的语义关系;
l 一致性 本体作为领域知识的明确规范,可以保证语义的一致性,从而彻底解决一词多义、多词一义和词义含糊现象;
l 推理支持 本体在概念描述上的确定性及其强大的语义揭示能力在数据层面有力地保证了推理的有效性。
与资源描述层相比,本体提供了对领域知识的共同理解和描述,具有更强的表达能力,支持可保证计算完整性和可判定性的逻辑推理。从整个语义网体系结构来看,本体层起着关键的作用。它不仅弥补了资源描述层的不足,而且其概念模型也是逻辑层(Logic)以上各层发挥作用的基础,因为只有在对领域知识形成一致性描述的基础上才能进行相应的规则描述、推理和验证。
5 逻辑层(Logic)、证明层(Proof)和信任层(Trust)
在RDF和本体的帮助下,语义网将包含大量富含语义信息的网页。整个语义网就像是一个巨大的全球互连的数据库。这将彻底改变人们的交流方式和生活方式。有了语义信息的帮助,人们开发出的软件代理(Agent)程序的智能和自动化程序将大大提高。它们可以从不同的资源中收集网页内容,搜索和处理信息并和其它代理进行交互、协调,这将真正显示和发挥语义网的巨大威力。在Berners Lee的语义网构想中,用户将使用代理(Agent)完成各种各样的任务。
代理有三个基本任务:服务发现、协调和验证。代理在接到用户的服务请求以后,首先将用户的服务请求分解成若干个子任务,确定每个子任务的功能,然后按功能需求对网络服务进行定位,这个过程称为服务发现[1]。如果定位成功,代理必须协调每个子任务之间的功能接口和工作流程,以完成用户的服务请求;如果定位失败,代理必须对子任务进行再分解或向其它代理发出帮助请求,以期寻求完成该子任务的适当途径。对于代理的每一步工作,语义网必须提供必要的验证机制,通过建立信任关系以确保其可靠性。
代理在执行任务的过程中,不论是对任务的分解、定位、协调,还是对任务执行情况的验证,都涉及到推理问题。推理必须依靠数据和规则(Rule)。本体的主要任务是以概念的形式提供对领域知识的共同理解与描述,即提供推理所必需的数据。虽然本体在构建时也包含了一定的规则,但这些规则不仅数量有限,而且只与特定的本体数据相关联,描述能力有限。要实现语义网构想所期望的强大的推理能力就必须要有一套高效的,与语义网开放、分布式的体系结构相适应的规则系统,而这正是逻辑层(Logic)的主要任务。
在语义网体系结构中,本体层以上的各层统称为规则层。规则层中各层的具体含义是不同的。逻辑层主要描述推理规则,因为它是代理对用户任务进行分解、定位、协调、验证乃至最后建立信任关系的基础,所以它位于规则的最底层。证明层(Proof)是为保证代理工作的可靠性而提供的一种验证机制,它应用逻辑层的规则以及本体层的数据表达逻辑推理,子任务和代理之间通过交换“证明”而为数据或结论提供可靠性保证。其基本思想是:我所提供的数据和推理是正确的,因为有多个可信信息源都认为我是可以信赖的,它们包括在Proof数据段中。信任层(Trust)位于体系结构的最顶层,同时也处在规则层的最上层。通过 “证明”交换和数字签名(Digital Signature)技术,可以建立信任关系,保证语义网的可靠性。
数字签名是一段加密的数据,用来保证数据或推理的可靠性。需要指出的是,不仅逻辑层和证明层需要数字签名来保证规则的可靠性,而且语义网体系结构的数据层(资源描述层和本体层)也同样需要数字签名技术来保证数据的可靠性。
6 语义网的基础和核心
通过对语义网体系结构各层含义以及它们之间逻辑关系的分析,可以看出该体系结构所体现的语义网的基础和核心。语义网的基础包括三个方面,即技术基础、知识基础和逻辑基础。
l 技术基础
语义网体系结构各层的内容共同构成了语义网的技术基础。该体系结构的每一层都包含了为实现语义网构想所必需的一系列技术,不同的技术层完成不同的功能。简单地说,Unicode+URI技术层负责完成Web资源的编码和定位;XML+NS+xmlschema技术层负责提供结构化的语法;资源描述和本体层负责Web上的数据、资源和知识的表示;逻辑、证明和信任层负责提供语义网所需要的规则、推理和验证。各层逐级扩展,相互融合、补充,为实现语义网构想提供了坚实的技术基础。
l 知识基础
从抽象的观点看,语义网就像是一个大的知识表现系统。语义网可以描述三个层次的知识类型:事实性知识、术语知识和推理知识。
事实性知识是对客观实在的简单陈述,如由XML标签描述的信息、由RDF三元组描述的一个简单陈述等,这类知识简单清晰、一目了然。
术语知识是指由本体所描述的关于概念以及它们之间关系的语义信息。术语知识可以描述比事实性知识更加复杂的语义和对象信息。对于开放式的Web而言,它更加适合描述那些不同种类、分布式的结构化或半结构化信息。
推理知识是指那些隐藏在事实性知识或术语知识之中的需要借助一定的推理规则才能获得的隐性知识。例如,对于事实性知识“Nimo的父亲是Tom”和“Tom和Jack是兄弟”,虽然我们可以很容易地推断出Jack是Nimo的叔叔,但对于计算机而言,只有通过相应的规则定义才能得出这一推理知识。
l 逻辑基础
只有通过形式化的方法才能显示地揭示和描述语义网中的语义,因此必须借助强有力的形式化工具――逻辑。实际上,语义网的描述语言包括RDF和OWL都可以看作是谓词逻辑的特殊形式,因为它们与谓词逻辑之间以逻辑公理的形式存在着语义上的对应关系[2]。其核心是为了实现机器的“理解与处理”。在语义网的三个基础层面中,技术基础是该体系结构所直接体现的基础层面;知识基础和逻辑基础则是隐藏在该体系结构中间接体现的、深层次的基础层面。语义网将在网页中加入方便机器“理解和处理”的内容,并为人们提供各种智能服务。[3] 因此,语义网的核心就是对语义的揭示与表达。
[1] Tim Berners-Lee, James Hendler, Ora Lassila. The Semantic Web. Scientific American, 2001(5)
[2] Grigoris Antoniou, Frank van Harmelen. A Semantic Web Primer. The MIT Press, 2004 :152
[3] Stefan Decker, Dieter Fensel, Frank van Harmelen, Ian Horrocks4, Sergey Melnik, Michel Klein and Jeen Broekstra. Knowledge Representation on the Web. [2006-10-27]. http://www.ontoknowledge.org/oil/downl
|
|
|
| |
 | |
|
| Blog 信 息 |
blog名称:风落沙 日志总数:348 评论数量:550 留言数量:52 访问次数:1623804 建立时间:2005年1月28日 |
|
| 友 情 连 接 |
|

|
|
|

| |
|