基于本体的知识模型构建
1.计算机领域本体的构建
计算机科学界用“本体”这个词表述和界定由Gruber提出的“本体是概念化的明确的规范说明”这个事物,于是,“本体”一词又成为了一个计算机科学的名词。
本体的种类普通 (一般或常识) 本体高层本体(或顶层本体)领域本体 Domain Ontology术语本体Terminology Ontologies形式本体Formal Ontology混合本体Mixed ontology表现本体Representational ontologies任务/方法本体Task and Method Ontologies局部本体Regional ontology在人工智能界,最早给出Ontology定义的是Neches等人,他们将Ontology定义为“给出构成相关领域词汇的基本术语和关系,以及利用这些术语和关系构成的规定这些词汇外延的规则的定义”。Neches认为:“本体定义了组成主题领域的词汇表的基本术语及其关系,以及结合这些术语和关系来定义词汇表外延的规则。”
(“An ontology defines the basic terms and relations comprising the vocabulary of a topic area, as well as the rules for combining terms and relations to define extensions to the vocabulary.”)。后来在信息系统、知识系统等领域,越来越多的人研究Ontology,并给出了许多不同的定义。
其中最著名并被引用得最为广泛的定义是由Gruber提出的,“本体是概念化的明确的规范说明”,原文参见:"An ontology is an explicit specification of a conceptualization. The term is borrowed from philosophy, where an Ontology is a systematic account of Existence. For AI systems, what "exists" is that which can be represented. When the knowledge of a domain is represented in a declarative formalism, the set of objects that can be represented is called the universe of discourse. This set of objects, and the describable relationships among them, are reflected in the representational vocabulary with which a knowledge-based program represents knowledge. Thus, in the context of AI, we can describe the ontology of a program by defining a set of representational terms. In such an ontology, definitions associate the names of entities in the universe of discourse (e.g., classes, relations, functions, or other objects) with human-readable text describing what the names mean, and formal axioms that constrain the interpretation and well-formed use of these terms. Formally, an ontology is the statement of a logical theory.[1]"。和这个定义类似的有N. Guarino and P. Giaretta (1995)“本体是概念化的明确的部分的说明/一种逻辑语言的模型”(“an ontology is an explicit, partial account of a conceptualization/ the intended models of a logical language.”)。
W. N. Borst对该定义也进行了引申“本体是共享的概念模型的形式化的规范说明”(“An ontology is a formal specification of a shared conceptualization”)Fensel对这个定义进行分析后认为Ontology的概念包括四个主要方面:1. 概念化(conceptualization):客观世界的现象的抽象模型;2. 明确(explicit):概念及它们之间联系都被精确定义;3.形式化(formal):精确的数学描述;4. 共享(share):本体中反映的知识是其使用者共同认可的。原文:“an abstract model of a phenomenon termed 'conceptualization',a precise mathematical description hints the word 'formal', the precision of concepts and their relationships clearly defined are expressed by the term 'explicit' and the existence of an agreement between ontology users is hinted by the term 'shared'.”Swartout将本体定义为:“本体是一个为描述某个领域而按继承关系组织起来作为一个知识库的骨架的一系列术语”。
(“An ontology is a hierarchically structured set of terms for describing a domain that can be used as a skeletal foundation for a knowledge base.”)。他的定义强调了本体中术语(terms)的重要性。
Fensel定义“本体是对一个特定领域中重要概念的共享的形式化的描述”。(“An ontology is a common, shared and formal description of important concepts in an specific domain.”)。
Noy F.N. 认为“本体是对某个领域中的概念的形式化的明确的表示,每个概念的特性描述了概念的各个方面及其约束的特征和属性。”(“An ontology is a formal explicit representation of concepts in a domain, properties of each concept describes characteristics and attributes of the concept known as slots and constrains on these slots.”)。
Fonseca定义“本体是以某一观点用详细明确的词汇表描述实体、概念、特性和相关功能的理论”。(“An ontology is a theory which uses a specific vocabulary to describe entities, classes, properties and related function with certain point of view.”)。
Starla认为“本体必需包括所使用术语的规范说明、决定这些术语含义的协议、以及术语之间的联系,来表达概念”。(“An ontology necessarily includes a specification of the terms used (terminology) and agreements that allow to determine their meaning, along wit。
2.本体论的构建本体
在实际的应用中,本体论学者、知识管理、人工智能、情报学(图书馆学)甚至任何一个具有大量需要归类和划分信息的部门及领域都可以成为本体论的应用对象。本体论的基本元素是词汇(term)/概念(concept),转而构成同质化的类(class)和子类(sub-class),然后各个类和概念之间加入了适合的关系(relation)后,形成了一个简单的本体。概念和类皆用来表达词汇本身,而关系则为词汇提供连接(mapping),并加入限制条件(constraint),使之与现实情况相符合。
构建本体最为常用的软件是由斯坦福大学开发的Protege,最初是应用在医学领域,后来被逐渐的扩展至其它领域,该软件本身也是一个开源软件。 构建本体的简单步骤:
1. 列出研究课题所涉及到的词条(terms)
2. 按照词条的固有属性和专属特征进行归纳和修改,对词条建立类(class)以及层级化的分类模型(taxonomy)
3. 加入关系(relation)连系terms和taxonomies
4. 按照需要,添加实例(instance)作为概念的具象
最后在Protege中,还可以利用其附带的功能和插件对本体进行文字和图形化的导出,格式也可以自由选择。
3.本体的本体工程
本体工程,又称为本体论工程、本体论设计或本体设计,是计算机科学与信息科学当中的一个新兴领域,旨在研究用于构建本体的方法和方法学。
本体工程乃是一个新兴的研究和应用领域,关注的是本体开发过程、本体生命周期、用于构建本体的方法和方法学以及那些用于支持这些方面的工具套装和语言。本体提供的是某一领域的公共词表,并采用不同水平的形式化程度,对术语的含义以及术语之间的关系加以界定。
在过去的十年时间里,人们对于各种本体的关注日益增强。如今,本体已广泛应用于知识工程、人工智能以及计算机科学领域;同时,本体还广泛应用于知识管理、自然语言处理、电子商务、智能信息集成、生物信息学和教育等方面以及语义网之类的新兴领域。
本体工程旨在明确特定领域的那些隐含在软件应用程序以及企业机构和业务过程当中的知识。本体工程为解决各种语义障碍所造成的互操作性问题提供了一个前进的方向。
其中,语义障碍指的也就是那些与业务术语和软件类的定义相关的障碍和问题。本体工程是一套与特定领域之本体开发工作相关的任务。
1、本体本体就是由若干概念及其在某种逻辑理论(如一阶谓词演算)支持下的定义所构成的一种分类法。有人已经为本体提出的定义就是,本体是一种对于某种概念体系(概念表达、概念化、概念化体系或者说概念化过程)的明确而又详细的说明。
对于特定一个领域而言,本体表达的是其那套术语、实体、对象、类、属性及其之间的关系,提供的是形式化的定义和公理,用来约束对于这些术语的解释。本体允许使用一系列丰富的结构关系和非结构关系,如泛化、继承、聚合和实例化,并且可以为软件应用程序提供精确的领域模型。
例如,本体可以为传统软件提供面向对象型系统的对象模式(object schema),以及类的定义。2、语义多重性在整个生产制造生命周期里面,过程规划、过程建模、排程调度、工作流程以及模拟之类的软件应用程序,都会利用过程信息来描述生产活动当中所涉及到的活动、资源需求、订单关系以及时间约束。
尽管一个应用程序的输出数据和过程可能会参与构成另一应用程序的输入,但这些应用程序通常情况下彼此之间并不进行互操作。对于每个应用程序和厂商来说,若要想实现数据和过程的共享,就必须编写某种转换程序 。
然而,这些过程的定义并不明确清晰,其间必然会碰到因为同义词问题所造成的不兼容性以及语义多重性(Semantic plurality)所引起的不一致问题。当采用不同的名称或字符串来命名两个功能相同的对象或类的时候,就会出现同义词问题。
对于机器之间的通讯来说,汽车(应用程序甲)=机动车辆(应用程序乙),并非显而易见的问题。当同样的名称在两个应用程序之中具有两种不同含义的时候,就会发生语义多重性问题。
例如,资源(应用程序甲)=耗材类资源,而资源(应用程序乙)=机械工具。从传统上来说,点对点转换程序一直就是为解决此类问题而设计的。
但是,当需要参与互操作的应用程序有很多的时候,所需编写的转换程序的数量就会呈指数方式增长,从而实现互操作性的成本与代价也会出现同样方式的提高。3、过程规范语言PSL是一种稳健的交换技术,用于成就不同的生产制造应用程序之间的分布式协作。
上述施莱诺夫等人的这篇论文阐述了,当PSL应用于生产制造过程的时候,PSL究竟是如何来解决那些与语义问题相关的问题。同时,作者在此文之中还针对如何对PSL加以改编,以便将其用于生产制造企业集成方面的基于智能体的系统(agent-based systems),提出了一些初步的想法。
4、语义建模PSL之中对于概念的定义是采用知识交换格式(Knowledge Interchange Format,KIF)来表达的,并且采用形式逻辑来定义它们的语义。采用KIF的好处就是能够证明定义和公理的一致性和完整性。
PSL本体具有可扩展性,且建立在一种由公理和扩展所构成的核心(即PSL核心本体)的基础之上。PSL本体之中存在着三种基本实体(活动、对象和时间点)以及四种基本关系(参与“participates_in”、之前于“before”,、是……的开始“begin_of”和是……的结束“end_of”)。
关于PSL核心本体和扩展的详细论述,可参见其他资料。当前,PSL之中收录有大约300个分散于31个模块之中的概念。
现在,其中已经表达有过程建模、排程调度以及模拟方面的固有概念。为了对作为一种交换语言的PSL加以验证,目前已经成功实现了首个过程信息交换试点实施项目;该试点项目是在基于IDEF3的业务过程建模工具与一种C++调度程序之间进行的。
本体一般都是采用本体语言来编制的。本体语言,又称为“本体论语言”,是一种用于编制本体的形式化语言。
目前,存在着许许多多此类的本体语言,既包括专有的,也包括基于标准的:普通逻辑(Common logic)就是ISO标准24707;这是关于一种本体语言家族的技术规范,其中的本体语言彼此之间可以准确地相互转换。Cyc项目有其自己的,基于一阶谓词演算,且具有某些高阶扩展的本体语言(即CycL)。
Gellish语言之中包括了关于自身扩展的规则,因而集成了一部本体和一种本体语言。
4.信息检索里的基于本体是什么意思
基于本体的语义检索,我是这样理解的:
首先这个检索系统包含:领域的本体和被检索的对象(比如说是图像),
在进行检索之前首先得对图像用本体来进行标注(这个标注现在一般是手动的或半自动的),
标注后其实一幅图像就成为多个概念的实例了;
这样处理以后就可以对图像进行基于语义的查询了,相对于传统的基于关键字的查询,
基于语义的查询最大的优势在于它提供基于关系的查询,这种查询所支持的功能相对于关键字的查询和关系数据库的查询是更为强大的,而且系统对于查询的处理是一个推理的过程。
5.什么是知识本体
这个概念我还是第一次听说.我在《机器翻译研究》发现,知识本体的定义有很多种,其中牛津词典给出的定义是:the science or study of being! 《机器翻译研究》的作者在总结了前人的定义的基础上提出:如果我们把每一个知识领域抽象成一个概念体系,再采用一个词表来表示这个概念体系,在这个词表中,要明确地描述词的涵义、词与词之间的关系、并在该领域的专家之间达成共识,使得大家能够共享这个词表,那么,这个词表就构成了该领域的一个知识本体. 我能提供的仅仅是这些.希望有更好的答案出现.。
6.本体的本体工程
本体工程,又称为本体论工程、本体论设计或本体设计,是计算机科学与信息科学当中的一个新兴领域,旨在研究用于构建本体的方法和方法学。
本体工程乃是一个新兴的研究和应用领域,关注的是本体开发过程、本体生命周期、用于构建本体的方法和方法学以及那些用于支持这些方面的工具套装和语言。本体提供的是某一领域的公共词表,并采用不同水平的形式化程度,对术语的含义以及术语之间的关系加以界定。
在过去的十年时间里,人们对于各种本体的关注日益增强。如今,本体已广泛应用于知识工程、人工智能以及计算机科学领域;同时,本体还广泛应用于知识管理、自然语言处理、电子商务、智能信息集成、生物信息学和教育等方面以及语义网之类的新兴领域。
本体工程旨在明确特定领域的那些隐含在软件应用程序以及企业机构和业务过程当中的知识。本体工程为解决各种语义障碍所造成的互操作性问题提供了一个前进的方向。
其中,语义障碍指的也就是那些与业务术语和软件类的定义相关的障碍和问题。本体工程是一套与特定领域之本体开发工作相关的任务。
1、本体本体就是由若干概念及其在某种逻辑理论(如一阶谓词演算)支持下的定义所构成的一种分类法。有人已经为本体提出的定义就是,本体是一种对于某种概念体系(概念表达、概念化、概念化体系或者说概念化过程)的明确而又详细的说明。
对于特定一个领域而言,本体表达的是其那套术语、实体、对象、类、属性及其之间的关系,提供的是形式化的定义和公理,用来约束对于这些术语的解释。本体允许使用一系列丰富的结构关系和非结构关系,如泛化、继承、聚合和实例化,并且可以为软件应用程序提供精确的领域模型。
例如,本体可以为传统软件提供面向对象型系统的对象模式(object schema),以及类的定义。2、语义多重性在整个生产制造生命周期里面,过程规划、过程建模、排程调度、工作流程以及模拟之类的软件应用程序,都会利用过程信息来描述生产活动当中所涉及到的活动、资源需求、订单关系以及时间约束。
尽管一个应用程序的输出数据和过程可能会参与构成另一应用程序的输入,但这些应用程序通常情况下彼此之间并不进行互操作。对于每个应用程序和厂商来说,若要想实现数据和过程的共享,就必须编写某种转换程序 。
然而,这些过程的定义并不明确清晰,其间必然会碰到因为同义词问题所造成的不兼容性以及语义多重性(Semantic plurality)所引起的不一致问题。当采用不同的名称或字符串来命名两个功能相同的对象或类的时候,就会出现同义词问题。
对于机器之间的通讯来说,汽车(应用程序甲)=机动车辆(应用程序乙),并非显而易见的问题。当同样的名称在两个应用程序之中具有两种不同含义的时候,就会发生语义多重性问题。
例如,资源(应用程序甲)=耗材类资源,而资源(应用程序乙)=机械工具。从传统上来说,点对点转换程序一直就是为解决此类问题而设计的。
但是,当需要参与互操作的应用程序有很多的时候,所需编写的转换程序的数量就会呈指数方式增长,从而实现互操作性的成本与代价也会出现同样方式的提高。3、过程规范语言PSL是一种稳健的交换技术,用于成就不同的生产制造应用程序之间的分布式协作。
上述施莱诺夫等人的这篇论文阐述了,当PSL应用于生产制造过程的时候,PSL究竟是如何来解决那些与语义问题相关的问题。同时,作者在此文之中还针对如何对PSL加以改编,以便将其用于生产制造企业集成方面的基于智能体的系统(agent-based systems),提出了一些初步的想法。
4、语义建模PSL之中对于概念的定义是采用知识交换格式(Knowledge Interchange Format,KIF)来表达的,并且采用形式逻辑来定义它们的语义。采用KIF的好处就是能够证明定义和公理的一致性和完整性。
PSL本体具有可扩展性,且建立在一种由公理和扩展所构成的核心(即PSL核心本体)的基础之上。PSL本体之中存在着三种基本实体(活动、对象和时间点)以及四种基本关系(参与“participates_in”、之前于“before”,、是……的开始“begin_of”和是……的结束“end_of”)。
关于PSL核心本体和扩展的详细论述,可参见其他资料。当前,PSL之中收录有大约300个分散于31个模块之中的概念。
现在,其中已经表达有过程建模、排程调度以及模拟方面的固有概念。为了对作为一种交换语言的PSL加以验证,目前已经成功实现了首个过程信息交换试点实施项目;该试点项目是在基于IDEF3的业务过程建模工具与一种C++调度程序之间进行的。
本体一般都是采用本体语言来编制的。本体语言,又称为“本体论语言”,是一种用于编制本体的形式化语言。
目前,存在着许许多多此类的本体语言,既包括专有的,也包括基于标准的:普通逻辑(Common logic)就是ISO标准24707;这是关于一种本体语言家族的技术规范,其中的本体语言彼此之间可以准确地相互转换。Cyc项目有其自己的,基于一阶谓词演算,且具有某些高阶扩展的本体语言(即CycL)。
Gellish语言之中包括了关于自身扩展的规则,因而集成了一部本体和一种本体语言。
7.请问什么是本体模型
本体是概念化的明确的规范说明(Gruber提出的)。目前本体广泛应用于人工智能领域。
本体模型就是按照现实生活中的概念、概念间的关系、概念所具有的特征(即属性)以及概念的实例抽象出现实的模型。
例如,在计算机领域,我们可以抽象出computer,cpu,memory,computer accessories等概念,而computer和cpu是包含关系,及is_partOf,computer有属性hasCPU等。你将计算机领域的概念关系都搞清楚了就可以建立一个本体模型了,该本体模型可以用于推理,语义查询等。
本来想给个例子,只是我上传不了图片,需要的话,留个邮箱哦~
8.概念模型的构建模型
构建概念模型,需要从场景中提取各种“对系统目标有用”的概念。通常的方法是通过识别主要的领域词汇,或者通过已有的概念目录检查表来查找。由于时间关系,我已经预先想好了一些。看过的朋友知道,像“卧底”、“警察”、“黑社会”、“情报”等等,都是《无间道》这部电影里的一些核心概念。很自然地,开始时我会倾向于发展这样一个模型:(见右图)
这样看起来比较直观。“警察”和“黑帮成员”是两个较大的概念,下面分别有较小的两个子概念。像黄Sir和韩琛这样的角色,是可以很直接地归入到“正规警察”和“普通黑帮成员”的范围中去的,而陈永仁和刘健明都分别属于不同的卧底角色。但这样出现了一个问题,就是陈和刘都是同时具有警察、黑帮的双重身份(尽管一个在明,一个在暗)的人,他们都有可能同时拥有警察和黑帮的某些行为。比如陈永仁在拥有黑帮“劈友”,“收数”的行为时,也有可能执行警察“逮捕”,“救死扶伤”这样的责任,刘健明表面上是警察,暗中也有进行黑帮“洗钱”的行为。两个人的行为相似,但本质立场不同,怎样在模型中表达出这样的概念呢?
曾经也想过将“卧底”同时作为“警察”和“黑帮成员”的子概念,但觉得这样比较复杂且僵硬,实现起来也不容易(对不起,我又想到实现了)。后来觉得可以试试将“身份”和“行为”概念提取出来,于是建立下面这样的一个模型(见右图):在这个模型中,每个人物可以机动地拥有1个以上的身份,多个行为。每个行为也可以与特定的身份挂钩。这样的话,对表达不同角色的复杂身份就可以比较灵活了。对陈、刘之间的本性问题,又引入“价值观”这样的概念描述。但可以看到,改变后的模型复杂度提高了,尤其当人物的“行为”很多的时候,就可能会在其下面出现比较大的概念群了。
系统的灵活性和复杂度的矛盾,是在提炼概念模型时必须慎重思考的问题。
可想而知,如果真的要做成RPG的话,更多的概念需要被提取出来。譬如“情感”、“人际关系”、“情报”、“武器”、“女朋友”。。。。。。由于时间关系,就不在这里乱唱了。这次做的这个粗陋的模型,就权当抛砖引玉吧。