張志鵬,馬金平,靳小青
(青島大學(xué) 管理科學(xué)與工程系,山東 青島 266071)
本體作為語義檢索的技術(shù),近年來得到了廣泛的應(yīng)用。例如,文獻[1]提出了一種基于語義網(wǎng)的個性化酒店查詢系統(tǒng),該系統(tǒng)通過建立酒店領(lǐng)域的本體,提出了基于對數(shù)據(jù)庫查詢和知識推理的混合查詢方法,大大提高了用戶檢索的準(zhǔn)確性。文獻[2]對足球領(lǐng)域進行了本體設(shè)計,該文獻把基于關(guān)鍵詞的查詢界面作為最友好的用戶查詢界面,并提出了基于關(guān)鍵詞的查詢接口和語義網(wǎng)技術(shù)相結(jié)合的語義搜索系統(tǒng),使該系統(tǒng)解決了語義網(wǎng)的三大問題,即可用性、可擴展性和信息檢索的有效性。文獻[3]中用到了語義標(biāo)注的方法實現(xiàn)對信息的提取。文獻[4]提出了一種通過使用語義技術(shù)標(biāo)注地圖中的位置和地點來實現(xiàn)對信息的描述和檢索的方法,文中運用語義標(biāo)注技術(shù)對地圖添加元數(shù)據(jù),并通過WordNet對詞語進行語義上的匹配,使用戶可以更加精準(zhǔn)的檢索到地圖中的信息。
針對已有文獻研究的不足,本文提出了基于領(lǐng)域本體的校園地圖智能信息檢索模型,并構(gòu)建了校園地圖領(lǐng)域的本體,實現(xiàn)了基于本體的校園地圖領(lǐng)域的智能信息檢索系統(tǒng)。該模型利用領(lǐng)域本體在概念上豐富的語義關(guān)系,形成了一定的推理關(guān)系,并通過對校園地圖領(lǐng)域全方位的元數(shù)據(jù)層次的信息進行語義標(biāo)注,使系統(tǒng)內(nèi)的信息可以與領(lǐng)域本體相對應(yīng),進而增加不同信息之間的耦合度,使基于本體的智能檢索成為了可能。測試結(jié)果表明,該模型能夠在一定程度上提高信息檢索的查準(zhǔn)率和查全率。
基于本體的校園地圖智能檢索模型如圖1所示,其基本的設(shè)計思路為:
1)對校園地圖領(lǐng)域的本體進行全方位的設(shè)計,利用當(dāng)前比較成熟的本體構(gòu)建軟件完成對校園地圖領(lǐng)域本體的構(gòu)建,并通過計算機可以理解的語言對設(shè)計出的本體進行知識表示。
2)將校園地圖領(lǐng)域的本體對應(yīng)于校園地圖中所涉及到的領(lǐng)域概念進行語義標(biāo)注,建立校園地圖與本體概念之間的關(guān)聯(lián)。
通過圖1可看出,本體設(shè)計與構(gòu)建和語義標(biāo)注構(gòu)成了該模型的主體部分,將程序接口、用戶圖形化界面和數(shù)據(jù)庫密切的聯(lián)系在一起,按照該模型框架,可以實現(xiàn)系統(tǒng)的開發(fā)。
本體的構(gòu)建是模型實現(xiàn)的關(guān)鍵和基礎(chǔ),本體構(gòu)建質(zhì)量的高低與用戶進行信息檢索準(zhǔn)確度和全面性密切相關(guān),因此本體的構(gòu)建需要精確到某個具體的領(lǐng)域。
圖1 基于本體的校園地圖智能檢索模型Fig.1 Campus map intelligent retrieval system based on ontology
在對校園地圖領(lǐng)域本體的構(gòu)建上,首先設(shè)立“校園”類為最頂層類,然后在該類下設(shè)立一系列相關(guān)的子類,其中包括“地名”類,“人物”類,“事件”類,“時間”類等。 各個類分別有他們的屬性,比如“地名”類可以具有“坐標(biāo)”、“相應(yīng)的事件”和“對應(yīng)的人物”等屬性;這些類下面也分為各種子類,比如“地名” 類可以包括 “超市”、“教室”、“辦公樓”、“食堂”、“街道”和“宿舍樓”等子類。類與類、屬性與屬性之間可以分別具有相互等價、相互包含或者相互推理等多種語義關(guān)系。在實施校園地圖領(lǐng)域某個具體應(yīng)用時,需要將這些類和屬性以及類和屬性之間的關(guān)系進行細化,這樣不僅有利于該應(yīng)用的順利實現(xiàn),同時也有利于提高基于校園領(lǐng)域內(nèi)不同檢索應(yīng)用之間本體的可共用性。
通過Protégé軟件完成對不同應(yīng)用之間校園領(lǐng)域本體的構(gòu)建工作。Protégé是目前中國最為流行的本體編輯工具,它不僅是一個可以支持中文的本體編輯工具,同時也支持OWL本體語言。Protégé是一個免費和開源的本體編輯平臺,它基于java語言開發(fā),能很好的將編程語言同本體技術(shù)聯(lián)系在一起,為基于本體的校園地圖智能檢索模型的實現(xiàn)提供了一個良好的平臺。
在本體構(gòu)建完成之后,需要將校園領(lǐng)域本體轉(zhuǎn)化為計算機可以理解的語言,以便于通過編程的方法來實現(xiàn)系統(tǒng)。本體的知識表示方法經(jīng)過不斷的發(fā)展,其中以O(shè)WL語言最為成熟。OWL語言不僅對本體語言的描述能力更加豐富,同時又具有權(quán)衡表達能力和有效的推理支持能力,使得對本體知識的描述更加充分。文獻[5]通過使用OWL語言技術(shù)來完成了用不同國家的語言對酒的描述。OWL語言語法豐富,它有3種不同的前綴,下面以owlx前綴為例用不同國家的語言來完成對酒的描述。
<o(jì)wlx:Classowl:name=”wine” owlx:complete=”false”>
<o(jì)wlx:Annotation>
<o(jì)wlx:Labelxml:lang=”en”>wine</owlx:Label>
<o(jì)wlx:Labelxml:lang=”zh-cn”>酒</owlx:Label>
</owlx:Annotation>
<o(jì)wlx:Classowl:name=”&food;PotableLiquid”/>
</owlx:Class>
基于本體的校園智能檢索模型采用OWL本體語言完成了對領(lǐng)域本體的知識表示,并在系統(tǒng)的實施中采用OWL語法中最為常用的owl前綴進行編碼。
語義標(biāo)注是指在領(lǐng)域本體的基礎(chǔ)上向文檔添加規(guī)范化知識的表示過程[6]。目前語義標(biāo)注的方法主要分為人工語義標(biāo)注(即交互性語義標(biāo)注)和自動語義標(biāo)注。人工語義標(biāo)注主要是通過人根據(jù)領(lǐng)域本體的概念集和內(nèi)容結(jié)構(gòu)建立起RDF或者HTML等標(biāo)記語言的語義數(shù)據(jù)。人工語義標(biāo)注比較繁瑣,工作量巨大,但可以獲得較準(zhǔn)確的語義信息。對于小規(guī)模的語義系統(tǒng),人工語義標(biāo)注相對于自動語義標(biāo)注更加容易實現(xiàn)。自動語義標(biāo)注主要是利用一個預(yù)先創(chuàng)建的本體來作為指導(dǎo)而自動完成語義標(biāo)注過程。雖然現(xiàn)在的自動語義標(biāo)注技術(shù)相當(dāng)成熟,但是這種標(biāo)注方法需要限定到某一具體的領(lǐng)域,才能保證標(biāo)注的精度,同時還有必要的人工審查。
基于本體的校園地圖智能檢索模型是在校園內(nèi)實現(xiàn)的小型系統(tǒng),因此采用人工語義標(biāo)注的方法效率更高。對系統(tǒng)進行語義標(biāo)注能夠把地圖上的物理坐標(biāo)和本體的概念相互關(guān)聯(lián),使得用戶檢索時不僅能夠檢索出相關(guān)的信息,同時也能精確檢索出該信息在地圖中對應(yīng)的位置。
本系統(tǒng)是在Eclipse軟件平臺下采用Apache+Java+Mysql組合開發(fā)完成。其中Java采用JDK1.6版本,并應(yīng)用了Swing可視化開發(fā)組件,其圖形化界面如圖2所示。系統(tǒng)所用到的地圖圖片可以通過百度地圖、谷歌地圖或者高德地圖等應(yīng)用獲得。同時采用Protégé本體開發(fā)軟件完成對本體的構(gòu)建,并利用WordNet語義詞典進行本體概念上的匹配。
在完成對A大學(xué)校園智能檢索系統(tǒng)圖形化界面開發(fā)后,下面以用戶使用本系統(tǒng)搜索“在A大學(xué)就餐”為例,建立相關(guān)的領(lǐng)域本體。對于在校園里面就餐來說,首先會考慮的是校園內(nèi)部的餐廳和校園里的小飯店,而校園里面的超市和小賣部同樣也會提供就餐的服務(wù);餐廳和食堂有相同的意思,他們都是提供食物的地方;食物包含零食,而超市和小賣鋪也都提供零食。因此,以在“A大學(xué)就餐”為例,構(gòu)建的本體為:將就餐這一動詞作為食物的一個屬性;就餐和吃飯作為等價屬性;零食作為食物的子類,并將餐廳、食堂、飯店、超市和小賣部分別定義為食物和零食的父類。同時,在學(xué)校餐廳里就餐需要使用校園的飯卡并進行充值,因此定義了飯卡充值處這個類,將飯卡充值作為它的屬性。類本身具有多種屬性,本實例中沒有把與就餐語義相關(guān)度很小的屬性列舉出來。該實例模型中類和屬性之間的關(guān)系如圖3所示。
各個類和屬性之間的關(guān)聯(lián)形成了一定的推理關(guān)系,其中食物作為飯店和餐廳的子類,餐廳和食堂定義為等價類,因此食物也就是食堂的子類;零食作為超市和食物的子類,把這兩個類聯(lián)到了一起;超市和小賣鋪也定義為等價類,即在推理到超市的同時也就推理到了小賣鋪;飯卡充值被定義為就餐和餐廳的交叉屬性,即在餐廳就餐的時候才可以使用到飯卡,而飯卡充值又是飯卡充值處的屬性,因此,就餐與飯卡充值處也具有一定的語義相關(guān)性。
圖2 系統(tǒng)的圖形化界面Fig.2 Graphical interface of system
圖3 A大學(xué)本體領(lǐng)域一個實例模型Fig.3 An Instance Model of A University on Ontology
通過OWL語言將上面構(gòu)建的本體實例表示成計算機可以理解的語言。下面是部分主要的OWL語言代碼:
命名空間的創(chuàng)建:
<?xml version=”1.0” encoding=”GB2312”?>
<rdf:RDF
xmlns =”http://www.qduedu.cn/A 大學(xué) #”
xmlns:A大學(xué)=”http://www.qduedu.cn/A大學(xué)#”
xmlns:owl=” http://www.w3.org/2002/07/owl#”
xmlns:rdf=”http://www.w3.org/1999/02/22-rdf-syntax-ns#”
xmlns:rdfs=” http://www.w3.org/2000/01/rdf-schema#”
xmlns:xsd=” http://www.w3.org/2000/10/XMLSchema#”>
類的創(chuàng)建和類之間關(guān)系的表示:
<o(jì)wl:Class rdf:ID=”餐廳”/>
<o(jì)wl:Class rdf:ID=”飯店”/>
<o(jì)wl:Class rdf:ID=”食物”>
<rdfs:subClassOf rdf:resource=”&A 大學(xué);餐廳”/>
</owl:Class>
<o(jì)wl:Class rdf:ID=”食堂”>
<o(jì)wl:equivalentClass rdf:resource=”&A 大學(xué);餐廳”/>
</owl:Class>
<o(jì)wl:Class rdf:about=”&A 大學(xué);食物”>
<rdfs:subClassOf rdf:resource=”&A 大學(xué);飯店”/>
</owl:Class>
<o(jì)wl:Class rdf:ID=”超市”/>
<o(jì)wl:Class rdf:ID=”小賣鋪”>
<o(jì)wl:equivalentClass rdf:resource=”&A 大學(xué);超市”/>
</owl:Class>
<o(jì)wl:Class rdf:ID=”零食”>
<rdfs:subClassOf rdf:resource=”&A 大學(xué);超市”/>
</owl:Class>
<o(jì)wl:Class rdf:about=”&A 大學(xué);零食”>
<o(jì)wl:subClassOf rdf:resource=”&A 大學(xué);食物”/>
</owl:Class>
<o(jì)wl:Class rdf:ID=”飯卡充值處”/>
類所具有的屬性的表示:
<o(jì)wl:ObjectProperty rdf:ID=”就餐”>
<rdfs:domain rdf:resource=”&A 大學(xué);食物”>
</owl:ObjectProperty>
<o(jì)wl:ObjectProperty rdf:ID=”吃飯”>
<o(jì)wl:equivalentProperty rdf:resource=”&A 大學(xué);就餐”/>
</owl:Property>
<o(jì)wl ObjectProperty rdf:ID=”飯卡充值”>
<o(jì)wl:subClassOf rdf:resource=”&A 大學(xué);飯卡充值處”/>
</owl:ObjectProperty>
<o(jì)wl ObjectProperty rdf:ID=”飯卡充值”>
<o(jì)wl:intersectionOf rdf:parseType=”Collection”>
<o(jì)wl:ObjectProperty rdf:about=” &A 大學(xué);就餐”>
<o(jì)wl:Class rdf:about=”&A 大學(xué);餐廳”>
</owl:intersectionOf>
</owl:ObjectProperty>
<o(jì)wl ObjectProperty rdf:ID=”飯卡充值”>
<o(jì)wl:intersectionOf rdf:parseType=”Collection”>
<o(jì)wl:ObjectProperty rdf:about=”&A大學(xué);飯卡充值處”>
<o(jì)wl:Restriction>
<o(jì)wl:Class rdf:about=”&A 大學(xué);餐廳”>
<o(jì)wl:minCardinality rdf:datatype = ”&xsd;nonNegativeInteger”>
1
</owl:minCardinality>
</owl:Restriction>
</owl:intersectionOf>
</owl:ObjectProperty>
上述OWL代碼把基于本體的校園地圖智能檢索系統(tǒng)中一個具體應(yīng)用小實例的各個類和屬性之間的關(guān)系通過計算機可以理解的語言表示了出來,<o(jì)wl:subClassOf>屬性用于定義類和子類的關(guān)系,<o(jì)wl:equivalentClass>屬性是定義兩個類為等價類,<o(jì)wl:intersectionOf>屬性是定義了飯卡充值是餐廳和就餐的交叉屬性,<o(jì)wl:Restriction>用來定義匿名類,匿名類是通過對其屬性的約束來定義的,對應(yīng)于描述邏輯中通過存在約束、全稱約束和關(guān)系的基數(shù)約束等構(gòu)造子的概念。本應(yīng)用實例中<o(jì)wl:Restriction>屬性定義了飯卡充值必須限定在某個餐廳中充值。
在完成對系統(tǒng)的建立之后,以搜索 “在A大學(xué)就餐”為例,分別在百度搜索引擎、百度地圖應(yīng)用和基于本體的校園地圖智能檢索系統(tǒng)中進行測試,其結(jié)果如表1所示。
通過表1可以看出:在百度搜索引擎、百度地圖應(yīng)用和基于本體的校園地圖智能檢索系統(tǒng)中分別檢索“在A大學(xué)就餐”的結(jié)果可以看出搜索引擎和地圖導(dǎo)航應(yīng)用在查詢時都是基于關(guān)鍵詞字面匹配的信息檢索,它們無法從語義上判別用戶輸入的信息,其返回的結(jié)果與用戶輸入的內(nèi)容相關(guān)性很小。而基于本體的校園地圖智能檢索系統(tǒng)卻能很好的解決用戶輸入信息語義化的問題,能夠從本體上進行信息查詢,同時其返回的結(jié)果都能夠在地圖的相應(yīng)位置上有所顯示,大大的提高了用戶的查全率和查準(zhǔn)率。
表1 系統(tǒng)測試結(jié)果對比表Tab.1 Comparison of system test results
針對用戶在使用像百度這樣的通用搜索引擎查詢大學(xué)校園內(nèi)部的建筑設(shè)施信息時遇到的問題,提出了基于本體的校園地圖智能檢索模型,運用java編程語言實現(xiàn)了基本的圖形化界面和軟件功能,并通過使用本體技術(shù)和語義標(biāo)注的方法開發(fā)了一個大學(xué)校園地圖的智能檢索系統(tǒng)。該系統(tǒng)不僅實現(xiàn)了基于語義的信息檢索,同時也使信息對應(yīng)的物理位置能夠顯示在地圖中,提高了用戶信息檢索的查全率和查準(zhǔn)率。在以后的工作中,還應(yīng)該對校園領(lǐng)域的本體做進一步的擴展和優(yōu)化,以增加系統(tǒng)的應(yīng)用范圍和完善系統(tǒng)的功能。
[1]Yoo*D.Hybrid query processing for personalized information retrieval on the Semantic Web[J].Knowledge-Based Systems,2012(27):211-218.
[2]Kara S,Alan O,Sabuncu O,et al.An ontology-based retrieval system using semantic indexing[J].Information Systems,2012(37):294-305.
[3]Etzioni O,Cafarella M J,Downey D,et al.Unsupervised named-entity extraction fromthe web:an experimental study[J].Artificial Intelligence,2005,165(1):91-134.
[4]Amalanathana A,Sb S,Mb S.Semantic annotations for customizing geographical maps based on WordNet[J].Procedia Technology,2012(4):375-383.
[5]Baader F,Horrocks I,Sattler U.Description Logics as Ontology Languages for the Semantic Web[C]//Festschrift in honor of J?rgSiekmann, Lecture Notesin Artificial Intelligence.Springer-Verlag,2003:228-248.
[6]荊濤,左萬利,孫吉貴,等.中文網(wǎng)頁語義標(biāo)注:由句子到RDF表示[J].計算機研究與發(fā)展,2008,45(7):1221-1231.JING Tao,ZUO Wang,SUN Jig-ui,et al.Semantic annotation of Chineseweb pages:fromsentencesto RDFrepresentations[J].Journal of Computer Research and Development,2008,45(7):1221-1231.