本體概述

原文地址:http://blog.csdn.net/sfbegingmail/article/details/6093010html

本體的定義

Ontology的概念最初起源於哲學領域,能夠追溯到公元前古希臘哲學家亞里士多德(384-322 b.c.)嘗試對世界上的事物分類,在哲學中定義爲「對世界上客觀存在物的系統地描述,即存在論」[1]。牛津英語詞典定義爲「存在的科學或研究」。當不一樣的理論家提出本體的不一樣建議,或者不一樣的知識領域談論本體建議時,應該使用本體的複數即本體論(ontologies)以便表示總的本體集合[21]。node

信息系統和哲學之間的關係好像永遠是兩個不一樣的國度,每一個都有本身的語言和文化。事實上二者各自的研究方向是相互正交的,但今天,哲學的分支――本體論能夠充當鏈接信息系統和哲學之間的橋樑,儘管本體論在信息系統中的做用好像與哲學中的做用徹底不一樣[79]。信息系統須要推理世界模型,所以研究者採用術語‘本體’在程序中描述表示世界的信息。git

信息系統本體論是表述特殊知識領域的形式語言;而哲學本體論解釋世界某些領域不依賴於任何特定語言的特殊分類系統,儘管運用語言的概念機制做爲描述手段,但卻既不可約也不等同於語言或形式體系。與信息系統本體論類似,哲學本體論確實解釋研究領域的知識和概念框架,主要目的是預先忠實的描述,即尋求真理。不管存在着何種區別,哲學本體論仍能對概念化的框架和信息系統本體論的開發作出必定的貢獻,最大貢獻是發現研究領域中某些事實,即領域的本性、範圍、邊界和獨特性[79]。web

1991年美國Stanford大學的Gruber和Neches等人[37]最先把本體定義爲「構成相關領域詞彙的基本術語和關係,以及利用這些術語和關係構成的規定這些詞彙外延的規則」。算法

1993年Gruber[1]採用概念化的形式定義<D,R>結構[125],其中D是領域,R是D中相關的關係集合。把本體定義成「共享概念化的形式的、明確地規範」,所以可以很好地表現出本體的本質特性。在此定義中,「共享(shared)」反映了本體捕獲同感知識的理念,即不是限定到單個的某些人,而是一組人共同接受的知識;「概念化(conceptualization)」指的是世界中某些現象的抽象模型,辨識這些現象的相關概念;「明確(explicit)」意思是清晰地定義全部概念的類型和概念之間的約束;「形式(formal)」意思是機器應該能夠理解本體,形式化具備不一樣的程度。shell

爲了澄清信息系統領域對本體的概念,1995年意大利Padova大學的Guarino等人[129]對不一樣概念解釋進行深刻分析,給出基本獲得領域認同的概念,即「某些方面概念化的明確解釋或表示」。此定義不是最終的標準定義,但卻符合大多數普通的標準用法,對信息系統具備理論指導意義。數據庫

1998年Guarino[76]認爲Gruber的本體定義僅指出了領域中普通的數學關係,即反映事物特殊狀態的外延關係,卻沒有清楚地區別本體和概念化。爲了明確獨立於事物狀態的關係的意思,須要引入統稱爲概念關係的內涵關係。並把本體定義爲「解釋形式詞彙的指定意思的邏輯理論」,也就是世界的特殊概念化,這裏的概念化指的是領域空間定義的一組概念關係,包含着領域空間中對象之間全部可能關係的意思解釋。編程

可是這兩種本體定義都沒有涉及跨學科,何況Gruber的本體定義太含糊,而Guarino的本體定義對推理原理又模棱兩可。這就須要在‘形式化’和‘邏輯理論’之間進行折衷,所以信息系統本體論應該是「特定的形式語言產生的清晰公理理論」[79],本體論的粒度越細含有的公理也就越多。該本體論至少用於一個特殊且實際的應用,並能描繪特定對象領域的結構,還能解釋研究領域中系統使用的形式詞彙或協議的指定意思。設計模式

過去的十幾年中,在信息系統中已經出現了本體的不少定義,術語‘本體’大多分紅兩種意思[21]。第一,本體是表示性詞彙,常常指定到某些領域或主題。簡單來說,不是把詞彙當成本體,而是獲取詞彙中術語的概念化。特別強調的是概念化是語言無關的,而本體是語言相關的,應該符合特定的形式語言。第二,本體有時指的是使用表示性詞彙來描述某些領域的知識體,特別是描述領域的共識知識。換句話說,表示性詞彙提供描述某些領域的事實的一套術語,而使用詞彙的知識體是領域的事實集合。瀏覽器

儘管信息系統中各領域對術語‘本體’的理論解釋還存在着不少矛盾和問題,可是本體論已成爲信息系統專業語言的必要組成部分,並在信息交換時起到相當重要的做用,所以信息系統研究者在多數狀況下已經基本認同這種歧義情況的存在,並用其表示系統中隱含(或不明確的)信息,以便使能知識的共享和複用。

本體的形式化定義

經過把術語‘概念化’指定到哲學領域,使得信息系統和哲學領域的本體論儘管都共享同一律念化,但卻使用不一樣的詞彙。本體和概念化的清晰分離有助於表達本體的共享、熔合和轉換等問題,這暗示存在着多種表示語言和多角度的世界觀,所以就須要適當的形式化定義[76]以便使得本體(指定模型)和概念化之間的關係更清楚。

定義1:域空間 結構,其中D是領域,W是D中最大事物狀態(或可能世界)的集合。

定義2:n元概念關係 ,域空間 上的n元概念關係是從集合W到域D中全部n元關係集合的映射,即全函數 。

定義3:概念化,域D的概念化是一個有序三元組 ,其中 是域空間 中概念關係 的集合。

定義4:邏輯語言L的內涵解釋 ,其中概念化 ,而函數  是把域D的元素賦予語言詞彙V的常量符號,並把集合 的元素賦予詞彙V的謂詞符號。

語言L的內涵解釋也稱爲本體論承諾。若是K是語言L的本體論承諾,那麼語言L經過K承諾概念化C。語言L的預計模型一般沒必要反映特殊的世界,沒有真正描述詞彙的意思,所以只能表達世界概念化的外延關係,無法從模型集合中重構L的內涵關係,即本體論承諾K。給定帶有本體論承諾K的語言L,L的本體論是解釋形式詞彙的指定意思的邏輯公理集,此集合使得L的模型集合儘量完美地近似於L依據K的預計模型。事實上很難發現合適的公理集,所以語言L的本體論近似於世界的概念化C,若是存在一個本體論承諾K,使得L依據K的預計模型被包含於本體論模型之中。

任何邏輯理論都隱含自身的本體論,該本體論包含理論假定存在的全部事情,所以邏輯理論是本體中全部實體存在的本體論承諾。Quine[99]首先從邏輯和哲學的角度研究本體論承諾,規定在邏輯理論中的每一個術語都將成爲該理論的本體;Guarino[100]把本體論承諾表述成在語言和被稱爲本體的某些事物之間的映射。

基於Quine的觀點,每一個邏輯理論都有其本身顯式或隱式的本體,然而從知識工程的角度,涉及本體的不少知識基都能達到:輕便式本體[101]。把知識基限定到存在於外部本體中的術語,這顯然是不實際,所以知識工程師的本體論承諾定義應該不一樣於哲學的定義,即應定義爲在知識基中的術語和在本體中同一或等同的術語之間的形式映射[102]。

本體內的代數系統[120]

概念之間有四種最基本的關係:part-of、kind-of、attribute-of和instance-of,其中part-of表達概念之間總體和局部的關係;kind-of表達概念之間的繼承關係;attribute-of表達某個概念是另外某個概念的屬性;instance-of表達概念和概念的實例之間的關係。

假定Onto是一個本體,則有:

定義1:稱O ={x | x是Onto中的概念}是本體的概念集。

假定x,y,z ∈O,則有:

定義2:符號P表明Onto中概念之間的part-of關係,P(x,y)表示概念y是概念x的一部分,例如P(car,wheel)。

定義3:符號K表明Onto中概念之間的kind-of關係,K(x,y)表示概念y是概念x的子概念,例如K(wheel,front-wheel)。

定義4:符號A表明Onto中概念之間的attribute-of關係,A(x,y)表示概念y是概念x的一屬性,例如P(car,color)。

定義5:符號I表明Onto中概念之間的instance-of關係,I(x,y)表示概念y是概念x的一實例,例如P(car,Lincoln)。

定義6:關係Direct_Contain(x,y)知足:

        P(x,y)→Direct_Contain(x,y);

        K(x,y)→Direct_Contain(x,y);

        A(x,y)→Direct_Contain(x,y);

        I(x,y)→Direct_Contain(x,y)。

定義7:關係Contain(x,y)知足:

Direct_Contain(x,y)→Contain(x,y);

Contain(x,z)∧Contain(z,y)→Contain(x,y)。

定義8:關係intersection(x,y)知足

intersection(x,y)={z | Contain(x,z)∧Contain(y,z),z ∈O}。

定義9:關係union(x,y)知足

union(x,y)={z | Contain(x,z)∨Contain(y,z),z ∈O}。

定義10:關係difference(x,y)知足

difference(x,y)={z | Contain(x,z)∧┐Contain(y,z),z ∈O}。

定義11:本體Onto內的代數N =(O,R,Op)定義爲:

O是Onto上的概念集;

R是O中概念之間的關係集合;

Op是對O中概念的操做集合。

定義12:稱∑=(O,R,Op)是本體Onto內的基本代數,若是∑知足:

∑是Onto內的代數;

(Direct_Contain,Contain) R (P,K,A,I,Direct_Contain,Contain);

Op =(intersection,union,difference)。

本體的分類

本體論依據包含的內容分爲:經典本體論和混合本體論。經典本體論只包含概念,例如概念分類,每一個斷言表示概念之間的關係;混合本體論包括本體的關係和事件。

本體論依賴於所採用的語言,按照表示和描述的形式化程度的不一樣,能夠分爲:徹底非形式化的、半非形式化的、半形式化的和嚴格形式化的本體論[76]。形式化程度越高,越有利於計算機進行自動處理。儘管能夠採用多種不一樣的表示形式,但通常都包含術語的詞彙表和詞彙意思的某些解釋,即概念的定義和概念之間的關係,以及概念之間的關係所知足的公理,從而共同在領域中設定一個結構,限定對術語的可能解釋。

有些文獻將本體看做是構造知識庫的一種途徑;另一些將本體視爲知識庫的一部分;此外還有將本體看做與應用有關的交互工具和企業本體。根據已有文獻,按照應用領域的不一樣將本體可大體分紅三類[134]:人或組織之間達成概念共識的通信;系統間使用本體做爲交換格式的互操做;系統工程領域(可複用性、知識獲取、規範、可靠性)。

根據依賴於特定應用領域的規模或視點的級別,把本體分紅4種:元級本體[126]、通用本體、領域本體、應用本體。元級本體是描述知識表示語言所用的基元分類的表示本體,例如OKBC本體;通用本體,又稱爲核心本體,描述獨立於特定問題或領域的很是通用的概念,例如空間、時間、對象、事件、行爲等,幾種通用本體(主要是天然語言本體)已被開發成機器可讀字典(MRDs,Machine-Readable Dictionaries),例如CYC[26]和WordNet[35];領域本體經過特殊化高級本體中的術語,分別描述與通用領域或普通工做相關的詞彙;應用本體描述依賴於特殊領域和工做的概念,這些概念常常對應於領域實體執行某些活動時扮演的角色,從方法的抽象模型中已開發出應用本體,例如Generic Tasks[127]、PROTÉGÉ-II[128]和CommonKADS[38]。

上面定義的本體分類包含了與問題求解方法無關的靜態知識,是構成領域層的一部分。爲實現知識庫系統各層次間的靈活配置,目前已提出了任務本體和方法本體的概念,它們分別描述特定任務與問題的求解方法。任務本體和方法本體本質上是從推理與問題求解角度描述領域知識的視圖,它們有助於解決系統的互操做問題,即領域知識不能以與其使用方式無關的形式表示。任務本體和方法本體經過「假設」將領域知識與問題求解方法之間的交互明確地表達出來,充當了系統層次間的「粘合劑」,從而解決了知識庫系統的複用與組件化開發中的關鍵問題。

依據目前的文獻,可把本體分紅:基本的研究主題,如哲學問題、知識表示、常識知識、通用本體庫、領域本體庫、工做和方法本體庫等;本體的設計方法,如top-down、bottom-up、middle-out、大規模、分類和概念層次、內部結構、集成等;本體的應用,如天然語言處理、知識管理、商業過程建模、智能信息檢索、Internet搜索、虛擬企業、企業供應鏈、仿真和建模、醫學、教學、照片註釋、電子商務、地理等;本體的開發,如方法論、框架、工具、語言、對比、評估、標準化等;以及知識共享和複用,如本體庫的參與、多Agent間通信、知識庫等。

按照對本體操做的文獻可分紅:

l  本體編輯:瀏覽[80,83]-提供瀏覽本體的可能性;生成[83]-生成新本體;擴展[14]-以不需修改現有定義的方式,基於現有詞彙爲特定使用來定義新術語的可能性;發佈[80,14]-產生本體使能訪問和複用;保存[80]-在開發過程當中保存本體版本;更新-產生本體的更新拷貝。

l  本體代數:交集-產生由共享實體組成的新本體子集;並集[85,86]-集合本體中的全部惟一實體來產生新本體合集。

l  本體構造:抽取[81]-列舉和組織大型本體的領域概念以便產生接近特定領域的本體;合併[81,85]-合併兩個獨立開發的KBs(Knowledge Bases)或解決術語間名稱和結構表示衝突的本體;修剪[81]-刪除給定領域不須要的概念或概念的子層次;切割[82]-選擇部分輸入的本體用於新應用或新本體。

l  本體轉換:術語轉換[14,80,81,82]-使得一種形式開發的本體可用於其它知識表示形式和不一樣的語言。

l  聚合/分解:模塊化[82]或分解[14]-把KB內容分紅概念部分以便充當KB開發和推理的基礎。

l  本體檢查:匹配[80]-判斷本體的符合度;驗證[81,84]-檢驗新本體的完整性和一致性。

l  查詢[14]-提供從遠程應用(客戶)到系統和從系統到外部知識源(供應商)進行請求的可能性。

領域本體的表示

因爲領域本體包含大量指定的概念,所以與通用本體和工做本體相比產生不多的進步。領域本體由對象、屬性、關係以及子領域本體構成[41]。所以領域實體對象和實體間的關係都是獨立的知識單元,並且領域本體能夠嵌套。能夠把領域本體形式化表示成一個鏈接的、有限嵌套的超圖[40],或有向非循環圖(DAG,Directed Acyclic Graph)[58],圖中的結點表示概念或單個對象,有向邊表示概念之間的關係或關聯。經過特性以及控制概念行爲的屬性、約束、函數和規則能夠加強圖的表示。

爲了捕獲本體論中不一樣術語的語義,應該定義本體論之間的關係和轉換函數[174]。術語之間的語義關係SR主要有[35,167]:同義詞關係(synonym)、上位關係(hypernym)、下位關係(hyponym)[165]、屬關係(positive association)[166]。其中同義詞關係表示類似數據源之間對稱的等價關係,即不一樣本體論中的兩個術語有一樣的語義;上位關係表示一個本體中術語的語義比另外一本體中另外一術語的語義更普通、更抽象;下位關係表示一個本體中術語的語義比另外一本體中另外一術語的語義更專業、更特殊;屬關係表示一類事物屬於另外一類事物,如part-of關係。上下位關係是不對稱的偏序關係,具備傳遞性。對於其它的術語關係,能夠經過推理機制演繹得出。各個概念之間複雜的語義關係組成語義網絡圖,結點表示概念,結點間連線表示關係。

