Ontology
科学界词汇
Ontology 是近年信息科学界最热门的词汇之一,国内一般将其译为“本体”,实质上应该译为“存在”。原是哲学的分支,研究客观事物存在的本质。
二者区别
Ontology- - 本体论(Ontology:o大写)原是哲学的分支,研究客观事物存在的本质。
它与认识论(Epistemology)相对,认识论研究人类知识的本质和来源。也就是说,本体论研究客观存在,认识论研究主观认知。而本体(ontology:o小写)的含义是形成现象的根本实体(常与“现象”相对)。
建立联系
在人工智能领域,知识建模必须在知识库和两个子系统之间建立联系:agent行为(问题求解技能)和环境(问题存在的领域)[1]。而长期以来,AI的研究者较为注重前一个子系统,而领域知识的表达依赖于特定的任务。这样做的好处是只需要考虑相关的领域知识。但是,大规模的模型共享、系统集成、知识获取和重用依赖于领域的知识结构分析
价值发现
因此,进入九十年代以来,与任务独立(task-independent)的知识库(本体)的价值被发现,并受到广泛关注。本文作者在研究产品设计知识重用的过程中,阅读了大量有关本体的文献资料。作者认为,本体工程在信息共享、系统集成、基于知识的软件开发等方面具有重要的作用和广阔的应用前景,而在国内,这方面的研究刚刚起步。
概念
本文将扼要介绍这一新兴学科分支的概念、方法及研究和应用现状。
1 本体的基本概念 1.1 本体的定义近十年来,本体的研究日趋成熟。在各种文献中,尽管与本体相关的概念和术语的用法并不完全一致,但是事实的使用约定已经出现。在参考文献[2]、[3]中,作者根据已有文献中相关概念和术语的使用情况,提出了推荐的使用约定。我们首先列出本体的几种比较有代表性的定义,然后对相关的概念做简要的描述。
本体定义
本体(ontology)的几个代表性定义:
(1) 本体是对于“概念化”的某一部分的明确的总结或表达[2]。
(2) 本体在不同的场合分别指“概念化”或“本体理论”[3]。
(3) 本体是对于“概念化”的明确表达[4]。
(4) 本体是用于描述或表达某一领域知识的一组概念或术语。它可以用来组织知识库较高层次的知识抽象,也可以用来描述特定领域的知识[5]。
(5) 本体属于人工智能领域中的内容理论(content theories),它研究特定领域知识的对象分类、对象属性和对象间的关系,它为领域知识的描述提供术语[6]。
从以上定义我们可以知道,本体通过对于概念、术语及其相互关系的规范化描述,勾画出某一领域的基本知识体系描述语言。其中定义1、2和3以“概念化”的定义为基础,概念化(以及定义2中的“本体理论”)的定义见下文。 与本体相关的概念和术语: 本体论(Ontology,o大写):特指哲学的分支学科[3]。
主要区别
本体(ontology,o小写):在不同的场合分别指“概念化”或“本体理论”[3]。(即以上本体定义2)。 概念化(conceptualization):指某一概念系统所蕴涵的语义结构,它是对某一事实结构的一组非正式的约束规则[3]。它可以理解和/或表达为一组概念(如实体、属性、过程)及其定义和相互关系[7]。概念化的定义是以上本体定义1、2和3的基础。 本体理论(ontological theory):表达本体知识的逻辑理论,它是一种特殊的知识库,是本体知识所赖以存在的介质,强调的是具体的产品(designed artifact)。而“概念化”强调的是语义结构本身,是从具体的产品中抽象出来的对应的语义成分(semantical counterpart)[3]。 本体约定(ontological commitment):对使用某一本体所定义词汇并与其含义保持一致的承诺[2]。 本体工程(ontological engineering):知识工程的分支,它研究如何用本体论的原则来构造本体理论[3]。 1.2 本体的作用总的来说,构造本体的目的都是为了实现某种程度的知识共享和重用。参考文献[6]
作用
认为本体的作用主要有以下两方面:
(1) 本体的分析澄清了领域知识的结构,从而为知识表示打好基础。本体可以重用,从而避免重复的领域知识分析。
(2) 统一的术语和概念使知识共享成为可能。
参考文献[7]中则更具体的总结了本体的作用,即通讯(communication)、互操作(inter-operability)和系统工程(systems engineering)。
通讯
主要为人与人之间或组织与组织之间的通讯提供共同的词汇。
互操作
在不同的建模方法、范式、语言和软件工具之间进行翻译和映射,以实现不同系统之间的互操作和集成。
系统工程
本体分析能够为系统工程提供以下方面的好处:
重用
(re-usability):本体是领域内重要实体、属性、过程及其相互关系形式化描述的基础。这种形式化描述可成为软件系统中可重用和共享的组件(component)。
知识获取
(knowledge acquisition):当构造基于知识的系统时,用已有的本体作为起点和基础来指导知识的获取,可以提高其速度和可靠性。
可靠性
(reliability):形式化的表达使得自动的一致性检查成为可能,从而提高了软件的可靠性。
规范描述
(specification):本体分析有助于确定IT系统(如知识库)的需求和规范。
属性
分类
本体的种类根据本体不同方面的属性(如形式化程度、目的和描述对象),可以对本体进行不同的分类。 如根据本体的形式化程度不同,可以把本体分为高度非形式化的(highly informal)、结构非形式化的(structured-informal)、半形式化的(semi-formal)和严格形式化的(rigorously formal)[2]。 根据本体的描述对象不同,可以把本体分为特殊领域本体(如医药、地理、金融等)、一般世界知识本体、问题求解本体和知识表示语言本体等[2]。 由于本体的分类方法很多,还没有能够被广泛接受的分类标准。但以下几个概念的定义意义明确,并从某种程度上提供了本体的分类方法[2]:
领域本体
(DOMAIN ONTOLOGY):以某一领域为描述对象的本体(区别于领域的问题和任务)。 ? 问题求解模型(PROBLEM SOLVING MODEL):以问题求解方法为描述对象的本体。
表示本体
(REPRESENTATION ONTOLOGY):以知识表示语言为描述对象的本体。在表示本体中,类、对象、关系、属性、槽等术语经过严谨的分析和定义。 本体和知识库一般来说,本体提供一组术语和概念来描述某个领域,知识库则使用这些术语来表达该领域的事实。例如医药本体可能包含“白血病”、“皮肤病”等术语的定义,但它不会包含对某一病人患某一疾病的诊断;而这正是知识库所要表达的内容[5]。 实际上,如果本体和知识库用同一语言表达的话,两者之间并没有清晰的界限。区别仅仅在于知识库的哪一部分是可以共享和重用的,哪一部分是针对特定应用的。这种区别往往还随着时间和具体的背景变化[2]。 1.5 用本体描述世界从描述对象的类型来说,本体既可以用来描述简单的事实,又可以用来描述信念、假设、预测等抽象的概念;既可以描述静态的实体,又可以描述与时间推移相关的概念,如事件、活动、过程等。 从描述对象的范围来说,本体可以定义通用的、适合所有领域知识表示的术语,如空间、时间、部分等;也可以定义特定领域知识才使用的术语,如故障、肝炎等。 不同本体之间存在着差别,但它们在较高的抽象层次上(upper ontology)具有一些共同的特征[6]:
世界存在着对象
(object); 对象具有属性(property or attribute),属性可以赋值(value); 对象之间存在着不同的关系(relation); 属性和关系随着时间(time)的推移而改变; 不同的时刻(time instant)会有事件(event)发生; 在一定的时间段上存在着过程(process),对象参与到过程当中; 世界和对象具有不同的状态(state); 事件能导致(cause)其他事件发生或状态改变,即产生影响(effect); 对象可以分解成部分(part)。
客观意义
任务背景
本体的描述是和特定的任务和目的无关的,但是我们使用本体总是有一定的任务背景,因此对于所描述的知识的选择是和特定任务相关的。这也是不同顶层本体(upper ontology或top-level ontology)之间存在差异的主要原因。 面向对象的软件设计也依赖于适当的领域本体,对象、属性、方法或多或少会反映领域中与应用相关的方面,OO系统中对于领域的分析往往可以在不同的应用程序中重用。OO系统和本体强调了不同的侧面。
泛的领域进行建模
领域本体将在软件系统中起着与AI领域中类似的重要作用。 2 本体的构造本体作为通讯、互操作和系统工程的基础,必须经过精心的设计,实际上,本体的构造是一个非常费时费力的过程。本节介绍本体构造的准则、方法和工具。 2.1 本体的构造准则 T.R. Gruber在参考文献[4]中提出了指导本体构造的5个准则,
清晰
(Clarity):本体必须有效的说明所定义术语的意思。定义应该是客观的,与背景独立的。当定义可以用逻辑公理表达时,它应该是形式化的。定义应该尽可能的完整。所有定义应该用自然语言加以说明。 ? 一致(Coherence):本体应该是一致的,也就是说,它应该支持与其定义相一致的推理。它所定义的公理以及用自然语言进行说明的文档都应该具有一致性。 ? 可扩展性(Extendibility):本体应该为可预料到的任务提供概念基础。它应该可以支持在已有的概念基础上定义新的术语,以满足特殊的需求,而无须修改已有的概念定义。 ? 编码偏好程度最小(Minimal encoding bias):概念的描述不应该依赖于某一种特殊的符号层的表示方法。因为实际的系统可能采用不同的知识表示方法。 ? 本体约定最小(Minimal ontological commitment):本体约定应该最小,只要能够满足特定的知识共享需求即可。这可以通过定义约束最弱的公理以及只定义通讯所需的词汇来保证。 为了说明以上准则,Gruber还在此文中分析了两个具体本体(工程数学本体和图书信息本体)的构造实例。 2.2 本体的构造方法在参考文献[7]中,Uschold & Gruninger提出了一个本体构造的方法学框架,该框架包括以下组成部分: ? 确定本体的目的和使用范围 ? 构造本体,包括: 2 本体捕获:即确定关键的概念和关系,给出精确定义,并确定其它相关的术语; 2 本体编码:选择合适的表示语言表达概念和术语; 2 已有本体的集成:对已有本体的重用和修改。 ? 评估:根据需求描述、能力问题(competency question)等对本体以及软件环境、相关文档进行评价。 ? 文档记录 ? 每一阶段的指导准则 在这个框架内,他们详细的描述了本体捕获和形式化的本体设计和评估方法。 M. Gruninger & M.S. Fox在进行TOVE[8]本体的研究和开发时,也总结了设计和评估本体的方法学,包括背景和需求描述、非形式化的能力问题描述、词汇和术语确定、形式化的能力问题描述、用一阶谓词逻辑进行规范描述、确定完整性定理等步骤。 2.3 本体的表示语言和开发工具的领域知识表达采用谓词逻辑(predicate calculus)作为基本的形式化方法(加上type-of关系表达类的继承关系),情景逻辑(situational calculus)是谓词逻辑的变种,它引入时间的概念来表达状态、事件和过程。如果我们把图像和其它感觉形式也包括到知识范畴中来,就需要非常不同的表达方式。但是,谓词逻辑为本体共享技术开了一个好头。 在具体的本体开发环境和工具方面,有斯坦福大学KSL(知识系统实验室:Knowledge Systems Laboratory)的Ontolingua[9]、KACTUS项目使用的CML[10](概念建模语言:Conceptual Modeling Language)、英国Open大学KMI(知识媒体研究所:Knowledge Media Institute)的Tadzebao和WebOnto[11]等,在此不作详细的介绍。 3 本体的研究与应用现状 3.1 领域本体研究 3.1.1 CYC CYC是位于美国德州奥斯汀的MCC (Microelectronics and Computer Technology Corporation)公司的研究项目[12],其目的是通过本体开发为常识推理(common sense reasoning)提供基础。 CYC中的知识用一阶谓词逻辑的变种CYCL表达。知识库中包含简单的声明、推理规则、推理控制规则。在知识库的基础上,可以使用推理机产生新的推断。 CYC本体按照模块(module)组织,称为微理论(microtheories)。
每个微理论包括某一特定领域知识和推理所需的概念,如空间、时间、因果、智能体等。某一领域本体可能包括多个微理论,以反映该领域建模的不同侧面和前提。在这个意义上,CYC不是一体的集成本体,而是一个微理论的网络,该网络的并集为若干领域提供本体约定。 3.1.2 TOVE TOVE (TOronto Virtual Enterprise)是加拿大多伦多大学的研究项目,其目的是构造企业本体,并具有以下特征:(1)为企业的应用软件提供共享的术语;(2)用一阶谓词逻辑为每个术语定义尽可能精确的含义;(3)用一组Prolog公理来实现本体语义约束,使TOVE能够自动的对与企业有关的常识性问题进行演绎推理;(4)定义一套符号,对术语和概念进行图形化的描述。 TOVE本体包括活动、组织、资源、产品、成本和质量等部分,它们组成了集成的企业模型。 3.1.3 Enterprise Enterprise项目是英国爱丁堡大学人工智能应用研究所(AIAI: Artificial Intelligence Application Institute)的研究项目[13]。其目的是通过一个集成框架,集成企业建模的方法和工具,以改进和代替现有的建模方法。该集成框架以企业建模本体为基础。通过提供一组工具,可以辅助用户进行企业建模和分析,具体内容包括:(1)对于企业模型的捕获和描述;(2) 描述经营问题和需求;(3)在战略、战术和操作层次上,确定和评估解决问题的方法以及系统的设计和实现;(4)对相关的度量体系进行表示,并支持高级仿真。
构成部分
企业本体由以下部分构成: ? 元本体:实体,关系,角色,行动者,事件状态 ? 活动和过程:活动,资源,计划,能力 ? 组织:组织单元,合法实体,管理,所有权 ? 策略:目的,策略,有助于实现,假设 ? 营销:销售,产品,零售商,客户,市场 3.1.4 KACTUS KACTUS是欧洲ESPRIT项目[14]。其目的是开发出技术系统全生命周期的知识重用方法学,以便在设计、诊断、操作、维护、再设计和培训时使用同一知识库。通过构造支持产品知识重用的本体,KACTUS能够支持计算机集成制造方法和知识工程方法的集成。另外,KACTUS还试图将本体同现有标准(如STEP)进行集成。 KACTUS的主要表达方法是CML(概念建模语言:Conceptual Modelling Language)。与其它的本体表达方法不同,CML在领域知识、推理知识、任务知识和问题求解知识之间作了区分。 KACTUS还提供了交互式的环境,支持本体的浏览、编辑和管理。除了CML以外,KACTUS工具还提供了对EXPRESS和Ontolingua的支持。 3.2 表示本体和问题求解模型 3.2.1 KSL Knowledge Sharing Effort Knowledge Sharing Effort是美国DARPA项目[15],主要由斯坦福大学知识系统实验室承担。其目的是使得知识系统的开发者能够从可重用的模块库中选择构件,进行装配,形成所需的新系统。该项目分为四部分内容:(1)不同语言表示的知识库之间的翻译机制(KIF: Knowledge Interchange format);(2)在一族表达范式之间建立共同的语言版本和推理模块;(3)基于知识的系统之间的通讯协议(KQML: Knowledge Query and Manipulation Language);(4)本体库,即为构造领域知识库而预置的基础。KIF是一种中性语言,能够表示高级知识表示语言中几乎所有重要的概念和区别。 为了解决本体表示不统一的问题,他们还开发了基于Web的Ontolingua系统[16]。Ontolingua是独立于特定表示系统的本体定义机制,它允许用KIF定义类、关系和对象,并能将这些定义翻译成几种特定的表示语言。Ontolingua还进一步定义了框架本体(表示本体),来支持本体的移植。 3.2.2 Guarino对于本体的研究 Guarino是意大利帕多瓦大学LADSEB-CNR(Institute for Systems Theory and Biomedical Engineering)的高级研究员。他分析总结了本体及相关概念的含义[3],提出了“本体层”的概念[17],研究了表示本体的本体约定[18],并探索了本体在物理对象、STEP语义方面的应用[19][20],具有重要的参考价值。 3.2.3 CommonKADS CommonKADS是欧洲ESPRIT项目[21],它在问题求解模型研究方面有重要作用。它定义了技能模型(Model of Expertise)、解释模型(Interpretation Model)和任务模型(Task Model)等重要概念。技能模型包括启发式模型(基于规则的求解模型)、深度模型(基于功能和结构信息的求解模型)、隐含模型(基于连接主义方法的求解模型)、能力模型(与表示语言独立的对于技能的高层描述)、分布式模型(Multi-agent问题求解系统)等。解释模型是对问题求解方法的描述。任务模型是对问题求解过程控制结构的描述。 3.2.4 本体与标准之间的集成本体的开发可以使得不同工具之间的表示标准化,有几个项目正在进行这方面的工作。如工作流管理同盟、STEP和EXPRESS、CORBA和KIF等。 工作流管理同盟(Workflow Management Coalition)定义了一组词汇[22],包括定义、使用、同义词等。这些词汇作为半形式化的本体进行共享。另外,MIT、斯坦福大学、多伦多大学爱丁堡大学等还联合开发了PIF(Process Interchange Fromat)[23],来支持不同软件系统之间的过程数据交换。 STEP (Standard for the Exchange of Product Model Data)是进行产品定义和描述的中性语言,其目的是在不同的应用之间进行信息交换和互操作。STEP使用EXPRESS作为建模语言,但EXPRESS并不能完全解决产品建模的语义问题,参考文献[20][24]中对此问题进行了基于本体的初步探讨。 CORBA (the Common Object Request Broker Architecture)标准的出现是为了解决分布式环境下的对象互操作问题[25]。它使用IDL(Interface Definition Language:接口定义语言)来定义远程对象间进行互操作的接口。KSL的Ontolingua服务提供了IDL和Ontolingua之间的翻译。CORBA定义了对象模型,对象的实现提供了对象的语义。业务对象管理组Business Object Management group)还提供了词汇表,这些都可以看作本体的雏形。 KIF[26]和概念图(conceptual graphs)[27]都是用来表示本体的语言,它们都基于一阶谓词逻辑,但细节上有所不同。正在开发系统,实现两者之间的翻译和映射。
结论展望
综上所述,本体方面的研究文献已经大大丰富,基于Web的本体构造、编辑、浏览和使用工具已经可用。已经存在几种本体表示的方法,对于本体设计和评估的方法学也有了初步的探索,并可利用工具在不同的表示方法之间进行翻译和互操作。 本体已经在一些商用系统中得到应用,它的重要性已经被半导体制造业、飞机制造、企业过程管理异构数据库集成、知识工程和规划等不同领域所认识。 主要困难在于[28]:尽管构造本体的目的在于重用,但真正重用的实例却不多见。人们往往喜欢构造自己的本体。造成这种情况的原因主要有两方面,一是本体构造的目的不同;二是本体表示的方法不统一。如何解决这个问题,将是下一步研究的重点。
参考资料
最新修订时间:2023-12-12 20:39
目录
概述
二者区别
建立联系
参考资料