本体 (信息科学)

<image>

在计算机科学和信息科学中，本体是指对概念、数据和实体之间的类别、属性和关系的表示、命名和定义，这些概念、数据和实体构成了一个、大量或所有的论域。本体提供的是特定领域之中那些存在着的对象类型或概念及其属性和相互关系；或者说，本体就是一种特殊类型的术语集，具有结构化的特点，且更加适合于在计算机系统之中使用；或者说，本体实际上就是“对特定领域之中某套概念及其相互之间关系的形式化表达（formal representation）”。本体是人们以自己兴趣领域的知识为素材，运用信息科学的本体论原理而编写出来的工件 (软件开发)。本体一般可以用来针对该领域的属性进行推理，亦可用于定义该领域（也就是对该领域进行建模）。此外，有时人们也会将本体称为本体论。

作为一种关于现实世界或其中某个组成部分的知识表达形式，本体目前的应用领域包括（但不仅限于）：人工智能、语义网、软件工程、生物医学信息学、图书馆学以及信息架构。

## 概述

英文术语“ontology”一词源于哲学领域，且一直以来存在着许多不同的用法。在计算机科学领域，其核心意思是指一种模型，用于描述由一套对象类型（概念或者说类）、属性以及关系类型所构成的世界。尽管不同的本体对于这些构成成分的确切称谓有所不同，但它们却都是一部本体不可或缺的基本要素。一般来说，人们所普遍期望的一点就是，本体之中模型的那些特征应当非常类似于相应的现实世界。

就计算机科学与哲学来说，二者所说的本体之间的共同之处就在于，它们都是依据某种类别体系，来表达实体、概念、事件及其属性和相互关系。在这两个领域当中，存在针对本体相对性（ontological relativity）的种种问题（比如，哲学领域的奎因和克里普克，计算机科学领域的约翰·索瓦和尼古拉·高利诺），人们已经和正在开展相当大量的工作；而且，人们也在讨论关于规范化本体是否具有生命活力（比如，哲学领域之中针对基础主义（foundationalism）的讨论，人工智能领域之中针对Cyc项目的讨论）。二者之间的那些差别在很大程度上只是侧重点的问题。与计算机科学领域的研究人员相比，哲学家们则较少关心建立固定不变的受控词表。然而，计算机科学家们则较少参与有关首要原则的讨论（比如，关于是否存在诸如不变本质（fixed essences）之类事物的讨论，或者关于实体在本体论上必定比过程更为基本的讨论）。

## 历史

<image>

<image>

从历史上来看，本体源自哲学之中称为“形而上学”的分支。形而上学所关注的是现实的本质，也就是存在的本质。作为哲学的一个基本分支，形而上学关注的是分析存在的各种类型或模式，且往往尤其关注共相与殊相之间的关系、本征性质与非本征性质之间的关系以及本质与存在之间的关系。本体论探索活动的传统目标尤其是，为了揭示那些基本的类别或者说种类，而在关键之处将现实世界划分为对象的自然类别。

二十世纪下半叶，哲学家们就如何构建本体的可行方法或途径展开过广泛的讨论，但实际上他们自己却并没有真正“构建”出任何非常精细详尽的本体。与此相比，计算机科学家们当时则正在构建着一些大型而又稳健的本体（如WordNet和Cyc），但相对来说却很少针对“如何”构建本体而进行辩论。

自二十世纪70年代中期以来，人工智能（简称AI）领域的研究人员认识到，知识的获取乃是构建强大AI系统的关键所在。AI研究人员认为，他们可以把新的本体创建成为计算模型，从而成就特定类型的自动推理。二十世纪80年代，AI领域就开始采用术语ontology来同时指称关于模型化世界的一种理论以及知识系统的一种组件。借助于来自哲学本体论的灵感，一些研究人员继而把计算机本体论视为一种应用哲学。