Hammer和McLeod[47]提出用一組關係描述符來捕獲不一樣本體論中術語之間的關係。同義詞關係本質上是對稱的,表達方式是<canonical-term, term, ontology>;上位關係和下位關係都不是對稱的,表達方式是<term1, ontology1, relationship, term2, ontology2>,在上下位關係之間存在着逆關係,所以按慣例僅定義下位關係,而上位關係則經過推理得出。

考慮到不一樣角色的值之間的轉換函數,定義有<function name, domain, range>,其中domain和range是組對<role, ont>(在本體ont中定義role),function name是把domain中的角色值轉換成range中語義對等的角色值的函數名。

本體間關係的服務主要包括有:

Get_ontologies():返回全局信息系統中全部本體論的名稱;Get_node(ont):返回本體所在處的結點;Related_terms(term1, ont1, rel, ont2):返回本體ont2中經過rel關係(同義、上位、下位)與本體ont1的term1相關聯的術語;Transform_value(val, role1, ont1, role2, ont2):返回存儲於本體ont1的角色role1但沒存儲於本體ont2的角色role2中val的對應值(role1和role2應關聯於同一語義關係);Transform_table(table, role1, ont1, roles2, ont2):給定本體ont1的roles1中包含角色值列表的表格,若是在role1i和role2i間存在轉換函數的話,返回用Transform_value(val, role1i, ont1, role2i, ont2)結果替換全部列值的另外一表格。

Guarino等人[121]提出用詞彙概念圖(LCGs,Lexical Conceptual Graphs)表示本體的方法。LCGs是一種帶標記的有向圖,圖中結點表示概念,有向邊表示關係,結點中的詞彙表明概念的名稱,有向邊上的詞彙表示鏈接兩個結點之間的關係。本體和XML都具有半結構化數據的特色,都可用LCGs表示,所以鄧志鴻等人[123]採用XML表示本體概念,並利用XML-QL[122]查詢語言實現本體概念的檢索,從而提供更有效的概念檢索,更好地取得本體的共享和複用。

假定本體Onto(O,R),其中O =(o1,o2,…,on)是Onto上的概念集,R =(r1,r2,…,rm)是O中概念之間關係的集合。利用如下步驟實現本體的XML表示:用LCGs表示Onto;LCGs中的非葉結點????????(概念)oi都轉換成XML中的元素<oi></oi>;LCGs中邊上的詞彙轉換成XML中的元素<ri></ri>;LCGs中的葉結點oj轉換成XML中相應元素的文本內容<ri>oj</ri>,其中ri所在的有向邊指向oj;依據LCGs中的層次結構組合步驟二、3和4生成的結果,造成表示本體的XML文檔。

基於本體論的啓發式公式[119]可定義爲n個函數的組合運算: ,其中 , 表示一條有向邊e或其反向e1; 是偏序閉包,表示路徑長度,取值應≥0。該公式代表以一有向圖的結點集做爲輸入,對每一個結點沿着公式所說明的邊從右到左的順序進行計算,每步產生的中間結果做爲下一步的輸入,最後輸出知足啓發式條件的全部信息。

儘管UML缺少形式語義的準肯定義,但UML類圖能用來表達領域的概念模型,最近已被提議用做本體表示語言[89,90]。僅依據UML的數學語義定義它的構造,還不能充分地適合於本體表示語言,所以爲了建模須要,應該在上層形式本體的基礎上創建概念建模語言,即應該有形式的和本體的語義。

Evermann[91]和Wand等人[92]都基於BWW本體框架把概念建模的公共結構映射到上層本體,Opdahl等人[93]把BWW本體用做概念框架的基礎,以便依據BWW本體主要特性(自反性、不對稱性、傳遞性)、次要特性(共享性、易變性、可分性)和隨後的特性(全部權、操做的傳播、封裝)來定義總體-局部關係的分類,並依據本體表示分析不一樣種類的總體-局部關係,還提出一些UML版型以便用於本體區別的語法表示。

Guizzardi等人[94]使用通用本體語言(GOL,General Ontological Language)[95]和在其下的上層本體來評估概念UML類模型中本體的正確性,併爲怎樣用於定義良好的本體語義的UML構造開發指南,特別是從本體意思的角度研究UML中類和對象的元概念、超類型、關聯以及總體-局部關係(聚合/合成),爲了更滿意地處理總體-局部關係還對UML版本1.4的擴展提出一些建議。

領域本體的構造

Hwang[180]提出從領域專家建議的種子單詞中自動產生本體的方法。該系統從Web中搜集相關文檔,提取包含種子單詞的短語,產生相應的概念術語並定位在本體的‘合適’位置。缺點是徹底依賴於領域專家提供的種子單詞。

Maedche和Staab[181]提出基於淺文本處理和學習算法半自動產生本體的方法。提取依賴關係並當成學習算法的輸入,並創建半自動產生本體論的Text-To-Onto系統。

Faure和Nedellec[182]提出交互式機器學習系統ASIUM,基於語法輸入來獲取動詞的分類關係和子分類框架。ASIUM系統基於動詞對共存的名詞進行層次化分類。

Byrd和Ravin[183]從特殊的語法模式中提取指定的關係,如同位短語。經過計算術語間相互信息的度量,他們從共存的概念中得出未命名的關係。

文獻[184]利用併發理論半自動產生輕型本體論。從相關的領域文檔中提取出輕型本體論的概念(類),依據併發理論經過通常的類似性或有具體值的類似性來體現本體論中的類關係,基於相應領域的廣義術語或狹義術語關係定義輕型領域本體的子類關係。

最近注意力好像從表示轉換到內容或構造本體的方法論,在設計領域本體環境時須要現有的有用信息資源,主要有兩種複用已有領域本體知識來構造新的領域本體的方法。一是從用戶需求分析開始,在已有領域本體的基礎上構造新的領域本體,已有領域本體將會成爲新的領域本體的一部分。在此類方法中,須要分析被選本體是否具備足夠的描述細節和粒度,對於多本體庫操做還要考慮本體描述語言之間的轉換。

利用現有天然語言本體來做爲本體構造資源的研究不少,如在Ontosaurus[42]中利用SENSUS[43]做爲MRDs,採用半自動化的方法構造領域本體,可是僅僅給出用戶輸入的種子術語和SENSUS之間的拼寫匹配結果來支持構造領域本體。DODDL[44]則以WordNet[35]做爲MRDs對現有的領域本體進行有限的增減操做。Heijst[45]試着用領域特異性和方法特異性對現有類似的醫學領域本體進行擴展以便複用,然而當類似的領域本體消失時,構造新的領域本體就變得很難。

Physical Systems本體庫是在覈心本體開發環境Ontolingua系統[1]上實現的本體複用系統,該系統辨別三類本體集成方法:應用新的概念和關係對本體進行擴充;對本體內容進行定製;分析現有領域本體以便提取領域間依賴關係來構造新本體。此方法對領域依賴關係做了深刻分析,可是對怎樣利用這些關係構造新本體卻有待進一步研究。

Yamaguch和Kurematsu[78]主要是把現有的MRD轉換成指定領域概念的領域本體,處理因爲領域的改變引發的概念結構的變化,即概念漂移。從MRD中構造領域本體有兩個技術問題:從MRD中構造初始的模型(萃取MRD中與給定領域術語相關的信息)和解決概念漂移(使得初始模型適應於領域)。爲了構造初始模型,用戶(或領域專家)設定領域術語後,在輸入領域術語和MRD之間進行拼寫匹配,基於匹配結果分析,經過刪除初始模型中沒必要要的內部術語,把該模型變成修整模型。爲了處理概念漂移,在修整模型中辨識漂移的部分是很必要的,經過辨識獲得最終的領域本體。經驗結果代表依據快速開發環境DODDLE可以幫助用戶實現領域本體的構造。

二是對具備相同主題的已有領域本體的概念、分類規則和標準進行合併集成,從而構造新的領域本體。Heijst[45]從改造現有的同類醫學領域本體庫開始,對醫學本體庫中本體的概念、類、屬性以及關係進行歸併和擴充。

與以上兩種方法不一樣,陳剛等人[40]採用本體語義相關度匹配的方法來對本體進行搜索和匹配,從而增長了系統的使用範圍。首先由領域專家(或用戶)輸入構造新的領域本體的需求,構造系統依據需求從領域知識庫中選取符合要求的基本領域本體;隨後由專家依據須要選擇合適的一種或者幾種構造方法來構造新的領域本體,如選擇(selection)、克隆(clone)、變異(mutation)、雜交(crossover)、合成(synthesis)和轉基因(transgenic)等;在構造新的領域本體過程當中,依據領域本體的語義相關度,專家與構造系統進行屢次交互,以便確保需求或領域描述知識的正確性;最後把構造完成的新領域本體保存到領域本體知識庫中,以備未來的共享和複用。

領域知識建模

知識工程領域的研究已經轉移到知識級上的領域建模。20世紀90年代,本體論工程做爲新的領域出現。有幾種構造本體論的工程框架的嘗試:Genesereth和Fikes描述知識交互格式(KIF,Knowledge Interchange Format)[36],KIF是面向計算機並經過元知識和非單調推理規則得以加強的基於一階邏輯的知識交互語言,用來幫助表達領域實際知識的使能技術;Neches和他的同事描述主動的知識共享[37];Gruber提出Ontolingua語言來幫助構造便攜式本體[1];歐洲的CommonKADS項目採用類似的方案來建模領域知識[38]。這些語言把不一樣的謂詞邏輯用做基本形式,謂詞邏輯便於表示對象、特性和關係,提供共享本體技術的良好起始點。

傳統的知識工程工具只提供關於基本的知識表示技術的本體論,並將其隱含於表示語言和推理機制中,缺少足夠的約束來描述知識的結構化組織,從而致使知識獲取的困難和知識庫難以維護。知識建模的研究促使本體論的研究面向結構化組織,以求按系統化和結構化方式開發對應用領域和問題求解任務的深刻理解,然而如下兩個問題仍困擾着基於本體論的知識建模:

l  本體論的失配。大多數建模工具提供面向特定問題的求解方法(如啓發式分類、骨架規則細化等)和任務類(如診斷、規劃等)的本體論[131]。它們隱含於知識表示語言和推理機制,用戶不能做修改擴充,從而致使與應用領域特徵和問題求解任務的要求失配,嚴重時,建模工具成爲開發KB系統的障礙而非輔助。

l  本體論的非操做化。按照應用領域特徵和問題求解任務的要求創建面向應用領域任務的專用本體論――概念模型,可克服本體論的失配問題。知識工程環境KADS提供分四個層次表示知識的通用本體論輔助概念建模,但卻以本體論的非操做化爲代價,即用戶須要自行設計隱含概念模型的知識表示語言和推理機制[132]。

彷佛這兩個問題的解決不可兼得,並由此阻礙知識建模研究的深刻開展和實用化。KADS要求本體論的非操做化關鍵在於追求通用本體論的普適性。鑑於世界的複雜性,不可能設計普適的本體論,綜合集成異質的本體論纔是取得普適性最有效的途徑,所以放棄普適性就使得設計操做化的通用本體論成爲可能。高濟[133]設計兩個操做化通用本體論用來輔助概念建模,概念模型將自動轉變爲符號級實現的形式,並和模型內容一塊兒裝配成符號級知識模型。這兩個本體論加上一組問題求解方法或任務類的本體論,能夠覆蓋各類知識模型結構化組織的需求。

領域知識模型的構造是個特別繁重而且費時的事情,並且爲了保證領域知識描述的一致性,對領域知識庫的維護也至關繁瑣。怎樣利用知識庫系統中現有的領域知識來構造新的領域模型和領域本體,以便更好地實現領域知識的共享和複用就成爲亟待解決的問題。陳剛等人[40]設計並實現虛擬領域本體(VDO,Virtual Domain Ontology)子系統,該系統的基本原理就是在領域知識庫中只保存最基本的領域本體,當用戶須要新的領域本體時,由系統依據用戶提出的具體需求分析來對已有的領域本體進行從新組合或增減,從而在現有領域本體的基礎上動態地構造出新的領域本體。

知識共享

組織尋求複用並集成現有知識基的方式主要有兩種:知識熔合――現有知識歸併入新知識基,或現有知識基熔合成綜合資源,例如數據倉庫[96];基於分佈式知識的系統――分佈在網絡結點上現有基於知識的系統(或Agent)的互操做,例如歐洲Archon體系[97]。

在知識基之間共享知識須要兩種規則[102]:轉換規則,把知識表示轉換成公共語言;映射規則,把術語映射到公共本體。若是知識基使用一階謂詞邏輯加密的語法版,就很容易實現轉換問題。知識基和本體之間的映射規則定義知識基的本體論承諾,該本體論承諾應該確保一致性:本體中沒有約束與知識基得出的推理相沖突,反之亦然。

映射將一直是本體複用中重要且遠離自動化的隱含價值。從一些源材料集合中運行時構造本體論,並把本體論適應到所用問題解答方法的需求,這樣的系統將能更有效地使用和複用本體。此方法更能處理變化的信息環境,並隨時朝着「活本體論」[171]移動。可以集成和使用不一樣源的知識來構造特定領域、特定任務的本體的系統必將能用來生成新的領域本體論,也能更新現有的本體論,或者適應生成不一樣任務的本體論。

爲了容許兩個知識基之間的知識共享,創建知識共享的使能技術須要三個構件[37]:通信知識的公共協議;表達知識的公共語言;定義術語的公共集合――本體。把本體看成共享知識基的方法,基本思想是以標準形式開發可複用的本體庫,以便每一個系統開發者採用。許多工做致力於爲知識的通信和表達來定義公共協議與語言,最著名的是美國DARPA的KSE(Knowledge Sharing Effort)項目[37]提出的KQML協議[98]和KIF語言[36]。

做爲開發共享知識框架技術的一部分,爲了確保共享框架的普遍可應用性,對不少領域和任務進行試驗是必要的。文獻[160]描述分子生物學試驗領域的本體設計項目,基本目標是開發生物學試驗的表示框架,並支持智能問題解答,集中於擴展之前的本體論模型和基於框架的形式,以便處理試驗科學知識的表示問題。框架形式的額外特徵包括屬性組來辨識公共特性的關係集,幷包括局部填充限制把可能的大部分屬性值知識與處理不指望值的能力結合起來。試驗代表擴展使能運用領域無關的推理規則,支持智能信息檢索,並改善查詢接口的質量。最後實現了智能信息M&M(Materials和Methods)檢索系統原型,來輔助生物學家訪問材料和方法領域研究論文的在線文檔。

Uschold等[170]指出仍然沒有現有本體複用的案例文獻,他們經過在工程領域複用本體的經驗發現從一種表示轉換到另外一種表示是個很難的問題,並代表徹底的自動轉換器在‘將來幾年是不可能實現的’。儘管最終成功地實現本體論的複用,可是應該注意到他們起始於高品質的本體。

儘管高品質的專業本體論不可用,可是Internet上的高級本體論是逐漸可用的。SENSUS項目[43]嘗試從高級本體論中自動生成領域本體論,這涉及使用普遍通用的本體半自動化的來開發專業的、特定領域的本體。

本體的簡化解釋

對本體的認識,可概括爲如下幾點[2]:本體是對某一領域概念化的表達;概念是現實對象在某一或某些屬性空間上的投影;對同一領域的概念化有某些共同點,但概念化可能有所差別;投影規則可能很是複雜,可能涉及屢次投影或其它轉換;任意本體均不可能包括現實對象的所有屬性,只能限定到所研究的領域範圍內;一個本體的斷言轉換到另外一本體的斷言不必定可逆。

本體應用

本體論工程包含本體在概念化、設計、實現和配置期間的一系列指導活動,並提供知識基的設計原理,幫助定義領域世界的本質的概念,容許知識基的受訓設計,以及使能知識積累,應用的研究範圍包括哲學、形而上學、知識表現主義、方法論開發、知識共享和複用、知識管理、商業過程建模、常識知識、領域知識的系統化、Internet信息檢索、標準化、以及評估[28]。

