本體工程

**本體工程**，又稱為**本體論工程**、**本體論設計**或**本體設計**，是計算機科學與信息科學當中的一個新興領域，旨在研究用於構建本體的方法和方法學。本體工程乃是一個新興的研究和應用領域，關注的是本體開發過程、本體生命周期、用於構建本體的方法和方法學以及那些用於支持這些方面的工具套裝和語言。

## 概述

本體提供的是某一領域的公共詞表，並採用不同水平的形式化程度，對術語的含義以及術語之間的關係加以界定。在過去的十年時間裡，人們對於各種本體的關注日益增強。如今，本體已廣泛應用於知識工程、人工智慧以及計算機科學領域；同時，本體還廣泛應用於知識管理、自然語言處理、電子商務、智能信息集成、生物信息學和教育等方面以及語義網之類的新興領域。本體工程旨在明確特定領域的那些隱含在軟體應用程式以及企業機構和業務過程當中的知識。本體工程為解決各種語義障礙所造成的互操作性問題提供了一個前進的方向。其中，語義障礙指的也就是那些與業務術語和軟體類的定義相關的障礙和問題。本體工程是一套與特定領域之本體開發工作相關的任務。

## 本體工程主題

### 本體

本體就是由若干概念及其在某種邏輯理論（如一階謂詞演算）支持下的定義所構成的一種分類法。有人已經為本體提出的定義就是，本體是一種對於某種概念體系（概念表達、概念化、概念化體系或者說概念化過程）的明確而又詳細的說明。對於特定一個領域而言，本體表達的是其那套術語、實體、對象、類、屬性及其之間的關係，提供的是形式化的定義和公理，用來約束對於這些術語的解釋。本體允許使用一系列豐富的結構關係和非結構關係，如泛化、繼承、聚合和實例化，並且可以為軟體應用程式提供精確的領域模型。例如，本體可以為傳統軟體提供物件導向型系統的對象模式（object schema），以及類的定義。

### 語義多重性

在整個生產製造生命周期裡面，過程規劃、過程建模、排程調度、工作流程以及模擬之類的軟體應用程式，都會利用過程信息來描述生產活動當中所涉及到的活動、資源需求、訂單關係以及時間約束。儘管一個應用程式的輸出數據和過程可能會參與構成另一應用程式的輸入，但這些應用程式通常情況下彼此之間並不進行互操作。對於每個應用程式和廠商來說，若要想實現數據和過程的共享，就必須編寫某種轉換程序 。

然而，這些過程的定義並不明確清晰，其間必然會碰到因為同義詞問題所造成的不兼容性以及語義多重性（Semantic plurality）所引起的不一致問題。當採用不同的名稱或字符串來命名兩個功能相同的對象或類的時候，就會出現同義詞問題。對於機器之間的通訊來說，_汽車（應用程式甲）_ ＝_機動車輛（應用程式乙）_ ，並非顯而易見的問題。當同樣的名稱在兩個應用程式之中具有兩種不同含義的時候，就會發生語義多重性問題。例如，_資源（應用程式甲）_ ＝_耗材類資源_，而_資源（應用程式乙）_ ＝_機械工具_。從傳統上來說，點對點轉換程序一直就是為解決此類問題而設計的。但是，當需要參與互操作的應用程式有很多的時候，所需編寫的轉換程序的數量就會呈指數方式增長，從而實現互操作性的成本與代價也會出現同樣方式的提高。

### 過程規範語言

過程規範語言（Process Specification Language，PSL）由美國國家標準與技術研究院（National Institute of Standards and Technology，NIST）制定。PSL 在互操作性應用程式的開發方面採用的是一種不同的方法。PSL 的這種方法就是要開發一部為那些與生產製造活動相關的概念提供明確定義的本體，並且建立種種用於支持應用程式之間定義轉換的機制。PSL 致力於創建一種用於建立過程規約的標準語言，用於明確而又詳細地說明過程或過程流及其輔助參數，並且將其作為不同生產製造過程之間的一種公共交換語言。

PSL 是一種穩健的交換技術，用於成就不同的生產製造應用程式之間的分布式協作。上述施萊諾夫等人的這篇論文闡述了，當 PSL 應用於生產製造過程的時候，PSL 究竟是如何來解決那些與語義問題相關的問題。同時，作者在此文之中還針對如何對 PSL 加以改編，以便將其用於生產製造企業集成方面的基於智能體的系統（agent-based systems），提出了一些初步的想法。

### 語義建模

PSL 之中對於概念的定義是採用知識交換格式（Knowledge Interchange Format，KIF）來表達的，並且採用形式邏輯來定義它們的語義。採用 KIF 的好處就是能夠證明定義和公理的一致性和完整性。PSL 本體具有可擴展性，且建立在一種由公理和擴展所構成的核心（即 PSL 核心本體）的基礎之上。

PSL 本體之中存在著三種基本實體（活動、對象和時間點）以及四種基本關係（參與「_participates\_in_」、之前於「_before_」,、是…… 的開始「_begin\_of_」和是…… 的結束「_end\_of_」）。關於 PSL 核心本體和擴展的詳細論述，可參見其他資料 。

當前，PSL 之中收錄有大約 300 個分散於 31 個模塊之中的概念。現在，其中已經表達有過程建模、排程調度以及模擬方面的固有概念。為了對作為一種交換語言的 PSL 加以驗證，目前已經成功實現了首個過程信息交換試點實施項目；該試點項目是在基於 IDEF3 的業務過程建模工具與一種 C++ 調度程序之間進行的。

## 本體語言

本體一般都是採用本體語言來編制的。本體語言，又稱為「_本體論語言_」，是一種用於編制本體的形式化語言。目前，存在著許許多多此類的本體語言，既包括專有的，也包括基於標準的：

* 普通邏輯（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 加以標識。

## 本體工程工具

* DOGMA
* DogmaModeler
* KAON
* OntoClean
* OnToContent

## 參見

* 本體雙重表述
* 模塊化

## 參考文獻

### 引用

### 來源

　
: **注**：本條目之中吸納了來自美國國家標準與技術研究院（National Institute of Standards and Technology，NIST）的一份出版物當中的內容。該出版物是屬於公有領域範圍內的美國聯邦政府出版物。來源：美國國家標準與技術研究院網站 （頁面存檔備份，存於網際網路檔案館）。

## 延伸閱讀

## 外部連結

* （英文）Metadata? Thesauri? Taxonomies? Topic Maps!
* （英文）Process Specification Language (PSL) （頁面存檔備份，存於網際網路檔案館）
* （中文）理解本體 （頁面存檔備份，存於網際網路檔案館） : 作者：叢子傑