林龍成
摘要:語義網(wǎng)( semantic web)是當前Web的擴展,已被各個領(lǐng)域廣泛接受,本體是語義網(wǎng)的關(guān)鍵,利用本體語言對Web上已有的信息進行更為有意義的組織和編碼,從而實現(xiàn)機器與人之間的有效通信。語義網(wǎng)規(guī)則語言SWRL( Semantic Web RuleLanguage)是以語義的方式呈現(xiàn)規(guī)則的一種語言,本文首先介紹了本體構(gòu)建的基本步驟,并依據(jù)此步驟構(gòu)建了家庭本體,設(shè)計了針對家庭關(guān)系的SWRL規(guī)則,最后利用HermiT推理機挖掘出隱式的家庭關(guān)系。
關(guān)鍵詞:本體;SWRL;Protege;隱式知識發(fā)現(xiàn)
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2020)09-0191-02
背景
語義網(wǎng)的概念是由萬維網(wǎng)(WWW)的發(fā)明者Tim BernersLee在1996年提出的,目標是將當前的信息轉(zhuǎn)換成機器友好的語言,語義網(wǎng)并不是一個獨立的網(wǎng)絡(luò),而是當前網(wǎng)絡(luò)的擴展,它賦予信息明確的含義,使得信息共享和重用成為可能,計算機和人們能夠更好地協(xié)同工作。簡單地說,它被稱為信息的儲存庫和表達這些信息所涉及的語言。近年來.語義網(wǎng)以其良好的知識表示、交流、共享和推理能力,在web上得到了廣泛的應(yīng)用,從支撐網(wǎng)站到讓搜索引擎更容易地理解網(wǎng)頁的內(nèi)容,語義網(wǎng)技術(shù)正在被各式各樣的應(yīng)用所使用。
1 本體構(gòu)建
本體是對特定領(lǐng)域中概念的形式化的明確描述,每個概念的屬性描述了概念的各種特征和屬性。一個本體和一組單獨的類實例構(gòu)成了一個知識庫。本體構(gòu)建齄1齄包括以下幾個步驟:
1)確定本體的領(lǐng)域和范疇。可以通過回答下面幾個問題來確定本體的應(yīng)用領(lǐng)域和范疇:包括本體應(yīng)用到哪個領(lǐng)域?我們要用本體論做什么?對于哪些類型的問題,本體中的信息應(yīng)該提供答案?誰將使用和維護本體?
2)考慮復用現(xiàn)有本體的可行性??梢韵螺d已經(jīng)開發(fā)好的本體,導入到本體開發(fā)環(huán)境中。例如,我們可以使用Ontolingua本體庫( http://www. ksl.stanford.edu/software/ontology/)或DAML本體庫( http://www.DAML. org/ontologys/)。還有一些公開的商業(yè)本體論(例如UNPSC( www.unssc.org)、RosettaNet( www.Roset-taNet.org)以及DMOZ( www.DMOZ.org)).
3)列舉本體中的重要術(shù)語。需要列舉一個完整的術(shù)語列表,而不必擔心這些術(shù)語所表示的概念之間的重疊、術(shù)語之間的關(guān)系、概念可能具有的任何屬性,或者這些概念是類還是屬性。
4)定義類和類的層次結(jié)構(gòu)。定義類的層次結(jié)構(gòu)包括以下三種方法:自上而下從定義域中最一般的概念開始,然后是概念的專業(yè)化;自下而上從定義最具體的類(層次結(jié)構(gòu)的葉子)開始,然后將這些類分組為更一般的概念;混合方法是自上而下和自下而上方法的組合,首先定義更突出的概念,然后對它們進行適當?shù)母爬ê蛯I(yè)化。
5)定義屬性。屬性是指兩個個體直接的二元關(guān)系,一個屬性可以將兩個個體關(guān)聯(lián)起來,包括對象屬性和數(shù)據(jù)屬性,對象屬性是將個體關(guān)聯(lián)到個體,數(shù)據(jù)屬性是將個體關(guān)聯(lián)到數(shù)據(jù)類型。
6)設(shè)置屬性的不同方面。包括對稱屬性、傳遞屬性、逆屬性、等價屬性等,以及屬性的值域、定義域、不相交等方面。
7)創(chuàng)建實例。最后一步是在層次結(jié)構(gòu)中創(chuàng)建類的單個實例。定義類的單個實例首先需要選擇一個類,然后創(chuàng)建該類的一個實例并設(shè)置實例的屬性斷言。
本文以家庭領(lǐng)域齄2齄為例,并依據(jù)上述步驟,確定家庭關(guān)系本體如圖1所示:
2 SWRL規(guī)則設(shè)計
SWRL是一種結(jié)合了OWL DL和無函數(shù)Horn邏輯的語義網(wǎng)語言,允許類似Horn的規(guī)則和OWL DL本體的結(jié)合齄3齄。SWRL規(guī)則的語法形式如下:
B1,B2,…,Bn→A1,A2,...,Am
其中箭頭兩側(cè)的逗號為合取,A1,A2,...,Am記錄這條規(guī)則欲推理的結(jié)果,B1,B2,…,Bn則是推出該結(jié)果的條件,可以形如C(x)、P(x,y).sameAs(x,y)或者differentFrom(x,y),其中C是一個OWL描述,P是一個OWL屬性,x和y是Datalog變量、OWL實例或者OWL數(shù)據(jù)值。
SWRLTab是Proteg6的擴展,它支持編輯和執(zhí)行SWRL規(guī)則齄4齄,提供了一個用于創(chuàng)建和修改SWRL規(guī)則的圖形編輯器,還提供了擴展機制來支持使用各種規(guī)則引擎執(zhí)行SWRL規(guī)則,以及實現(xiàn)用戶定義的SWRL內(nèi)置并執(zhí)行它們的機制。
借助SWRLTab插件,可以很方便地編輯SWRL規(guī)則齄5齄,比如根據(jù)本體描述,我們已經(jīng)知道p是a的父母,a是b的兄弟姐妹,需要定義一條SWRL規(guī)則來說明p和b的關(guān)系,根據(jù)SWRL規(guī)則的語法形式,可以定義這樣一條規(guī)則“hasParent(?a,?p)^hasSibling(?a,?b)->hasParent(?b,?p)”。本文定義的SWRL規(guī)則如圖2所示。
3 隱性知識挖掘
推理機的一個重要功能是在執(zhí)行推理任務(wù)的同時檢查結(jié)果本體的一致性,比較流行的推理工具是HermiT、FACT++和Pellet。使用合適的推理機進行推理后,可以獲得關(guān)于本體的隱性知識。本文中,我們定義李四(lisi)、李小- (lixiaoVi)、李小二( lixiaoer)三個實例,及其屬性斷言male(lisi)、hasSon(lisi,lix-iaoyi)及hasSister(lixiaoyi,lixiaoer),如圖3所示。
定義好SWRL規(guī)則之后,使用HermiT推理機進行推理,通過推理,可以發(fā)現(xiàn)李小二(lixiaoer)的隱式關(guān)系有:1)李小二的父親是李四( hasFatherlisi);2)李小二是李四的女兒(isDaugh-terOflisi);3)李小二是李小一的妹妹(isSisterOflixiaoyi);4)李小二的哥哥是李小-( hasBrotherlixiaoyi)。如圖4所示:
4 小結(jié)
本文總結(jié)了本體建模的一般步驟,借助本體建模工具Pr otege,構(gòu)建了家庭成員及成員關(guān)系的本體,并使用SWRL定義了家庭關(guān)系推理規(guī)則。最后使用HermiT推理機進行推理,挖掘出實例李小二的隱式家庭關(guān)系。
參考文獻:
[1] Natalya F.Noy, Deborah L.Me Guinness A Guide to CreatingYour First Ontology. [EB/OLl(2012-12-15).http://protege.Stan-ford.edu/publications/ontology_development/ontologylOl.pdf
[2] Johnson Lim S C.Liu Y,Lee W B.Multi-facet product informa-tion search and retrieval using semantically annotated productfamily ontology[J].lnformation Processing&Management, 2010,46(4):479-493.
[3] Grigoris Antoniou.語義網(wǎng)基礎(chǔ)教程[M].胡偉,譯.北京機械工業(yè)出版社,2014.
[4]崔祥友,唐敦兵,朱海華,等.基于本體與SWRL的工藝知識表示與語義推理[J].機械制造與自動化,2017,46(3):6-10.
[5]吳柯樺.基于本體和規(guī)則的訪問控制模型及應(yīng)用研究[D].重慶:重慶大學,2018.
【通聯(lián)編輯:光文玲】