1. 本體定義
在計算機科學與信息科學領域,理論上,本體是指一種“形式化的,對於共享概念體系的明確而又詳細的說明”[1]。本體提供的是一種共享詞表,也就是特定領域之中那些存在着的對象類型或概念及其屬性和相互關係[2];或者說,本體就是一種特殊類型的術語集,具有結構化的特點,且更加適合於在計算機系統之中使用;或者說,本體實際上就是對特定領域之中某套概念及其相互之間關係的形式化表達(formal representation)(wiki百科)。
本體用來表述領域知識。一個本體描述一個領域中的概念及概念之間的關係。
2. 本體描述方法
最常用的是W3C的OWL(web ontology language)。OWL的主要components是Individuals、Properties和Classes,分別對應Protege中的Instances、Slots和Classes。
2.1 Individuals
Individuals代表領域對象。OWL和Protege的一個重要區別是OWL不使用Unique Name Assumption(UNA)。也就是說,在OWL中,不同的名字可以指代相同的individual。例如,Queen Elizabeth、The Queen和Elizabeth Windsor可以指代同一個individual。因此,在OWL中,必須明確指出一個individual與哪些相同,與哪些不同。
2.2 Properties
Properties是individuals之間的二元關係,將兩個individuals連接(link)在一起。例如,hasChild屬性將individual Peter和Matthew連接在一起,表示Peter hasChild Matthew。Properties有以下特點:
- Properties可以有逆關係,例如,hasOwner的逆關係是isOwnedBy。
- Properties可以只有一個取值,設置爲functional。
- Properties可以是transitive或symmetric。
Properties在Protege中叫做SLots,在描述邏輯中叫做roles,在UML中叫做relations,在GRAIL中叫做attributes。
2.3 Classes
OWL中的Classes可以解釋爲包含individuals的sets(集合),可以用數學的方法精確地描述class中成員要滿足的特性。例如,class Cat包含感興趣的領域中的所有cats。
Classes可以組織爲superclass-subclass的層級結構,即taxonomy。子類(subclass)特化(are subsumed by)超類(superclass)。例如,Animal和Cat中,Animal是超類,Cat是子類,所以所有cats都是animals,及Cat中所有成員都是Animal中的成員。如果individual屬於Cat,蘊含着它也屬於Animal。OWL-DL的一個關鍵特性是可以通過推理器自動計算superclass和subclass關係。
有時候,Concept也是指Class。
在OWL中,classes通過指定裏面的individual必須滿足的條件建立。
3. 本體建立工具Protege
Protege是Stanford大學開發的本體構建工具,有桌面版和web版。
參考文獻
1. Tom Gruber (1993). "A translation approach to portable ontology specifications". In: Knowledge Acquisition. 5: 199-199.
2. Fredrik Arvidsson and Annika Flycht-Eriksson. Ontologies I. Retrieved 26 Nov 2008.