语义网-中国传媒科技
语义网—表示文档内容的语义数据模型
杜小勇,李曼
互联网改变了人们的生活。目前通过互联网可以看报纸、电视,也可以听广播。广播网、电视网和互联网的“三网合一”,已经没有技术上克服不了的困难了,人为的阻碍也只能是“螳螂挡车”的结果。可以想象,用不了多久,互联网将成为媒体融合的公共载体,而且可以想象在互联网这个平台上还会生长出许多新形态的新媒体。
但是,目前的互联网上传播的内容只有人能够看的懂,计算机只起个数据存储、传递、展示的作用,不能理解其中的语义。如果计算机能够理解内容的语义,那么计算机就可以帮助人们做很多有意义的事情。比如,在你写文章的时候,计算机可以为你收集相关的文献,在你准备旅行的事情,计算机可以帮助你安排行程、预定旅馆和机票等。
这是让人兴奋的情景,也是互联网成为各种媒体的基础平台的客观需要。让计算机拥有智能是计算机工作者,特别是人工智能工作者远久以来就有的梦,而且为之奋斗了几十年。但是,总的来说,人工智能的进展并没有像人们期望的那样顺利。日本第五代计算机的失败(其预期目标并没有真正实现)也给人们一个教训,让计算机具有人的智能是属于那种“说说容易做做难”的事情,既需要基础理论的突破,也需要大量基础性的建设工作。
为了将目前互联网改造成有序的计算机可理解的知识宝库,英国人蒂姆·伯纳斯·李(Tim Berners-Lee)提出了语义Web(Semantic Web,也称语义网)的概念,顾名思义是指Web上的文本信息具有(计算机系统可以理解的)语义。我们都知道,此人也是目前公认的互联网之父[1]。
那么,语义网是如何具有计算机可以理解的语义信息的呢?换句话说,语义网是如何对语义信息建模的呢?我们需要考虑以下三个方面的内容,一是需要一个描述框架,能够将语义信息(概念以及概念之间的联系)表示出来,二是需要定义一种描述语言具体进行语义信息的描述,三是需要一种操作语言对语义信息进行操作。
首先,我们先来看看如何描述语义信息,即概念的形成和表示。一个概念C可以通过数学上的集合来表示,集合有两种表示方法,一种是内涵表示法,另一种就是外延表示法。所谓内涵表示法是指用概念所指代的对象所应满足的性质来表示,而概念的外延表示是指用该概念所指代的具体的对象集合来表示。例如,偶数这个概念既可以表示成{x| x能被2整除},也可以表示成{2,4,6,8,……}。前者就是内涵表示,被2整除就是x的一个性质。后者就是外延表示。日常生活中的概念虽然很难象数学概念那样清晰地表达,但是也可以有内涵和外延这两种表示。从概念的形成过程来看,我们首先拥有一组对象,以及关于这些对象的一些性质,理论上讲,描述对象的性质是越多越好。然后,对这组性质进行抽象,那些具有相同性质的对象集合就构成了概念。但是,获得对象的性质是有代价的,是需要逐渐积累的。目前的数据库系统,基本上都是先确定描述对象的性质,然后再去组织数据,它缺乏一种机制,能够不断地丰富数据的描述,而这种机制正是概念学习的基础。
对象的性质既可以取一个通常意义上的“值”,例如,张三的年龄是20岁,也可以为另一个对象,例如,张三的老师是李四,这里老师是描述对象张三的一个性质,这个值其实就反映了对象之间的联系。同一个概念的对象具有相同的性质,因此,在习惯上我们将这些对象的性质称为是概念的性质。
那么语义网是如何描述文档的语义信息(概念及其关系)的呢?它采用多层次的表示框架。首先为文档引入结构,将文档分解成一些可以识别的“块”,这样计算机就能够方便地解读文档,这就是XML。如果知道XML的定义,就可以编程序对内容进行操作,比如信息提取等。XML是语义Web上资源表示的语法基础,但是并没有对结构本身的语义进行描述。如果不知道XML元素的语义,那么计算机仍然不能理解其中的信息。这时需要一个更高的层次来描述结构的语义,这就是RDF。RDF定义了元素之间的关系,表现为三元组的集合(类似于句子的主语、谓语和宾语)。XML加上RDF就相当于建立了人工智能中的语义网络(semantic network),也就可以进行一些简单的推理了。使用XML+RDF,人们可以建立各自的语义Web,只要有一套自成体系的术语就可以了。但是,要计算机相互理解对方的内容,还需要有一套共同的标准的概念体系,这就是本体(Ontology)。XML+RDF+Ontology构成了计算机相互理解的基础,缺一不可。因此,我们说,语义网描述的就是信息资源的一个语义数据模型,是计算机理解内容的基础。
其次,我们介绍描述语言标准。XML,RDF,OWL都是国际组织W3C推荐的标准。XML和语义信息描述没有直接的关系,而且介绍的资料也很多,我们不在这里介绍。RDF是W3C提出的资源描述框架(Resource Description Framework),它除了可以表达Web资源的元数据,例如Web页面的标题、作者、创建时间等,还可以表达任何可在Web上标识的事物的信息,例如购物网站上某个产品的价格、功能等。RDF使用了一种简单的三元组模型来表示Web上资源的属性的取值。每个三元组由主语(Subject)、谓语(Predicate)和宾语(Object)三个元素构成。其中主语代表资源,即所有可以描述的对象。谓语指的是资源的属性(也称性质),一个资源可以有多个属性。宾语就是属性的值,每个属性值既可以是数字、字符串等,也可以是资源。
例如,表1中的三元组就描述了网页“http://www.w3c.org/china/”的标题是“W3C标准”,作者是姓名为“张三”的一个人,他的联系电话是“62512345”。其中“http://www.w3c.org/china/”的作者的值就是一个资源“#anonymous_r”,这里将其称为匿名资源(即该资源没有名字),该资源具有自己的属性:姓名和电话。
。
表1. RDF三元组
|
主语 |
谓语 |
宾语 |
|
http://www.w3c.org/china/ |
标题 |
W3C标准 |
|
http://www.w3c.org/china/ |
作者 |
#anonymous_r |
|
#anonymous_r |
姓名 |
张三 |
|
#anonymous_r |
电话 |
62512345 |
可以看出RDF就是三元组的集合,一系列的三元组构成一个RDF图。图1就是表1对应的RDF图,其中椭圆表示资源,箭头表示属性,方框表示属性的值。
RDF本身并没有规定语义,但是它为每一个资源描述体系提供了一个能够描述其特定需求的语义结构的能力。从这个意义上来讲,RDF是一个开放的元数据框架。这个元数据框架定义了一种数据模型,可以用来描述计算机能够理解的数据语义。显然,这种框架还需要定义描述中使用的词汇,这就是RDF的词汇描述语言,即RDF Schema。RDF Schema定义了RDF描述数据时使用的词汇,它引入了类(class),属性(property),类之间的包含关系(subClassOf),属性间的包含关系(subPropertyOf),以及属性的定义域(domain)和值域(range)等标准词汇。例如,对于上面关于网页的例子,我们可以定义两个类,即“网页设计者”和“网页”,其中,“作者”和“标题”都可以定义为属性,它们的定义域都是“网页”,值域分别是“网页设计者”和文本型(即literal),类似的,可以定义属性“姓名”和“电话”的定义域是“网页设计者”,值域是文本型(即literal)。对于“网页”这个类来说,资源“http://www.w3.org/china/”是它的一个实例,对于“网页设计者”这个类来说,姓名为“张三”,电话为“62512345”的人是它的一个实例。语法上,RDF Schema与RDF是完全一致的,即所有的RDF Schema文档都是合法的RDF文档。语义上,RDF Schema是RDF的一个扩展,即它不仅保留了RDF的全部意义,而且对新增部分加入了自身的解释。
RDF定义了用于描述资源的语法和模型,RDF Schema定义了RDF描述资源时所用的词汇集,这样RDF和RDF Schema构成了一种简单的对Web资源的表示机制。从某种意义上说,RDF(S)[2]本身就是一种简单的本体(Ontology)语言。但是它太简单,描述能力比较弱,难以表达复杂的领域知识,因此需要对其进行扩展。例如OIL,DAML+OIL和OWL,都是对RDF(S)的扩展。其中,OWL(Web Ontology Language)是W3C最新推荐的Web Ontology描述语言的标准。它是为了在WWW上发布和共享Ontology而提供的语义标记语言。Ontology之所以逐渐引起人们的重视,主要的原因在于它能够提供明确定义的词汇表,描述概念和概念之间的关系,使得使用者之间达成对概念含义的共同理解。而对同一概念的语义共享和共同理解正是构建语义Web的关键。
OWL作为RDF(S)的扩展,是在DAML+OIL的基础上发展起来的,目的是提供更多的原语以支持更加丰富的语义表达,并更好的支持推理。与RDF(S)一样,OWL可以声明类,属性,及各自的层次关系。但是,OWL还可以通过逻辑组合算子(合取,析取,否定)在其他类的基础上构造新的类,同时OWL可以通过属性约束定义类,另外OWL还可以声明某个属性具有传递性、对称性、函数性,或是某个属性的逆属性等。例如,在OWL中可以声明属性“朋友”具有对称性,那么如果声明了张三是李四的朋友,则可以推断出李四也是张三的朋友。显然,OWL的这些新特性都超越了RDF(S)的描述能力。
为了应用的需要,OWL提供了三种表达能力递增的子语言:OWL Lite、OWL DL和OWL Full。其中,(1)OWL Lite用于提供给那些只需要一个分类层次和简单属性约束的用户。例如,虽然OWL Lite支持基数限制,但只允许基数为0或1。开发支持OWL Lite的工具要比开发支持其他两个子语言的工具更容易些。(2)OWL DL支持那些不仅需要最强表达能力而且需要保持计算完备性(computational completeness,即所有的结论都能够保证被计算出来)和可判断性(decidability,即所有的计算都在有限的时间内完成)的用户。它包括了OWL语言的所有语义成分,但是使用时必须符合一定的约束。例如,一个类可以是多个类的子类,但它不能同时是另一个类的实例。另外,它是以描述逻辑为基础的(名字中DL表示描述逻辑)。(3)OWL Full支持那些需要最强的表达能力和完全自由的RDF语法但是不需要可计算性保证的用户。例如,它允许一个类被看作是许多个体的一个集合,而同时本身也作为一个个体。它允许在一个Ontology增加预定义的(RDF、OWL)词汇的含义,所以,没有推理软件能支持OWL FULL的所有特性。总的来说:OWL Lite是OWL DL的一个子集,它在OWL DL的基础上除去了组合类以及枚举类,并规定基数约束仅为0或1等,提供的是最简单最基本的OWL语言成分;OWL DL要求类、属性、和个体是三个不相交的集合并提供了基于描述逻辑的推理特征,可以在其上应用已有的推理工具。完整的OWL用OWL FULL表示,它不严格区分类、属性和个体,并放松了OWL DL中的某些推理限制,使其更适合于某些数据库和知识表示系统使用。
关于语义信息的操作语言,目前仅有一些提供简单查询功能的语言,例如RQL,如何定义一组高级操作语言,满足应用的需要,还需要进一步深入的研究和实践。
(本文作者系中国人民大学信息学院数据库与智能信息检索实验室)
Last 5 posts by admin
- 语义网: Web 3.0为何盖不过 Web 2.0 的风头 - August 10th, 2007
- Web3.0即将粉墨登场 语义网让网络更聪明 - August 6th, 2007
- Natural language processing - July 31st, 2007
- NLP常用信息资源 - July 31st, 2007
- Software Tools for NLP - July 30th, 2007







Leave a Reply