1. 本體論/Ontology
人工智慧(AI)的發展歷史表明,知識對於智能系統來說是非常重要的。眾多的應用案例也顯示出,對於解決問題來說,豐富的知識要比優良的算法邏輯更重要。要擁有真正的智能系統,就需要採集、處理、復用和傳達知識。而本體論則是知識描述和應用的基礎。
術語「本體論」可以定義為概念化體系(conceptualization)的顯式規範。本體論用於描述領域(domain)的結構,即概念化體系。概念化體系描述領域相關的知識,但不包括領域中所發生事件的具體狀態。換句話說,概念化體系不會變化,或者變化非常少。本體論就是針對這種概念化體系的規範——概念化體系通過使用特定的建模語言及特定的術語來進行規範。為了能夠處理本體以及能夠基於本體進行自動化操作,就需要形式化規範。
本體論用來描述一個領域,而知識庫(基於本體論)用來描述事件的特定狀態。每一個知識庫系統或代理擁有自己的知識庫,而且只有能夠用本體論進行表達的知識才能夠存儲並在知識庫中應用。當一個代理想和另一個代理進行通信時,就需要利用由本體構建的信息結構。而為了相互理解通信內容,就必須在代理之間共享這些本體。
1.1 哲學本質
術語本體論來自於哲學。根據Webster詞典定義,本體論的含義是指:一個與存在的本質和關係相關的形上學的分支;一個關於存在本質或者存在種類的特定理論。
本體論(存在科學)是一個字詞,類似於形上學,可以在不同的情況下使用。它有時被認為等同於形上學,但人們更傾向於在更具體的情況下使用它。作為形上學的一部分,本體論規定了最基本的存在類別、世界的基本物質或結構。因此,本體論分析的是最普通、最抽象的概念或差異,構成世界上任何現象相關的所有更具體的描述;例如,時間、空間、物質、過程、因果、系統。
近階段,術語「本體論」被人工智慧研究人員所採用,使用它來定義世界模型的構建模塊。使用特定模型的代理(諸如自主機器人)只能夠感知到其本體能夠描述的那一部分世界。從這個意義上來看,只有其本體描述的事物,對於代理來說才是存在的。因此,本體是一個知識表達方案的最基本層次。例如,一個語義網絡表達的連結類型集合,是基於一系列「本體」區分對構建的,這些區分對包括:變化-不變、一般-具體。
本體論最初是哲學的一個分支,處理現實世界的本質和組織。它試圖回答「什麼是存在」,「什麼屬性能夠解釋存在」等問題。亞里斯多德把本體論定義為關於存在的科學。與其他具體科學不同,這些具體科學都是研究一類事物及其相關信息,本體論研究的是「所有存在事物及其相關屬性」。
這可以稱為「一般本體論」,相對應的是那些面向具體領域的各種特定本體論。一般本體論不關心某些具體的存在對象,而是關注於這些對象存在形式的嚴格描述,即結構特性。在實踐中,本體論可以作為區分理論,可以獨立應用於世界狀態。特別地,本文對以下事物之間的區分感興趣:世界實體之間(物理對象、事件、區域…);用於建模世界的元級類別之間(概念、屬性、質量、狀態、角色、部件…)。
基於哲學意義的本體論研究與知識庫系統相關。本體論奠定了在這些系統中應用知識的基礎。
1.2 本體論是什麼
雖然本體論很需要一個形式定義,但是術語「本體論」本身還沒有一個通用的定義。其定義大致可以歸類為三組:本體論是一個哲學術語,其含義是「存在理論」;本體論是概念化體系的顯式規範;本體論是描述某些領域的知識體,一般是常用知識領域。
第一個定義就是上文中討論的哲學含義。然而,對於AI領域來說,本體論則有許多不同的含義。第二個定義在AI領域被廣泛接受。第三個定義,把本體論視為知識的內在本體,而不是描述知識的手段。
概念化體系規範:概念化體系的顯式規範,其意義是指本體是概念和關係的描述(類似於程序的形式規範),這些概念和關係是為了代理或代理團體而存在的。
圖1 用於領域描述的本體論表達的預期模型
概念化體系可以定義為一個強語義結構,通過隱式知識來約束領域的結構。本體論是該結構的規範,即,它是一個邏輯理論,以某種語言來顯式表達概念化體系。概念化體系是語言無關的,本體論是語言相關的。需要注意的是,本體論不是必須表達所有可能的約束——概念化體系詳細水平取決於預期應用的需求;另外,基於本體論表達概念化體系取決於所使用的本體論語言。
因此,本體論對於實現知識共享和復用十分重要。本體論是用於制定本體申請的規範。實際上,一項本體申請就是一個以與本體所規定理論相一致(但不完全一致)的方式使用詞彙(即查詢和斷言)的協議。之後,代理申請本體,設計本體,並且知識能夠在這些代理之間共享。
知識體(知識庫)的表示要基於概念化體系規範。概念化體系是指一個抽象、簡化的,人們為了某些目的而呈現的世界視圖。每一個知識庫、知識庫系統或代理,都致力於描述某些顯式或隱式概念化體系。對於這些系統來說,「存在」就是可以表示的東西。當領域知識以聲明形式進行表示時,能夠被表示的對象集合就是論域(the universe of discourse)。這個對象集合及其之間的關係,由表達詞彙來反映,並由一個知識庫程序來表示知識。因此,在AI環境中,人們可以通過定義一組表示術語來描述一個程序的本體。在這樣的本體中,定義關聯著論域中實體的名稱(諸如類、關係、函數,或者其他對象)及其名稱意義的描述,以及約束這些術語使用的形式公理。從形式上來說,本體是邏輯理論的一種陳述。
本體論的骨幹通常是分類體系。而分類體系則是以分層結構形式對存在事物進行分類。分類體系通常是一個樹或者是一個表示包含關係的網格,也即是說,A歸入B就意味著A集合中的所有在B集合中也都存在。分類體系一般會限制類的使用——其中類是領域中所有可能個體集合的子集。此外,也可以定義屬性的分類體系。
然而,本體不需要受限於類的分類體系層級,也不需要受限於定義,該定義僅僅引入了術語,並沒有為這個世界增加任何一點知識。為了規範概念體系,還可能需要一些公理,這些公理用來約束對於已有術語的解釋。實際上,本體定義了用於在代理之間進行交換的查詢和斷言的詞彙集。因此,本體論的義務是對通信一致性的一個保證。
知識體:有些時候,本體被定義為描述某些領域(通常指常用知識領域)的知識體,使用上文所提到的表示詞彙。在這種情況下,本體不僅僅指詞彙,而且是指整個「上層」知識庫(包括用於描述該知識庫的詞彙表)。
典型的案例是CYC項目,基於本體論定義其知識庫。CYC是一個非常龐大的、多語境知識庫和推理引擎的名稱。CYC中的所有知識都是以邏輯斷言的形式進行聲明性表示。CYC中包含超過40萬條重要斷言,包括事實的簡單陳述、關於在滿足某事實狀態下如何獲得結論的規則、以及關於如何推理某種事實和規則的規則。通過推理引擎,利用演繹推理推導出新的結論。CYC常識知識可以用作面向任意知識密集型系統的知識庫基礎。從這個意義來說,知識體可以被視為系統知識庫的本體。
一般來說,客觀地區分本體應該是什麼,知識庫應該是什麼,是不可能的。它取決於本體論對未來應用的需求。
表示本體:在本文中,將使用本體論的這個定義:「概念體系的顯式規範」。在此基礎上,本體論限定了基於本體論術語的預期應用,因此,本體論構建了詞彙表和公理,能夠用於表達知識庫,並能用於在不同系統之間共享知識。
此外,還要求該規範是形式上的(就像一個程序是基於一個程式語言進行編寫的),以便於該本體能夠被計算機所處理。
(摘自:http://www.obitko.com/tutorials/ontologies-semantic-web/introduction.html 翻譯:袁浩 單位:北大醫療信息技術有限公司)
《中國數字醫學》微店,點擊以下閱讀原文進入