抽象上來說,構造本體的範圍從造成全部領域的知識表示基礎的很是通用的術語到限定到特定知識領域的專業術語,數據結構和程序直接或間接地承擔領域本體的承諾。信息檢索系統、數字圖書館、異構信息源的集成、以及Internet搜索引擎都須要領域本體來組織信息和指導搜索過程。

在WWW領域,本體庫已經變得廣泛,在Web上的本體庫範圍從用大的分類法進行歸類的Web網站(Yahoo和Lycos)到爲銷售的產品以及產品特徵進行分類(Amazon和eBay),以及配置(Dell和PC-Order)等。

如今不少學科開發標準化的本體庫,領域專家能用其對本領域的信息進行共享和註釋,醫學已經產生了大的、標準化的、結構化的詞彙表SNOMED[8]和UMLS(Unified Medical Language System)系統的語義網[9]。

普遍通用目的的本體庫也已經出現了,例如聯合國開發計劃署(United Nations Development Program)和Dun & Bradstreet共同聯合開發UNSPSC(Universal Standard Products and Services Classification)本體,此本體爲產品和服務提供術語學(www.unspsc.org)。

大的ontology,保健領域是美國New Jersey理工學院的面向對象保健詞彙知識庫項目(OOHVR,Object-Oriented Healthcare Vocabulary Repository Project),在語義網中大約有5 000個有組織的概念,並存儲在OODB中。WordNet(www.cogsci.princeton.edu/~wn)爲用天然語言解釋的100 000多個術語提供辭典。最大和最全面的ontology是在美國德州奧斯汀的MCC和Cycorp開發的CYC(www.cyc.com),大約有50 000個概念,概念之間的約束和關係多於4000 000個,爲常識知識的多個方面提供形式的公理理論。

OKBC操做

OKBC(Open Knowledge Base Connectivity)是本體的網絡API,主要包括三個構件:知識模型、操做集和行爲集。OKBC指定操縱知識基的整個操做集,操做一般分紅以下幾種類型:

l  處理客戶端和服務器之間的鏈接,例如establish-connection;

l  發現服務器所知的表示系統和知識基,並肯定此表示系統所知的知識基,例如get-kb-types和get-kbs-of-type;

l  發佈知識表示系統的性能和行爲,例如get-kb-behaviors;

l  操縱知識基,例如save-kb;

l  爲知識基的特定元素和整個知識基來詢問或修改OO信息,例如get-kb-classes、add-class-subclass和get-frame-slots;

l  詢問或修改知識基中對象的特性/屬性,例如get-slot-values、replace-slot-value;

l  生成、操縱、存儲和調用過程,例如call-procedure;

l  操縱錯誤條件,例如okbc-condition-p;

l  列舉屬性值並操縱之,例如enumerate-slot-values和next;

l  加強移植性,例如decontextualize、coerce-to-kb-value和value-as-string;

l  展示知識基的句子視圖,例如ask和tell。

 

 

l  對象管理組(OMG,Object Management Group)的公共對象請求代理體系架構(CORBA,Common Object Request Broker Architecture)做爲通信架構;

  1. ORB(Object Request Broker)體系架構,若是ORB存在於兩個分離的機器上,那麼兩個機器上的對象能夠透明訪問;
  2. 接口定義語言(IDL,Interface Definition Language)來定義平臺無關的對象接口;
  3. 一組與遠程對象訪問相關的服務。

l  OMG的統一建模語言(UML,Unified Modeling Language)來表示本體論(描述用戶級領域和數據源的模型);

  1. UML有着很大且迅速擴展的用戶社區;
  2. 不一樣於描述邏輯形式,UML有表達模型的標準圖形表示。儘管UML當前沒有標準的線性語法,但OMG正準備把XMI(XML Model Interchange)做爲基於流模型交互的標準;
  3. 對象約束語言(OCL,Object Constraint Language)是有力且容許表達用描述邏輯不能描述的約束。

l  對象數據管理組(ODMG,Object Data Management Group)的對象查詢語言(OQL,Object Query Language)來表達OO數據模型的查詢;

l  OMG的元對象設備(MOF,Meta Object Facility)用來存儲本體論和本體建模語言的模型。

 

 

 

  1. Dagobert Soergel. The Rise of Ontologies or the Reinvention of Classification. Journal of the American Society for Information Science, vol. 50 no. 12, 1999, pp. 1119-1120.

 

本體和詞彙結構(字典、詞典)提供的基本功能包括[1]:

  • 給單一領域和多個領域間的關係提供語義路線圖,這將提供方位並充當參考工具:把概念和術語關聯起來並提供定義;把概念放入本體的語境中使之清晰;跨學科、語言和文化把概念與術語或圖標相互關聯。
  • 改善通信和學習:輔助做者和讀者;提供概念框架來支持學習,並激發學生創造這類框架;支持語言培訓;支持指導性材料的開發。
  • 爲設計良好的研究和實現提供概念基礎:輔助研究者和實踐者探索研究項目、政策、計劃或實現項目,以及結構化問題的概念語境;支持變量/度量的一致性定義以便積累研究與評估結果。
  • 提供行爲的分類:對診斷的疾病、醫學的手術過程和任務分配的人員技能進行分類。
  • 支持信息檢索:提供基於知識的終端用戶搜索(菜單樹、搜索主題的指導性分析、瀏覽層次或概念圖來辨識搜索概念、把用戶的查詢術語映射到一個或多個知識庫使用的描述符或者映射到多個天然語言表達式以便搜索自由文本);支持層次化的擴展搜索;支持搜索結果的結構化顯示;提供索引工具(詞彙控制、以用戶爲中心或面向問題的索引)。
  • 爲基於知識的系統提供概念基礎。
  • 爲軟件系統中的數據元素定義和對象層次提供概念基礎。
  • 充當人類使用的單語、雙語或多語詞典,並充當天然語言處理的詞典/知識基,即提供機器翻譯和天然語言理解以便進行數據提取與摘要/索引的自動生成。

 

本體論工程的類似性

幾種專門用於發表本體論領域著做的期刊和雜誌[21]已經描述了本體論的當前趨勢,其中主要包括生成大規模的本體庫[26],定義表述本體知識的表示語言[27],以及實現支持基於本體應用的系統[32]。然而使人遺憾的是,大多數文獻都沒有包含本體論工程和其它學科之間的關係[17],使得其它學科的專家不得不竭力去理解本體論工程的優點,而後把本體論工程的術語映射到他們本身的研究領域中。所以,本節將簡單介紹本體論工程與其它學科之間的類似性,而且還會對與軟件工程學科的類似性進行詳細描述。

  1. 1.         本體論工程和其餘學科的類似性

經過把本體論工程放入其它學科的環境中,將會發現不少類似性。這些類似性容許實踐者在本體論工程和其餘學科之間創建鏈接,以便彌補理解上的代溝。本體論工程具備不少優良的品質,例如可分解性、可擴展性、可維護性、可轉移性、模塊化與接口性,以及信息的廣泛理解性與軟件構件的互操做性。來自其它領域的實踐者能夠使用該領域的不一樣術語,但術語的意思一般是類似的,所以天然會出現下面的問題:本體實踐者能借用其餘學科的知識麼?兩個通用的學科可以在規範化階段與概念化階段幫助本體論工程的開發,這兩個學科就是元建模(metamodeling)和建模(modeling)[17],如圖1所示。

 

圖1 本體論工程與元建模和建模之間的關係

元建模是建模技術的概念模型,能夠改善不一樣但類似模型的精確性[23]。知識模型的本體也可作到這點,緣由是概念化的本體和特定的本體都有強大的元模型。沒有本體的支持,表述同一領域知識的知識基既便使用類似的知識模型,一般也會不兼容。使用元模型的優勢是永遠不會失去任意特定模型的有效性,本體爲領域知識的相應模型提供簡單的框架。

一般,本體是用來描述怎樣創建模型的元模型[17]。當對領域知識進行建模時,老是用(或複用)本體的構件(本體定義的概念及其之間的關係)來創建模塊。當開發實際的軟件系統時,若是工具包含有內在的模型知識(例如元模型或本體)將會有很大的益處,本體的元建模功能使得工具更加智能化。

本體是在全部事物、概念或現象之下的高級且特殊的知識模型。和其它的模型同樣,本體不描述整個領域世界,本體設計者據此肯定與其工做相關的領域範圍[32],但全部的模型都應遵循稱爲概念關係與公理的原則和約束。

儘管存在本體的不一樣表述方式,可是本體論工程師(至少在概念級上)最常用層次化建模[22,26],即一般以分層的方式來表達概念的層次和分類,並適當的使用視圖以加強表現力。從獨立的領域到特定的工做或領域均可用層次化方式來表述本體,所以本體包含相關世界的層次和/或分層模型的知識。

把本體論工程放到其餘學科的環境中,使得領域專家和本體論工程師都能從不一樣的視點來觀察他們所研究的領域。對領域專家來講,在他們的研究領域和本體論之間獲取相似處將會有助於解釋某些本體論工程的概念形成的類似感受;對本體論工程師來說,意識到這些類似處可能會產生創建和改善本體的新途徑。經過使用其它學科的知識、慣例和解決方案,實踐者可以在本體基礎上更加便利知識的共享和複用。

  1. 2.         本體論工程和軟件工程學科的類似性

在本體論工程和軟件工程學科之間存在着不少潛在有用的類似性,例如軟件體系和軟件模式,但在實際開發中卻不多明確地討論或使用這些類似性。不少實踐者理解本體論工程和OO範例之間的類似處,而且理解本體開發階段和軟件開發過程之間的類似處,特別是當考慮特定目的的本體開發的軟件工具時,例如西班牙Madrid理工大學的ODE[27]和美國Stanford大學的Ontolingua[116]。

假使實踐者知曉更多有用的類似處,那麼獲益將會更多。軟件工程學科和本體研究者之間不多討論的不少內容都會有助於高級本體論工程的開發,例如軟件體系、編程語言和編譯器、傳統軟件工程、OOAD(Object-Oriented Analysis and Design,面向對象分析和設計)、設計模式,以及基於構件的軟件工程。

2.1   軟件體系

假如與軟件工程師討論本體論工程的基礎,那麼將可能會包含整個軟件結構及其下組織的設計和規定。若是本體論工程是創建知識基和模型的體系架構,那麼軟件體系或許是用來幫助掌握本體論工程的基礎的最好方法之一。體系風格經過結構的和語義的共享特性來刻畫相關的系統族,Mary Shaw[29]曾描述幾種普通的體系風格。風格一般定義設計元素的詞彙表、元素合成的設計規則(約束)、設計元素合成體的語義解釋,以及分析用此風格創建的系統,所以不少成功的設計都可以共享同一體系風格。

軟件的體系風格包含熟練的軟件設計師得到的體系知識的濃縮框架,並提供複用這些知識的方法。例如,分層風格適用於涉及用層次進行安排的不一樣服務類的應用,設計師常常把服務層次化爲基本系統級的服務、適用於不少應用級的服務,以及特定應用任務級的服務。一樣地,本體結構用分層風格把特定用途的知識從核心(和更可複用的)知識中分離出來[28,32]。有些體系風格有助於定義本體論工程的解決方案,例如流水線和數據抽象[29]。

2.2   編程語言和編譯器

使用基於框架和/或基於邏輯的形式,能夠實現特定目的的本體語言和本體編輯工具[24,26,27]。例如,Ontolingua[83,116]是基於KIF(Knowledge Interchange Format,知識交互格式)的框架語言,KIF是對一階謂詞邏輯擴展版的符號和語義進行發佈以及知識通信。Ontolingua可以獨立於特定數據或編程語言來編寫知識級規範,並能把專業表示語言的知識基轉換成另外一種語言的知識基。其它的幾種創建本體的語言和工具也都使用相似的在知識級直接創建本體的轉換方法,該方法消除所需的主要實現語言,並消除從知識級轉換到實現級過程當中所用的轉換器。可是爲了使得常常壞結構或無結構的大量知識級規範順利地轉換成形式良好的謂詞邏輯表達式時,一階謂詞邏輯卻受到至關多的限制。使用特定的轉換器也存在着問題[32],所以爲了充分地使用轉換後的本體,還需進行大量的手工修改。

值得注意的是,最近的語言和工具都普遍地使用編譯原理的技術與技巧,以便改善轉換過程的質量和性能。例如,ODE[27]環境使用普通的轉換器以便容許用戶以面向用戶的內部表示方式來指定本體,並把該本體自動地轉換成目標語言Ontolingua。轉換器以BNF範式(Backus-Naur Form,巴科斯範式)的形式使用語法來陳述性地表達概念模型;目標語言中每一類型的正肯定義,都有表格把轉換規則中使用的術語和概念模型中運用的術語相互關聯起來。僅經過改變肯定將要生成的術語的轉換規則的標準,並改變把概念化和實現相互關聯起來的相應表格,就能很容易地創建新的轉換器。

除了特定目的的本體語言外,從本體論工程的角度來考慮其它的編程語言也頗有必要。對於如標識符、保留字和結構等概念,除定義編程語言的通用本體外,還能夠從任意編程語言中抽象出本體框架。這實際上暗示實踐者在編程語言中隱含存在着不少本體,所以不該該再發明。例如,Java語言中至少具備兩個明顯與本體論工程的概念相相似但卻不多注意到的部分[17]:

  • Java類庫中在頂層的抽象類Object,這可被看做是描述特別好的本體;
  • Java字節碼事實上是任意Java解釋器都可以理解的「中介語(interlingua)」。以公共的交互格式使得Java語言充分互操做且跨平臺,這一理念也隱藏在KIF以及與本體相關的其它語言之中。

2.3   傳統軟件工程

自從AI領域開發本體,並隨後採用特定目的的工具和語言繼續開發以來,不少人都有把本體論工程看做涉及複雜方法學和技術的傾向。本體一直關注實體及其關係,而傳統軟件工程的方法學(如ER模型、top-down分解策略和結構化系統分析)常被用來表示本體。例如,開發本體的METHONTOLOGY框架[27]建議把軟件開發中傳統的瀑布過程設計成閉環以便用於本體開發週期。此外,使用METHONTOLOGY框架開發的全部化學本體都儲存在RDB中,這能在RDB的數據字典中對本體進行編碼[28]。Fridman-Noy和Hafner[24]嘗試着把在線詞彙參考系統和電子字典等用做通用的本體。本體的全部設計準則都能用來表示軟件系統模塊的設計標準,這些準則包括清晰性、擴展性、一致性、最小本體論承諾和最小編碼偏好。本體研究者和開發者可以探究傳統軟件開發中大量不一樣的迭代和遞增的方法學,以便產生本體論工程的新理念。

2.4   OOAD

本體開發過程[27,28,32]與OOAD過程[23,31]基本相符。在這兩種過程當中,最初枚舉領域的詞彙是重要的,常常起始於領域的普通名詞、動詞和形容詞。OOA強調與本體分析不一樣的方面[28],可是類似性是顯然的,OOA的分析結果是與應用相關的領域本體的草案(儘管分析師不把該結果稱做本體)。正如OO設計師定義類、對象、層次、接口功能和系統行爲同樣,本體論工程師用語義網、圖形和表格等中介表示法來設計層次和其它的概念關係。兩類專家都使用模板來指定產品細節,本體和類同樣都能被合併與細化。正如OOD中複用類庫和之前的設計規範同樣,本體開發能夠複用現有的編碼和公共可用的本體。