二十世纪90年代初期，汤姆·格鲁伯发表了一篇后来得到广泛引用的网页和论文《迈向知识共享型本体的设计原则》。之所以该论文获得人们如此的青睐，那要归功于其中格鲁伯对于计算机科学术语“ontology”的审慎定义。格鲁伯采用这条术语来指一种对于某一概念体系（概念表达或概念化过程）（conceptualization）的详细说明（specification，明确表述）。也就是说，就像关于特定程序的形式化规格说明（形式化规约）那样，本体就是对那些可能相对于某一智能体（agent）或智能体群体而存在的概念和关系的一种描述。这项定义与“ontology”作为“概念定义之集合”的用法是一致的，但相对来说要显得更为通用。不过，这个单词在此的含义却有别于哲学领域对它的用法。

本体往往等同于那些由各种类、类之定义以及归类关系（subsumption relation）所构成的分类法层次结构，但本体并不一定仅限于此类形式。同时，本体也并不局限于保守型的定义（也就是传统逻辑学意义上的那些定义，它们所引入和采用的仅仅是术语，而没有添加任何有关现实世界的知识）。要明确而又详细地说明所要表达的某个概念之时，我们需要声明若干的公理，从而对所定义术语的那些可能解释加以约束和限制。

在二十一世纪伊始的头几年，认知科学的跨学科项目一直在将这两个领域的学者群体拉得更近。例如，有人谈到“哲学领域当中的计算机化转变”。在这种转变当中，包括哲学家们分析计算机科学领域所编制的形式化本体（有时甚至还在工作中直接运用计算机软件），而与此同时，计算机科学领域的研究人员也在越来越多地引用那些致力于本体论的哲学家们的研究工作（有时甚至还是后者方法的直接结果）。不过，在这两个领域当中，依然有许多学者并未顺从认知科学的这种发展趋势，并且仍继续相互独立地开展着自己的工作，分别从事着各自的所关心的事情。

## 本体构成要素

<image>

<image>

<image>

就现有的各种本体而言，无论其在表达上采用的究竟是何种语言，在结构上都具有许多的相似性。如前所述，大多数本体描述的都是个体（实例）、类（概念）、属性以及关系。在这一节当中，我们将分别依次论述本体的这些构成要素。

常见的本体构成要素包括：

- 个体（实例）：基础的或者说“底层的”对象。
- 类：集合（sets）、概念、对象类型或者说事物的种类。
- 属性：对象（和类）所可能具有的属性、特征、特性、特点和参数。
- 关系：类与个体之间的彼此关联所可能具有的方式。
- 函式术语：在声明语句当中，可用来代替具体术语的特定关系所构成的复杂结构。
- 约束（限制）：采取形式化方式所声明的，关于接受某项断言作为输入而必须成立的情况的描述。
- 规则：用于描述可以依据特定形式的某项断言所能够得出的逻辑推论的，if-then（前因－后果）式语句形式的声明。
- 公理：采取特定逻辑形式的断言（包括规则在内）所共同构成的就是其本体在相应应用领域当中所描述的整个理论。这种定义有别于产生式语法和形式逻辑当中所说的“公理”。在这些学科当中，公理之中仅仅包括那些被断言为先验知识的声明。就这里的用法而言，“公理”之中还包括依据公理型声明所推导得出的理论。
- 事件 (哲学)：属性或关系的变化。

## 领域本体与上层本体

<image>

领域本体（domain ontology或者说domain-specific ontology，即领域特异性本体）所建模的是某个特定领域，或者现实世界的一部分。领域本体所表达的是那些适合于该领域的那些术语的特殊含义。例如，就拿具有许多种含义的英文单词“card”来说。关于扑克领域的本体可能会赋予该词以“打扑克”的意思，而关于计算机硬件领域的本体则可能会赋予其“穿孔卡片”和“视频卡”的意思。

