本體論檢視原始碼討論檢視歷史
本體論(Ontology) ,是探究世界的本原或基質的哲學理論。「本體論」一詞是由17世紀的德國經院學者P·戈科列尼烏斯首先使用的。
哲學概念
對本體論這個詞的定義雖有各種不同,但一般對它還是有一定的理解。大體上說,馬克思主義以前的哲學所用的本體論有廣義和狹義之別,馬克思主義之後哲學融入實踐。 從廣義說,它指一切實在的最終本性,這種本性需要通過認識論而得到認識,因而研究一切實在最終本性為本體論,研究如何認識則為認識論,這是以本體論與認識論相對稱。 從狹義說,則在廣義的本體論中又有宇宙的起源與結構的研究和宇宙本性的研究之分,前者為宇宙論,後者為本體論,這是以本體論與宇宙論相對稱。
馬克思主義哲學不採取本體論與認識論相對立、或本體論與宇宙論相對立的方法,而以辯證唯物主義說明哲學的整個問題。 (來源於馮契主編《外國哲學大辭典》)
研究歷程
「本體」的研究,在希臘哲學史上有其淵源。從米利都學派開始,希臘早期哲學家就致力於探索組成萬物的最基本元素——「本原」(希臘文arche,舊譯為「始基」)。對此「本原」的研究即成為本體論的先聲,而且逐步逼近於對being 的探討。之後的巴門尼德深刻地提出,「是以外便無非是,存在之為存在者必一,這就不會有不存在者存在」。並且認為存在永存不變,僅有思維與之同一,亦僅有思維可以獲致此真理;而從感覺得來者僅為意見,從意見的觀點看,則有存在和非存在,存在既非一從而有變滅。 巴門尼德對being(是,存在)的探討, 建立了本體論研究的基本方向:對於被「是者」所分有的「是」,僅只能由思維向超驗之域探尋,而不能由感覺從經驗之中獲取;此在超驗之域中尋得之「是」,因其絕對的普遍性和本原性,必然只能是一。不過,這一點只有蘇格拉底和柏拉圖才能真有領會,與他同時的希臘哲人或多或少地有所忽略。因而,如原子論者雖然也區分了真理認識和暗昧認識,認識到思維與感覺的不同,但是其探尋的「本原」可否由經驗獲致卻極模糊,因而實際上並未能區分超驗和經驗。而在蘇格拉底那些沒有最終結論的對話中,已破除了經驗歸納方法獲取真理的可能性;在柏拉圖的理念論中,則鮮明地以超驗世界的「理念」為真理之根本。[1]
在古希臘羅馬哲學中,本體論的研究主要是探究世界的本原或基質。各派哲學家力圖把世界的存在歸結為某種物質的、精神的實體或某個抽象原則。巴門尼德提出了唯一不變的本原「存在」,使關於存在的研究成為這一時期的主題。亞里士多德認為哲學研究的主要對象是實體,而實體或本體的問題是關於本質、共相和個體事物的問題。他認為研究實體或本體的哲學是高於其他一切科學的第一哲學。從此,本體論的研究轉入探討本質與現象、共相與殊相、一般與個別等的關係。在西方近代哲學中,笛卡爾首先把研究實體或本體的第一哲學叫做「形而上學的本體論」。
17~18世紀,萊布尼茨及其繼承者沃爾夫試圖通過純粹抽象的途徑建立一套完整的、關於一般存在和世界本質的形而上學,即獨立的本體論體系。沃爾夫把一般、普遍看作是脫離個別、單一而獨立存在的本質和原因。康德一方面認為建立抽象本體論的形而上學不可能,本體論要強研究的只能是事物的普遍性質及物質的存在與精神存在之間的區別;另一方面又用與認識論相割裂的、先驗的哲學體系來代替本體論。黑格爾在唯心主義基礎上提出了本體論、認識論和邏輯學統一原則,並從純存在的概念出發構造了存在自身辯證發展的邏輯體系。
在現代西方哲學中,一些流派(實證主義、分析哲學、科學哲學等)反對任何形而上學和本體論,也有些人試圖重新建立關於存在學說的本體論,如胡塞爾的「先驗的本體論」、海德格爾的「基本本體論」、哈特曼的「批判本體論」等,他們往往藉助於超感覺和超理性的直覺去建立概念體系,其觀點帶有唯心主義或不可知論,且往往同錯誤的社會觀點相聯繫,為宗教哲學所支持。
在中國古代哲學中,本體論叫做「本根論」,它指探究天地萬物產生、存在、發展變化根本原因和根本依據的學說。中國古代哲學家一般都把天地萬物的本根歸結為無形無象的與天地萬物根本不同的東西,這種東西大體可分為三類: (1)沒有固定形體的物質,如「氣」; (2)抽象的概念或原則,如「無」、「理」; (3)主觀精神,如「心」。這三種觀點分別歸屬於樸素唯物主義、客觀唯心主義和主觀唯心主義。在中國哲學史的研究中,有些學者用「本體論」一詞專指那種在物質世界之外尋找物質世界存在依據的唯心主義學說,如魏晉時期王弼的貴無論。
其他領域
本體論(ontology)是哲學概念,它是研究存在的本質的哲學問題。近幾十年裡,這個詞被應用到計算機界,並在人工智能、計算機語言以及數據庫理論中起到越來越重要的作用。然而,到目前為止,對於本體論,還沒有統一的定義和固定的應用領域。斯坦福大學的Gruber給出的定義得到了許多同行的認可,即本體論是對概念化的精確描述(Gruber,1995),本體論用於描述事物的本質。
在實現上,本體論是概念化的詳細說明,一個ontology往往就是一個正式的詞彙表,其核心作用就在於定義某一領域或領域內的專業詞彙以及他們之間的關係。這一系列的基本概念如同工程一座大廈的基石,為交流各方提供了一個統一的認識。在這一系列概念的支持下,知識的搜索、積累和共享的效率將大大提高,真正意義上的知識重用和共享也成為可能。就此意義而言,Web語言XML(Extensible Markup Language,可擴展標識語言)就是本體理論的一項典型應用;.xml文檔就是一個標籤化的詞彙表。
本體論可以分為四種類型:領域、通用、應用和表示。領域本體包含着特定類型領域(如電子、機械、醫藥、教學)等的相關知識,或者是某個學科、某門課程中的相關知識;通用本體則覆蓋了若干個領域,通常也稱為核心本體;應用本體包含特定領域建模所需的全部知識;表示本體不只局限於某個特定的領域,還提供了用於描述事物的實體,如「框架本體」,其中定義了框架、槽的概念。可見,本體論的建立具有一定的層次性,在教學領域而言,如果說某門課程中的概念、術語及其關係看成是特定的應用本體,那麼所有課程中的共同的概念和特徵則具有一定的通用性。
Ontology這個哲學範疇,被人工智能界賦予了新的定義,從而被引入信息科學中。然而信息科學界對 Ontology的理解也是逐步發展才走向成熟的。1991年Neches等人最早給出Ontology在信息科學中的定義:「給出構成相關領域詞彙的基本術語和關係,以及利用這些術語和關係構成的規定這些詞彙外延規則的定義。」後來在信息系統、知識系統等領域,隨着越來越多的人研究Ontology,產生了不同的定義。1993年Gruber定義Ontology 為「概念模型的明確的規範說明」。1997年Borst進一步完善為「共享概念模型的形式化規範說明」。Studer等人對上述兩個定義進行了深入研究,認為Ontology是共享概念模型的明確的形式化規範說明,這也是目前對Ontology概念的統一看法。
Studer等人的Ontology定義包含四層含義:概念模型(Conceptualization)、明確(Explicit)、形式化(Formal)和共享(Share)。「概念模型」是指通過抽象出客觀世界中一些現象(Phenomenon)的相關概念而得到的模型,其表示的含義獨立於具體的環境狀態;「明確」是指所使用的概念及使用這些概念的約束都有明確的定義;「形式化」是指Ontology是計算機可讀的,也就是計算機可處理的;「共享」是指Ontology中體現的是共同認可的知識,反映的是相關領域中公認的概念集,它所針對的是團體而非個體。Ontology的目標是捕獲相關領域的知識,提供對該領域知識的共同理解,確定該領域內共同認可的詞彙,並從不同層次的形式化模式上給出這些詞彙(術語)和詞彙之間相互關係的明確定義。
儘管定義有很多不同的方式,但是從內涵上來看,不同研究者對於Ontology 的認識是統一的,都把它當作是領域(領域的範圍可以是特定應用中,也可以是更廣的範圍。)內部不同主體(人、機器、軟件系統等)之間進行交流(對話、互操作、共享等)的一種語義基礎,即由Ontology提供一種共識。而且Ontology提供的這種共識更主要的是為機器服務,機器並不能像人類一樣理解自然語言中表達的語義,目前的計算機也只能把文本看成字符串進行處理。因此,在計算機領域討論Ontology,就要討論如何表達共識,也就是概念的形式化問題。
Semantic Web中的Ontology?
Ontology研究熱點的出現還與Semantic Web的提出和發展直接相關。
Semantic Web是Tim Berners-Lee提出的又一個概念。Tim Berners-Lee認為,當前的Web是供人閱讀和理解的,它作為一個越來越大的文件媒體,並不利於實現數據和信息的自動化處理。新一代的Semantic Web 將不僅僅為人類而且能為計算機(信息代理)帶來語義內容,使計算機(或信息代理)能夠「理解」Web內容,進而實現信息處理的自動化。他認為Semantic Web不是與當前Web隔離的另一個Web,而是對當前Web的擴充,在Semantic Web中,信息的語義經過完好的定義,能夠更好地促進計算機和人之間的相互合作。
為了實現Semantic Web的功能,需要提供一種計算機能夠理解的、結構化的語義描述機制,以及一系列的推理規則以實現自動化推理。Semantic Web的挑戰在於提供一種語言,它能夠表述數據和在數據中進行推理的規則,而且需要這種語言能夠將目前存在於知識表述系統之中的規則能夠被應用到Web上。
在Tim Berners-Lee的Semantic Web框架中,有幾個關鍵的組成元素。它們分別是XML,RDF(S)和 Ontology。XML允許用戶定義自己的文件類型,允許用戶定義任意複雜的信息結構,但是XML只具有語法性,它不能說明所定義的結構的語義。XML之所以在Semantic Web中處於重要的地位與XML是一種載體語言、XML命名機制等有很大的關係。
在Tim Berners-Lee看來,語義的描述是通過RDF進行的。RDF的兩個特性對此有着特殊的貢獻: (1)RDF是一種由資源、屬性、屬性值組成的三元結構。這種三元結構形似句子中的主語、謂語、賓語之間的關係。一個描述資源的RDF語句,就如同「某件事具有什麼樣的屬性」這樣的句子一樣有效。它能夠表明一種對事物存在狀態的斷言,可以表述大多數情況下計算機需要處理的知識。
(2)RDF的另一個重要特點就是組成RDF的資源、屬性、屬性值這三個元素都必須是被URI(統一資源標識)所標識的。由於RDF利用 URI 來對信息進行編碼,它意味着被RDF所引用的任何資源、屬性和屬性值都是經過預先定義的、不具二意性的概念。
由於RDF能夠表示陳述句,並且主語、謂語和賓語的三個組成元素都是通過URI所標識的,故它具有語義表述的特性。但Semantic Web的要求還遠不止於此,Semantic Web還需要加入邏輯功能:Semantic Web需要能夠利用規則進行推理、選擇行動路線和回答相關問題。Ontology是Semantic Web實現邏輯推理的基礎。?
Semantic Web研究者也認為,Ontology是一個形式化定義語詞關係的規範化文件。對於Semantic Web而言,最典型的Ontology具有一個分類體系和一系列的推理原則。其中,分類體系定義對象的類別和類目之間的關係。實體之間的類/子類關係對於Web應用具有重要的價值。在Ontology中,還可以為某個類添加屬性來定義更多的類目關係。這些類目關係提供了的推理的基礎。
藉助Ontology中的推理規則,Semantic Web應用系統可以提供更強的推理能力,例如可以在一個地理Ontology中加入這樣一條規則,「如果一個城市代碼與一個省代碼相關,並且一個地址利用了城市代碼,那麼這個地址與就與相應的省代碼相關」。通過這一規則,程序可以推理出中國科學院文獻情報中心,在中關村,應當在北京市。 Semantic Web研究者為了實現對Ontology的描述,在RDF的基礎之上,發展了RDFS。RDFS藉助幾個預先義的語詞(如 rdfs: Resource, rdfs: Class, rdf: Property, rdfs: subClassOf, rdfs: subPropertyOf, rdfs: domain, rdfs: range)能夠對概念之間的關係進行有限的描述。為了更方便全面地實現Ontology 的描述,W3C在 RDFS的基礎之上,藉助了DAML和OIL的相關研究,正在積極推進OWL(Web Ontology Language)的應用。自2004年2月10日,OWL已經成為了一個W3C推薦的標準。 Gene Ontology 為了查找某個研究領域的相關信息,生物學家往往要花費大量的時間,更糟糕的是,不同的生物學數據庫可能會使用不同的術語,好比是一些方言一樣,這讓信息查找更加麻煩,尤其是使得機器查找無章可循。Gene Ontology(GO)就是為了解決這種問題而發起的一個項目。
Gene Ontology中最基本的概念是 term 。GO裡面的每一個entry都有一個唯一的數字標記,形如 GO: nnnnnnn,還有一個term名,比如 "cell""fibroblast growth factor receptor binding",或者 "signal transduction"。每個term都屬於一個ontology,總共有三個ontology,它們分別是molecular function, cellular component和biological process。go [2] 一個基因product可能會出現在不止一個cellular component裡面,也可能會在很多biological process裡面起作用,並且在其中發揮不同的molecular function。比如,基因product "cytochrome c" 用molecular function term 描述是"oxidoreductase activity",而用biological process term 描述就是"oxidative phosphorylation" 和"induction of cell death",最後,它的celluar component term是 "mitochondrial matrix" 和 "mitochondrial inner membrane"。 Gene Ontology中的term有兩種相互關係,它們分別是is_a關係和part_of關係。is_a關係是一種簡單的包含關係,比如A is_a B 表示A是B的一個子集。比如 nuclear chromosome is_a chromosome。part_of關係要稍微複雜一點,C part_of_D意味着如果C出現,那麼它就肯定是D的一部分,但C不一定總會出現。比如nucleus part_of cell,核肯定是細胞的一部分,但有的細胞沒有核。
Gene Ontology的結構是一個有向無環圖,有點類似於分類樹,不同點在於Gene Ontology 的結構中一個 term可以有不止一個parent。比如biological process term "hexose biosynthesis" 有兩個parents,它們分別是 "hexose metabolism"和"monosaccharide biosynthesis",這是因為生物合成是代謝的一種,而己糖又是單糖的一種。
Gene Ontology使用Oxford Dictionary of Molecular Biology(1997)中的定義,在分選時還要參考SWISS-PROT, PIR, NCBI CGAP, EC…中的注釋。建立起來的標準不是唯一的標準(這是GOC所一直強調的),自然也不規定每個研究者必須遵循這套控制字集系統。所採用的動態結構(dynamic structure)使用DAGs(Directed Acyclic Graphs)方式的network,將每一個ontology串連起來,形成樹狀結構(hierarchical tree),也就是由前面所說的「is a」和「part of」兩種關係。
由於 GO 是一種整合性的分類系統,其下的三類主ontology我們前面說是獨立的,但是無論是GOC原初的設計還是我們的使用中其實都還是存在一定的流程關係。一個基因/蛋白質或者一個ontology在註解的過程中,首先是考慮涉及在構成細胞內的組分和元件(cellular component),其次就是此組分/元件在分子水平上所行使的功能(molecular function),最後能夠呈現出該分子功能所直接參與的生物過程(biological process)。由於這是一種存在反饋機制的注釋過程,並且整個系統是動態開放實時更新的,因此在某種程度上說它具有糾錯的能力。
TAMBIS計劃是目前唯一實現了在概念和聯繫層次上集成信息源的系統。但是還有其他一些相關計劃正在研究之中。比如BioKleisli(賓夕法尼亞大學計算機系),採用Mediator(調節器)技術實現了若干數據源的集成,其後的K2/Kleisli系統還利用數據倉庫實現了OLAP(聯機分析處理)。
DiscoveryLink(IBM研究院),基於Wrapper/Mediator(包裝器/調節器)實現了信息源集成,提出了查詢的分解和基於代價的優化策略。
TAMBIS(曼徹斯特大學計算機系)基於Wrapper/Mediator實現了信息源集成,藉助BioKleisli中的CPL語言作為查詢語言並給出了查詢優化的方法。通過TaO(TAMBIS Ontology)本體定義為用戶瀏覽和查詢處理提供領域知識。
TINet(GSK公司和IBM研究院),基於多數據庫中間件OPM(Object-Protocol Model,對象協議模型)定義數據源的對象視圖,其CORBA(Common Object Request Broker Architecture,公共對象請求代理體系結構)服務器使各數據源Wrapper(包裝器)更易於擴充。
但是他們都存在一定的缺陷。BioKleisli系統查詢能力相對較弱,而且並未給出查詢優化策略;TAMBIS系統和 DiscoveryLink系統集成的數據源數量相對還很少,後者在查詢處理中並未運用領域知識,因而查詢分解也未從語義角度考慮;TINet系統中的查詢處理能力不強。
現在面臨的突出問題是在數據庫查詢中尤其是當多個數據庫存在信息重疊時,缺乏從中選擇最佳檢索成員,動態生成優化檢索方案的能力。而且現有的工作主要面向數據集成,而對服務集成考慮不多。支持數據與服務綜合性集成的體系仍欠完備。因此這也將是GO未來發展和提升的一個重要方向。
構建本體
簡介
在實際的應用中,本體論學者、知識管理、人工智能、情報學(圖書館學)甚至任何一個具有大量需要歸類和劃分信息的部門及領域都可以成為本體論的應用對象。本體論的基本元素是詞彙(term)/概念(concept),轉而構成同質化的類(class)和子類(sub-class),然後各個類和概念之間加入了適合的關係(relation)後,形成了一個簡單的本體。概念和類皆用來表達詞彙本身,而關係則為詞彙提供連接(mapping),並加入限制條件(constraint),使之與現實情況相符合。 構建本體最為常用的軟件是由斯坦福大學開發的Protege,最初是應用在醫學領域,後來被逐漸的擴展至其它領域,該軟件本身也是一個開源軟件。
步驟
構建本體的簡單步驟: 1. 列出研究課題所涉及到的詞條(terms) 2. 按照詞條的固有屬性和專屬特徵進行歸納和修改,對詞條建立類(class)以及層級化的分類模型(taxonomy) 3. 加入關係(relation)連繫terms和taxonomies 4. 按照需要,添加實例(instance)作為概念的具象 最後在Protege中,還可以利用其附帶的功能和插件對本體進行文字和圖形化的導出,格式也可以自由選擇。
基本問題
概況 ontology的根本問題是:「存在的最初分類是什麼?」不同流派的哲學家對這個問題有不同的解釋。 這個問題使得在神學、圖書館學和人工智能的研究方面都需要運用本體論的知識,而且反映到宇宙學、道德和審美觀念上。另外存在論提出的問題還包括: 什麼是存在? 什麼是物質物體? 什麼是物體的基本屬性 用什麼區別確定一個物體? 「物質物體存在」的基本定義是什麼? 物體的特性是什麼? 存在的特性是什麼? 什麼時候物體不再存在?並不僅僅是變化。 為什麼物體可以相對於虛無存在?
存在論歷史
存在論最早可推朔到古希臘的柏拉圖和亞里士多德,亞里士多德曾經定義存在論為「研究物體的存在的科學」。具體地說是研究物體的分類,也就是說:在什麼情況下,一個物體可以被定義為「存在」。比論包括「普遍」的問題和「具體」的問題 觀念,物體,聯繫 關於存在可以提出許多問題:「什麼是存在?」「什麼在存在?」「我是什麼?」等,對於本體論來說,最基本的是找出什麼是物體、什麼是觀念以及它們之間的聯繫。啟蒙時代笛卡兒提出的「我思故我在」開啟了本體論基本問題的先例,笛卡兒並沒有深入研究,也認為沒有深入研究的必要,他認為「我思故我在」證明了上帝的存在,後來的神學家們也認為:「究竟是誰可以將這句話普遍應用到一切事物中?」當然只有「上帝」。到了20世紀,當數理哲學,科學哲學和基本粒子物理學的新發現,將以前許多物質的所謂界限都打破了,人們不再滿足於神學的說法。
實體和環境 在20世紀各個不同時期存在着形而上學的主觀主義學派,客觀主義學派,相對論學派等不同流派,後現代主義的實體哲學家們力圖通過在不同環境下的哲學行動來重新定義上述的各個問題,主要依賴於生物學、生態學和認知科學的最新研究成果,了解動物在自然和人工提供的環境中的認知情況。 命題相對於不同環境的變化,使得存在更難定義。如果人們說:「A是B」「A必定是B」或「A曾經是B」究竟有什麼含義?有的哲學家主張去掉英語中的「是」一詞,改用以免造成容易混淆的抽象含義;另一些哲學家力圖了解詞彙中的深層含義和使用方式;馬丁·海德格爾想區分開「存在」和「物體」的意義。
存在 存在主義者認為「存在」是最基本的概念,好多事物都可以說「是」,動詞「是」有許多種用法,因此是易於混淆的,所以有許多種存在。簡單的說,本體論就是探討這個世界上存在的一切是不是在背後都有一個抽象的、不依賴於現實世界的基礎。精神的或是物質的,是不是都有自己的抽象的根據。簡單的說,形而下就是指的現實的我們可感的世界,而形而上指的是可感的世界背後的原因,是抽象的,是不可感的,並且是作為可感世界的根據存在的。本體論就是探討形而下的世界的形而上根據的。