李 慧, 萬 靜, 任雪原
(1.北京化工大學(xué) 信息科學(xué)與技術(shù)學(xué)院,北京 100029;2.66061部隊 北京 102300)
知識庫是近年來流行的有效的知識管理工具之一,為了實現(xiàn)知識的共享與交流,許多行業(yè)已經(jīng)開始建立領(lǐng)域知識庫。本體(Ontology)[1]作為知識和概念描述的重要工具,可以清晰描述領(lǐng)域知識庫中的概念及其關(guān)系,實現(xiàn)領(lǐng)域知識的共享和重用,也有利于領(lǐng)域知識庫的管理和維護(hù)?;诒倔w構(gòu)建的領(lǐng)域知識庫成了目前知識庫的重要研究方向。
本體概念最早源于哲學(xué)領(lǐng)域,后來被引入信息科學(xué)中。在計算機(jī)領(lǐng)域里,斯坦福大學(xué)的Gruber于1993年給出了定義“本體是概念化的明確的規(guī)范說明[2]”,用概念化的形式結(jié)構(gòu)<D,R>來表示本體,其中 D 是領(lǐng)域(Domain),R 是 D 中相關(guān)的關(guān)系集合,該定義能夠很好地表現(xiàn)出本體的本質(zhì)特性。
通俗地講,本體就是用來描述某個領(lǐng)域范圍內(nèi)的概念以及概念之間的聯(lián)系,使得這些概念和聯(lián)系在共享的范圍內(nèi)有著明確唯一的定義。普遍認(rèn)為,本體包含4層含義:形式化(formal),明確(explicit),概念模型(conceptualization)和共享(share)?!靶问交敝副倔w是“具有機(jī)器可讀性”(即能被計算機(jī)處理);“明確”指所使用的概念及這些概念的約束和限制條件都預(yù)先有明確的定義和說明;“概念模型”,又稱概念化,指通過抽象出客觀世界中某些現(xiàn)象的相關(guān)概念而得到的模型;“共享”指“本體中體現(xiàn)的是共同認(rèn)可的知識,反映的是相關(guān)領(lǐng)域中公認(rèn)的概念集[3]”,即本體是群體接受的共識而非只有部分人接受的。
從結(jié)構(gòu)上講,本體既可以表示為簡單的樹狀結(jié)構(gòu),也可以表示為復(fù)雜的網(wǎng)狀結(jié)構(gòu)。不同結(jié)構(gòu)的本體如圖1所示[4]。
圖1 不同結(jié)構(gòu)的本體Fig.1 Ontology with different structures
知識庫(Knowledge Base)[5]是知識工程中結(jié)構(gòu)化,易利用,易操作,全面有組織的知識集群,是針對某一或某些領(lǐng)域問題求解的需要,采用某種(或若干種)知識表示方式在計算機(jī)存儲器中組織、存儲、使用和管理互相聯(lián)系的知識片集合。
本體是概念層次上對概念化的清楚描述,可以為知識的構(gòu)建提供一個基本的結(jié)構(gòu),本體可以將領(lǐng)域知識的概念和相互之間的關(guān)系進(jìn)行較為精確的定義,從而解決機(jī)器理解問題。本體可以作為知識和概念描述的工具,以明確一致的方式表達(dá)概念的內(nèi)涵,描述領(lǐng)域知識庫中的概念及其關(guān)系,實現(xiàn)領(lǐng)域知識的共享和重用,也有利于領(lǐng)域知識庫的管理和維護(hù)。
知識本體可以用一個三元組定義[6]:
KO=<KA,Re,Rule>
上面的三元組中各符號的代表的具體含義解釋如下:
1)KO(Knowledge Ontology),表示知識本體;
2)KA(Knowledge Atom)為知識原子,表示整個知識模型中的最小表示單元??梢允穷悺⒐砑盎镜牟僮麝P(guān)系等,也就是:
KA={bi|1≤i≤n,bi∈Q}
bi表示知識論域Q中的知識原子;
3)Re(Relation)表示知識原子之間、由知識原子構(gòu)成的知識實體之間存在的相互聯(lián)系作用的集合,即:
Re={Rij(bi,bj)∨Rkl(mk,ml)|1≤i,j,k,l≤n}
其中,m表示由知識原子構(gòu)成的知識實體,即m={Σbibj∨∏bibj|1≤i, j≤n;bi,bj∈Q},Rij表示知識原子之間的關(guān)系,bi,bj,Rkl(mk,ml)表示知識實體之間的關(guān)系。
本體構(gòu)建方法的研究和使用對本體的構(gòu)建非常重要,沒有好的指導(dǎo)方法,不利于本體的規(guī)范建設(shè),很難在不同領(lǐng)域本體的構(gòu)建中保持一致。到目前為止,本體構(gòu)建方法仍然沒有一個統(tǒng)一的標(biāo)準(zhǔn),構(gòu)造本體的過程各不相同?,F(xiàn)有的本體建模方法主要有IDEF-5法、TOVE法、骨架法、METHNOTOLOGY和“七步法”[7]。
通過對幾種建模方法的比較后發(fā)現(xiàn),斯坦福大學(xué)醫(yī)學(xué)院開發(fā)的“七步法”擁有相對成熟健全的技術(shù),側(cè)重于本體的構(gòu)建過程,構(gòu)建過程適用性強(qiáng),尤其適合領(lǐng)域本體建立,而本課題研究的正是博物館領(lǐng)域本體,分析比較之后選用“七步法”作為本課題本體構(gòu)建基本方法。
建模工具方面,本文將采用Protégé作為本體的建模工具,設(shè)計博物館領(lǐng)域本體。它是目前使用最為廣泛的本體論編輯器之一,功能強(qiáng)大,并包括大量的插件并擁有豐富的操作符集合。以下為使用“七步法”建立博物館本體的過程:
1)確定本體的領(lǐng)域和范圍 這個環(huán)節(jié)當(dāng)中,需要搞清楚如下問題:本體的功能和作用;本體覆蓋的專業(yè)領(lǐng)域和范疇;要建立什么樣的領(lǐng)域本體;本體的目標(biāo)用戶是誰;選擇哪種本體描述語言。
2)考慮現(xiàn)有本體的復(fù)用 考慮有沒有前人已經(jīng)構(gòu)建好的本題庫,有的話可以節(jié)省開發(fā)成本,縮短開發(fā)時間。在本課題中,沒有現(xiàn)有的本體資源可用,所以此過程暫不考慮。
3)列舉領(lǐng)域中的概念術(shù)語 創(chuàng)建領(lǐng)域本體時,需要大量的領(lǐng)域知識,還需要眾多領(lǐng)域?qū)<覅⑴c,從而很好的把握目標(biāo)領(lǐng)域的知識框架。這個步驟當(dāng)中,要通過對領(lǐng)域知識的分析,盡量全面地列舉出系統(tǒng)中需要解釋的或者陳述的所有概念(包括類、屬性和實例)。本文中博物館知識庫中的概念定義來源于以下幾個方面:針對本體的目標(biāo)研究領(lǐng)域知識的各種專業(yè)文獻(xiàn),國家現(xiàn)行的相關(guān)的各種標(biāo)準(zhǔn)和規(guī)范,如博物館藏品信息指標(biāo)體系規(guī)范等。
4)確定類和類層次 類是本體中基本的單元,代表了具有共性的一類對象,是一種上下層次結(jié)構(gòu)的組織形式。子類可以繼承父類的特性,表達(dá)比父類更具體的概念。例如博物館本體中,“博物館”是本體的最高層次類,而博物館學(xué)、博物館藏品、博物館管理以及中外各國博物館等是其子類,他們會繼承博物館所有的特性。
定義類和類層次的方法是:從概念集當(dāng)中選取具有獨立存在性的對象概念術(shù)語(不是描述這些對象性質(zhì)的概念),作為本體類中類層次結(jié)構(gòu)中的節(jié)點。通過判斷某一個類的具體實例是否是另外類的實例,來判斷兩個類的層次關(guān)系。如中國古代紡織品是古器物的子類,中國古代紡織品的全部實例都是古器物的實例。
5)定義類的屬性 屬性用來描述類和實例的特性,描繪了概念間的內(nèi)部結(jié)構(gòu)。僅僅依靠類和類層次不能提供足夠的信息來確定本體的領(lǐng)域和范圍,因此在定義類及其層次之后,就應(yīng)該描述概念的內(nèi)部結(jié)構(gòu),即類的屬性,例如本文中的屬性名稱、描述、關(guān)鍵字、參考書目、地點、備注等。對于列表中的每個屬性,應(yīng)該確定其具體描述哪個類,要特別注意類繼承特性。
6)定義屬性的分面 一個屬性可能由多個“分面”組成[8],一個屬性的分面,就是屬性取值的類型、容許的取值、取值的個數(shù)等。添加完類的屬性之后,為類的屬性添加約束條件。屬性約束條件是用來描述屬性的值類型 (Number、String和Boolean等)、允許值范圍等。
7)生成實例 定義類的實例需要:首先確定一個類,接著創(chuàng)建類的單個實例,最后添加實例的屬性值。以類“建博物館學(xué)”的一個實例“博物館類型”舉例,添加它的屬性值:名稱,簡介,參考書目,關(guān)鍵字等的內(nèi)容。本體構(gòu)建項目當(dāng)中,實例表現(xiàn)很重要,因而實例化是開發(fā)過程中最為繁瑣,工作量最大的部分。
本文中,以“博物館”和“文物”2個大類為基本節(jié)點,建立本體知識庫。圖2為博物館本體圖的一部分,沒有包括實例部分和屬性部分。
本體語言用于為領(lǐng)域模型編寫清晰的、形式化的概念描述。通過本體語言,用戶可以方便的創(chuàng)建本體。通常,本體語言提供了概念、概念之間的關(guān)聯(lián)、概念的實例等基本建模元素。 目前有很多本體描述語言:SHOE、XOL、OML 、RDF[9]、RDF Scheme、OIL、DAML、DAML+OIL 和 OWL[10]。 這些語言是按不同標(biāo)準(zhǔn)分類的。
圖2 博物館本體圖片段Fig.2 Segment diagram of museum Ontology
OWL(WebOntologyLanguage)是W3C最新推出的Ontology的描述語言的標(biāo)準(zhǔn),是建立在RDF(S)的基礎(chǔ)上,結(jié)合了DAML+OIL的應(yīng)用經(jīng)驗而發(fā)展起來的。OWL具有很強(qiáng)的知識表達(dá)能力和表達(dá)語義的機(jī)制,能清晰地表達(dá)詞表中各詞條的含義及其之間的關(guān)系,還添加了更豐富的用于描述類型和屬性的詞語,因此選擇OWL作為本體描述語言。下面為OWL語言表示博物館本體的部分:
<o(jì)wl:Ontology rdf:about=""/>
//類
<o(jì)wl:Class rdf:about="# 博物館學(xué)">
<rdfs:subClassOf>
<o(jì)wl:Class rdf:ID="博物館"/>
</rdfs:subClassOf>
</owl:Class>
//DatatypeProperty數(shù)據(jù)屬性
<o(jì)wl:DatatypeProperty rdf:ID="關(guān)鍵字">
<rdfs:domain rdf:resource="# 博物館學(xué)"/>
</owl:DatatypeProperty>
<o(jì)wl:DatatypeProperty rdf:ID="名稱">
<rdfs:domain rdf:resource="# 博物館學(xué)"/>
</owl:DatatypeProperty>
//實例
<博物館學(xué) rdf:ID="博物館類型">
< 關(guān) 鍵 字 rdf:datatype="http://www.w3.org/2001/XMLS chema#string"
>博物館類型</關(guān)鍵字>
<名稱 rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>博物館類型</名稱>
</博物館學(xué)>
……
</rdf:RDF>
用OWL表示本體之后,可通過Jena工具包將OWL語言表達(dá)的博物館本體存儲到關(guān)系數(shù)據(jù)庫中,博物館知識庫系統(tǒng)管理平臺通過數(shù)據(jù)庫訪問本體數(shù)據(jù)。
本文創(chuàng)建的知識庫系統(tǒng)采用目前廣泛使用的基于B/S的3層體系結(jié)構(gòu),博物館知識庫系統(tǒng)體系架構(gòu)如圖3所示,包括以下部分。
1)表示層 本層的功能是提供友好的GUI界面,實現(xiàn)用戶和系統(tǒng)的交互,用戶通過瀏覽器訪問知識庫系統(tǒng),系統(tǒng)接受用戶的操作請求,然后將其提交到服務(wù)器,由業(yè)務(wù)邏輯層的相關(guān)組件去處理請求,處理完畢返回的結(jié)果顯示給用戶。
2)業(yè)務(wù)邏輯層 對應(yīng)邏輯架構(gòu)中的知識管理層,本層是整個系統(tǒng)的核心。包括了對領(lǐng)域知識的維護(hù)、檢索、管理等方面,提供了對知識管理的各方面的支持與邏輯實現(xiàn)。
3)數(shù)據(jù)層 用于存放知識庫系統(tǒng)的各類數(shù)據(jù),包括知識資源的數(shù)據(jù)和其他一些系統(tǒng)相關(guān)的數(shù)據(jù)(例如日志、用戶信息等)。這些數(shù)據(jù)通過上面的業(yè)務(wù)邏輯層提供的訪問操作接口進(jìn)行操作,對用戶的應(yīng)用是透明的不可見的,這一層可以使用關(guān)系數(shù)據(jù)庫實現(xiàn)。
圖3 博物館知識庫系統(tǒng)體系架構(gòu)Fig.3 Architecture diagram of museum knowledge base system
知識庫系統(tǒng)分為2個模塊:1)前臺展示模塊,用戶可以查詢知識、瀏覽條目和添加知識;2)后臺管理系統(tǒng),包括知識庫結(jié)構(gòu)管理、條目瀏覽與管理、用戶操作審核、模板管理、和用戶管理。系統(tǒng)模塊結(jié)構(gòu)如圖4所示。
圖4 博物館知識庫系統(tǒng)模塊Fig.4 Block diagram of museum knowledge base system
普通用戶和本體管理人員可以訪問博物館知識庫系統(tǒng),瀏覽查詢知識條目,以及修改知識庫結(jié)構(gòu)和實例。由于文章篇幅的原因,這里就不具體介紹系統(tǒng)的建立和使用過程。
將本體技術(shù)應(yīng)用到博物館知識庫的構(gòu)建中,用以解決博物館知識的整合和共享,也使得相關(guān)知識的檢索更加便捷。通過本體以及本體構(gòu)建方法等理論的研究,利用Protégé工具構(gòu)建了博物館領(lǐng)域本體,并用OWL語言表述本體。最后,設(shè)計了3層架構(gòu)體系的博物館知識庫,并實現(xiàn)了B/S結(jié)構(gòu)的知識庫系統(tǒng)。
[1]鄧志鴻,唐世渭,張銘,等.Ontology研究綜述[J].北京大學(xué)學(xué)報:自然科學(xué)版,2002,38(5):730-738.DENG Zhi-hong, TANG Shi-wei, ZHANG Ming, et al.Overview ofOntology[J].ActaScientiarum Naturalium Universitatis Pekinensis,2002,38 (5):730-738.
[2]GRUBER T R.A translation approach to portable Ontology specifications[J].Knowledge Acquisition,1993(5):199-220.
[3]STUDER R,Benjamin R,F(xiàn)ensel D.Knowledge engineering:principles and methods[J].Data and Knowledge Engineering,1998,25(1-2):161-197.
[4]何克清.本體元建模理論與方法及其研究[M].北京:科學(xué)出版社,2006.
[5]孫旭升.基于本體論的知識庫系統(tǒng)應(yīng)用研究[D].遼寧:大連交通大學(xué),2007.
[6]于鑫剛,李萬龍.基于本體的知識庫模型研究[J].計算機(jī)工程與科學(xué),2008,30(6):134-136.YU Xin-gang,LI Wan-long.A study of the knowledge base model based on ontology[J].Computer Engineering&Science,2008,30(6):134-136.
[7]USCHOLD M,KING M,MORALEE S.The enterprise Ontology[J].The Knowledge Engineering Review,1998,13(1):31-89.
[8]Gomez-Perez A,Manzano-Macho D.An overview of methods and tools for ontology learning from texts[J].The Knowledge Engineering Review,2004,19(3):187-212.
[9]Semantic Web.Resource Description Framework (RDF)[EB/OL].(2004-02-10) [2011-04-07].http://www.w3.org/RDF/.
[10]Semantic Web.Web Ontology Language (OWL) [EB/OL].(2007-09-06)[2011-04-02].http://www.w3.org/2004/OWL/.