上层本体（upper ontology或者说foundation ontology，即基础本体）是指一种由那些在各种各样的领域本体之中都普遍适用的共同对象所构成的模型。其中所收录的核心词表，可以用来描述一套领域当中的对象。目前，存在着几部现成可用的标准化上层本体，包括都柏林核心、通用形式化本体（General Formal Ontology，GFO）、OpenCyc/Cyc、推荐上层合并本体（Suggested Upper Merged Ontology，SUMO）以及 DOLCE。另外，有些人认为WordNet属于上层本体，但实际上它并不是一部本体：WordNet只是由一部分类法（taxonomy）与一部受控词表所形成的独特组合（参见上述关于“属性”方面的内容）。

Gellish本体则是一个关于上层本体与领域本体彼此组合的例子。

领域本体在表达概念时采用的是非常特殊而又往往具有选择性的方式，因而它们常常缺乏兼容性。随着那些依赖于领域本体的系统的扩展，它们往往需要将不同的领域本体合并成一部更为通用的表达形式。对于本体设计者来说，这就提出了一项富有挑战性的难题。在同一领域内，由于文化背景、受教育程度以及意识形态的不同所造成的，对于该领域感知（perceptions）情况的不同，或者因为所采用的表达语言的不同，还可能出现不同的本体。

当前，对于那些并非依据同一部基础本体所编制的本体的合并工作，在很大程度上还是一种手工过程，因而既耗费时间又成本高昂。那些利用同一部基础本体所提供的一套基本元素来规定领域本体元素之含义的领域本体，则可以实现自动化的合并。目前，存在着多项针对本体合并方面的通用技术方法的研究工作，但这个方面的研究在很大程度上依然还处于理论层面。

## 本体工程

本体工程，又称为本体构建、本体编制或本体开发，是一个旨在研究有关构建本体的方法和方法学的领域。本体工程研究的内容包括本体开发过程、本体生命周期、本体构建方法及方法学，以及为这些方面提供支持的工具包和语言。

本体工程旨在让软件应用程序、企事业单位、组织机构以及特定领域业务操作过程之中所包含的那些知识变得明确清晰。本体工程为解决语义障碍所造成的互操作性问题指出了一个方向。比如，那些与业务术语和软件类的定义相关的障碍。本体工程实际上就是一套与特定领域之中的本体开发与编制工作相关的任务。

## 本体语言

<image>

本体一般都是采用本体语言来编制的。本体语言，又称为“本体论语言”，是一种用于编制本体的形式化语言。目前，存在着许许多多此类的本体语言，既包括专有的，也包括基于标准的：

- 普通逻辑（Common logic）就是ISO标准24707；这是关于一种本体语言家族的技术规范，其中的本体语言彼此之间可以准确地相互转换。
- Cyc项目有其自己的，基于一阶谓词演算，且具有某些高阶扩展的本体语言（即CycL）。
- Gellish语言之中包括了关于自身扩展的规则，因而集成了一部本体和一种本体语言。
- IDEF5是一种用于编制和维护准确的，具有可复用性的领域本体的软件工程方法。
- 知识交换格式（Knowledge Interchange Format，KIF）是基于S-表达式的一种一阶逻辑语法。
- 规则交换格式（Rule Interchange Format，RIF）与F-逻辑（F-Logic）可将各种本体和规则结合起来。
- OWL（Web Ontology Language）是一种用于编写本体声明（ontological statements）的语言。OWL的发展继承了RDF和RDFS以及一些早期的本体语言项目，包括本体推理层（Ontology Inference Layer，OIL）、DARPA智能体标记语言（DARPA Agent Markup Language，DAML）以及DAMLplusOIL。OWL旨在应用于万维网之上；而且，其构成要素（类、属性和个体）均被定义为RDF资源，并采用URI加以标识。

## 已公开发布的本体的例子

<image>

<image>

