本体 (信息科学)

在電腦科學與資訊科學領域，理論上，本體是指一種「形式化的，對於共用概念體系的明確而又詳細的說明」。本體提供的是一種共用詞表，也就是特定領域之中那些存在著的物件類型或概念及其屬性和相互關係；或者說，本體就是一種特殊類型的術語集，具有結構化的特點，且更加適合於在電腦系統之中使用；或者說，本體實際上就是「對特定領域之中某套概念及其相互之間關係的形式化表達（formal representation）」。本體是人們以自己興趣領域的知識為素材，運用資訊科學的本體論原理而編寫出來的作品。本體一般可以用來針對該領域的屬性進行推理，亦可用於定義該領域（也就是對該領域進行建模）。此外，有時人們也會將本體稱為本體論。
作為一種關於現實世界或其中某個組成部分的知識表達形式，本體目前的應用領域包括（但不僅限於）：人工智慧、語意網、軟體工程、 生物醫學資訊學、圖書館學以及資訊架構。

概述

英文術語「ontology」一詞源於哲學領域，且一直以來存在著許多不同的用法。在電腦科學領域，其核心意思是指一種模型，用於描述由一套物件類型（概念或者說類）、屬性以及關係類型所構成的世界。儘管不同的本體對於這些構成成分的確切稱謂有所不同，但它們卻都是一部本體不可或缺的基本要素。一般來說，人們所普遍期望的一點就是，本體之中模型的那些特徵應當非常類似於相應的現實世界。
就電腦科學與哲學來說，二者所說的本體之間的共同之處就在於，它們都是依據某種類別體系，來表達實體、概念、事件及其屬性和相互關係。在這兩個領域當中，存在針對本體相對性（ontological relativity）的種種問題（比如，哲學領域的奎因和克里普克，電腦科學領域的索瓦和高利諾），人們已經和正在開展相當大量的工作；而且，人們也在討論關於規格化本體是否具有生命活力（比如，哲學領域之中針對基礎主義（foundationalism）的討論，人工智慧領域之中針對Cyc專案的討論）。二者之間的那些差別在很大程度上只是側重點的問題。與電腦科學領域的研究人員相比，哲學家們則較少關心建立固定不變的受控詞表。然而，電腦科學家們則較少參與有關首要原則的討論（比如，關於是否存在諸如不變本質（fixed essences）之類事物的討論，或者關於實體在本體論上必定比過程更為基本的討論）。

歷史

從歷史上來看，本體源自哲學之中稱為「形上學」的分支。形上學所關注的是現實的本質，也就是存在的本質。作為哲學的一個基本分支，形上學關注的是分析存在的各種類型或模式，且往往尤其關注共相與殊相之間的關係、本徵性質與非本徵性質之間的關係以及本質與存在之間的關係。本體論探索活動的傳統目標尤其是，為了揭示那些基本的類別或者說種類，而在關鍵之處將現實世界劃分為物件的自然類別。
二十世紀下半葉，哲學家們就如何構建本體的可行方法或途徑展開過廣泛的討論，但實際上他們自己卻並沒有真正「構建」出任何非常精細詳盡的本體。與此相比，電腦科學家們當時則正在構建著一些大型而又穩健的本體（如WordNet和Cyc），但相對來說卻很少針對「如何」構建本體而進行辯論。
自二十世紀70年代中期以來，人工智慧（簡稱AI）領域的研究人員認識到，知識的取得乃是構建強大AI系統的關鍵所在。AI研究人員認為，他們可以把新的本體建立成為計算模型，從而成就特定類型的自動推理。二十世紀80年代，AI領域就開始採用術語ontology來同時指稱關於模型化世界的一種理論以及知識系統的一種元件。藉助於來自哲學本體論的靈感，一些研究人員繼而把電腦本體論視為一種應用哲學。
二十世紀90年代初期，湯姆·格魯伯發表了一篇後來得到廣泛參照的網頁和論文《邁向創用CC型本體的設計原則》。之所以該論文獲得人們如此的青睞，那要歸功於其中格魯伯對於電腦科學術語「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）情況的不同，或者因為所採用的表達語言的不同，還可能出現不同的本體。
目前，對於那些並非依據同一部基礎本體所編制的本體的合併工作，在很大程度上還是一種手工過程，因而既耗費時間又成本高昂。那些利用同一部基礎本體所提供的一套基本元素來規定領域本體元素之含義的領域本體，則可以實現自動化的合併。目前，存在著多項針對本體合併方面的通用技術方法的研究工作，但這個方面的研究在很大程度上依然還處於理論層面。

本體工程

本體工程，又稱為本體構建、本體編制或本體開發，是一個旨在研究有關構建本體的方法和方法學的領域。本體工程研究的內容包括本體開發過程、本體生命周期、本體構建方法及方法學，以及為這些方面提供支援的工具包和語言。
本體工程旨在讓軟體應用程式、企事業單位、組織機構以及特定領域業務操作過程之中所包含的那些知識變得明確清晰。本體工程為解決語意障礙所造成的互操作性問題指出了一個方向。比如，那些與業務術語和軟體類的定義相關的障礙。本體工程實際上就是一套與特定領域之中的本體開發與編制工作相關的任務。