综述:本体的概念、方法和应用
王昕
摘要:近十年来,本体(ontologies)和本体工程(ontological engineering)在知识工程及其相关的应用领域获得广泛的关注。本文作者在研究产品设计知识重用的过程中,阅读了大量有关本体的文献资料。作者认为,本体工程在信息共享、系统集成、基于知识的软件开发等方面具有重要的作用和广阔的应用前景,而在国内,这方面的研究刚刚起步。本文扼要介绍了这一新兴学科分支的概念、方法及研究和应用现状。
关键词:本体,本体工程,知识共享和重用
本体论(Ontology:o大写)原是哲学的分支,研究客观事物存在的本质。它与认识论(Epistemology)相对,认识论研究人类知识的本质和来源。也就是说,本体论研究客观存在,认识论研究主观认知。而本体(ontology:o小写)的含义是形成现象的根本实体(常与“现象”相对)。
在人工智能领域,知识建模必须在知识库和两个子系统之间建立联系:agent行为(问题求解技能)和环境(问题存在的领域)。而长期以来,AI的研究者较为注重前一个子系统,而领域知识的表达依赖于特定的任务,这样做的好处是只需要考虑相关的领域知识。但是,大规模的模型共享、系统集成、知识获取和
重用依赖于领域的知识结构分析。因此,进入九十年代以来,任务独立(task-independent)的知识库(本体)的价值被发现,并受到广泛关注。本文作者在研究产品设计知识重用的过程中,阅读了大量有关本体的文献资料。作者认为,本体工程在信息共享、系统集成、基于知识的软件开发等方面具有重要的作用和广阔的应用前景,而在国内,这方面的研究刚刚起步。本文将扼要介绍这一新兴学科分支的概念、方法及研究和应用现状。
1 本体的基本概念
1.1 本体的定义
近十年来,本体的研究日趋成熟。在各种文献中,尽管与本体相关的概念和术语的用法并不完全一致,但是事实的使用约定已经出现。在参考文献[2]、[3]中,作者根据已有文献中相关概念和术语的使用情况,提出了推荐的使用约定。我们首先列出本体的几种比较有代表性的定义,然后对相关的概念做简要的描述。
本体(ontology)的几个代表性定义:
(1) 本体是对于“概念化”的某一部分的明确的总结或表达。
(2) 本体在不同的场合分别指“概念化”或“本体理论”。
(3) 本体是对于“概念化”的明确表达。
(4) 本体是用于描述或表达某一领域知识的一组概念或术语。它可以用来组织知识库较高层次的知识抽象,也可以用来描述特定领域的知识。
(5) 本体属于人工智能领域中的内容理论(content theories),它研究特定领域知识的对象分类、对象属性和对象间的关系,它为领域知识的描述提供术语[6]。
从以上定义我们可以知道,本体通过对于概念、术语及其相互关系的规范化描述,勾画出某一领域的基本知识体系和描述语言。其中定义1、2和3以“概念化”的定义为基础,概念化(以及定义2中的“本体理论”)的定义见下文。
与本体相关的概念和术语:
本体论(Ontology,o大写):特指哲学的分支学科。
本体(ontology,o小写):在不同的场合分别指“概念化”或“本体理论”。(即以上本体定义2)。
概念化(conceptualization):指某一概念系统所蕴涵的语义结构,它是对某一事实结构的一组非正式的约束规则[3]。它可以理解或表达为一组概念(如实体、属性、过程)及其定义和相互关系[7]。概念化的定义是以上本体定义1、2和3的基础。
本体理论(ontological theory):表达本体知识的逻辑理论,它是一种特殊的知识库,是本体知识所赖以存在的介质,强调的是具体的产品(designed artifact)。而“概念化”强调的是语义结构本身,是从具体的产品中抽象出来的对应的语义成分(semantical counterpart)。
本体约定(ontological commitment):对使用某一本体所定义词汇并与其含义保持一致的承诺。
本体工程(ontological engineering):知识工程的分支,它研究如何用本体论的原则来构造本体理论。
1.2 本体的作用
总的来说,构造本体的目的都是为了实现某种程度的知识共享和重用。参考文献[6]认为本体的作用主要有以下两方面:
(1) 本体的分析澄清了领域知识的结构,从而为知识表示打好基础。本体可以重用,从而避免重复的领域知识分析。
(2) 统一的术语和概念使知识共享成为可能。
参考文献[7]中则更具体的总结了本体的作用,即通讯(communication)、互操作(inter-operability)和系统工程(systems engineering)。
(1) 通讯:主要为人与人之间或组织与组织之间的通讯提供共同的词汇。
(2) 互操作:在不同的建模方法、范式、语言和软件工具之间进行翻译和映射,以实现不同系统之间的互操作和集成。
(3) 系统工程:本体分析能够为系统工程提供以下方面的好处:
①重用(re-usability):本体是领域内重要实体、属性、过程及其相互关系形式化描述的基础。这种形式化描述可成为软件系统中可重用和共享的组件(component)。
②知识获取(knowledge acquisition):当构造基于知识的系统时,用已有的本体作为起点和基础来指导知识的获取,可以提高其速度和可靠性。
③可靠性(reliability):形式化的表达使得自动的一致性检查成为可能,从而提高了软件的可靠性。
④规范描述(specification):本体分析有助于确定IT系统(如知识库)的需求和规范。
1.3 本体的种类
根据本体不同方面的属性(如形式化程度、目的和描述对象),可以对本体进行不同的分类。
如根据本体的形式化程度不同,可以把本体分为高度非形式化的(highly informal)、结构非形式化的(structured-informal)、半形式化的(semi-formal)和严格形式化的(rigorously formal)。
根据本体的描述对象不同,可以把本体分为特殊领域本体(如医药、地理、金融等)、一般世界知识本体、问题求解本体和知识表示语言本体等。
由于本体的分类方法很多,目前还没有能够被广泛接受的分类标准。但以下几个概念的定义意义明确,并从某种程度上提供了本体的分类方法:
①领域本体(DOMAIN ONTOLOGY):以某一领域为描述对象的本体(区别于领域的问题和
任务)。
②问题求解模型(PROBLEM SOLVING MODEL):以问题求解方法为描述对象的本体。
③表示本体(REPRESENTATION ONTOLOGY):以知识表示语言为描述对象的本体。在表示本体中,类、对象、关系、属性、槽等术语经过严谨的分析和定义。
1.4 本体和知识库
一般来说,本体提供一组术语和概念来描述某个领域,知识库则使用这些术语来表达该领域的事实。例如医药本体可能包含“白血病”、“皮肤病”等术语的定义,但它不会包含对某一病人患某一疾病的诊断;而这正是知识库所要表达的内容。
实际上,如果本体和知识库用同一语言表达的话,两者之间并没有清晰的界限。区别仅仅在于知识库的哪一部分是可以共享和重用的,哪一部分是针对特定应用的。这种区别往往还随着时间和具体的背景变化。
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提出了一个本体构造的方法学框架,该框架包括以下组成部分:
①确定本体的目的和使用范围
②构造本体,包括:
③本体捕获:即确定关键的概念和关系,给出精确定义,并确定其它相关的术语;
④本体编码:选择合适的表示语言表达概念和术语;
⑤已有本体的集成:对已有本体的重用和修改。
⑥评估:根据需求描述、能力问题(competency question)等对本体以及软件环境、相
关文档进行评价。
⑦文档记录
建模方法⑧每一阶段的指导准则
在这个框架内,他们详细的描述了本体捕获和形式化的本体设计和评估方法。
M. Gruninger & M.S. Fox在进行TOVE本体的研究和开发时,也总结了设计和评估本体的方法学,包括背景和需求描述、非形式化的能力问题描述、词汇和术语确定、形式化的能力问题描述、用一阶谓词逻辑进行规范描述、确定完整性定理等步骤。
2.3 本体的表示语言和开发工具
目前的领域知识表达采用谓词逻辑(predicate calculus)作为基本的形式化方法(加上type-of关系表达类的继承关系),情景逻辑(situational calculus)是谓词逻辑的变种,它引入时间的概念来表达状态、事件和过程。如果我们把图像和其它感觉形式也包括到知识范畴中来,就需要非常不同的表达方式。但是目前,谓词逻辑为本体共享技术开了一个好头。
在具体的本体开发环境和工具方面,有斯坦福大学KSL(知识系统实验室:Knowledge Systems Laboratory)的Ontolingua、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)。每个微理论包括某一特定领域知识和推理所需的概念,如空间、时间、因果、智能体等。某一领域本体可能包
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论