Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1260149
  • 博文数量: 135
  • 博客积分: 10588
  • 博客等级: 上将
  • 技术积分: 1325
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-18 11:12
文章分类

全部博文(135)

文章存档

2013年(6)

2012年(3)

2011年(11)

2010年(7)

2009年(14)

2008年(6)

2007年(42)

2006年(46)

分类: 数据库开发技术

2006-10-14 15:59:59

为什么需要本体?
由于对跨系统的知识重用和分享的兴趣的增大,导致对Ontology的兴趣大增。
知识分享的问题:不同的系统描述领域的时候使用不同的概念和术语。所以很难从一个系统中提取知识运用到另一个系统中。
开发可重用的Ontology以推进共享和重用是Ontology研究的一个重要目标。
开发支持构建、合并和翻译Ontology的工具是研究的另一个目标。
最广为流传的本体论定义如下:
1.本体论是一个哲学术语,意义为“关于存在的理论”
2.本体论是关于概念化的清楚详细的说明
3.本体论是关于词汇或概念的理论,它用于构建人工智能系统
4.本体论是用来定义某一领域的知识主体(比如:在CYC领域的常识性知识)
第二个定义通常认为是“本体论”在人工智能中的定义。第三个定义是知识工程师团体推荐的定义。最后第四个有别于前两个定义——它把本体论看作知识的内主体,而不是描述知识的途径。
Perez 等人认为Ontology 可以按分类法来组织,他归纳出Ontology 包含5 个基本的建模元语(Modeling Primitive) 。这些元语分别为:类(classes) ,关系(relations) ,函数(functions) ,公理(axioms) 和实例(instances) 。通常也把classes 写成concepts
类是相似术语所表达的概念的集合体,可以指任何事物,如工作描述、功能、行为、策略和推理过程等等。
关系代表了在领域中概念之间的交互作用。形式上定义为n 维笛卡儿乘积的子集: R C1 ×C2×⋯×Cn 。如:子类关系( subclass-of)
公理通常都是一阶谓词逻辑的表达式。公理代表永真断言,比如概念乙属于概念甲的范围。也就是说公理是那种无需再进行证明的逻辑永真式(重言式〕,例如三角形内角制和等于180度。可以使用公理来约束信息、证明止确性或者推导新信息。在最简单的情况下,本体是通过包含关系关联起来的概念组,在本体中加入公理则意味着可以表达更为丰富的概念间的关系,以至于可以描述领域内的所有值为真的事实。
函数是一类特殊的关系。在这种关系中前n - 1 个元素可以惟一决定第n 个元素。形式化的定义如下: F C1 ×C2 ×⋯×Cn-1 Cn 。例如Mother-of 关系就是一个函数,其中Mother-of ( x y) 表示y x 的母亲,显然x 可以惟一确定他的母亲y
实例,也称个体,表示某个特定概念的具体化的值。实例是本体中的最小对象。具有原子性,即不可再分性。如果某个实例还可以再进行划分,那么它就是一个类,而不是实例
       从语义上分析,实例表示的就是对象,而概念表示的则是对象的集合,关系对应于对象元组的集合。概念的定义一般采用框架(frame) 结构,包括概念的名称,与其他概念之间关系的集合,以及用自然语言对该概念的描述。
基本的关系有4 种:part-of kind-of instance-of attribute-of
关系名
关系描述
part-of
表达概念之间部分与整体的关系。
kind-of
表达概念之间的继承关系,类似于面向对象中的父类与子类之间的关系。
instance-of
表达概念的实例与概念之间的关系,类似于面向对象中的对象和类之间的关系。
attribute-of
表达某个概念是另一个概念的属性。如“价格”是桌子的一个属性。
目前在具体应用中Ontology的表示方式主要有4类:
l         非形式化语言
l         半非形式化语言
l         半形式化语言
l         形式化语言
可以用自然语言来描述Ontology,也可以用框架、语义网络或逻辑语言来描述。
目前普遍使用的方法列表如下:
名称
描述
特点
Ontolingua
一种基于KIFknowledge interchange format)的提供统一的规范格式来构建Ontology的语言。
ü         为构造和维护Ontology提供了统一的、计算机可读的方式;
ü         由其构造的Ontology可以方便地转换到各种知识表示和推理系统(PrologCORBAIDLCLIPSLOOMEpikitAlgernonKIF),从而将Ontology的维护与使用它的目标系统隔开;
ü         主要用于Ontology服务器。
CycL
Cyc系统的描述语言,一种体系庞大而非常灵活的知识描述语言。
ü         在一阶谓词演算的基础上扩充了等价推理、缺省推理等功能;
ü         具备一些二阶谓词演算的能力;
ü         其语言环境中配有功能很强的可进行推理的推理机。
Loom
Ontosaurus的描述语言,一种基于一阶谓词逻辑的高级编程语言,属于描述逻辑体系。后来发展为PowrLoom语言(采用前后链规则(backward and forward chainer)作为推理机制)。
ü         提供表达能力强、声明性的规范说明语言;
ü         提供强大的演绎推理能力;
ü         提供多种编程风格和知识库服务。
 
 
 