- 氨基酸本体：关于氨基酸及其性质的小型本体（其中，概念、属性和关系均备有中英文名称、同义词及缩写）。
- 基本形式化本体（Basic Formal Ontology）：一部设计旨在为科学技术研究工作提供支持的形式化上层本体。
- BioPAX：一部旨在促进生物学途径（细胞过程）数据之交换和互操作性的本体。
- 细胞周期本体（Cell-Cycle Ontology，CCO）：一部用于表达细胞周期的应用本体。
- CContology：一部旨在支持在线客户抱怨管理的电子商务本体。
- CIDOC概念参考模型（CIDOC Conceptual Reference Model）：一部关于文化遗产的本体。
- COSMO：属于一部基础本体（当前版本为OWL），其设计旨在收录所有那些从逻辑上明确说明任何领域实体的含义之时所需的原初型概念（primitive concepts）。其旨在作为一部基础的本体，可以用于完成其他本体或数据库之中不同表达之间的转换。起初，它只是OpenCyc和SUMO本体之中基本构成要素的合并产物。目前，已经采用其他的本体构成要素（类型、关系）对其加以了补充，从而便于收录朗文词典定义词汇表之中所有单词的表达形式。
- Cyc：一部关于论域之形式化表达的基础本体。
- 疾病本体（Disease Ontology）：在设计上旨在促进各种疾病及相关健康状况向特定医学代码的映射。
- DOLCE：即语言学与认知工程描述型本体（Descriptive Ontology for Linguistic and Cognitive Engineering）。
- 都柏林核心：一部关于文档和出版方面的简单本体。
- 基础性核心语言学本体（Foundational, Core and Linguistic Ontologies）
- 人类解剖学方面的解剖学基础模型（Foundational Model of Anatomy，FMA）
- 有关内科学与外科学医学术语的GALEN本体（OWL-DL格式）
- 基因组学领域的基因本体（Gene Ontology,GO）
- 通用上层模型（Generalized Upper Model）：一部用于在客户系统与自然语言技术之间发挥中介作用的，带有语言学动机的本体。
- Gellish英语词典：是一部包括有词典和分类法的本体；其中，收录有一部上层本体和一部下层本体（lower ontology）,侧重于工程、技术以及采购方面的工业及商业应用。参见SourceForge的开源项目。
- GOLD：即语言描述通用本体（General Ontology for Linguistic Description）。
- IDEAS Group：澳大利亚、加拿大、英国以及美国国旗的国防部所正在共同构建的一部关于企业架构（enterprise architecture）的形式化本体。
- Linkbase：在 的基础之上，对于生物医学领域的一种形式化表达。
- LPL（Lawson Pattern Language，LPL）
- OBO Foundry（OBO Foundry）：生物医学领域的一套具有互操作性的参考本体。
- 生物医学调查本体（Ontology for Biomedical Investigations）：用于描述生物学及临床调查研究活动的一部开放的集成化本体。
- 植物本体（Plant Ontology）：关于植物结构以及生长/发育阶段等方面的本体。
- POPE（Purdue Ontology for Pharmaceutical Engineering，普渡大学制药工程本体）
- 乔治敦大学有关蛋白质信息资源的蛋白质本体PRO
- 程序抽象分类法（Program abstraction taxonomy）
- 蛋白质组学领域的蛋白质本体（Protein Ontology）
- SBO（Systems Biology Ontology）：描述的是生物学领域的计算机模型
- 推荐上层合并本体：一部形式化上层本体
- SWEET（Semantic Web for Earth and Environmental Terminology，地球与环境术语集语义网）
- ThoughtTreasure本体
- TIME-ITEM（Topics for Indexing Medical Education）
- WordNet：一个词汇参考系统（Lexical reference system）。

## 本体库

为互联网开发各种本体的工作，已经孕育出那些具有搜索功能的，提供本体目录（directories）或列表的服务。此类目录就称为“本体库”。

如下是一些采用人工方式选择出来的本体所构成静态库：