本體論工程須要額外努力的就是開發普遍接受的本體表示符號。在過去的十幾年裏,軟件工程已經在OOD中使用幾種不一樣的表示符號,但最後全部的都彙總到提供OOD元模型的UML(Unified Modeling Language,統一建模語言)[23]語言符號中。UML定義的圖形符號以四種不一樣視圖(邏輯、用例、構件和配置)來表示類、對象和它們之間的關係,這將覆蓋OOD的全部實踐方面。若是本體論工程有每一個人在實踐中都能接受、理解和使用的標準符號,那麼將是很美好的。元語言的統一圖形表示法可以幫助構建豐富且易用的可視化工具[32],並將在設計階段增長知識複用,但不幸的是,當前大多數本體開發者都僅使用他們本身開發的符號。

從實踐者的角度來說,在本體論工程與OOAD之間存在着重要的區別。「本體」意味着採用知識級的方式來描述系統[21];然而「OO」大部分涉及設計和實現的手段。例如,在基於語義的信息檢索系統中,本體指定將被搜索的概念的意思;而在此係統的OOD中,本體卻表示領域模型。像UML等OOD語言爲全部設計策略提供清晰的設計方法學和符號,而本體和元建模原理在這些語言中倒是隱式的[28]。換句話說,本體是在知識級上從相應的任意OO符號(如UML)表示的類圖、對象圖和用例圖中抽象出來。本體的做用就是表達並明確地指定OOAD應依賴與支持的領域概念、術語、定義、關係和約束,以及其它的語義內容。

2.5   設計模式

把設計模式描述成OO軟件設計中特定問題的簡單而精確的解決方案[25],爲設計師提供公共詞彙表以便進行通信。設計模式包含不少基於再設計和再編碼嘗試的知識與經驗以便取得更大的軟件複用和靈活性。儘管設計模式和本體不能同等,但實踐者應該意識到兩種概念的重疊,而且都涉及詞彙表、知識和「體系架構」,以及都在知識級上描述概念,所以在實踐開發中能夠共用軟件模式和其它的本體設計資源。

本體是面向常識的,但設計模式卻更關注實際,並且軟件模式除了包含軟件設計等活動外,也包含組織模式和分析模式等抽象活動[22,25]。在本體庫和軟件模式目錄之間存在着相似,正如本體庫同樣,設計模式目錄不是準備用於創建模塊,可是正在進行的努力卻使得它們準備用於模塊。把本體看做某些領域的抽象模式或知識框架是很容易的智力轉換,這也很容易把軟件模式模板理解爲軟件模式本體可能表現出的知識。

2.6   基於構件的軟件工程

本體論工程的長期目標就是創建本體知識庫,便可複用的知識構件和可以經過網絡調用的基於知識的服務[17]。基於構件的軟件工程致力於開發可複用的、預先檢驗的和可互操做的知識庫,並使能設計和開發可獨立升級的即插即用的軟件構件。這些目標使得從用不一樣語言、工具和開發平臺的開發者獨立構造的應用基礎來設計系統成爲必需。

本體是構件,但反之卻未必。本體概念上比構件更抽象,但構件好像是本體的一部分,開發與本體徹底相符的構件是可能的,不一樣的領域和本體可以共享知識庫中的構件。本體可以準確地定義構件和構件局部的語義,還能定義關係的類型以及軟件構件之間的通信,所以在某種意義上,本體實際上應該是設計和開發可互操做的軟件構件的基礎。

儘管OO系統和本體強調不一樣的方向,但能夠預言不久的未來兩種技術之間的匯聚程度必將會逐步增長。正如信息系統模型擴大知識領域的範圍同樣,領域本體將會在軟件系統中變得日益重要。

 

Ontology語言

過去的幾年裏已經開發了五種本體語言。有些是直接基於XML語法,例如基於XML的本體交換語言(XOL,XML-based Ontology exchange Language),簡單的HTML本體擴展(SHOE,Simple HTML Ontology Extension),和本體標記語言(OML,Ontology Markup Language),另外的兩種語言是創建於RDF(S)――RDF和RDFS的並集――之上,以便改善RDF(S)的特徵:本體交互語言(OIL,Ontology Interchange Language)和DAML(DARPA Agent Markup Language)+OIL(Ontology Inference Layer)。

l  基於XML的本體交換語言(XOL)[3]

爲了在異構的軟件系統中進行本體定義的交換,US的生物信息學領域設計了XOL。在研究了生物信息學專家的表明性需求後,研究人員創造了XOL。基於XML,他們選取Ontolingua和OML做爲生成XOL的基礎,並結合開放知識基連通協議(OKBC,Open Knowledge Base Connectivity protocol)的子集OKBC-Lite的高級表現和OML的語法。沒有工具支持使用XOL開發本體。然而,因爲XOL文件使用XML語法,所以能夠使用XML編輯器來生成XOL文件。

 

 

語義網中的語言堆棧


簡單HTML本體擴展(SHOE)[4]

