• 沒有找到結果。

一、本體表徵的層次

Mizoguchi 與 Ikeda (1996)和 Gruber (1993)對於本體的定義有相同 的內涵,但是對於本體的表徵則有顯著的差異。前者的本體常用自然 語言的描述方式,而 Gruber 則強調使用正規的方法。事實上,這兩 種定義並沒有衝突之處,只有層次上的分別而已,也就是說,在本體 發展過程中,會先使用自然語言的方式來表徵本體,再以正規法則來 塑模本體,最後要融入應用系統中時,會進一步選擇適合的本體表徵 示方式。因此,本體表徵可以由發展到應用的過程來劃分成三個層次:

1、概念層 (conceptual layer):概念層的本體表徵係使用自然語言、

圖形結構、或是樹狀結構的方式,也稱為非正規表徵,這種表徵 方式一目了然,可以很清楚的看出概念與概念之間的關係。

2、正規層 (formal layer):正規層的本體表徵係使用正規法則的方式 來塑模本體,又可以分成邏輯語言與電腦語言兩種類型。前者如 描述邏輯 (Description Logic)、框架邏輯(Frame Logic)等,後者如 各種本體電腦語言等。

3、應用層 (application layer):應用層的本體表徵則進一步與資訊系 統結合,例如以樹狀結構、圖形結構、或是儲存到資料庫系統之 中,以便提供本體為基礎的資訊擷取、語意網頁資訊服務、本體 支援的資訊萃取、自動本體學習、或其他基於本體的應用等。

在概念層級的表示方式中,圖形結構表示是一種簡單、清析與易 懂的表示方式,例如圖 2-2 的本體表示,可以利用不同的形狀表示或

以標示方式為之。因此,圖形表示的優點在於很容易看出整個本體的 架構與組成。

當本體以自然語言來描述時,也是屬於概念層的表徵,就是利用 文字敘述的方式,將概念、關係、屬性、與值的限制等描述清楚。例 如「能力可以分成專業能力與一般能力」就是一種本體的描述。如果 以 isa 的方式來描述,可以描述成「專業能力 isa 能力、一般能力 isa 能力」。這樣的表示方式雖然清析易懂,但是當本體的內容很多時,

以敘述式的自然語言來描述,就會顯得雜亂,不容易將階層架構表示 清楚,也無法以視覺化的方式來瞭解本體的架構。此時,可以改成表 格式的方式來描述本體,例如利用表 2-3 的類別表與實例表。

二、本體語言的層次

由於應用層面之不同,知識表徵的正規化程度也不相同,因此,

在本體語言的發展上,也有不同的層級,以適應不同的應用。Meisel (2005)將本體語言劃分成五個層級,如圖 2-6 所示,以實作層的層次 最低,語言學層的層次最高,較高階的層級是奠基於較低階的層級,

例如 Ontolingua 的內部表示就是 KIF (Knowledge Interchange Format) (Genesereth et al., 1992),而 Protégé 也可以使用 RDF 來表示。這五個 層次的内涵敘述如下:

1、實作層 (implementational level):實作層是屬於本體語言最低階的 層 級 , 主 要 的 作 用 在 定 義 資 料 結 構 或 資 源 , 典 型 的 本 體 語 言 為 RDF,例如 RDF 可以利用 URI 來指向資源所在的地方。

2、邏輯層 (logical level):邏輯層的本體語言是以一般的邏輯正規化 來表徵本體的知識,常用的正規化邏輯為第一階邏輯 (First Order Logic) , 代 表 性 的 本 體 語 言 有 CycL (CYC-CycL, 2002) 與 KIF (Genesereth et al., 1992)。

3、認識論層 (epistemological level):認識論層的本體語言使用框架 式的表示方式,框架提供類似於物件導向的資料結構,可以表示 多種不同的情況,是最常用的一種標準化的本體表示方式。由認 知的觀點來看,框架式的知識表示方式是最容易被接受的表示方 式,因此也稱為認識論層。一般而言,框架式的本體表徵語言至 少能夠表示三個層次的本體內涵,即 Frames、Slots 與 Facets。

Frames 用來描述領域概念或類別的集合,並且安排成階層架構,

Slots 用來描述 Frames 的屬性,而 Facets 則用來描述 Slots 的限制,

例如本體工具 Protégé (Noy, Fergerson, & Musen, 2000)。

4、概念層 (conceptual level):利用圖形結構來表徵本體的概念與概 念之外的關係,或是利用概念塑模語言如 UML (unified modeling language)。

5、語言學層 (linguistic level):利用自然語言來描述本體的字彙,或 以分類方式來表示本體,例如 Ebay、Yahoo、Google 的網站分類

概念層:概念的塑模,例如 UML 語言學層:名詞的分類,例如控制詞彙

認識論層:概念描述,例如RDFS、OWL、OCML、FLogic、Protégé 邏輯層:一般邏輯敘述,例如CycL、KIF

實作層:資料結構,例如RDF 圖2-6 本體語言的分層 (資料來源:Meisel (2005))