什么是OWL本体
  我们使用本体(Ontology)来获取某一领域的知识,本体描述该领域的概念,以及这些概念之间的关系。目前有很多种不同的本体语言,它们各有千秋,而W3CWorld Wide Web Consortium)目前的最新标准是OWL。和Protégé一样,OWL让描述各种概念成为可能,与此同时,它还提供了其他很多功能。它具有更丰富的操作符——例如与、或和非;它立足于一个不同的逻辑模型(logical model),该模型能够更好的定义概念,可以用从简单概念构造出复杂的概念,不仅如此,该模型还允许你使用推理机(reasoner)来检查本体中的陈述(statement)和定义(definition)是否一致,或者判断出哪个概念更适合于哪个概念,从而帮你维护一个正确的本体等等,当允许一个类(Class)拥有多个父类的时候,这一点至关重要。
一、三类OWL
  可以把OWL分为三个子语言:OWL-LiteOWL-DLOWL-Full,主要的分类依据就是它们的表达能力。其中,OWL-Lite是表达能力最弱的子语言,OWL-Full具有最强的表达能力,而OWL-DL的表达能力则在它们之间。我们可以认为OWL-DLOWL-Lite的扩展,而OWL-FullOWL-DL的扩展。
1.1 OWL-Lite
  从语法上来说,OWL-Lite是三个之中最简单的一个,当你的本体中类的层次结构很简单,并且只有简单的约束(constraint)时适合使用它来描述本体。例如,在需要把一个已存在的辞典(thesauri)移植到另一个差不多简单的概念层次时,OWL-Lite可以做得又快又好。
1.2 OWL-DL
  和OWL-Lite相比,OWL-DL的表达能力要丰富许多,它的基础是描述逻辑(Description Logics,即DL的由来)。描述逻辑是一阶逻辑(First Order Logic)的一个可判定的变种(译注:不一定准确,原文decidable fragment),因此可以用来进行自动推理,计算机从而可以知道本体中的分类层次,以及本体中的各种概念是否一致。
1.3 OWL-Full
  OWL-FullOWL的三种子语言中表达能力最强的一个,适合在那些需要非常强的表达能力,而不用太关心可判定性(decidability)或是计算完全性的场合下使用。不过也正是由于表达能力太强这个原因,用OWL-Full表示的本体是不能进行自动推理的。
二、该使用哪一种子语言
  首先,要想确切的知道这三种子语言之间的区别,请参考。尽管有很多因素需要考虑以决定该使用它们中的哪一个,但这里是一些最简单常用的原则。
  • 对于OWL-LiteOWL-DL,考虑OWL-Lite提供的那些简单构造子(construct)是否足以描述你的本体,若是使用OWL-Lite,否则使用OWL-DL
  • 对于OWL-DLOWL-Full,考虑在你的应用中,是自动推理比较重要还是高表达能力(例如是否需要元类来建模)更重要,如果是前者,请使用OWL-DL,否则该使用OWL-Full
  ProtégéOWL插件在编辑OWL-LiteOWL-DL的本体时不做区分,但可以在选项里选择以OWL-DL或是OWL-Full方式编辑本体。
三、OWL本体的组成
  OWL本体的组成与Protégé提供的本体相似,基本上,只是在对组成部分的称呼有一些分别。例如OWL有个体(Individual)、属性(Property)和类(Class),而Protégé则分别称它们为实例(Instance)、槽(Slot)和类(Class)。
3.1 个体(Individual
  个体代表(领域中)我们实际感兴趣的那些对象,ProtégéOWL有一个重要的区别就是OWL不使用唯一命名假设(Unique Name AssumptionUNA),也就是说,两个不同的名称可以对应到同一个个体。例如伊丽莎白女王女王伊丽莎白?温莎可能都对应同一个人。在OWL里,你必须明确的表达个体之间是否为相同的,否则它们可能相同也可能不相同。
  注:个体(Individual)有时也被称作实例(Instance),个体相当于类的实例。
3.2 属性(Property
  属性是个体之间的二元关系,也就是说,属性把两个个体连接在一起。例如,属性hasSibling可能会把MatthewGemma这两个个体连接起来,而属性hasChild会把PeterMatthew这两个个体连接起来;属性可以有反向属性(Inverse),例如hasOwner的反向属性是isOwnedBy;属性也可以被限制为只能拥有一个值,即所谓的函数属性(functional);属性还可以是具有传递性(transitive)或是对称的(symmetric)。
  注:这里所说的属性即Protégé中槽(Slot)的概念,在描述逻辑中它们就是角色(Role),在UML等面向对象方法中它们就是关系(Relation),而在GRAIL等形式化表达中将它们称作特性(Attribute)。
3.3 类(Class
  OWL中的类代表一些个体的集合,OWL使用形式化(数学的)的方法精确描述出该类中成员必须具有的条件,例如,领域中全部猫的个体都属于Cat类。类可以通过继承关系组成层次结构,子类是父类中的特殊情况,例如考虑AnimalCat这两个类,Cat可以是Animal的一个子类(即AnimalCat的父类),这就表示了:所有的猫都是动物,所有Cat类的成员都是Animal类的成员,如果你是猫那么你也是动物,Cat类被Animal类所包含,等等。OWL-DL的一个重要特征就是父类和子类之间的(包含)关系可以被推理机自动计算出来。
  注:概念(Concept)这个词有时被用来代替类,实际上,类是概念的一个具体表现。
阅读(3633) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~