以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 Semantic Web(语义Web)/描述逻辑/本体 』  (http://bbs.xml.org.cn/list.asp?boardid=2)
----  我对本体定义和本体构建的理解  (http://bbs.xml.org.cn/dispbbs.asp?boardid=2&rootid=&id=42988)


--  作者:gzfxxy1978
--  发布时间:2/2/2007 4:14:00 PM

--  我对本体定义和本体构建的理解
本体的定义:
本体是一个哲学上的概念,用在自然科学中它的定义是:定义很多这里仅列举几个比较著名的定义:
1.“本体定义了组成主题领域词汇表的基本术语及其关系,以及利用术语和关系组合规则来定义词汇的外延”。也就是说,本体不但包含明确定义的术语,还包括根据规则导出的术语,是术语的一个闭包。后来在信息系统、知识系统等领域,越来越多的人研究本体,并给出了许多不同的定义。笔者的话:本体是一个术语表,是个词汇表。。。。。
2.本体是对于“概念化”的某一部分的明确的总结或表达。
3.本体在不同的场合分别指“概念化”或“本体理论”
4.本体是用于描述或表达某一领域知识的一组概念或术语。它可以用来组织知识库较高层次的知识,也可以用来描述特定领域的知识。笔者的话:本体是一个术语表,是个词汇表。。。。。
5.本体属于人工智能领域中的内容理论(content theories),它研究特定领域知识的对象分类、对象属性和对象间的关系,它为领域知识的描述提供术语。
从以上定义可以看出:本体通过对于概念、术语及其相互关系的规范化描述,刻画出某一领域的基本知识体系和描述语言。最著名并被引用得最为广泛的定义是在1993年由Gruber提出的,即“本体是对概念化的明确的规范说明”
所以从以上内容综合来看,笔者对本体的理解是:本体是词汇表,知识库,我认为应该是一个数据库之类的东西。
那末如何构建本体呢,本体的构建是为实现知识共享而设计的,构建本体的目标是为了实现独立与人工干预的信息操作,可以用四个表组成的数据库模式来实现本体定义。一个用来存储术语,其他的用来存储本体的三种关系。
TermInology: 第一个表给出术语的编号和名称。
Synonym: 给出有同义关系的两个术语的编号。
ISA: 给出有着继承关系的两个术语的编号。
Related: 给出有关联关系(除去上述两种关系外)的两个术语的编号。
构建本体的方法:
建立本体的过程类似于建立一个面向对象的程序,不同的是程序中的类和对象是关于数据结构的,而本体中的类和对象是关于领域的。当然创建本体的步骤这里就不再说了,这里笔者介绍一种创建本体的工具:Protégé 2000.如何创建并不是当前研究的重点。并且本体的创建应该是个很复杂的过程,而且构建本体的目的之一就是为了能够重用,所以,如果能够重用本体最好。

--  作者:timothy
--  发布时间:2/5/2007 11:20:00 AM

--  

  上面出自那篇文章,请求一阅!
--  作者:gzfxxy1978
--  发布时间:2/6/2007 5:14:00 PM

--  
以上所写是本人阅读大量文献总结出来的,呵呵,欢迎指正
--  作者:lishilaoren
--  发布时间:2/6/2007 11:30:00 PM

--  
呵呵
--  作者:xiaomin_whut
--  发布时间:2/9/2007 9:40:00 PM

--  
初来乍到,我也是研究本体的,不过还没有入门,学习中^!以后争取也能够跟大家讨论比较专业的问题.
--  作者:健之
--  发布时间:2/15/2007 5:14:00 PM

--  
我的理解,如果本体仅仅是术语表就太狭窄了,不能满足发展本体的基本要求。
从信息建模的层次,我想之所以发展本体,是想解决两个关键问题:知识重用;知识共享
而术语表的说法在本体理论的初期比较认同,现在也认同叫为广泛。其基本原因是术语表可以解决知识共享的一个基本问题:共通的理解。因为不管在任何领域,同一个意思可能有很多个术语,至于模糊的、习惯的用语就更多了。这样同一个说法可能具有不同的意思,同一个意思可以采用不同的说法,这样给知识共享带来了问题,所以,定义一个领域内认可的标准术语表似乎就成了一个比较好的解决方案。本体理论的发起者就有人建议这样来定义本体。
至于知识重用,基本的解决方法就是格式化,规定统一的格式,自然就可以重用了。当然,统一的术语表也可以看作是格式化的手段之一。
但我认为,要达到上述目的,面对复杂的客观世界,最根本的问题是:采用合适的、规格化的方法来表达客观世界!
这里,规格化对应于重用,其实也对应于共享。只要是规格化的方法,对于重用和共享都是有好处的。
但是,合适的表达客观世界的方法就太难了,但又必须满足。你的方法如果不能表达客观世界,满足客观需求,这个方法从根本上是没有意义的。但客观世界太过复杂,要找到统一的规格化的合适的方法,我现在还持怀疑态度。
而本体如果只是术语表,那是远远不能表达复杂的客观世界的。
所以我理解,本体和面向对象类似。面向对象方法试图以对象来描述和表达客观世界。本体从哲学上讲,试图从事物的本质上来描述客观世界,但从目前的方法上讲,是试图通过描述概念以及概念之间的相互关系来表达客观世界的。
所以我认为,本体至少是:
* 概念的定义,可以反映为标准的术语表;
* 概念间的关系。
而建立领域本体因此必须:
* 构建相关的领域概念,并用规范的方式(也许是术语)表达出来。但如何在规范的术语和灵活性的应用上取舍也是值得研究的;
* 建立概念间的关系。但从可实现性考虑,我们必须用有限的关系来表达复杂的世界,如何归纳和总结这些关系还值得研究。
但即便这样,我还是认为上述方法对于真正的表达客观世界的需求依然是远远不够的。比如我们在描述客观世界时的隐含知识,思维和推理等,仅仅采用概念和其间的关系也是远不能表达的。
所以,目前的本体建立者还广泛地利用分类的方法来表达一些隐含的概念和关系,以及完成简单的类属推理。
其实,面向对象方法希望用统一的对象模型来描述世界,并利用面向对象的方法来完成复杂的操作,如运算、推理等等。
而本体与面向对象相比,则更偏重于描述,而淡化了运算和推理等复杂操作。
所以本体和面向对象非常相似,但各有偏重。
我认为,利用本体手段,在一定的领域范围和应用范围内描述客观世界,即本体的哲学意义上的客观世界的部分本质是有一定的可能的。而复杂的操作可以在这种描述的基础上进行进一步研究。如现在的OWL就是概念和关系的描述,而利用Racer等进行简单推理。而OWL的成功在于,第一,它利用本体描述了原有网页中不能描述的东西,即能够让机器理解的网页意义。第二,它仅仅将本体的复杂操作限制在分类上,因此能够完成它所提供的应用,而不至于因为自己允诺的功能没有实现而遭唾弃。
不知道我的理解对没有。迫切希望各位高手的讨论。
--  作者:jpz6311whu
--  发布时间:2/16/2007 12:08:00 PM

--  
As noted earlier, the RDF Schema type system is similar in some respects to the type systems of object-oriented programming

languages such as Java. However, RDF differs from most programming language type systems in several important respects.

One important difference is that instead of describing a class as having a collection of specific properties, an RDF schema describes

properties as applying to specific classes of resources, using domain and range properties. For example, a typical object-oriented

programming language might define a class Book with an attribute called author having values of type Person. A corresponding RDF

schema would describe a class ex:Book, and, in a separate description, a property ex:author having a domain of ex:Book and a range

of ex:Person.

The difference between these approaches may seem to be only syntactic, but in fact there is an important difference. In the

programming language class description, the attribute author is part of the description of class Book, and applies only to instances of

class Book. Another class (say, softwareModule) might also have an attribute called author, but this would be considered a different

attribute. In other words, the scope of an attribute description in most programming languages is restricted to the class or type in

which it is defined. In RDF, on the other hand, property descriptions are, by default, independent of class definitions, and have, by

default, global scope (although they may optionally be declared to apply only to certain classes using domain specifications).

As a result, an RDF schema could describe a property exterms:weight without a domain being specified. This property could then be

used to describe instances of any class that might be considered to have a weight. One benefit of the RDF property-based approach

is that it becomes easier to extend the use of property definitions to situations that might not have been anticipated in the original

description. At the same time, this is a "benefit" which must be used with care, to insure that properties are not mis-applied in

inappropriate situations.

Another result of the global scope of RDF property descriptions is that it is not possible in an RDF schema to define a specific

property as having locally-different ranges depending on the class of the resource it is applied to. For example, in defining the

property ex:hasParent, it would be desirable to be able to say that if the property is used to describe a resource of class ex:Human,

then the range of the property is also a resource of class ex:Human, while if the property is used to describe a resource of class

ex:Tiger, then the range of the property is also a resource of class ex:Tiger. This kind of definition is not possible in RDF Schema.

Instead, any range defined for an RDF property applies to all uses of the property, and so ranges should be defined with care.

However, while such locally-different ranges cannot be defined in RDF Schema, they can be defined in some of the richer schema

languages discussed in Section 5.5.

Another important difference is that RDF Schema descriptions are not necessarily prescriptive in the way programming language type

declarations typically are. For example, if a programming language declares a class Book with an author attribute having values of type

Person, this is usually interpreted as a group of constraints. The language will not allow the creation of an instance of Book without

an author attribute, and it will not allow an instance of Book with an author attribute that does not have a Person as its value.

Moreover, if author is the only attribute defined for class Book, the language will not allow an instance of Book with some other

attribute.

RDF Schema, on the other hand, provides schema information as additional descriptions of resources, but does not prescribe how

these descriptions should be used by an application. For example, suppose an RDF schema states that an ex:author property has an

rdfs:range of class ex:Person. This is simply an RDF statement that RDF statements containing ex:author properties have instances of

ex:Person as objects.

This schema-supplied information might be used in different ways. One application might interpret this statement as specifying part

of a template for RDF data it is creating, and use it to ensure that any ex:author property has a value of the indicated (ex:Person)

class. That is, this application interprets the schema description as a constraint in the same way that a programming language might.

However, another application might interpret this statement as providing additional information about data it is receiving, information

which may not be provided explicitly in the original data. For example, this second application might receive some RDF data that

includes an ex:author property whose value is a resource of unspecified class, and use this schema-provided statement to conclude

that the resource must be an instance of class ex:Person. A third application might receive some RDF data that includes an ex:author

property whose value is a resource of class ex:Corporation, and use this schema information as the basis of a warning that "there

may be an inconsistency here, but on the other hand there may not be". Somewhere else there may be a declaration that resolves

the apparent inconsistency (e.g., a declaration to the effect that "a Corporation is a (legal) Person").

Moreover, depending on how the application interprets the property descriptions, a description of an instance might be considered

valid either without some of the schema-specified properties (e.g., there might be an instance of ex:Book without an ex:author

property, even if ex:author is described as having a domain of ex:Book), or with additional properties (there might be an instance of

ex:Book with an ex:technicalEditor property, even though the schema describing class ex:Book does not describe such a property).

In other words, statements in an RDF schema are always descriptions. They may also be prescriptive (introduce constraints), but only

if the application interpreting those statements wants to treat them that way. All RDF Schema does is provide a way of stating this

additional information. Whether this information conflicts with explicitly specified instance data is up to the application to determine

and act upon.


--  作者:superc_7
--  发布时间:2/26/2007 11:10:00 PM

--  
以下是引用gzfxxy1978在2007-2-2 16:14:00的发言:
本体的定义:
本体是一个哲学上的概念,用在自然科学中它的定义是:定义很多这里仅列举几个比较著名的定义:
1.“本体定义了组成主题领域词汇表的基本术语及其关系,以及利用术语和关系组合规则来定义词汇的外延”。也就是说,本体不但包含明确定义的术语,还包括根据规则导出的术语,是术语的一个闭包。后来在信息系统、知识系统等领域,越来越多的人研究本体,并给出了许多不同的定义。笔者的话:本体是一个术语表,是个词汇表。。。。。
2.本体是对于“概念化”的某一部分的明确的总结或表达。
3.本体在不同的场合分别指“概念化”或“本体理论”
4.本体是用于描述或表达某一领域知识的一组概念或术语。它可以用来组织知识库较高层次的知识,也可以用来描述特定领域的知识。笔者的话:本体是一个术语表,是个词汇表。。。。。
5.本体属于人工智能领域中的内容理论(content theories),它研究特定领域知识的对象分类、对象属性和对象间的关系,它为领域知识的描述提供术语。
从以上定义可以看出:本体通过对于概念、术语及其相互关系的规范化描述,刻画出某一领域的基本知识体系和描述语言。最著名并被引用得最为广泛的定义是在1993年由Gruber提出的,即“本体是对概念化的明确的规范说明”
所以从以上内容综合来看,笔者对本体的理解是:本体是词汇表,知识库,我认为应该是一个数据库之类的东西。

ontology的定义其实挺复杂,至少被老外搞得挺复杂,因为它一开始是个哲学领域概念,后来被人工智能领域拿来用,后来又被信息系统和语义web给拿来用了,整个变迁还是蛮复杂的……
至于它到底是什么,想深入研究的话可以看看Guarino在98年附近的一些文献,不敢说他的说法是正确的,但至少非常形式化……
我的理解是,本体就是一种计算机和人都能理解的约定,有了这种约定大家好办事

那末如何构建本体呢,本体的构建是为实现知识共享而设计的,构建本体的目标是为了实现独立与人工干预的信息操作,可以用四个表组成的数据库模式来实现本体定义。一个用来存储术语,其他的用来存储本体的三种关系。
TermInology: 第一个表给出术语的编号和名称。
Synonym: 给出有同义关系的两个术语的编号。
ISA: 给出有着继承关系的两个术语的编号。
Related: 给出有关联关系(除去上述两种关系外)的两个术语的编号。

这个是传统关系数据库模式下如何表示本体,但现在很多本体语言,如RDFS,OWL也可以很好的表示本体

构建本体的方法:
建立本体的过程类似于建立一个面向对象的程序,不同的是程序中的类和对象是关于数据结构的,而本体中的类和对象是关于领域的。当然创建本体的步骤这里就不再说了,这里笔者介绍一种创建本体的工具:Protégé 2000.如何创建并不是当前研究的重点。并且本体的创建应该是个很复杂的过程,而且构建本体的目的之一就是为了能够重用,所以,如果能够重用本体最好。

嗯,reuse,reuse很重要,我喜欢“mashup”本体



--  作者:xpg0312
--  发布时间:2/28/2007 9:59:00 AM

--  
对于本体就是一个词汇表的说法,个人认为有些欠妥。
词汇表或者说是主题词表、叙词表是最原始的本体或者是ontology protype,有了领域词汇表,在采用一种的特定的本体描述语言对其进行描述。
呵呵,上面纯属个人见解,希望高手指证。我最近的工作就是在做本体的集成,具体的说就是对叙词表的集成。希望各位能给些意见。
--  作者:zzld
--  发布时间:3/6/2007 6:29:00 PM

--  
good
--  作者:hnlyf
--  发布时间:3/12/2007 9:57:00 AM

--  
本体和传统的叙词表有什么不一样呢?在建立本体的过程中如何才能抽去到合适的词汇呢?
--  作者:rafoul
--  发布时间:3/12/2007 2:44:00 PM

--  
楼上的几位好强啊,拜读了
--  作者:visualxiao
--  发布时间:5/6/2007 10:45:00 PM

--  
拜读拜读
谢谢
--  作者:visualxiao
--  发布时间:5/7/2007 10:09:00 PM

--  
叙词表与本体的相同点主要有以下几个方面:两者的目的相同,都是试图通过词汇概念来描述某一领域的复杂知识关系,从而简化不同用户知识共享的方法;两者都包含人工语言,依靠概念系统规则表示高度复杂的知识;都涉及使用某一专业领域的大范围的概念系统,以及术语间的语义关系;都使用上下位等级关系来表示知识的分类体系;都可以用于信息编目和信息组织;都可以用于手工和机器的标引与检索;都是先进行构建,然后作为一种标准规范,被相关部门利用;都需要进行维护和修订工作。
叙词表与本体的区别主要体现在以下几方面
在词汇定义方面:叙词表更多是人为的因素,本体使用的形式语言进行表述,更为准确。
在算法原理方面:叙词表只是有限的表达,本体可以推理。
在用词方面:叙词表注重选词的单一性,就算多义词也需要标注具体领域;本体中多义词可以重复出现,本体自身可以进行区分。
从用户角度看:叙词表主要针对人和专家;本体可以用于人、机器、系统之间的知识共享。
在表达的语义关系方面:本体中相对叙词表词间关系细化并加强。
见笑了。
--  作者:jiajw0426
--  发布时间:5/8/2007 2:18:00 PM

--  
哈哈
--  作者:madlax
--  发布时间:5/8/2007 10:23:00 PM

--  
写得好啊
--  作者:Leon.Essence
--  发布时间:5/9/2007 11:25:00 AM

--  
我的一些看法,欢迎讨论!

我觉得知识的表示和本体是对我们人对世界认识的一种模拟的过程。
我们把世界分为两部分:模型世界和现实世界
模型世界存在于我们的大脑中,本体就相当于这个模型世界,它主要定义了概念和概念之间的关系
现实世界是我们周围客观存在的真实的事物组成的世界,在知识表示中相对于概念的实例,
模型世界和现实世界都应该是变化的,他们相互影响,共同的进化。

知识表示的语言可以有很多种,他们的区别主要在于定义概念和概念之间的关系能力的强弱,当然表示能力和推理能力是一对矛盾,所以在使用的时候要权衡。

比如说使用语义网使用的描述逻辑来进行知识的表示,TBox就相当于模型世界,ABox就相当于现实世界;如果用面向对象语言来表示,Class就是模型世界,Instance就相当于现实世界。

目前来说,本体的构建主要是人手动来完成的,这是一个很复杂的过程。本体创建后还应该有很多的工作,比如说本体进化,还有为了本体能够共享,有Ontology mapping, ontology matching, ontology integration等等


--  作者:lsp_jlu
--  发布时间:5/11/2007 9:16:00 AM

--  
本体是术语表这个说法,的确不准确,不过目前的应用和研究,大多还处于这个层次,对于其中的推理和关系的应用,还没有引起足够的重视。本体很重要的木器还是后面的推理能力。
--  作者:yuexiaozheng
--  发布时间:5/12/2007 11:40:00 AM

--  
学习中
--  作者:gzfxxy1978
--  发布时间:5/24/2007 10:46:00 AM

--  感谢大家的支持!
这个帖子是我刚刚接触本体时,对本体的一点认识。现在看来其中谬误甚多。贻笑大方了

现在看来本体远远不止这么简单。至于本体是什么,我倒真不敢妄言了。

所谓一瓶不响,半瓶光荡,想来就是这个道理了


--  作者:gzfxxy1978
--  发布时间:5/24/2007 10:48:00 AM

--  
欢迎
--  作者:launix
--  发布时间:5/24/2007 1:58:00 PM

--  
继续学习!!!
--  作者:cindysw
--  发布时间:7/4/2007 5:35:00 PM

--  
顶,继续学习
--  作者:gzfxxy1978
--  发布时间:7/6/2007 9:56:00 AM

--  
垃圾
--  作者:gzfxxy1978
--  发布时间:7/6/2007 9:57:00 AM

--  
本体是个面向对象的数据库
--  作者:gzfxxy1978
--  发布时间:7/6/2007 9:59:00 AM

--  
本体和语义web有什么关系吗
--  作者:myl
--  发布时间:7/8/2007 4:41:00 PM

--  
去找一找 Tom Gruber的文章就明白了。
--  作者:clentor
--  发布时间:7/9/2007 8:42:00 AM

--  
偶觉得,本体就是人机的一个中介,类似于开会用的语言翻译机...


--  作者:lsp_jlu
--  发布时间:7/9/2007 9:44:00 PM

--  
楼主的利用数据库表来实现的本体存储的思考,挺好的。
不过似乎只是考虑is-a和同义词的特殊关系是不是足够,对于轻量级的本体应用足够了。其他关系这个泛指,是不是应该有一个表可以存储具体的关系比较好,一般具体的描述语言的时候,泛指的关系不是那么多,是不是可以确切一些。
另:本体核心的东西,我觉得是本体的推理能力,这个就是重量级本体和轻量级本体的区别,目前的应用大多还不考虑这个问题,所以和术语表有些类似了。推理能力就是本体和元数据,以及术语表的关键区别。
--  作者:beandoudou
--  发布时间:7/11/2007 4:48:00 PM

--  
呵呵 不错
本体是语义web的基础呀 语义web只有建立在构建好的本体上才能扩展
--  作者:ajenlee314
--  发布时间:7/16/2007 9:09:00 AM

--  
以下是引用lsp_jlu在2007-7-9 21:44:00的发言:
楼主的利用数据库表来实现的本体存储的思考,挺好的。
不过似乎只是考虑is-a和同义词的特殊关系是不是足够,对于轻量级的本体应用足够了。其他关系这个泛指,是不是应该有一个表可以存储具体的关系比较好,一般具体的描述语言的时候,泛指的关系不是那么多,是不是可以确切一些。
另:本体核心的东西,我觉得是本体的推理能力,这个就是重量级本体和轻量级本体的区别,目前的应用大多还不考虑这个问题,所以和术语表有些类似了。推理能力就是本体和元数据,以及术语表的关键区别。


具体的关系是不是指的关系的实例化描述?本体的推理能力目前能达到的程度是不是依赖于规则的建立程度??规则的制定还是离不开人工干预,那么本体要实现的自动化目标是不是还是遥不可及?
--  作者:ejun_2006
--  发布时间:8/12/2007 10:33:00 AM

--  
呵呵 !!!!!
--  作者:springbird
--  发布时间:2/27/2009 5:20:00 PM

--  
学习中...
--  作者:Richell_Zheng
--  发布时间:2/13/2012 3:21:00 PM

--  
请教作者的:在构建本体的时候,概念的定义,需要对概念的属性(不是对象属性)进行界定么?有些糊涂~~~objectproperty
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
156.250ms