架構,就是語言學層的本體表示法。

由於本體的應用層面愈來愈廣泛,主要是因為本體所儲存的知識 內涵扮演了重要的角色,但是僅有本體還是不夠,還需要有本體的語 言來將知識內涵表示出來,以便機器可以閱讀與瞭解。目前已經有許 多 本 體 的 語 言 被 發 展 出 來 , 包 括 本 體 互 換 語 言 (Ontology Exchange Language; XOL)、單純 HTML 本體延伸語言(Simple HTML Ontology Extensions; SHOE) 、 本 體 標 記 語 言 (Ontology Markup Language;

OML) 、 資 源 描 述 架 構 與 綱 要 RDF+RDFS (Resource Description Framework)、本體推論層(Ontology Inference Layer; OIL)與美國國防 部高級研究計畫署的代理人標記語言與本體推論層 (DARPA Agent Markup Language+Ontology Inference Layer; DAML+OIL),這些語言 都是植基於 XML 的語法。

三、本體語言的需求

本體語言 (ontology language)是一種正規的語言,可以用來建構 一個本體,也就是用來表徵某個特定領域的知識,達成某個領域的知 識塑模,比較高階的本體語言還具有推理能力,可以處理知識的轉 換。本體語言可以分成傳統的本體語言與現代的電腦語言,前者如 DAML+OIL、RDF+RDFS、與 OWL 等;後者如物件導向語言 Java、

C++與 PHP 等。

本體要和資訊系統結合,就必須選擇某一種本體語言來進行塑 模,因此,本體語言就是介於本體與應用之間的中介者,扮演非常重

要的角色,要能夠發揮本體的應用性,本體語言必須合乎下列需求:

1、定義明確的語法:本體語言和一般電腦語言一樣,必須要有非常 明 確 的 語 法 定 義 , 才 能 讓 本 體 語 言 工 具 的 發 展 者 寫 出 語 法 剖 析 器,也才可以讓一般使用者寫出合乎語法的陳述。

2、定義明確的語意:由於本體語言都需要有表達語意的能力,這種 語意的定義也必須要非常明確,不管是人還是機器來解譯語意,

都可以得到相同的結果。

3、足夠的建構子 (constructor):建構子是本體語言中用來表示知識 的運算子,由於知識的組成包羅萬象,本體語言要有足夠的建構 子,才能將本體的知識表示出來。

4、有效的推理支援:當本體被使用在知識工程方面時,本體語言就 必須具備有效的推理支援,因為推理能力可以檢查本體與知識之 間的一致性、類別之間的關係、將實例作分類等。

5、充分的表達能力:本體的成份有類別、屬性、關係、實例與值等,

其中有各種不同的資料型態、範圍限制等,本體語言必須要有充 分的能力來加以表達。

6、方便的運算表示:本體語言的一般運算、邏輯運算、或推理運算 等,都需要有簡潔與方便的運算表示。

在 眾 多 的 本 體 語 言 之 中 , 到 底 應 該 選 用 那 一 種 才 較 適 合 呢 ? Gomez-Perez & Corcho (2002)認為本體所包含的知識有七種不同的成 分與層次,因此本體語言處理這七種成分與層次的能力,就變成了選 擇本體語言的重要考慮依據:

1、處理概念的能力:包括定義概念的能力、劃分概念的能力與註解 概念的能力等。

2、處理屬性的能力:包括定義概念屬性、實例屬性、區域屬性與整 體屬性等。概念屬性屬於概念所獨有,實例屬性屬於實例所獨有,

區 域 屬 性 是 附 屬 於 某 個 概 念 , 其 應 用 僅 限 於 該 概 念 所 涵 蓋 的 範 圍;整體屬性則適用於所有的概念。

3、處理屬性不同向度的能力:屬性經常有不同的向度,如預設值、

資料型態、基數與值的限制等。這些向度可以提供概念與屬性更 豐富的資訊,本體語言處理向度的能力也應加以考慮。

4、處理分類的能力:本體本身就是一個分類系統的延伸,因此在選 擇本體語言時,應該考慮的分類處理能力包括:

(1)、是否允許概念包含子概念:就是一般性概念包含特殊性概念。

(2)、是否允許概念劃分不完整:本體語言是否可以讓概念與實例 儲存在同一層級。

(3)、是否允許最終為子概念:本體的組成並不一定要到最底層的 實例,本體語言是否允許只儲存到概念。

(4)、是否允許多個概念組成的本體:本體語言是否可以同時儲存 兩個以上互不相屬的概念。

5、處理關係與功能的能力:包括是否允許定義多個關係或功能、是 否可以設限參數的資料型態、是否可以設限參數值以進行一致性 檢查、是否可以設定操作性定義以推導屬性值。

6、處理公理的能力:公理是指不必經過驗證而永遠成立的敘述,可 以用來限制資訊、確認正確性、推導新資訊等。如果本體要用在 推理方面,就要考慮處理公理的能力。

7、處理實例的能力:包括是否可以定義概念的實例、是否可以定義 關係的實例。

相關文件