美國Maryland大學開發了SHOE,並用它來開發OML。SHOE是HTML的擴展,在HTML文檔或其它Web文檔中結合了機器可讀的語義知識。最近,Maryland大學已經把SHOE語法適應到XML。SHOE可以使得Agent收集Web頁面和文檔的有意義的信息,改善搜索機制和知識彙集。這個過程由三個階段構成:定義本體;用本體的信息註釋HTML頁面,以便描述自身和其它的頁面;Agent經過搜索現有的所有網頁來語義地檢索信息,並一直保持信息的更新。(www.cs.umd.edu/projects/plus/SHOE

l  本體標記語言(OML)[5]

美國Washington大學開發了部分基於SHOE的OML。事實上,最初是把OML視爲SHOE的XML順序化。所以OML和SHOE共享不少特徵。

存在四個不一樣級別的OML:OML核心(OML Core)相關到語言的邏輯方面,其他的層都將包含它;簡單的OML(Simple OML)直接映射到RDF(S);簡化的OML(Abbreviated OML)包括概念上的圖表特徵;標準的OML(Standard OML)是OML中最具表現力的版本。除了現有的通用目的的XML編輯器工具外,沒有其它的工具生成OML本體。

l  本體交互語言(OIL)[6]

在On-To-Knowledge項目(IST-1999-1013)和IBROW(IST-1999-19005)下,歐盟的信息社會技術的IST程序最初資助開發OIL,容許Web資源之間的語義互用性。它的語法和語義是基於現有的提議(OKBC、XOL和RDF(S)),把基於框架的方法中廣泛使用的原始建模提供給本體論工程(概念、概念分類、關係等),以及在描述邏輯方法(結合了決定性和有效推理機制,維護高表現力的一階謂詞邏輯的子集)中發現的形式的語義和推理支持。OIL創建於RDF(S)之上。OILEd、Protégé2000和WebODE都能用來編輯OIL本體。OIL的語法不只能用XML表達,並且也能用ASCII表達。(www.ontoknowledge.org/OIL

當前,本體應用於WWW生成了語義網。最初,Web發展主要是圍繞着HTML。爲了呈現結構化文檔,HTML爲瀏覽器能以規範的方式翻譯這些文檔提供了標準。一方面,HTML的簡單有助於刺激Web的快速發展;另外一方面,在不少領域和不少工做中,它的簡單嚴重地阻礙了更高級的Web應用程序,它不能提供方法來表述豐富的語法和數據語義。這致使了XML的出現,它容許開發者隨意地定義特殊領域和工做的擴展。

XML基本上是用已定義的方式來爲樹結構提供一序列語法――這是朝着創建語義網的重要的第一步,應用程序能夠直接訪問語義網中的數據語義。然而,儘管XML爲數據結構和語義的定義提供標準序列化語法,可是沒有提供標準數據結構和術語來描述商業過程和產品交換。資源描述架構(RDF,Resource Description Framework)已經採起了額外的重要步驟,經過定義語法協定和簡單數據模型來表示機器可處理的數據語義。RDF是W3C組織開發的Web元數據的標準,而且RDF基於對象、屬性和數值定義了數據模型。RDFS(RDF Schema)在更豐富的表示形式上更深刻了一步,而且把基本的本體原始建模引入到Web中。在基於Web的條件下,使用RDFS可以討論類、子類、子屬性、屬性的領域和範圍約束等等。咱們以RDFS做爲開始點,並把它所有濃縮進基於Web的本體語言OIL中。包括以下方面:

  • 更直覺地選擇某些原始建模,以及更豐富地方法來定義概念和屬性。
  • 定義OIL的形式語義。
  • 開發與OIL一塊兒工做的定製編輯器和推理引擎。

爲何是OIL

本體的有效工做須要來自高級工具的支持。須要高級本體語言來表達和表述本體。這門語言應該知足三條需求:

  • 對人類用戶應有很高的直覺。考慮到基於框架和麪向對象建模範例的成功,本體應該相似於框架。
  • 應有包含已制定的推理特性的定義良好的形式化語義,以確保完整性、正確性和有效性。
  • 應與現有的Web語言――例如XML和RDF――有着適當連接,以確保互用性。

OIL知足這些標準並統一了不一樣領域提出的三個重要方面:框架領域提出的認識論上的豐富的原始建模,描述邏輯提出的形式的語義和有效地推理支持,以及Web領域提出的語法交換符號的標準提議。

OIL的分層體系結構

 

核心OIL(Core OIL)與大部分RDFS相符(除了RDFS的具體化特徵)。

標準OIL(Standard OIL)是完整的OIL模型,目的是捕獲必要的主流原始建模,這些建模可以提供充足的表現力且能很好地理解,所以準確指定語義並使得完整的推理是可行的。

實例OIL(Instance OIL)包括徹底單個的集成,給前一層增長概念和角色的實例。儘管標準OIL包括在術語定義中指定單個填充物的建模構造,但實例OIL包括完整的數據庫能力。

重型OIL(Heavy OIL)將包括額外的表象(進而推理)能力,是OIL的將來擴展層。

OIL的分層體系結構具備三個優勢:

  • 不迫使應用程序與語言一塊兒工做,明顯比所需的更能提供表現力和複雜性;
  • 僅能處理更低級複雜性的應用程序仍能捕捉本體的某些方面;
  • 意識到更高級複雜性的應用程序仍能理解用更簡單的本體語言表達的本體。

OIL在三個領域上有強大的工具支撐:

  • 本體編輯器(ontology editors),構建新的本體。
  • 基於本體的註釋工具(ontology-based annotation tools),把無結構的和半結構的信息源與本體連接起來。

在OIL案例中,當前兩種工具輔助本體描述大量的實例羣。第一,可以從OIL的本體中獲取XML的DTD和XML Schema定義。第二,可以從OIL中爲實例獲得RDF和RDFS定義。

  • 本體的推理(reasoning with ontologies),使能高級查詢-應答服務,支持本體生成,並有助於不一樣本體之間的映射。

本體的推理引擎可以推理本體的實例和規範定義。如此推理機有助於創建本體並用它們進行高級信息的訪問和導航。OIL使用FaCT(Fast Classification of Terminologies)系統爲本體設計、集成和驗證提供推理支持。

OIL具備優勢:在Web語言(例如XML規範和RDFS)中是適當地接地,而且提供不一樣級別的複雜性。它的內部分層使能基於FaCT進行有效地推理支持,而且具備定義良好的形式化語義,該語義是語義網語言的基線需求。關於它的原始建模,OIL不只是另外一種新語言,並且在領域――例如DL和基於框架的系統――中反映了肯定的共識。

OIL最基本的語法格式:

begin-ontology

ontology-container

title "Printer Product"

creator "WenJie Li"

subject "printer, Price, ManufacturedBy"

description "A simple example ontology describing Printer Product"

description.release "1.0"

publisher "WenJie"

type "ontology"

format "pseudo-xml"

format "pdf"

source "http://202.113.12.21/Ontology/"

language "OIL"

language "en"

ontology-definitions

class-def Product

slot-def Price

  domain Product

slot-def ManufacturedBy

  domain Product

class-def PrintingAndDigitalImagingProduct

  subclass-of Product

class-def HPProduct

  subclass-of Product

  slot-constraint ManufacturedBy

    has-value "Hewlett Packard"

class-def Printer

subclass-of PrintingAndDigitalImagingProduct

slot-def PrinterTechnology

  domain Printer

slot-def Printing Speed

  domain Printer

slot-def PrintingResolution

  domain Printer

class-def PrinterForPersonalUse

  subclass-of Printer

class-def HPPrinter

  subclass-of HPProduct and Printer

class-def LaserJetPrinter

  subclass-of Printer

  slot-constraint PrintingTechnology

    has-value "Laser Jet"

class-def HPLaserJetPrinter

  subclass-of LaserJetPrinter and HPProduct

class-def HPLaserJet1100Series

  subclass-of HPLaserJetPrinter and PrinterForPersonalUse

  slot-constraint PrintingSpeed

    has-value "8 ppm"

  slot-constraint PrintingResolution

    has-value "600 dpi"

class-def HPLaserJet1100se

  subclass-of HPLaserJet1100Series

  slot-constraint Price

    has-value "$479"

class-def HPLaserJet1100xi

  subclass-of HPLaserJet1100Series

  slot-constraint Price

    has-value "$399"

end-ontology

把本體語言定義爲RDFS的擴展意味着:每一個RDFS本體在新語言中都是一個正確的本體。定義OIL擴展儘量的接近RDFS容許基於現有RDFS應用和工具的最大複用。由於本體語言常常包含新的方面,100%兼容是不可能的。

OIL與RDF/RDFS的關係:

<rdfs:Class rdf:ID="HPLaserJet1100xi">

  <rdfs:subClassOf rdf:resource="#HPLaserJet1100Series"/>

  <oil:hasPropertyRestriction>

    <oil:HasValue>

       <oil:onProperty rdf:resource="#Price"/>

             <oil:toConcreteType> 399 </oil:toConcreteType>

 </oil:HasValue>

    </oil:hasPropertyRestriction>

</rdfs:Class>

l  DARPA 的Agent標記語言+本體推理層(DAML+OIL)[7]

美國國防部的DARPA(Defense Advanced Research Projects Agency)基金,聯合W3C組織,致力於DAML(www.daml.org)的開發以便幫助軍事上的指令和控制領域,並應用於軍事智能領域。DAML是在XML中容許語義互用性的DARPA項目。DAML將變成把網頁上的信息與機器易讀的語義相結合的語義語言。該語言容許領域自身擴展簡單的本體,還容許bottom-up的設計方式,同時容許更高級概念的共享。此外,該語言將爲服務、過程和商業模型的顯式表示提供機制,而且還容許識別非顯式信息(程序或傳感器中的封裝)。

在Agent標記語言方面,美國和歐盟(IST)聯合成立了一個特殊的研究委員會,而且發佈了DAML的新版本,稱爲DAML+OIL。所以,DAML+OIL與OIL語言共享一樣的目標。DAML+OIL創建於RDF(S)之上,它的名字也間接地暗示出與OIL語言有着密切的關係。它取代了基於OIL最初稱爲DAML-ONT語言的規範。OILEd、OntoEdit、Protégé2000和WebODE都是用來編輯DAML+OIL本體的工具。(www.daml.org/2001/03/daml+oil-index

各語言之間的比較:[16]

表述性的須要依據應用中本體庫的使用而不一樣。術語輕型(lightweight)和重型(heavyweight)指得是兩種不一樣的本體庫:這些本體庫包含概念(用概念的屬性加以描述,並在分類學中僅用subclass-of關係進行組織)、關係和功能、以及實例(多是被表述的惟一構件),也包含公理。

若是從容許定義輕型本體庫的語言到容許定義重型本體庫的語言來測量語言的表現力,那麼順序將是:XOL、RDF(S)、SHOE、OML、OIL和DAML+OIL。

若是爲應用定義輕型本體(僅關注描述的概念和在分類學中的組織),能使用任意一門語言。經過考慮現有的編輯本體庫的工具、處理語言的可用軟件(APIs、推理機等)以及熟悉的表現形式(框架(XOL和SHOE),語義網(RDF(S))、概念圖(OML)或描述邏輯(OIL和DAML+OIL))來決定選用何種語言。

在定義重型本體庫時,應該仔細選擇語言,由於錯誤的決定會阻止應用的成功。在應用中最初採用框架來肯定表現力須要。一旦表格填滿了信息,就能夠用標準信息對其進行比較,從而去掉沒有充足表現能力的語言。接下來應該基於應用所需的推理機制。XOL和OML沒有任何可用的推理機制,而RDF(S)、SHOE、OIL和DAML+OIL都有推理機。在此狀況下,應該考慮須要何種推理。RDF(S)、SHOE和DAML+OIL能生成查詢服務。OIL和DAML+OIL也爲本體中的一致性檢測和分類學中的組織概念提供自動分類。

經過基於現有的生成本體庫和註釋資源(生成實例和約束)的工具,能對候選的語言進一步篩選。大範圍的本體開發工具(OILEd、OntoEdit(僅DAML+OIL)、Protégé和WebODE)都支持OIL和DAML+OIL。沒有任意一種本體工具支持RDF(S),但更通用的生成元數據的工具支持它。註釋RDF(S)的工具也能用於存儲爲RDF實例的OIL和DAML+OIL。SHOE知識註釋器容許用SHOE註釋Web頁面,但沒有可用的創建本體庫的本體編輯器。沒有任何特定的工具支持剩餘的語言。

Web本體語言

語義網的夢想:機器可理解Web中的資源,而且自動Agents和人都能交換和處理Web中的信息,但缺少互操做性威脅着Internet的未來,經過信息的標準化能夠解決各類爭議。W3C組織的成員協會和受邀專家組成WOWG(Web Ontology Working Group)的憲章中明確表述:當設計Web本體語言時應把DAML+OIL看成起始點。Web本體語言是不少人用於不一樣用途的工具,最重要特性是定義良好的形式化語義,共有7維:層次、包容、大小、研究、前景、社會、商業[77]。本體語言能充分有力地捕獲所需的大多數信息,同時仍足夠的簡單以便容許Agents在任意特定時刻執行自身基於事實的推理,這必將會給語義網的開發帶來很大的貢獻。語義網中本體的目的是:爲分佈在全部Web中的數據提供一種語義類型以方便用戶經過搜索或查詢引擎的訪問,同時更便於Web服務的輸入或輸出。

設計Web本體語言的需求[77]:首先最重要的是,若是單一語言將要服務全部不一樣的領域,那麼該語言須要分層設計,其中簡單的核心可以適應簡單的分類學和關係,然而可以增長額外的層次(表達性、功能性和複雜性)以知足團隊所需的更多表現力;第二,若是想要被普遍接受的話,語言(或至少核心)應具備簡單、可達的語法;第三,若是取消標準化本體語言,應有軟件工具來支持本體開發、使用和維護;最後,應有一些已開發的大規模應用,以便論證標準化本體語言和形式語義的價值,並幫助定義和表達語義網的不一樣層次應該怎樣一塊兒工做,以及這些技術怎樣與更可用的XML技術相關聯。

Web本體語言具備三種複雜性:計算複雜性、技術複雜性和概念複雜性[77]。

計算複雜性:計算效率是三種複雜性中最少引人注意的,特別是當解釋成漸近最壞狀況的複雜性結果。有時所需的可斷定性也是有爭議的,可斷定僅意味着不存在判斷任意OWL理論一致性的算法,然而實際狀況中可能存在許多很好的算法。不過計算複雜性還是設計DAML+OIL的指導方針之一。

技術複雜性:快速、普遍可用且便宜的技術支持是任意W3C標準取得成功的基礎。DAML+OIL在這方面已取得特別好的平衡,由於在很短的時間內,已經開發出至關多支持DAML+OIL的工具和技術:編輯器、推理引擎、瀏覽器、APIs、存儲設備等。

概念複雜性:DAML+OIL失去平衡最多的地方就是概念複雜性。在概念方面強調DAML+OIL優勢的惟一方法就是查看DAML+OIL創建的本體。概念複雜性的另外一重要方面就是建模方式,大多數本體建模都是基於框架的建模方式,這與DAML+OIL的描述邏輯有着直接的衝突。OWL經過刪除一半DAML+OIL語言,並基於RDF和RDFS把描述邏輯語義隱藏在基於框架的語法後面,從而能下降DAML+OIL的概念複雜性。

 

Ontology開發指南

1. 概述

Ontology的概念最初起源於哲學領域:「對存在的系統地描述,即存在論」。

過去的十幾年中,已經出現了本體論的不少定義,可是僅有一個定義可以最好地表現出本體的本質特性:「本體是共享概念化的正式的、明確地規範(An ontology is a formal,explicit specification of a shared conceptualization)」[1]。在此定義中,共享(shared)反映了本體捕獲同感知識的理念,即不是限定到單個的某些人,而是一組人共同接受的知識。概念化(conceptualization)指的是世界中某些現象的抽象模型,辨識這些現象的相關概念。明確(explicit)意思是清晰地定義全部概念的類型和概念之間的約束;形式(formal)意思是機器應該能夠理解本體。

本質上,常常以某種形式的和更適宜機器易讀的方式把本體的意思屬性化爲概念化的規範,即已定義的術語和術語之間的關係。本體爲某領域共享信息的研究者定義公共詞彙。

AI領域,開發本體論來便利知識共享和複用。從20世紀90年代,已成流行的研究主題,主要方向有:知識工程、天然語言處理和知識表示。

更近,本體的概念在不少領域都正在變得普遍,如智能信息集成、協做信息系統、信息檢索、電子商務和知識管理、多Agent系統等。

最近幾年,本體庫的開發已經從AI實驗室等領域轉移到領域專家的桌面。

在軟件領域,任何軟件自己都固有一套概念體系,這個體系包括對象、對象之間的相互約束關係、對事務處理過程的描述、語義交互,以及簡單的推理和邏輯規則,所以能夠把此體系通稱爲軟件領域的本體[2]。

 

Ontology語言


過去的幾年裏已經開發了五種本體語言(如圖1所示)。有些是直接基於XML語法,例如基於XML的本體交換語言(XOL,XML-based Ontology exchange Language),簡單的HTML本體擴展(SHOE,Simple HTML Ontology Extension),和本體標記語言(OML,Ontology Markup Language),另外的兩種語言是創建於RDF(S)――RDF和RDFS的並集――之上,以便改善RDF(S)的特徵:本體交互語言(OIL,Ontology Interchange Language)和DAML(DARPA Agent Markup Language)+OIL。

圖1 語義網中的語言堆棧

l  基於XML的本體交換語言(XOL)[3]

爲了在異構的軟件系統中進行本體定義的交換,US的生物信息學領域設計了XOL。在研究了生物信息學專家的表明性需求後,研究人員創造了XOL。他們基於XML,選取Ontolingua和OML做爲生成XOL的基礎,並結合開放知識基的連通協議(Open Knowledge Base Connectivity protocol)的子集OKBC-Lite的高級表現和OML的語法。沒有工具支持使用XOL開發本體論。然而,因爲XOL文件使用XML語法,所以能夠使用XML編輯器來生成XOL文件。

l  簡單的HTML本體擴展(SHOE)[4]

美國Maryland大學開發了SHOE,並用它來開發OML。SHOE是HTML的擴展,在HTML文檔或其它Web文檔中結合了機器可讀的語義知識。最近,Maryland大學已經把SHOE語法適應到XML。SHOE可以使得Agent收集Web頁面和文檔的有意義的信息,改善搜索機制和知識彙集。這個過程由三個階段構成:定義本體;用本體論的信息註釋HTML頁面,以便描述自身和其它的頁面;Agent經過搜索現有的所有網頁來語義地檢索信息,並一直保持信息的更新。(www.cs.umd.edu/projects/plus/SHOE

l  本體標記語言(OML)[5]

美國Washington大學開發了部分基於SHOE的OML。事實上,最初是把OML視爲SHOE的XML順序化。所以OML和SHOE共享不少特徵。

存在四個不一樣層次的OML:OML核心(OML Core)相關到語言的邏輯方面,其他的層都將包含它;簡單的OML(Simple OML)直接映射到RDF(S);簡化的OML(Abbreviated OML)包括概念上的圖表特徵;標準的OML(Standard OML)是OML中最具表現力的版本。除了現有的通用目的的XML編輯器工具外,沒有其它的工具生成OML本體論。

l  本體交互語言(OIL)[6]

在OntoKnowledge項目和IBROW下開發了OIL,歐盟信息社會技術的IST程序資助開發OIL,容許Web資源之間的語義互用性。它的語法和語義是基於現有的提議(OKBC、XOL和RDF(S)),把基於框架的方法中廣泛使用的原始建模提供給本體論的工程(概念、概念分類、關係等),以及在描述邏輯方法(結合了決定性和有效推理機制,維護高表現力的第一階邏輯的子集)中發現的形式的語義和推理支持。

OIL創建於RDF(S)之上。OILEd、Protégé2000和WebODE都可以用來編輯OIL本體論。OIL的語法不只能用XML表達,並且也能用ASCII表達。(www.ontoknowledge.org/OIL

l  DARPA 的Agent標記語言+本體推理層(DAML+OIL)[7]

美國國防部的DARPA基金,聯合W3C組織,致力於DAML(www.daml.org)的開發以便幫助軍事上的指令和控制領域,並應用於軍事智能領域。US和歐盟(IST)的聯合研究委員會在DAML的基礎上共同開發了DAML+OIL,DAML是在XML中容許語義互用性的DARPA項目。所以,DAML+OIL與OIL共享一樣的目標。

DAML+OIL創建於RDF(S)之上,它的名字也間接地暗示出與OIL語言有着密切的關係。它取代了最初開發的稱爲DAML-ONT的規範,儘管此規範也是基於OIL語言。OILEd、OntoEdit、Protégé2000和WebODE都是用來編輯DAML+OIL本體論的工具。(www.daml.org/2001/03/daml+oil-index

 

Ontology編輯和開發工具:

l  OntoEdit是德國Karlsruhe大學AIFB學院的知識管理團隊開發本體-工程環境。支持Frame-Logic、OIL、RDFS和XML。是Ontoprise公司(www.ontoprise.de)的商業化產品。(ontoserver.aifb.uni-karlsruhe.de/ontoedit

l  WebODE 是西班牙Madrid技術大學計算機科學AI學院的本體和知識複用團隊開發,是本體設計環境(ODE,Ontology Design Environment)的Web對應物。不只能夠開發本體庫,並且是高級的本體論工程工做臺,它爲有關的不一樣本體提供服務、幷包含和支持本體開發過程當中涉及的大部分活動。WebODE是基於普遍使用和測試的Methontology方法論,用本體庫對知識進行建模的新工具。依據state-of-the-art技術,如Java、 RMI、CORBA或XML ,以及MAS(Minerva Application Server)技術使得WebODE 實現得以執行。(http://delicias.dia.fi.upm.es/webODE/

l  OILed是英國Manchester大學OIL編輯器,並獲得Vrije大學、Amsterdam和SemanticEdge的資助。目標是提供簡單的免費軟件編輯器來示範OIL。OILed不是完整的本體開發環境――不主動支持大規模本體論的開發、本體論的移植和集成、以及涉及本體構建的其它不少活動。OILed是本體編輯器的記事本,僅給用戶創建本體論提供足夠的功能性,並示範怎樣檢驗本體論的一致性。(http://img.cs.man.ac.uk/oil

l  Protégé 2000是美國Stanford大學醫學情報中心(SMI,Stanford Medical Informatics)Mark A. Musen(MD、PhD)領導的開發團隊創建,支持RDF。容許域專家經過生成和改進可複用的本體論和解決問題的方法創建基於知識的系統。Protégé 2000從本體論中產生特定領域的知識獲取工具和應用。30多個國家使用Protégé 2000。它是本體編輯器,可以定義類和類層次、屬性關係和屬性-值約束、以及類和屬性之間的關係。實例標籤是知識獲取工具,可以獲取本體中定義的類的實例。Protégé 2000是生成和編輯本體論與知識基的可擴展的、跨平臺的環境。(http://protege.stanford.edu/index.html

 

應用領域:

在WWW領域,本體庫已經變得廣泛。在Web上的本體論範圍從用大的分類法進行歸類的Web網站(Yahoo和Lycos)到爲銷售的產品以及產品特徵進行分類(Amazon和eBay),以及配置(Dell和PC-Order)等。

如今不少學科開發標準化的本體庫,領域專家能用其對本領域的信息進行共享和註釋。醫學已經產生了大的、標準化的、結構化的詞彙表SNOMED[8]和UMLS(Unified Medical Language System)系統的語義網[9]。

普遍通用目的的本體庫也已經出現了。例如聯合國開發計劃署(United Nations Development Program)和Dun & Bradstreet共同聯合開發UNSPSC本體,此本體爲產品和服務提供術語學(www.unspsc.org)。

大的ontology,保健領域是New Jersey理工學院的面向對象保健詞彙知識庫項目(OOHVR),在語義網中大約有5 000個有組織的概念,並存儲在OODB中。WordNet(www.cogsci.princeton.edu/~wn)爲用天然語言解釋的100 000多個術語提供辭典。最大和最全面的ontology是在MCC和Cycorp開發的CYC(www.cyc.com),大約有50 000個概念,概念之間的約束和關係多於4000 000個,爲常識知識的多個方面提供形式的公理理論。

 

2. 爲何開發本體?

開發本體的一些緣由是:

在人或軟件Agents之中對信息的結構的共同理解進行共享是開發本體庫的最普通的目標之一[1,10]。

使能複用領域知識是本體研究中最近涌現出的驅動力之一。

制定清晰的領域假定使得若是關於領域的知識變化時容易地改變這些假定是可行的。

從操做知識中分離出領域知識是本體庫的另外一個公共用途。

分析領域知識是可行的一旦術語的聲明規範可用的話。

常常,領域本體自己不是一個目標。開發本體相似於定義一套數據和它們的結構以便其它程序使用。解決問題的方法、獨立領域的應用和軟件Agents使用本體庫和從本體庫中創建的知識基來做爲數據。

本體設計的理念部分來源於OOD的文獻[11,12]。然而,本體開發不一樣於OOP中設計類和關係。OOP主要是關注類的方法――編程者基於類的操做特性制定設計決策,而本體設計者基於類的結構特性來制定設計決策。所以,本體中的類結構和類間的關係不一樣於在OOP中類似領域的類結構。

 

3. 什麼是本體?

本體是對研究領域的概念進行正式的明確地描述(classesconcepts),每一個概念的特性描述其不一樣的特徵和屬性(slotsrolesproperties),以及屬性的約束(facetsrole restrictions)。

本體和類的一組實例(instances)構成了知識基(knowledge base)。事實上,本體的結束和知識基的開始有清晰的分隔線。

 

4. 本體開發步驟

實際上,本體的簡單開發過程包括:

l  定義本體的類

l  在分類學(子類-超類)層次上安排類

l  定義屬性並描述這些屬性的容許值

l  填充屬性值造成實例

本體開發採用迭代步驟:最初定義粗略的本體,接着修改並細化進化的本體,隨後填充細節。決定將使用本體作什麼,以及本體將怎樣詳細或通用,這將在開發中指導不少建模決策。在幾個可用的替代方案中,須要肯定對設計的工做來講哪一個更有效、更直覺、更可擴展和更可維護。須要記住本體是現實世界的模型,本體中的概念應該反映這一事實。定義本體的最第一版本後,經過在應用或問題解決方法中使用,或經過與領域專家討論,或者二者結合,可以對其進行評估和測試。所以,幾乎肯定須要修改最初的本體。

Step 1. 肯定本體的領域和範圍

回答基本問題:本體覆蓋的領域,用本體作什麼,本體中的信息應提供何種類型的答案,誰使用和維護本體。設計並填寫本體的性能調查表(competency questions)[13]

Step 2. 考慮現有本體的複用

爲特定的領域和工做來細化和擴展示有的資源。若是系統須要與其它特定的本體庫或受控詞彙的應用交互,則複用現有的本體庫多是系統需求。不少電子格式的本體庫均可用,並能導入本體開發環境。

Step 3. 枚舉本體的重要術語(名詞、動詞)

列出全部的術語(聲明或解釋)。獲得術語的全面列表很重要,沒必要擔憂概念的重疊、術語間關係、或概念的特性、甚至概念是類仍是屬性。

Step 4. 定義類和類層次

類是大多數本體庫的核心,描述領域的概念。有幾種開發類層次的可能方案[14]:top-down開發過程開始於定義領域中最普通的概念,隨後對概念特性化;bottom-up開發過程開始於定義最特殊的類,即類層次的葉子,隨後把這些類分組成更普通的概念;combination首先定義更明顯的概念,接着對其進行適當地泛化和特性化,它是最容易的過程,由於「在中間的」概念傾向因而領域中更具描述性的概念[15]。

  1. 確保類層次的正確性:「is-a」、「kind-of」、層次關係的傳遞和進化、避免類循環。
  2. 分析類層次中的兄弟關係:2~12個直接子類。
  3. 多重繼承關係
  4. 什麼時候引入新類。類的子類一般(1)有父類不具備的額外特性;(2)來自於這些父類的不一樣約束;(3)參與和父類相比不一樣的關係。有時生成新類甚至沒有引入新特性,在術語學層次上的類沒必要引入新特性,例若有些本體庫包含領域的公共術語的大的參考層次;或者領域專家制定區別在其中的模型概念。
  5. 新類或特性值。當建模領域時,常常須要決定是否把特殊的區別建模爲特性值或一組類,再一次依賴於領域和工做的範圍。若是有不一樣屬性值的概念變成其它類中不一樣屬性的約束,則應該生成新類以便區別。不然,用屬性值表述區別。
  6. 實例或類。決定特殊的概念是本體中的類仍是單個實例依賴於本體的潛在應用。單個實例是知識基中最特殊的概念表述。若是概念造成天然的層次,則應表述爲類。
  7. 限制範圍。本體不該包含領域的全部可能信息,不該包含全部可能的類特性以及類層次中的區別。
  8. 不相關子類(Disjoint subclass)。

Step 5. 定義類的特性-slots

屬性描述類和實例的特性。單靠類不能提供足夠的信息來回答Step1的性能調查表。所以定義一些類後,應該描述概念的內部結構,即屬性。子類能夠繼承或覆蓋父類的屬性。

已經從Step3產生的術語表中提取出了類,大部分剩餘的術語多是這些類的特性。對於列表中的每一個特性,應該肯定其描述哪一個類。這些特性變成附屬於最通用類的屬性。

一般,在本體中能變成屬性的幾種對象特性是:「固有的」、「外在的」、局部、關係。

屬性具備反向性(Inverse relations,並可具備缺省值

Step 6. 定義屬性的約束

屬性能有不一樣的約束來描述值類型(String、Number、Boolean、Enumerated、Instance)、容許值(範圍)、值數目(單一或多個、最小或最大),以及值的其它特徵。

若是定義了屬性的範圍或域的類表中包括類和它的子類,則刪除子類。

Step 7. 生成實例

定義類的單個實例須要:(1)選擇類;(2)生成這些類的單個實例;(3)填充屬性值。

 

5. 對於任何領域,沒有惟1、正確的本體。最合適的開發過程都是與具體的實際應用相互關聯。

 

附註:

Protégé-2000 v1.7 的主要特徵(2003/04/09已發佈v1.8,2003/06/04已發佈v1.9 Beta)

l  兼容JDK1.3(以上),軟件可自帶VM

l  可擴展、平臺無關

l  開放源碼、free

l  生成、編輯本體庫和知識基

l  直覺和易用GUI,配置可擴展Plug-in體系(Classes、Slots、Forms、Instances、Queries、PalQueries、KATool、ClassesAndInstances、PalConstraints、Flora、InstanceTree、Oil、OntologyBeanGenerator、KnowledgeTree、Prompt、UMLS、OKBC、DAMLHousekeeping、WordNet、BeanShell、Fca、TGViz、Ontoviz、Algernon、DataGenie、XML、Relations、TM等共50個)

l  支持任何語言輸入的知識基

l  支持任意有JDBC 1.0的DB,以及大部分RDB、Oracle、MySQL、SQL和Access

l  支持標準的輸入和輸出格式:

u  標準文本文件(*.pprj、*.pont、*.pins)

u  RDFS(*.pprj、*.rdfs、*.rdf、名字空間)

u  JDBC database(*.pprj、驅動器類名、URL、表、用戶名、密碼)

u  UML1.4類圖(*.pprj、*.uml.xmi)

u  Protege XMI files(*.pprj、*.protege.xmi)

u  DAML+OIL(*.pprj、*.daml、*.daml、名字空間)

u  XML DTD(*.pprj、*.xml、*.dtd)

l  僅用於Java,使用JNI(Java Native Interface)從C和C++能夠訪問Java API

l  設置用戶,生成日誌文件*.pjrn

l  矩陣統計:顯示類、屬性、實例等的總數、均值、方差信息

l  直接生成HTML

l  支持多用戶

l  經過模板的方式定製性能

l  完整的一致性檢測確保本體包含正確的知識

 

 

參考文獻:

  1. T. R. Gruber, 「A Translation Approach to Portable Ontology Specifications,」 Knowledge Acquisition, vol. 5, no.2, 1993, pp. 199-220.
  2. 王英林,張申生。基於本體影射規則的軟件集成重構研究。計算機學報,Vol.24 No.7,2001,pp. 776-783。
  3. R. Karp, V. Chaudhri, and J. Thomere, 「XOL: An XML-Based Ontology Exchange Language (version 0.4),」 Aug. 1999, www.ai.sri.com/~pkarp/xol (current Jan. 2002).
  4. S. Luke and J. Heflin, SHOE 1.01 Proposed Specification, SHOE Project, Feb. 2000, www.cs.umd.edu/projects/plus/SHOE/spec1.01.htm (current Jan. 2002).
  5. R. Kent, Conceptual Knowledge Markup Language (version 0.2). 1998. www.ontologos.org/CKML/CKML%200.2.html (current Jan. 2002).
  6. I. Horrocks et al., 「OIL in a Nutshell,」 Proc. ECAI’00 Workshop on Application of Ontologies and PSMs, Berlin, Germany, 2000, pp. 4.1-4.12.
  7. I. Horrocks and F. van Harmelen, Reference Description of the DAML+OIL Ontology Markup Language, draft report, 2001, www.daml.org/2000/12/reference.html (current Jan. 2002).
  8. Price, C. and Spackman, K. (2000). SNOMED clinical terms. BJHC&IM-British Journal of Healthcare Computing & Information Management 17(3): 27-31.
  9. Humphreys, B.L. and Lindberg, D.A.B. (1993). The UMLS project: making the conceptual connection between users and the information they need. Bulletin of the Medical Library Association 81(2): 170.
  10. Musen, M.A. (1992). Dimensions of knowledge sharing and reuse. Computers and Biomedical Research 25: 435-467.
  11. Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F. and Lorensen, W. (1991). Object-oriented modeling and design. Englewood Cliffs, New Jersey: Prentice Hall.
  12. Booch, G., Rumbaugh, J. and Jacobson, I. (1997). The Unified Modeling Language user guide: Addison-Wesley.
  13. Gruninger, M. and Fox, M.S. (1995). Methodology for the Design and Evaluation of Ontologies. In: Proceedings of the Workshop on Basic Ontological Issues in Knowledge Sharing, IJCAI-95, Montreal.
  14. Uschold, M. and Gruninger, M. (1996). Ontologies: Principles, Methods and Applications. Knowledge Engineering Review 11(2).
  15. Rosch, E. (1978). Principles of Categorization. Cognition and Categorization. R. E. and B.B. Lloyd, editors. Hillside, NJ, Lawrence Erlbaum Publishers: 27-48.

 

《Agents and the Semantic Web

多Agent系統通訊的不少挑戰都須要本體。Agent技術和本體論的集成可以明顯地影響Web Services 的使用,並能經過程序擴展更有效地爲用戶完成工做,且須要更少的人類干涉。

 

真正的本體是什麼?

在AI領域,咱們有時濫用不少術語。而當咱們與其它領域――例如Web工具包開發商,他們也濫用這些術語――相交互時,這些術語甚至變得更加混淆。其中一個術語就是本體(ontology),牛津英語詞典(Oxford English Dictionary)把它定義爲「存在的科學或研究(the science or study of being)」。在AI領域,本質上,咱們常常以某種形式的和更適宜機器易讀的方式把本體的意思屬性化爲概念化的規範――即,已定義的術語和術語之間的關係 [1]。甚至更復雜的是本體論和邏輯學之間的關係。一些人把本體視爲邏輯的子集,有些人把邏輯視爲本體推理的子集,而其餘人認爲二者不相關。

例如,烹飪和食譜本體包括成分、怎樣攪拌和混合配料、煨燉和油炸之間的區別、最終產品是吃仍是喝、油是用來烹飪或食用而不是用來潤滑,等等。

在最近的XML 2000會議上,Tim Berners-Lee給出了圖1所示的夾心蛋糕(layer cake)結構,此圖經過使用更低級的語法和語義,顯示了具備更高級語言的語義網(the Semantic Web)的已提議層次。

 

 

圖1 語義網夾心蛋糕

語義網本體論

在接下來的幾年裏,幾乎每一個公司、大學、政府代理,或者特別利益集團將要把它們的Web資源連接到本體論的內容,因爲不少有力的工具將可用來使用這些內容。應用程序之間將會交換信息,使得程序隨意地收集和處理Web內容和交換信息。在這個基礎架構之上,基於Agent的計算將變得更加實用。分佈式的計算機程序與非本地的基於Web的資源交互最終可能變成主導的方式,在此方式中,計算機與人類相互做用。在不遠的未來,如此交互將會變成計算的主要手段。

服務廣告(service advertisements)

UDDI:Universal Description,Discovery,and Integration specification(www.uddi.org

ebXML:(www.ebXML.org ) eSpeak:(www.e-speak.hp.com

 

異構Agent系統(Heterogeneous Agent Systems)[2]論述了在多Agent系統中使用義務邏輯和Agent程序。這些邏輯,與適當的服務描述相關聯,可以描繪Agent可以作什麼,何時能作或者不能作。服務的邏輯描述也能用來進行自動地匹配和代理,還能用來規劃一套服務以便共同取得用戶的目標,以及當前正在討論(但尚未實現)的其它性能。

 

Agent之間的通訊

圖5描述了小部分的本體論的Web。小盒子表示Agent或其它Web資源,它們使用用更大的盒子表示的Web本體論中的術語。箭頭表示提供從一個本體到另外一個本體的映射(所有或部分)的任何機制。該圖顯示了一個有向非循環圖(DAG,directed acyclic graph)。

 

 

圖5 Agents和它們所用本體論之間的映射

 

假定Agent之間使用本體論中的內容術語相互進行通訊,這種通訊是至關簡單的。經過連接到這些本體論,Agent使用與在這些本體中規定的用法相一致的術語進行通訊。

更有意思的是,沒有使用同一本體論的Agent之間仍然可能進行通訊。若是全部的映射都是正確的,那麼很顯然,任何Agent都能與其它Agent進行通訊,經過發現它兩都能映射到的共同本體。

 

DAML和其它的語言

現代的IT世界是個動態變化的環境,同時數據的生成和發佈能力也以指數級增加,這迅速地超越了人類把這些數據處理成信息的能力。在這個廣泛地分佈式、異構、不肯定的信息環境中,基於Agent的計算可以潛在地幫助咱們識別複雜的模式。不幸的是,當Agent理解數據並與之交互時,這些數據或是未被處理或是天然語言的方式,所以Agent所面臨的困難阻礙了這種潛能。

一個可能的解決方案是在半路上知足計算機。經過使用工具來給數據源提供附加的標記註釋,咱們可以使得Agent以新穎且使人興奮的方式來使用信息。DAML(DARPA Agent Markup Language)項目的目標就是開發以機器易讀的方式來表述語義關係的一門語言,這種方式將會與當前和將來的Internet技術相兼容。當前,項目正在開發原型工具來展現如此標記提供革命性能的潛能,這將改變人類和信息交互的方式。

爲了實現這些目標,Internet標記語言應該脫離XML和特殊領域受控語言固有的隱式語義協定。DARPA指引着DAML的方向,DAML將變成把網頁上的信息與機器易讀的語義相結合的語義語言。該語言應該容許領域自身擴展簡單的本體論,還容許自底向上的設計方式,同時容許更高級概念的共享。此外,該語言將爲服務、過程和商業模型的顯式表示提供機制,而且還容許識別非顯式信息(例如程序或傳感器中的封裝)。

相對於當前的標記方法,DAML將提供不少優勢。它將跟當前在XML中的語法互用性同一級別上容許語義互用性。Web中的對象標記包括:對象編碼的信息描述、對象提供的功能描述和對象能產生的數據描述。這樣的話,將容許經過Agent把網頁、數據庫、程序、模型和傳感器都連接到一塊兒,以便使用DAML來識別它們查詢的概念。若是成功的話,則來自不一樣源的信息熔合將變成現實。

DARPA基金致力於DAML的開發以便幫助美國軍事上的命令和控制領域,並應用於軍事智能領域。例如,DAML的用途之一是改善大型軍事信息倉儲的組織和檢索。就關於智能方面,DAML的目的是從多個源到提供特殊指示和警告來改善信息的集成,以便阻止恐怖分子對軍事目標的攻擊。

最近,在Agent標記語言方面,美國和歐盟聯合成立了一個特殊的研究人員團隊,而且發佈了DAML的新版本,稱爲DAML+OIL。這個語言是基於資源描述架構(RDF,Resource Description Framework(www.w3.org/rdf))。www.daml.org提供了該語言的細節,衆多本體論和有註釋網頁的知識庫,以及DAML和相關項目的全面描述。

 

網站

W3C語義網活動:www.w3.org/2001/sw     DAML:www.daml.org

SHOE:www.cs.umd.edu/projects/plus/SHOE  語義網領域:www.semanticweb.org

 

參考文獻:

  1. T.R. Gruber, 「A Translation Approach to Portable Ontologies,」 Knowledge Acquisition, vol. 5, no. 2, 1993, pp. 199-220.
  2. V.S. Subrahmanian et al., Heterogeneous Agent Systems, MIT Press, Cambridge, Mass., 2000.

 

 

《Knowledge Processes and Ontologies


產品複雜性的增長、朝着全球化移動、虛擬組織的出現以及面向客戶的關注增多,全部這些都要求一個更完全且系統的方法來管理知識。對於人力資源管理、企業組織和企業文化來講,知識管理是個關鍵問題。但IT在管理知識上起了主要的支撐做用。

 

 

圖6 本體開發過程或知識元過程

知識元過程(本體開發過程)

咱們的本體開發模型範圍從創建KM項目的早期階段到基於本體的KM應用程序的最終展現。圖6顯示了本體的開發過程。

可行性研究:

即便KM系統是徹底地集成,則它也僅能知足功能上的需求。幾個因素而非技術可以決定成功或失敗。爲了分析這些因素,必須進行可行性研究以便來識別問題域或機會域和可能的解決方案,還要進行可行性研究以便把這些問題或機會放入到更寬範圍的組織前景中。

可行性研究可以用來判斷經濟的和技術的項目可行性。也能用來對任何可能的問題選擇最有前途的關注區域和最好的解決方案。應該在實際開發本體論以前進行可行性研究,由於它被視爲開始階段的基礎。

開始階段:

開始階段的輸出產品是本體需求規範文檔(圖7)。開始階段描述了本體應該支持什麼,而且概述了本體應用程序的規劃區域。在此階段也指導本體工程師對本體中概念的包含、排除和層次結構進行判斷。在這個早期階段,應該尋找已經開發過的和可能重用的本體。

 

 

圖7 本體需求規範文檔

總之,開始階段應該明確幾條信息的細節:

  • 本體的目標;
  • 本體的域和範圍;
  • 本體支撐的應用程序;
  • 本體的知識源(例如域專家、組織圖、商業規劃、詞典、索引表或DB規範);
  • 本體的潛在用戶和使用場景。

開始階段還應包括能力調查表,本質上是系統可能疑問的總覽,該系統能象徵域本體的範圍和內容。最後,開始階段應該詳述任何可能重用的本體論。

細化階段:

細化階段的目的是根據開始階段給出的規範,產生出一個成熟且面向應用程序的目標本體。可把此階段分紅不一樣的子階段:

  • 收集非正式的基線分類法,以便包含在開始階段期間給定的有關概念。
  • 基於基線分類法的最初輸入從域專家中抽取知識,以便開發包含有關概念和描述概念之間關係的種子本體。從認識論的級別上表達種子本體。
  • 把種子本體轉換成用正式的表示語言表達的目標本體,這樣的語言有結構邏輯(Frame Logic)、描述邏輯(Description Logic)或概念圖(Conceptual Graphs)。

使用可能重用的本體論(開始階段識別出來的)可以改善整個細化階段期間開發的速度和質量。這些本體論可能爲建模決策提供有用的線索。

評估階段:

評估階段是對已開發的本體論和與它們相關聯的軟件環境的有效性進行檢驗。在此階段,本體工程師檢驗目標本體是否知足本體需求規範文檔的要求,以及本體是否支持或回答了在項目的開始階段分析的能力問題。

在此階段也將測試目標應用程序環境中的本體。對於本體的進一步細化來講,來自beta版用戶的反饋多是有價值的輸入。原型系統應該追蹤用戶對概念和關係進行導航或搜索的方式。還應追蹤本體最常應用於哪一個區域。

這個階段與細化階段是親密關聯的。本體工程師應該須要執行幾回循環直到目標本體達到指定的級別。轉出目標本體完成了評估階段。

維護階段:

本體的規範常常須要改變以便反映現實世界的變化。爲了反映出這些變化,必須常常地維護本體論。維護本體論主要是個組織的過程。對於本體論內部的更新-刪除-插入過程應該有嚴格的規則。

推薦收集本體的變化,並在完全地測試應用程序的可能影響後,開始轉換到該本體的新版本。正如在細化階段,來自用戶的反饋可能對辨識變化有幫助。

 

 

《OIL: An Ontology Infrastructure for the Semantic Web

在AI領域的研究者首先開發了本體論來便利知識共享和重用。自從20世紀90年代開始,本體論已經變成了一個流行的研究主題,而且一些AI研究領域――包括知識工程、天然語言處理和知識表示――都已開始研究本體論。

更近,本體的概念在不少領域都正在變得普遍,如智能信息集成、協做信息系統、信息檢索、電子商務和知識管理等。本體論變得流行的主要緣由是它們許諾:可以跨越人類和應用程序系統的共享和公共的理解。

當前,本體論應用於WWW生成了語義網(the Semantic Web)[1]。最初,Web發展主要是圍繞着HTML。爲了呈現結構化文檔,HTML爲瀏覽器能以規範的方式翻譯這些文檔提供了標準。一方面,HTML的簡單有助於刺激Web的快速發展;另外一方面,在不少領域和不少工做中,它的簡單嚴重地阻礙了更高級的Web應用程序。這致使了XML(圖1)的出現,它容許開發者隨意地定義特殊領域和工做的擴展(甚至HTML做爲XML應用程序而出現――XHTML)。

XML基本上是用已定義的方式來爲樹結構提供一序列語法――這是朝着創建語義網的重要的第一步,應用程序能夠直接訪問語義網中的數據語義。資源描述架構(RDF,Resource Description Framework)[2]已經採起了額外的重要步驟,經過定義語法協定和簡單數據模型來表示機器可處理的數據語義。RDF是W3C組織(World Wide Web Consortium www.w3c.org/rdf)開發的Web元數據的標準,而且RDF基於對象、屬性和數值定義了數據模型。RDF規範(RDF Schema)[3]在更豐富的表示形式上更深刻了一步,而且把基本的本體論原始建模引入到Web中。在基於Web的條件下,使用RDFS可以討論類、子類、子屬性、屬性的領域和範圍約束等等。咱們以RDFS做爲開始點,並把它所有濃縮進基於Web的本體語言OIL中[4]。包括以下方面:

 

 

圖1 Web的層次語言模型

 

  • 更直覺地選擇某些原始建模,以及更豐富地方法來定義概念和屬性。
  • 定義OIL的正式語義。
  • 開發與OIL一塊兒工做的定製編輯器和推理引擎。

 

本體論:信息訪問和集成的革命

過去的十年中,已經出現了不少本體論的定義,可是在咱們看來,僅有一個定義可以最好地表現出本體的本質,那就是:「本體是共享概念化的形式的、明確地規範(An ontology is a formal,explicit specification of a shared conceptualization)。」[5]在這個定義中,概念化(conceptualization)指的是世界中某些現象的抽象模型,辨識這些現象的相關概念。明確地(explicit)意思是明確地定義所用概念的類型和對概念使用的約束;形式的(formal)意思是機器應該能夠理解本體。不一樣的形式化程度是可能的。大的本體論,例如WordNet(www.cogsci.princeton.edu/~wn )爲用天然語言解釋的100 000多條術語提供了一個辭典。另外一個極端是CYC(www.cyc.com ),它爲常識知識的多個方面提供形式的公理理論。共享(shared)反映了本體捕獲同感知識的理念――即,不是限定到單個的某些人,而是一組人接受的知識。

本體技術的三個主要應用領域是:知識管理、Web商務和電子商業。

知識管理:

KM關注着組織機構知識的獲取、維護和訪問。它的用途是開發組織機構的智能資產以便獲得更大生產率、新價值和加強競爭力。因爲全球化和Internet的影響,不少組織機構地理上日益分散,並圍繞着虛擬團隊進行組織。對於大量的在線文檔,市場上已經出現了幾種文檔管理系統。可是,這些系統具備以下缺陷:

  • 搜索信息(Searching information):現有的基於關鍵詞的搜索引擎檢索不相關的信息,在不一樣條件下這些信息使用肯定的單詞;當使用所需內容的不一樣單詞時,它們可能遺漏信息。
  • 萃取信息(Extracting information):當前人類的瀏覽和閱讀須要從信息源中萃取有關的信息。從原文的表述中抽取如此信息,自治性Agent缺少所需的常識知識,而且它們不能集成散佈於不一樣信息源的信息。
  • 維護(Maintaining):當如此信息源變得很大時,持續地維護軟弱的結構化文本源是困難的且耗時的。保持如此源的一致、正確且更新須要語義和約束的一個機械化的表述,以便可以用來探測異常。
  • 自動文檔生成(Automatic document generation):根據用戶的輪廓或其它相關的方面,適應的Web位置使能動態地配置,這被證實是很是有用的。從半結構化數據中產生半結構化的信息表述須要這些信息源的語義的機器可達的表示。

使用本體論,語義註釋將容許文檔的結構的和語義的定義。這些註釋可以提供徹底新的可能性:智能搜索而不是關鍵詞匹配,疑問應答而不是信息檢索,經過本體映射在部門之間交換文檔,文檔視圖的定義。

爲何是OIL

本體論的有效工做須要來自高級工具的支持。須要高級本體語言來表達和表述本體論。這門語言應該知足三條需求:

  • 對人類用戶應有很高的直覺。考慮到基於框架和麪向對象建模範例的成功,本體應該相似於框架。
  • 應有包含已制定的推理特性的定義良好的形式化語義,以確保完整性、正確性和有效性。
  • 應與現有的Web語言――例如XML和RDF――有着適當連接,以確保互用性。

不少現有的語言,例如CycL[6]、KIF[7]和Ontolingua[8]都失敗了。然而,OIL[9]知足這些標準並統一了不一樣領域提出的三個重要方面:框架領域提出的認識論上的豐富的原始建模,描述邏輯提出的形式的語義和有效地推理支持,以及Web領域提出的語法交換符號的標準提議。

OIL的分層體系結構

單一的本體語言不可能實現語義網的大範圍用戶和應用程序的全部要求。咱們所以把OIL組織成一系列永遠漸增的次語言層。每一個附加層向前一層增添功能性和複雜性。僅能處理較低層的Agent(人類或機器)仍能理解任意更高層表達的部分本體論。這種原理的首要應用程序是OIL和RDFS之間的關係。正如圖3所示,核心OIL(Core OIL)與大部分RDFS相符(除了RDFS的具體化特徵),原始OIL與原始RDF(S)有直接映射。這意味着甚至簡單的RDFS Agent也可以處理OIL本體論,對於它們有限的能力,可以獲取儘量多的意義。

 

 

圖3 OIL的分層語言模型

 

標準OIL(Standard OIL)是完整的OIL模型,目的是捕獲必要的主流原始建模,這些建模可以提供充足的表現力且能很好地理解,所以正好指定語義並使得完整的推理是可行的。

實例OIL(Instance OIL)包括徹底單個的集成,給前一層增長概念和角色的實例。儘管前一層――標準OIL――包括在術語定義中指定單個填充物的建模構造,但實例OIL包括完整的數據庫能力。

重型OIL(Heavy OIL)將包括額外的表象(進而推理)能力,是OIL的將來擴展層。更具表現力的規則語言和元類工具好像是很是中意的。爲了Web的規則語言,咱們將主動與DAML(DARPA Agent Markup Language;www.daml.org )協做來定義OIL的這些擴展。

OIL的分層體系結構具備三個優勢:

  • 不迫使應用程序與語言一塊兒工做,明顯比所需的更能提供表現力和複雜性;
  • 僅能處理更低級複雜性的應用程序仍能捕捉本體的某些方面;
  • 意識到更高級複雜性的應用程序仍能理解用更簡單的本體語言表達的本體論。

OIL原始建模的說明

用元數據來註釋OIL本體自身,開始用標題、創做者、創做日期等。OIL聽從W3C都柏林中心關於文獻元數據的標準。

任意本體語言的核心是它的類聲明層次。咱們可以把類宣稱爲已定義(defined),這象徵着所聲明的特性不只是必要的,並且是類成員的充分條件。在表示式上不是使用單一的類型,咱們可以以合理的表示式來聯合類以便顯示類的交集、並集和補集。

OIL工具

OIL在三個領域上有強大的工具支撐:

  • 本體編輯器(ontology editors),構建新的本體論。

OntoEdit是Karlsruhe大學AIFB學院的知識管理團隊(Knowledge Management Group)開發的本體-工程環境(http://ontoserver.aifb.uni-karlsruhe.de/ontoedit )。當前,OntoEdit支持Frame-Logic、OIL、RDFS和XML。它是Ontoprise的商業化產品(www.ontoprise.de )。

OILed是Manchester大學實現的隨意可用和定製的OIL編輯器,並獲得Vrije大學、Amsterdam和SemanticEdge的資助(http://img.cs.man.ac.uk/oil )。OILed的目標是提供簡單的免費軟件編輯器來示範――並刺激興趣――OIL。

Protégé[10]容許域專家經過生成和改進可重用的本體論和解決問題的方法創建基於知識的系統(www.smi.stanford.edu/projects/protege )。Protégé從本體論中產生特定領域的知識獲取工具和應用程序。

  • 基於本體的註釋工具(ontology-based annotation tools),把無結構的和半結構的信息源與本體論連接起來。

在OIL案例中,當前兩種工具輔助本體論描述大量的實例羣。第一,可以從OIL的本體中獲取XML的DTD和XML Schema定義。第二,可以從OIL中爲實例獲得RDF和RDFS定義。

  • 本體論的推理(reasoning with ontologies),使能高級查詢-應答服務,支持本體生成,並有助於不一樣本體論之間的映射。

本體論的推理引擎可以推理本體的實例和規範定義。如此推理機有助於創建本體論並用它們進行高級信息的訪問和導航。OIL使用FaCT(Fast Classification of Terminologies,www.cs.man.ac.uk/~horrocks/FaCt )系統爲本體設計、集成和驗證提供推理支持。

 

OIL具備優勢:在Web語言(例如XML規範和RDFS)中是適當地接地,而且提供不一樣級別的複雜性。它的內部分層使能基於FaCT進行有效地推理支持,而且具備定義良好的形式化語義,該語義是語義網語言的基線需求。關於它的原始建模,OIL不只是另外一種新語言,並且在領域――例如DL和基於框架的系統――中反映了肯定的共識。OIL也是本體語言DAML+OIL(www.cs.man.ac.uk/~horrocks/DAML-OIL )的重要的靈感源。

 

參考文獻:

  1. T. Berners-Lee, Weaving the Web, Orion Business Books, London, 1999.
  2. O. Lassila and R. Swick, Resource Description Framework (RDF) Model and Syntax Specification, W3C Recommendation, World Wide Web Consortium, Boston, 1999, www.w3.org/TR/REC-rdf-syntax (current 6 Dec. 2000).
  3. D. Brickley and R. V. Guha, Resource Description Framework (RDF) Schema Specification 1.0, W3C Candidate Recommendation, World Wide Web Consortium, Boston, 2000,  www.w3.org/TR/rdf-schema (current 6 Dec. 2000).
  4. J. Broekstra et al., 「Enabling Knowledge Representation on the Web by Extending RDF Schema,」 Proc. 10th Int’l World Wide Web conf., Hong Kong, 2001.
  5. T. R. Gruber, 「A Translation Approach to Portable Ontology Specifications,」 Knowledge Acquisition, vol. 5, 1993, pp. 199-220.
  6. D. B. Lenat and R. V. Guha, Building Large Knowledge-Based Systems: Representation and Inference in the Cyc Project, Addison-Wesley, Reading, Mass., 1990.
  7. M. R. Genesereth, 「Knowledge Interchange Format,」 Proc. Second Int’l Conf. Principles of Knowledge Representation and Reasoning (KR 91), J. Allenet et al., eds., Morgan Kaufmann, San Francisco, 1991, pp. 238-249; http://logic.stanford.edu/kif/kif.html (current 9 Mar. 2001).
  8. A. Farquhar, R. Fikes, and J. Rice, 「The Ontolingua Server: A Tool for Collaborative Ontology Construction,」 Int’l. J. Human-Computer Studies, vol. 46, 1997, pp. 707-728.
  9. D. Fensel et al., 「OIL in a Nutshell,」 Proc. European Knowledge Acquisition Conference (EkAW 2000), R. Dieng et al., eds., Lecture Notes in Artificial Intelligence, no. 1937, Springer-Verlag, Berlin, 2000, pp. 1-16.
  10. W. E. Grosso et al., 「Knowledge Modeling at the Millennium (The Design and Evolution of Protege-2000),」 Proc. 12th Workshop Knowledge Acquisition, Modeling, and Management, 1999.

 

 

《Ontology Languages for the Semantic Web

已經證實本體論是不少應用程序中的本質元素。它們應用於Agent系統、知識管理系統和電子商務平臺。除了應用於不少其它的應用程序,以便明確地聲明嵌入在應用程序中的知識外,它們也能產生天然語言、集成智能信息、提供對Internet基於語義的訪問、以及從正文中提取信息。

本體的定義:「本體是共享概念化的顯式的、機器可讀的規範。」[1]

本體語言

過去的幾年裏已經開發了幾種本體語言。有些是基於XML語法,例如本體交換語言(XOL,Ontology Exchange Language),[2]簡單的HTML本體擴展(SHOE,Simple HTML Ontology Extension),[3]和本體標記語言(OML,Ontology Markup Language),[4]然而,資源描述架構(RDF,Resource Description Framework)[5]和RDF規範[6]是W3C組織(World Wide Web Consortium)的工做團隊生成的語言。最後,額外的兩種語言是創建於RDF(S)――RDF和RDF規範的並集――之上,以便改善它的特徵:本體交互語言(OIL,Ontology Interchange Language)[7]和DAML+OIL[8](圖1所示)。

基於XML的本體交換語言(XOL

爲了在異構的軟件系統中進行本體定義的交換,US的生物信息學領域設計了XOL。在研究了生物信息學專家的表明性需求後,研究人員創造了XOL。他們基於XML,選取Ontolingua和OML做爲生成XOL的基礎,並結合OKBC-Lite(開放知識基連通協議的子集,Open Knowledge Base Connectivity protocol)的高級表現和OML的語法。沒有工具容許使用XOL開發本體論。然而,因爲XOL文件使用XML語法,所以能夠使用XML編輯器來生成XOL文件。

簡單的HTML本體擴展(SHOE

Maryland大學開發了SHOE,並用它來開發OML。SHOE是HTML的擴展,在HTML文檔或其它Web文檔中結合了機器可讀的語義知識。最近,Maryland大學已經把SHOE語法適應到XML。SHOE可以使得Agent收集Web頁面和文檔的有意義的信息,改善搜索機制和知識彙集。這個過程由三個階段構成:定義本體;用本體論的信息註釋HTML頁面,以便描述自身和其它的頁面;Agent經過搜索現有的所有網頁來語義地檢索信息,並一直保持信息的更新。

 

 

圖1 語義網中的語言堆棧

 

本體標記語言(OML

Washington大學開發了部分基於SHOE的OML。事實上,最初是把OML視爲SHOE的XML順序化。所以OML和SHOE共享不少特徵。

存在四個不一樣級別的OML:OML核心(OML Core)相關到語言的邏輯方面,其他的層都將包含它;簡單的OML(Simple OML)直接映射到RDF(S);簡化的OML(Abbreviated OML)包括概念上的圖表特徵;標準的OML(Standard OML)是OML中最具表現力的版本。除了現有的通用目的的XML編輯器工具外,沒有其它的工具創造OML本體論。

資源描述架構和RDF規範(RDF和RDF Schema

爲了描述Web資源,W3C組織開發了RDF,容許以標準化的、可互操做的方式基於XML的數據的語義的說明規範。RDF也爲明確地表述服務、過程和商業模型提供了機制,同時容許模糊信息的識別。

RDF數據模型等同於語義的網絡形式。它包括三個對象類型:RDF表示式描述了資源(resources),並一直用URI加上可選的ID標籤來命名;性質(Properties)定義特定的方面,使用特性、屬性或關係來描述資源;在特定的資源中,聲明(statements)給性質分配值(這個值或許是另外一個RDF聲明)。

RDF數據模型沒有爲定義性質(屬性)和資源之間的關係提供機制――這是RDFS的做用。RDFS主要用來定義知識模型,此模型與基於框架的方法密切相關。在不少工具和項目中,RDF(S)普遍地用做表現格式,例如Amaya、Protégé、Mozilla、SilRI等等。

本體交互語言(OIL

OntoKnowledge項目開發了OIL(www.ontoknowledge.org/OIL ),容許Web資源之間的語義互用性。它的語法和語義是基於現有的提議(OKBC、XOL和RDF(S)),把基於框架的方法中廣泛使用的原始建模提供給本體論的工程(概念、概念分類、關係等),以及在描述邏輯方法(結合了決定性和有效推理機制,維護高表現力的第一級邏輯的子集)中發現的形式的語義和推理支持。

OIL創建於RDF(S)之上(圖1所示)。OILEd、Protégé2000和WebODE都可以用來編輯OIL本體論。OIL的語法不只能用XML表達,並且也能用ASCII表達。

DARPA 的Agent標記語言+本體推理層(DAML+OIL

US和歐盟(IST)的聯合委員會在DAML的基礎上開發了DAML+OIL,DAML是在XML中容許語義互用性的DARPA項目。所以,DAML+OIL與OIL共享一樣的目標。

DAML+OIL創建於RDF(S)之上。它的名字間接地暗示出與OIL有着緊密的關係。它取代了最初稱爲DAML-ONT的規範,此規範也是基於OIL語言。OILEd、OntoEdit、Protégé2000和WebODE都是用來編輯DAML+OIL本體論的工具。

 

參考文獻:

  1. R. Studer, R. Benjamins, and D. Fensel, 「Knowledge Engineering: Principles and Methods,」 IEEE Trans. On Data and Knowledge Eng., vol. 25, nos. 1-2, 1998, pp. 161-197.
  2. R. Karp, V. Chaudhri, and J. Thomere, 「XOL: An XML-Based Ontology Exchange Language (version 0.4),」 Aug. 1999, www.ai.sri.com/~pkarp/xol (current Jan. 2002).
  3. S. Luke and J. Heflin, SHOE 1.01 Proposed Specification, SHOE Project, Feb. 2000, www.cs.umd.edu/projects/plus/SHOE/spec1.01.htm (current Jan. 2002).
  4. R. Kent, Conceptual Knowledge Markup Language (version 0.2). 1998. www.ontologos.org/CKML/CKML%200.2.html (current Jan. 2002).
  5. O. Lassila and R. Webick, 「Resource Description Framework (RDF) Model and Syntax Specification.」 W3C Recommendation, Jan. 1999, www.w3.org/TR/PR-rdf-syntax (current Jan. 2002).
  6. D. Brickley and R. V. Guha, 「Resource Description Framework (RDF) Schema Specification,」 W3C Proposed Recommendation, Mar. 1999, www.w3.org/TR/PR-rdf-schema (current Jan. 2002).
  7. I. Horrocks et al., 「OIL in a Nutshell,」 Proc. ECAI’00 Workshop on Application of Ontologies and PSMs, Berlin, Germany, 2000, pp. 4.1-4.12.
  8. I. Horrocks and F. van Harmelen, Reference Description of the DAML+OIL Ontology Markup Language, draft report, 2001, www.daml.org/2000/12/reference.html (current Jan. 2002).

 

 

 

孔特徵:階梯孔、螺紋孔、固定孔、油孔、

Screwhole

 

以孔特徵爲例,具體的知識表達以下所示:

Unit: Hole in KB capp.kbs   孔的知識表達單元

Memberslot: Type from Hole 孔的類型

   Inheritance: OVERRIDE.VALUES

   Valueclass: String

   Values: Unknown

Memberslot: Diameter from Hole  孔的直徑

   Inheritance: OVERRIDE.VALUES

   Valueclass: Real

   Values: Unknown

Memberslot: Length from Hole  孔的長度

   Inheritance: OVERRIDE.VALUES

   Valueclass: Real

   Values: Unknown

Memberslot: Roughness from Hole  孔的粗糙度

   Inheritance: OVERRIDE.VALUES

   Valueclass: Real

   Values: Unknown

……

Memberslot: H_F_rlsl from com_hF   孔的規則集

   Inheritance: Override.Values

   Valueclass: RULES

   Values: {

rule 1    規則1

fact_FRAME.Type=」Hole」         若是:特徵類型爲孔

and_FRAME.Diameter<=20              直徑小於20

and_FRAME.IT<=10                    IT<=10

and_FRAME.Roughness<1.25             Roughness<1.25

and_FRAME.Roughness>=0.7             Roughness>=0.7

then_FRAME.H_RM_M1=」Drilling」;   那麼:工序1=鑽孔;

_FRAME.H_RM_T1=」DrillBit」;             刀具1=鑽頭;

_FRAME.H_RM_M2=」RoughReaming」;      工序2=鉸孔;

_FRAME.H_RM_T2=」RoughReamer」;        刀具2=鉸刀;

……

}

 

孔的加工鏈用規則表達形式以下:

Rule 1:

fact Hole.Type=」hole」     (類型x「孔」)

 and Hole.Diameter=20    (直徑(x)20)

 and Hole.Roughness>=1.25((表面粗糙度(x)rs)(and(>= rs 1.25)(<rs 5)))

 and Hole.Roughness<5  

 and Hole.IT>=8         ((加工精度(x)ps)(and(>=ps 8)(<ps 9)))

 and Hole.IT<9

then Hole.H_RM_M1=」Drilling」;   孔的粗加工工步:鑽

Hole.H_RM_T1=」Drill」;      粗加工孔的刀具

Hole.H_RM_M2=」Redrilling」;

Hole.H_RM_T2=」RedrillBit」;

Hole.H_RM_M3=」RoughReaming」; 鉸

Hole.H_RM_T3=」RoughReamer」

 

Rule 2:

fact Hole.Type=」hole」

and Hole.Diameter>20

and Hole.Roughness<5

and Hole.Roughness>=1.25

and Hole.IT>=8

  and Hole.IT<9

then Hole.H_RM_M1=」RoughBoring」;  鏜

Hole.H_RM_T1=」RoughBoreCutter」;

Hole.H_RM_M2=」SemiFinishBoring」;

Hole.H_RM_T2=」SFBoreCutter」;

Hole.H_FM_M1=」FinishBoring」;   孔的精加工工步

Hole.H_FM_T1=」FinishBoreCutter」  精加工孔的刀具

 

Drilling:鑽、Boring:鏜、Milling:銑、Reaming:鉸

 

《A Mediated Architecture for Multi-Agent Systems

每一個Agent向註冊服務中心發佈它們的能力。


當顧問Agent接受來自元Agent的查詢時,它首先檢查本身的知識內容以便發現答案。若是答案可用,將把之發送給元Agent。若是沒有響應容易可用,顧問Agent造成本身的查詢,並試着開發答案經過利用本身內部的知識資源,以及其它的Agent。

圖2 多Agent知識Web體系架構

服務Agent管理專業Agent的已發佈能力。當得到請求時,元Agent調用服務Agent來辨識適當的目的Agent爲請求。目的Agent將一般是知識Agent,表示着惟一的專業領域。元Agent派發問題給目的知識Agent。在生成響應的過程當中,知識Agent可能須要傳遞本身的查詢給系統。元Agent再次使用服務Agent來發現匹配的目的Agent,並派發相應的問題。

元Agent的工做是在知識Agent之間進行徵召和仲裁,以便取得一個目標。經過提供管理角度給多Agent操做,元Agent執行高級推理,或者對其它的推理能力進行推理。元Agent配合其它Agent的活動,利用它們單個的能力,並確保它們的響應的完整性。

當元Agent初始化一個知識交互時,它協商服務Agent爲了有用知識Agent的身份。在交互的過程當中,額外的Agent將被調入知足所需。須要時將產生聯盟,而且很快解散。沒有靜態、固定的體系架構。在知識交互的任意時刻,僅存在着使用的機會關聯。

當元Agent遇到新內容時,它首先的活動是辨識領域顧問並與之造成聯盟。領域顧問是個Agent,它聲明能力來提供輔助在解決問題的特定領域方面。元Agent辨識領域顧問經過詢問服務Agent哪一個Agent,若有的話,應該使用。經過處理這步做爲查詢,元Agent可以利
用一樣的議程管理、服務Agent查詢、以及任意查詢中必然的衝突分解服務。

圖3 邏輯符號Agent功能構件架構

一旦完成了排列,元Agent派發查詢給已識別的Agent,並等待這些Agent的答覆。在請求和響應之間的間隔期間,任意已排列的Agent能夠提交新的查詢,這應該被處理在評估完成以前。一旦收到全部的解決方案,元Agent減小解答集合到惟一的方案經過果斷地刪除複製條目。若是領域顧問是可用的爲內容,則給了機會來拋棄解決方案爲某些領域相關的緣由。

 

《Class Algebra for Ontology Reasoning

隨着基於Agent的技術開始出如今網絡上,本體正在變得日益重要[Adam Farquhar[13]]。過去,每一個公司有其本身的格式爲它們的數據庫,並經過形式來更新數據庫,這是不一樣的爲每一個公司。如今,隨着電子商務和Agent談判變得更廣泛,爲Agent開發一個標準術語以便當它們談判時使用是必要的。看上去好像XML正在變成發送帶符號在線形式的標準語言,可是在XML記錄內部,領域的定義依然依賴應用的本質。

本體推理服務器是有用的工具爲開發普通共享的模型和術語。它充當數據庫挖掘者,搜索「有意思的」子類和關聯。它能生成決策樹,基於樹中任意節點上最「有意義的」屬性來分類對象。它也能返回一套對象的「描述」。它還能爲相似Prolog的規則制定建議,基於在它的ISA層次中類的擴展之間的子集關係。

類代數提供了一個天然架構爲比較類的定義並使得幾個公司定義一個公共的本體(即,類的「ISA」層次包含有屬性、二元關係和方法)。與其它的OO模型相比,它具備幾個優勢。例如,CORBA提供了對象語義,但沒有涉及ISA層次和繼承的定義。ODMG2.0[4]包含多重繼承的定義,但它的綁定到多個語言是不實用的。好比,Java綁定當前沒有定義二元關係。語言模型像C++、Java和Smalltalk是至關複雜的,而且不一致如此基本的細節像:是否是包括多重繼承、是否使用繼承或者代理、普通函數怎樣調用等等。對象導航符號(ONN,Object Navigator Notation)[5]與類代數最類似,但因爲包含三元關係,語法變得至關混亂。當前ONN也僅是用於OOD的符號,而沒用於數據庫查詢。類代數是美好的「簡單的」折衷,它包含多重繼承、二元關係、以及具備覆蓋的普通方法調用。

 

 

 

Frame thing of thing.

Frame university of thing.

Frame department of thing.

Frame person of thing.

Frame facultyMember of person.

Frame student of facultyMember.

Frame staff of facultyMember.

Frame researchStudent of student.

 

Person hasSlot name of Boolean.

Person hasSlot age of integer.

Person hasSlot hasDegree of Boolean.

Person hasSlot enrolled of Boolean.

 

FacultyMember hasSlot uni of university.

FacultyMember hasSlot dep of department.

 

Staff hasSlot tenured of Boolean.

ResearchStudent hasSlot supervisor of staff.

 

Instance alun of staff.

Instance Andrew of researchStudent.

 

HasValue (alun, hasDegree, yes).

Hasvalue (Andrew, supervisor, alun).

 

Constraint

X isa researchStudent and y isa staff

Where

SlotValue (x, supervisor, y)

Tohave

SlotValue (y, uni, var u) and slotValue (x, uni, u).

 

Rule 120:

  ResearchStudent hasValue yes if student hasValue yes and takesCourses hasValue no.

 

圖標備份文件

  1. 1.         Ontology和Agent總結

 

圖 語義網夾心蛋糕

 

圖 Agents和它們所用本體論之間的映射

 

圖 本體開發過程或知識元過程

 

圖 本體需求規範文檔

 

圖 Web的層次語言模型

 

 

圖 OIL的分層語言模型

 

圖 語義網中的語言堆棧

 

圖 多Agent知識Web體系架構

 

圖 邏輯符號Agent功能構件架構

 

 

 

 

 

 

 

 

  1. 2.         本體開發

 

 

 

圖 4-tier 體系架構的本體開發平臺

 

 

 

 

 

本體開發模式的框架圖

 

 

  1. 3.         本體論類似性

 

 

 

圖 元建模和建模對本體的做用

 

 

 

  1. 4.         本體應用

 

 

 

圖 語義Web體系架構

 

  1. 5.         本體語言

 

 

 

圖 OIL的分層體系結構

 

 

  1. 6.         個性化偏好庫

 

 

 

圖 個性化系統框架

 

 

  1. 7.         基於過程的知識流分析方法

 

 

 

 

 

 

 

 

 

圖 完整的KM框架

 

 

 

圖 知識流分析步驟

 

 

 

 

 

  1. 8.         語義網

 

 

 

圖 系統知識的層次化體系架構

 

 

  1. 9.         智能信息檢索系統

 

 

 

圖 智能信息檢索系統架構

相關文章
相關標籤/搜索