本体 (信息科学)

在计算机科学与信息科学领域，理论上，本体是指一种“形式化的，对于共享概念体系的明确而又详细的说明”。本体提供的是一种共享词表，也就是特定领域之中那些存在着的对象类型或概念及其属性和相互关系；或者说，本体就是一种特殊类型的术语集，具有结构化的特点，且更加适合于在计算机系统之中使用；或者说，本体实际上就是“对特定领域之中某套概念及其相互之间关系的形式化表达（formal representation）”。本体是人们以自己兴趣领域的知识为素材，运用信息科学的本体论原理而编写出来的作品。本体一般可以用来针对该领域的属性进行推理，亦可用于定义该领域（也就是对该领域进行建模）。此外，有时人们也会将本体称为本体论。
作为一种关于现实世界或其中某个组成部分的知识表达形式，本体当前的应用领域包括（但不仅限于）：人工智能、语义网、软件工程、 生物医学信息学、图书馆学以及信息架构。

概述

英文术语“ontology”一词源于哲学领域，且一直以来存在着许多不同的用法。在计算机科学领域，其核心意思是指一种模型，用于描述由一套对象类型（概念或者说类）、属性以及关系类型所构成的世界。尽管不同的本体对于这些构成成分的确切称谓有所不同，但它们却都是一部本体不可或缺的基本要素。一般来说，人们所普遍期望的一点就是，本体之中模型的那些特征应当非常类似于相应的现实世界。
就计算机科学与哲学来说，二者所说的本体之间的共同之处就在于，它们都是依据某种类别体系，来表达实体、概念、事件及其属性和相互关系。在这两个领域当中，存在针对本体相对性（ontological relativity）的种种问题（比如，哲学领域的奎因和克里普克，计算机科学领域的索瓦和高利诺），人们已经和正在开展相当大量的工作；而且，人们也在讨论关于规范化本体是否具有生命活力（比如，哲学领域之中针对基础主义（foundationalism）的讨论，人工智能领域之中针对Cyc项目的讨论）。二者之间的那些差别在很大程度上只是侧重点的问题。与计算机科学领域的研究人员相比，哲学家们则较少关心创建固定不变的受控词表。然而，计算机科学家们则较少参与有关首要原则的讨论（比如，关于是否存在诸如不变本质（fixed essences）之类事物的讨论，或者关于实体在本体论上必定比过程更为基本的讨论）。

历史

从历史上来看，本体源自哲学之中称为“形而上学”的分支。形而上学所关注的是现实的本质，也就是存在的本质。作为哲学的一个基本分支，形而上学关注的是分析存在的各种类型或模式，且往往尤其关注共相与殊相之间的关系、本征性质与非本征性质之间的关系以及本质与存在之间的关系。本体论探索活动的传统目标尤其是，为了揭示那些基本的类别或者说种类，而在关键之处将现实世界划分为对象的自然类别。
二十世纪下半叶，哲学家们就如何构建本体的可行方法或途径展开过广泛的讨论，但实际上他们自己却并没有真正“构建”出任何非常精细详尽的本体。与此相比，计算机科学家们当时则正在构建着一些大型而又稳健的本体（如WordNet和Cyc），但相对来说却很少针对“如何”构建本体而进行辩论。
自二十世纪70年代中期以来，人工智能（简称AI）领域的研究人员认识到，知识的获取乃是构建强大AI系统的关键所在。AI研究人员认为，他们可以把新的本体创建成为计算模型，从而成就特定类型的自动推理。二十世纪80年代，AI领域就开始采用术语ontology来同时指称关于模型化世界的一种理论以及知识系统的一种组件。借助于来自哲学本体论的灵感，一些研究人员继而把计算机本体论视为一种应用哲学。
二十世纪90年代初期，汤姆·格鲁伯发表了一篇后来得到广泛引用的网页和论文《迈向知识共享型本体的设计原则》。之所以该论文获得人们如此的青睐，那要归功于其中格鲁伯对于计算机科学术语“ontology”的审慎定义。格鲁伯采用这条术语来指一种对于某一概念体系（概念表达或概念化过程）（conceptualization）的详细说明（specification，明确表述）。也就是说，就像关于特定程序的形式化规格说明（形式化规约）那样，本体就是对那些可能相对于某一智能体（agent）或智能体群体而存在的概念和关系的一种描述。这项定义与“ontology”作为“概念定义之集合”的用法是一致的，但相对来说要显得更为通用。不过，这个单词在此的含义却有别于哲学领域对它的用法。
本体往往等同于那些由各种类、类之定义以及归类关系（subsumption relation）所构成的分类法层次结构，但本体并不一定仅限于此类形式。同时，本体也并不局限于保守型的定义（也就是传统逻辑学意义上的那些定义，它们所引入和采用的仅仅是术语，而没有添加任何有关现实世界的知识）。要明确而又详细地说明所要表达的某个概念之时，我们需要声明若干的公理，从而对所定义术语的那些可能解释加以约束和限制。
在二十一世纪伊始的头几年，认知科学的跨学科项目一直在将这两个领域的学者群体拉得更近。例如，有人谈到“哲学领域当中的计算机化转变”。在这种转变当中，包括哲学家们分析计算机科学领域所编制的形式化本体（有时甚至还在工作中直接运用计算机软件），而与此同时，计算机科学领域的研究人员也在越来越多地引用那些致力于本体论的哲学家们的研究工作（有时甚至还是后者方法的直接结果）。不过，在这两个领域当中，依然有许多学者并未顺从认知科学的这种发展趋势，并且仍继续相互独立地开展着自己的工作，分别从事着各自的所关心的事情。

