Download presentation
Presentation is loading. Please wait.
1
语义网若干基本问题的讨论 申思 2003年5月
2
目录 语义网的由来 Web上的知识表示 XML(S)和RDF(S) XML和RDF进行Web知识表示的比较 Ontology
一个语义网应用的描述 研究热点和展望
3
一 . 语义网的由来 当前Web所存在的问题 更好的通讯模式 什么是语义网 语义网同现有网络的区别 语义网所要解决的问题
4
当前Web的特点 WWW是最大的信息资源仓库, 包含几乎任何领域内的文档和媒体资源,并且这些数据可以在瞬间被个人和组织访问
5
当前Web存在的问题 Web的大小使得很难定位相关的信息资源
目录服务(Yahoo)和搜索引擎(Google)提供了一些帮助,但远不能满足用户的需求 进一步的,用户更难以让Web作更多的、功能远远超过目录和搜索的事情,比如让Web为用户安排一个完美的度假 其根本的障碍在于一个事实:Web不是设计给机器处理的
6
人类之间的通讯 人类的交流建立在语义的基础上,通过指称把客观世界和意识世界联系起来 语言 主体A 主体B Common Knowledge
7
当前Web上的通讯 主体A把信息放到网页中,Web在主体B的浏览器端显示出来,实际上仍然是人之间的通讯,Web并不理解网页中的内容
World Wide Web Common Knowledge
8
语义网上的通讯 Web携带语义信息,使机器能够理解Web页面,从而实现强大的功能。 需要一个人和机器都能理解的Ontology 主体A
Machine Ontology
9
如何让机器理解Web 两种途径: 1. 自然语言理解技术,然而仍然有很多关键问题没有解决
2. 用知识表达语言来描述Web页,即构造一种新的Web--语义网
10
什么是语义网 Tim Berners-Lee的定义:
The Semantic Web is not a separate Web but an extension of the current one, in which information is given well-defined meaning, better enabling computers and people to work in cooperation.
11
Semantic Web - Layers
12
Semantic Web - Layers 最底层是URI和Unicode层,该层是整个语义网的基础,其中Unicode处理资源的编码,URI负责标识资源。 第二层是XML+NS+XMLSchema层,用于表示数据的内容和结构。 第三层为RDF+RDFSchema,用于描述资源及其类型。 第四层为Ontology 层,它用于描述各种资源之间的联系。 第五层到第七层是在下面四层的基础上进行的逻辑推理操作。 其中核心层为XML,RDF,Ontology,这三层用于表示Web信息的语义。
13
A scenario by Berners-Lee
彼得的妈妈需要进行理疗,让代理来安排这个预约。给语义网络代理下指令后,代理立即从医生的代理处查到了妈妈的治疗处方,在诊所清单中进行查找,从中找出那些在母亲家方圆20英里的范围内,在信用评级服务中评级为出色或很好,在母亲的保险计划范围之内的诊所。然后,它将可能的预约时间(由各家诊所通过其网页提供)和彼得日程进行匹配。 几分钟之后,代理给他们提供了一个方案。彼得对此不太满意。从母亲家到这个医院要横穿整个城镇,而他从医院返回的时间又恰好是交通高峰时间。他设置了更多的时间和地点方面的限制,让自己的代理重新进行搜索。 几乎一瞬间,新的方案又出来了:医院离家近了,时间也提前了。但是,同时有两点警告。首先,彼得要重新安排他的一些不太重要的预约。彼得查了一下,没什么问题。另一点是,这家医院不在保险公司的理疗医院的清单上。代理为解除彼得的顾虑,说, “通过其他方式,可以保证予以确认服务类型和保险计划,需要细节内容吗?” 彼得表示同意,事情就这么定下来了。
14
语义网同当前Web的区别 大多数当前的Web是设计给人浏览的,语义网是设计给机器处理的
当前的计算机可以解析Web的显示,处理header,链接到其他页面,但是他们无法处理语义:比如这个页面是张先生的主页,这个链接会指向孙小姐的简历等等。
15
语义网所要解决的问题 搜索引擎的缺陷,不理解词语的语境和检索词之间的关系 代理在处理Web服务时必须依赖于一些预先定义的Web页面
推系统在匹配用户Profile和Web页相关性时的不准确 通过对Web信息的抽取,可以支持对更复杂内容的可视化
16
二 . Web上的知识表示 传统的知识表示结构 Web上知识表示相对于传统知识表示的特点
17
传统的知识表示结构 语义网络 在一个语义网络中,每一个概念用一个节点来表示,互相关联的概念由箭头连接起来
语义网络使用特别的箭头来表示抽象概念,一个is-a箭头,表示一个概念是另一个概念的子类,而instance-of表示一个概念是另外一个概念的实例。这些箭头同基本的集合理论相关:is-a类似于子集关系,instance-of类似于元素关系。 is-a的集合定义了类序,这个类序通常称为分类法或类继承。分类法用来用一个概念来归纳很多的抽象类,或者为很多抽象概念定义一个类。Yahoo和Open Direcotry的流行已经证明,分类法在辅助用户定位信息的时候非常有用
18
传统的知识表示结构 框架系统 这个系统中,一个框架是一个数据对象,有一些槽,每个槽表示这个对象的一个属性。
KRL是一个早期使用在框架系统中的语言。KRL的基本实体是单元,由一个唯一的名称,一个目录类,和一些槽构成。每个类都有一个原型个体,代表类的典型成员。一个有趣的特征是,KRL可以从不同的角度来看一个个体。比如,the age from Person G0043 可能是整数,而the age from Traveler G0043可能是一个集合中的元素{Infant,Child,Adult}. KL-One继承了框架系统的传统,同时派生出了描述逻辑。描述逻辑关注词的定义,以提供比语义网络和框架系统更精确的语义。词的定义通过比较概念和其作用而形成。描述逻辑系统的一个重要的特征是处理自动分类的能力,即自动把一个给定的概念插到分类表中合适的位置
19
Web上知识表示的特点 语义网依赖于将内容同形式化的意义表示对应起来。这一点上,知识表示领域为设计语义网的语言提供了一个很好的起点,因为它的研究一直在努力的将知识形式化。然而,Web的特性对传统的知识表达工作是一个挑战,需要我们从一个新的角度来看这个问题。Web的一些重要特征所带来的影响主要有:
20
Web上知识表示的特点 Web是分布式的 Web的发展的推动力量就是自由而非集中控制。然而,由于Web是许多个人的产物,缺少集中控制对信息的推理带来了很大的挑战: 不同的组织可能会使用不同的词表,导致了同义和一词多义现象 缺少审查和质量控制,可靠性是个问题,有相当数量的Web欺骗,其发布信息的目的是为了误导 由于没有一个全球统一的信息合成,Web上不同来源的信息可能会发生冲突。
21
Web上知识表示的特点 Web是动态的 Web以惊人的速度变化着,没有任何一个用户或是智能代理可以跟的上
随着新的页面不断增加,已有页面的内容也在不断变化。一些页面相对稳定一些,另外一些则定期或不定期的更新,这些变化可能会完全改变内容 一个Web代理必须清楚它的数据会并且经常会过期
22
Web上知识表示的特点 Web的数量巨大 虽然每个Web页可能只有一点代理可以收集的知识,但是累计起来的数据库将使推理很难进行
大多数情况下,代理应该假设它只采集了相当少的,并不完备的知识。然而,为了推断更多的事实,许多推理系统用来完整世界假设,即那些没有收到知识库中的都认为不真。
23
三 . XML(S)和RDF(S) 从HTML说起 XML和DTD(XML Schema) RDF和RDF Schema
24
从HTML说起 Berners-Lee开发HTML的初衷是使用超文本作为组织分布式文档系统的一种方式,Html的标签主要是面向显示的,但其一直在努力增加一些标签来提供语义: HTML2.0引入了META元素和REL属性。META元素以名称、值的形式规定了元数据。META一个流行的用法是表示关键字,比如<META name = “kewyords” content=“Semantic Web”>,这样会帮助搜索引擎标引这个页面。 HTML3.0增加了Class属性,可以被任何标签使用来建立该元素的子类,不过这个语义标记很少被使用,不过即使被使用了,他们所提供的语义也是很有限的。 为了解决HTML的语义局限性,Dobson and Burrill试着将其同ER关系模型结合。这就是超级HTML,它由一系列简单的标签定义了文档中的实体,文档体的标记部分作为这些实体的属性,然后定义从实体的外部实体的关系。这是正式为Web页面增加结构数据的首次尝试,从而为解决这个问题提供了一种方法,也是之后XML设计的动机。
25
从HTML说起 尽管非常流行,HTML存在两大问题:
因为HTML主要设计成显示给人看的,它很难让机器抽取内容以及执行自动的文档处理。为了解决这两个问题,W3C开发了XML。RDF和XML成为开发语义网需的两个主要技术
26
XML XML让每个人都能创建自己的标签,例如<姓名>,从而支持应用程序将这些标签运用到复杂的应用中。也即XML允许用户在文档中加入了任意的结构 由于结构任意,XML交换的双方需要一个使用上的一致性,这样的一致性描述就是DTD(XML Schema) 然而,XML并不提供标签的意义。标签<p>可能意味着分段(paragraph),也可能意味着一部分(part)。这需要通讯双方事先达成理解的一致
27
DTD&XML Schema DTD仅仅提供了一个简单的结构描述:他们定义了元素出现的结构,位置,可能的属性等等。
XML Schema被设计来代替DTD。XML Schema有几个优于DTD之处: XML Schema提供了一个丰富的语法来描述元素的结构,比如你可以定义元素出现的次数,默认值; XML Schema提供支持数据类型。比如你可以定义电话号码是一个五位数字; XML Schema提供了包含和继承机制,使你可以重用共同的元素定义,也可以将存在的定义运用于新的应用 XML Schema以XML作为其编码的语法(因为XML是一个元语言),使得工具的开发变简单了,因为文档和文档定义都使用了相同的语法。
28
DTD&XML Schema 尽管DTD为XML文档提供了一个语法规范,DTD并不提供语义信息。也就是说,DTD中的一个元素的意义,或者是由人根据在DTD中的自然语言描述的名称和注释来理解,或者在DTD之外再编写一个文档中来专门描述意义。 这样,XML文档的交换就必须要求交换的实体事先在DTD的使用和意义理解上都达成一致。 如果只是固定的合作实体之间,可能不会有问题,但是如果是在Web上……
29
DTD&XML Schema Web的一个很重要的目标是建立互操作关系,从而我们无法预知信息的使用者,从而也不可能向每一个使用者解释DTD的语义 这就产生了一个信息合成的问题,由于软件工具无法获取语义,它们就不可能通过DTD来合成信息资源
30
DTD&XML Schema 当然,如果我们在一个普遍的DTD上达成一致,DTD之间的映射问题就不存在了;
但是即使在一个企业,数据标准化也是很困难和很耗时的,而Web上的数据标准化就更不可能了。 即使可能有一个理解普遍的DTD,它会大到没法使用,也没法维护,修改它
31
RDF RDF定义了一个简单的模型,用于描述资源,属性和值之间的关系。资源是可以用URI标识的所有事物,属性是资源的一个特定的方面或特征,值可以是另一个资源,也可以是字符串。总的来说,一个RDF描述就是一个三角:一个对象,一个属性,一个值。 在RDF中,文档中的声明通常是某个事物——人、网页或其他任何东西对于某些值——另一个人、另一网页拥有某些属性(例如……是……的父母,……是……的作者)。
32
RDF RDF是一个机制,用于描述数据。它不是一个语言,而是一个模型,用于表达Web上数据。
RDF是忽略语法的,它仅仅提供一个模型用于表达元数据。这种可能的表达可以是有向图,列表或其他,当然XML也可以是一种可选的表达。 以下是几个RDF的简单示例
33
RDF 用XML表示的RDF示例: <rdf:Description about=“ <rdf:type rdf:resource=“ </rdf:Description>
34
RDF 用列表表示的RDF示例: Object Attribute Value ==========================
created_by #anonymous # anonymous name "John" # anonymous phone "477738"
35
RDF 用属性-值三角的形式表示的RDF示例: hasName ( "http://www.ddddddddddd",
"jime lenr") authorof ("http"// " hasPrice (" "$83")
36
RDF 用有向图的形式表示的RDF示例: John name http://www.w3.org 匿名对象 Created By phone
48382
37
RDF 虽然可以有很多种方式来表示RDF数据,RDF数据的交换必须由一个固定有序的语法来支持。XML是一个选择,而RDF规范使用的正是它。
然而,RDF数据模型并没有被帮定到一个特定的语法上,它可以用任何语法来表示,它也可以从非RDF的数据资源中抽取。用XML序列语法来表示的RDF很难理解,而RDF应用程序接口使开发者可以不管序列语法的具体细节,而把RDF数据当作是图表来进行处理。
38
RDF RDF被设计用来为元数据提供一个基本的对象、属性、值的数据模型。
对于这些语义,RDF并没有预先建模,同XML一样,RDF数据模型没有提供声明属性名的机制。 RDF Schema和XML Schame,提供了一个词汇定义的方式,还可以定义哪些属性可以应用到哪些对象上。换句话说,RDF Schema为RDF模型提供了一个基本的类型系统。
39
RDF Schema RDF Schema,使用了一些预先定义的词汇集,比如class,subpropertyof,subclassof,来指定特定的schema。 RDF Schema是一个有效的RDF表达,就像xml Schema是一个有效的xml表达 subclassof允许开发者去定义每一个类的继承机制,subpropertyof对属性是一样的。属性的限制可以用domain和range结构来实现,这个结构可以用来扩展词汇表,下面是一些简单的示例:
40
RDF Schema 定义类及子类 <rdfs:Class rdf:ID=“Wine” /> //定义类Wine
<rdfs rdf:ID=“RedWine”> <rdfs:subClassOf rdf:resource=“#Wine”/> </ rdfs :Class> //定义Wine的子类RedWine <rdfs :Class rdf:about=“#WhiteWine”> <rdfs:comment>no wine is both a red and a white wine</rdfs:comment> //注释 <rdfs :disjointWith rdf:resource=“#RedWine”/> </rdfs :Class> //定义子类WhiteWine及相斥关系
41
RDF Schema 定义类的实例 <RedWine rdf:ID=“MyFavoriteDrink”>
<rdfs:label>MyFavoriteDrink</rdfs:label> <rdfs:comment>MyFavoriteDrink is a RedWine.</rdfs:comment> </RedWine> //RedWine的实例 <RedWine rdf:ID=“MariettaZinfandel”> <rdfs:label>MariettaZinfadel</rdfs:label> </RedWine>
42
RDF Schema 定义类的属性 <rdf:Property rdf:ID=“hasWineColor”> //定义属性ID
<rdfs:range rdf:resource=“#WineColor”/> //属性所属的类 <rdfs:domain rdf:resource=“#Wine”/> //属性所赋予的类 </ rdf:Property >
43
四 . XML和RDF进行Web知识表示的比较
44
知识表示对语言的要求 普遍的表示能力。因为无法预测可能用途,一个基于Web的交换格式必须可以用来表达任何格式的数据。
语法的互操作行。应用程序必须能够抽取数据,并将其用于开发。软件模块(比如Parser和查询API),应该可以在不同的应用程序之间尽可能的重用。当用来操作数据的Parsers和APIs很容易获得时,语法的互操作行就是很高的。 语义的互操作性。数据交换格式的一个最重要的需求时数据可以被理解。语法互操作性是关于解析数据的,语义互操作性是关于定义语言到内容之间的映射,因而需要内容分析。
45
使用XML进行知识表示 XML完全满足普遍的表示能力需求,因为一个语法所能定义的任何数据,都可以用XML来编码。
它也满足语法的互操作性,因为一个XML的Parser可以解析任何XML文档,它也可以作为一个重用的模块。 但是在语义的互操作性上,XML就有了弱点。 XML的主要局限性在于它仅仅描述语法。我们没有办法从一个XML文档中识别一个语义单元,因为XML的目标是文档的结构,而没有对文档中使用的数据附加任何的解释。
46
使用XML进行知识表示 假设两个组织之间要交换数据,那么他们必须使用相同的DTD(或Schema)。因此,就必须首先分析他们相关的领域和对象模型,然后通过对象关系表述出来,再将其转换为DTD 而且,重要的一点,他们必须都同意并且使用DTD所给出的文档结构的隐含意义,否则就无法利用XML数据。 如下图:
47
使用XML进行知识表示
48
使用XML进行知识表示 但是,由于同样的域模型可以构造出很多不同的DTD,这样就丢失了从域模型到DTD之间的直接对应
丢失这种直接对应,一是名称使用习惯上的差别。比如,元素<PERSON> and <INDIVIDUAL> 可能是同义词;类似的,元素<SPIDER>可能是一词多义的,这里可能是爬行软件,那里可能指蜘蛛。而且名字问题在属性名称中同样存在。 另一个困难是结构的差别。XML的灵活性使得DTD的作者可以有很多选择。设计者对于同样的概念可以有很多种方式来描述。
49
使用XML进行知识表示 也就是说,在域模型和DTD之间并没有直接的联系。因此就不可能从一个DTD来推断概念以及概念之间的关系,即很难从DTD中重建域模型 考虑到这一点,使用XML的优点就只有解析模块的重用性了。这只在组织间固定通讯,并且事先有一致认识时有用。而忽略了Web通讯的需求,即很多的合作者,而且他们不断的更新。 XML在应用程序都知道数据是什么的时候,进行数据交换非常有用,但是它并不适合新的通讯对象不断变化的情况。而在Web上,新的信息资源不断的涌现,新的合作伙伴不断的加入。因此减少这种通讯成本就非常重要。 一个域模型不能被简单的映射为另一个域模型,是因为他们都以DTD的形式编码。基于不同DTD的直接映射是很困难的,因为这不是简单的语法映射,而是一个领域到另一个的映射。
50
使用RDF进行知识表示 RDF的对象-属性-值的结构满足我们普遍表示能力的需求。而独立于应用程序的RDF Parser也可以得到,因此RDF满足语法的互操作性。 在语义的互操作性方面,明显优于XML。 RDF的对象-属性结构自然的给出了语义单元,而所有的对象都是实体。 定义了兴趣领域中的对象和关系的域模型,可以用RDF自然表达。域模型到RDF有着直接的映射关系,因此两个RDF就可以直接进行语义的转换
51
使用RDF进行知识表示 在某种程度上,RDF是Web应用程序之间建立互操作的最小集。由于是面向对象的,它比XML更是交换信息,而且它在定义新词表上是完全灵活的。 使用RDF作为数据交换模型,提高了复用的层次,远高于Parser的重用,Parser正是XML所能提供的层次。 而且,RDF模型在当前的XML语法发生变化或消失时仍然可以使用,因为RDF描述了一个独立于XML的层次。
52
五 . 为什么需要 Ontology Ontology为人类和应用程序系统提供了一个对于主题的共同理解
53
Ontology的概念 最早是一个哲学概念,从哲学的范畴来说,Ontology 是客观存在的一个系统的解释或说明,关心的是客观现实的抽象本质
54
Ontology的组成 在Web团体内,通常认为Ontology由一组知识术语,包括词汇,语义互联和一些简单的推理规则与逻辑组成,用于某个特定的主题。
55
Ontology的类型 顶级Ontology: 描述的是最普通的概念及概念之间的关系,如空间、时间、事件、行为等等,与具体的应用无关
56
Ontology的构造规则 Precision 形式化,无歧义,高度忠实 Flexibility Explicitness 表达性,演化性
清晰,重用 Systematic 控制,质量,明确
57
An example ontology (OIL)
class-def animal % animals are a class class-def plant % plants are a class subclass-of NOT animal % that is disjoint from animals class-def tree subclass-of plant % trees are a type of plants class-def branch slot-constraint is-part-of % branches are parts of trees has-value tree class-def leaf slot-constraint is-part-of % leaves are parts of branches has-value branch class-def defined carnivore % carnivores are animals subclass-of animal slot-constraint eats % that eat only other animals value-type animal
58
目前被广泛使用的Ontology Worldnet (http://www.cogsci.princeton.edu/~wn)
Framenet( GUM( SENSUS(
59
Ontology Languages XOL(Ontology Exchange Language) SHOE
OML(Ontology Markup Language) RDFS OIL(Ontology Inference Layer) DAML+OIL
60
六 . 一个语义网的应用描述 由知识工程师建立Ontology 用户用语义标记生成页面 整合信息资源 查询语义网
61
由知识工程师建立Ontology 知识工程师根据需求分析域模型 用RDF Schema 做的域模型分析图例子:
62
由知识工程师建立Ontology 知识编辑者利用Protégé工具创建Ontology Protégé 2000的用户界面
63
用语义标记生成页面 用户首先确定欲编辑的页面所属的领域,选择该领域的Ontology
用户可以选择使用普通的文本编辑器注释Web页,也可以使用SHOE开发项目提供的Knowledge Annotator Knowledge Annotator会显示实例,ontologies和声明,用户可以任意添加,编辑,删除这些对象
64
用户用语义标记生成页面 一个基于SHOE的知识编辑器界面
65
整合信息资源 Web爬行工具Expose解析爬过的每个Web页面,如果页面指向了不认识的Ontology,则装入
根据装入的Ontology分析页面,获取Web页面中的知识,存入本地知识库 根据页面的重要程度赋予权重
66
查询语义网 用户选择查询所用的Ontology 根据Ontology选择所感兴趣的查询对象,输入欲查询的属性值
SHOE根据查询检索知识库,返回查询结果
67
查询语义网 SHOE的查询界面:
68
研究挑战和热点 知识形式化的程度 异质问题 包容和安全推理 促进语义网的尽快应用
69
知识形式化的程度 在知识形式化的程度上,至今没有共识 形式化的可能性可以小到Dublin Core,也可以大到一个完整的逻辑表示语言
于是目前的语义网发展就存在这样一个问题,即需要设计一个框架,能够包含各种形式化程度的知识,包容对Web的不同理解
70
异质问题 异质是语义网的内在特性 没有一种语义网语言可以满足所有需求,没有一种模型可以应用到所有实例,也没有一个Ontology可以覆盖所有潜在的应用领域 因此语义网的发展需要考虑对异质的处理
71
异质问题 对于SW的异质性,考虑下述几种方式 按照层及模块来开发表示语言 研究模型的假设对于互操作性的影响 提供一个异质转化的基础架构
通过网络提供模型和组件的重用以及版本的进化
72
包容和安全推理 对于不同的应用,应该由不同的推理方法 包容那些混乱的元数据和非语义内容 提供一个安全基础结构来保证推理的准确性
73
促进语义网的尽快应用 语义网的应用,取决于语义网上每个应用可以获得的资源,这需要: 基本的Ontology的开发 文本挖掘
偶然信息的扑获
74
参考资料 http://www. Semanticweb.org/ http://www.w3.org/2001/sw/Activity
75
开发工具 RDF和RDF(S)开发工具:http://www.w3.org/RDF/
Protege-2000: Ontology 编辑器 SErgey Meelnik:一个基于Java的RDF Api,其中包括XML和RDF的解析器,基于Schema的验证,RDF模型的加密,RDF之上的UMI支持,RDF Shcema的java处理htttp://wwww-db.stanford.edu/~melnik/rdf/api.html. SiLRI:一个轻线程的推理数据库,可以用RDF元数据来进行推理,基于Java
Similar presentations