- CO-ODE项目本体库：提供的是一些与CO-ODE项目相关的本体示例和本体资源链接。
- DAML本体库（DAML Ontology Library）之中保存的是那些采用DAML格式的历史遗留本体。
- Protege本体库（Protege Ontology Library）之中收录的是一套采用OWL格式、基于框架的格式以及其他格式的本体。
- SchemaWeb则是一个由采用RDFS、OWL以及DAML+OIL格式所表达的RDF模式（RDF schemata）而构成的目录。

下列这些即是目录，同时又是搜索引擎。其中，包括用于在互联网上搜索良构性本体的搜寻器。

- OBO Foundry / Bioportal是生物学和生物医学（biomedicine）领域的一套具备互操作性的参考本体。
- OntoSelect Ontology Library（OntoSelect本体库）提供的是多种类似的，适用于RDF/S、DAML以及OWL本体的服务。
- Ontaria是“一个可以搜索和浏览的语义网数据目录，且侧重于RDF词表以及OWL本体”。
- Swoogle是一个目录和搜索引擎，适用于互联网上现成可用的所有RDF资源，包括各种本体。

## 常用本体工具

<image>

### 本体服务器

- CO-ODE本体浏览器：又称为“OWLDoc Server”，即OWL本体文档服务器，用于动态生成HTML OWLDoc文档，功能类似于Protégé本体编辑器之中的OWLDoc插件。

### 本体编辑器

用于编纂本体的软件编辑器称为“本体编辑器（ontology editor）”，有时又称为“本体论编辑器”。

- Protégé
- OilEd
- MediaWiki的扩展：允许在维基网页之中标注语义数据的Semantic MediaWiki（Semantic MediaWiki，SMW）。
- OntoWiki：一个自由的开源型语义维基应用，旨在作为本体编辑器和知识获取系统

## 延伸阅读

- Fensel, D., van Harmelen, F., Horrocks, I., McGuinness, D. L., & Patel-Schneider, P. F. (2001). "OIL: an ontology infrastructure for the Semantic Web". In: Intelligent Systems. IEEE, 16(2): 38-45.
- Maria Golemati, Akrivi Katifori, Costas Vassilakis, George Lepouras, Constantin Halatsis (2007). "Creating an Ontology for the User Profile: Method and Applications". In: Proceedings of the First IEEE International Conference on Research Challenges in Information Science (RCIS), Morocco 2007.
- Tom Gruber 1993. "A translation approach to portable ontology specifications" . In: Knowledge Acquisition. 5: 199-199.
- Maedche, A. & Staab, S. (2001). "Ontology learning for the Semantic Web". In: Intelligent Systems. IEEE, 16(2): 72-79.
- R. Navigli, P. Velardi. Learning Domain Ontologies from Document Warehouses and Dedicated Web Sites , Computational Linguistics, 30(2), MIT Press, 2004, pp. 151-179.
- Razmerita, L., Angehrn, A., & Maedche, A. 2003. "Ontology-Based User Modeling for Knowledge Management Systems". In: Lecture Notes in Computer Science: 213-217.
- Smith, B. Ontology (Science) , in C. Eschenbach and M. Gruninger (eds.), Formal Ontology in Information Systems. Proceedings of FOIS 2008, Amsterdam/New York: ISO Press, 21-35.
- Uschold, M. & Gruninger, M. (1996). Ontologies: Principles, Methods and Applications . Knowledge Engineering Review, 11(2).
- Yudelson, M., Gavrilova, T., & Brusilovsky, P. 2005. Towards User Modeling Meta-ontology. Lecture Notes in Computer Science, 3538: 448.

## 外部链接

- What is an ontology?
- What are the differences between a vocabulary, a taxonomy, a thesaurus, an ontology, and a meta-model?
- Metadata? Thesauri? Taxonomies? Topic Maps! - Making sense of it all
- Ontology is Overrated paper by Clay Shirky
- When "Knowledge Engineers" Say "Ontology" They Mean the Opposite: "Epistemonomy"
- John Bateman's Ontology Portal
- Ontology Page by Barry Smith
- Streaming video : "How to Build an Ontology", by Barry Smith
- 理解本体 作者：丛子杰