领域本体与上层本体

领域本体（domain ontology或者说domain-specific ontology，即领域特异性本体）所建模的是某个特定领域，或者现实世界的一部分。领域本体所表达的是那些适合于该领域的那些术语的特殊含义。例如，就拿具有许多种含义的英文单词“card”来说。关于扑克领域的本体可能会赋予该词以“打扑克”的意思，而关于计算机硬件领域的本体则可能会赋予其“穿孔卡片”和“视频卡”的意思。
上层本体（upper ontology或者说foundation ontology，即基础本体）是指一种由那些在各种各样的领域本体之中都普遍适用的共同对象所构成的模型。其中所收录的核心词表，可以用来描述一套领域当中的对象。当前，存在着几部现成可用的标准化上层本体，包括都柏林核心、通用形式化本体（General Formal Ontology，GFO）、OpenCyc/ResearchCyc、推荐上层合并本体（Suggested Upper Merged Ontology，SUMO）以及DOLCE。另外，有些人认为WordNet属于上层本体，但实际上它并不是一部本体：WordNet只是由一部分类法（taxonomy）与一部受控词表所形成的独特组合（参见上述关于“属性”方面的内容）。
Gellish本体则是一个关于上层本体与领域本体彼此组合的例子。
领域本体在表达概念时采用的是非常特殊而又往往具有选择性的方式，因而它们常常缺乏兼容性。随着那些依赖于领域本体的系统的扩展，它们往往需要将不同的领域本体合并成一部更为通用的表达形式。对于本体设计者来说，这就提出了一项富有挑战性的难题。在同一领域内，由于文化背景、受教育程度以及意识形态的不同所造成的，对于该领域感知（perceptions）情况的不同，或者因为所采用的表达语言的不同，还可能出现不同的本体。
当前，对于那些并非依据同一部基础本体所编制的本体的合并工作，在很大程度上还是一种手工过程，因而既耗费时间又成本高昂。那些利用同一部基础本体所提供的一套基本元素来规定领域本体元素之含义的领域本体，则可以实现自动化的合并。当前，存在着多项针对本体合并方面的通用技术方法的研究工作，但这个方面的研究在很大程度上依然还处于理论层面。

本体工程

本体工程，又称为本体构建、本体编制或本体开发，是一个旨在研究有关构建本体的方法和方法学的领域。本体工程研究的内容包括本体开发过程、本体生命周期、本体构建方法及方法学，以及为这些方面提供支持的工具包和语言。
本体工程旨在让软件应用程序、企事业单位、组织机构以及特定领域业务操作过程之中所包含的那些知识变得明确清晰。本体工程为解决语义障碍所造成的互操作性问题指出了一个方向。比如，那些与业务术语和软件类的定义相关的障碍。本体工程实际上就是一套与特定领域之中的本体开发与编制工作相关的任务。