張 婷,段躍興,張?jiān)虑?/p>
(太原理工大學(xué) 信息與計(jì)算機(jī)學(xué)院,太原 030024)
隨著旅游產(chǎn)業(yè)和互聯(lián)網(wǎng)相關(guān)技術(shù)的迅速發(fā)展[1],如何準(zhǔn)確、全面地獲取旅游信息資源是亟待解決的問(wèn)題?;陉P(guān)鍵字的傳統(tǒng)查詢(xún)方式因?yàn)槿狈φZ(yǔ)義層次上的處理和表示所以無(wú)法將用戶輸入的檢索內(nèi)容與數(shù)據(jù)資源庫(kù)中的內(nèi)容相匹配,造成結(jié)果的不完整、不精確,甚至沒(méi)有符合用戶需求的結(jié)果[2]。為了提高旅游信息的查準(zhǔn)率和查全率,一些學(xué)者建議將本體技術(shù)應(yīng)用于旅游信息的搜索,并獲得了一定的進(jìn)展[3-6]。但多半的方法只是基于本體技術(shù)的基礎(chǔ)并沒(méi)有充分考慮到實(shí)例和屬性之間的關(guān)系。此外,本體的推理功能未充分用于發(fā)現(xiàn)本體中的隱式關(guān)系。鑒于上述原因,本文建立在基于旅游領(lǐng)域本體的基礎(chǔ)上,提出了用于發(fā)現(xiàn)隱含關(guān)系的推理規(guī)則。通過(guò)分析本體中概念間的關(guān)系以及結(jié)構(gòu)上的差別,加之推理規(guī)則和相似度算法的支持,將現(xiàn)有基于關(guān)鍵字級(jí)別的信息組織方式提高到語(yǔ)義級(jí)別,設(shè)計(jì)出一種可以挖掘出隱含信息的搜索方式,通過(guò)了解語(yǔ)義的深度,達(dá)到優(yōu)化搜索結(jié)果的目的。
17世紀(jì)古希臘哲學(xué)領(lǐng)域的相關(guān)研究者提出了本體論的概念,它被定義為對(duì)世界客觀存在的系統(tǒng)描述。本體形象地描述了概念間關(guān)系的同時(shí)還支持邏輯推理。因此本體技術(shù)的引入能夠更好地改進(jìn)檢的效率,并且在語(yǔ)義上得到更多保證[7]。以本體為基礎(chǔ)的語(yǔ)義檢索技術(shù)是目前科研發(fā)展的熱門(mén)方向之一,很多學(xué)者都進(jìn)行了相關(guān)的探索[8-11]。
旅游領(lǐng)域本體是指用機(jī)器可以理解的語(yǔ)言表達(dá)形式來(lái)組織旅游知識(shí)的模型。CHHAVI et al[12]所提出的本體構(gòu)建思想在某種程度上有助于提高構(gòu)建本體的效率,然而并沒(méi)有形成通用的本體構(gòu)建標(biāo)準(zhǔn)。為此,根據(jù)領(lǐng)域間的差異,結(jié)合現(xiàn)實(shí)情況來(lái)選擇適當(dāng)?shù)拇罱ǚ绞健1疚牟捎闷卟椒ǖ乃枷雭?lái)構(gòu)建旅游本體,由Protege[13]來(lái)實(shí)現(xiàn)。搭建過(guò)程如圖1所示。
圖1 旅游領(lǐng)域本體構(gòu)建方法流程圖Fig.1 Flow chart of ontology construction method in tourism field
根據(jù)上述的構(gòu)建流程,采用《中國(guó)分類(lèi)詞庫(kù)》、《旅游服務(wù)基本條款(GB/T 16766-1997)》和《旅游規(guī)劃總則(TB/T 18971-2003)》[14],以山西省五臺(tái)山作為研究對(duì)象,整理其中所包含的重要內(nèi)容,用Protege工具搭建旅游領(lǐng)域本體。本體的類(lèi)結(jié)構(gòu)如圖2所示,共有57個(gè)本體類(lèi),此外還包括34個(gè)數(shù)據(jù)屬性和24個(gè)對(duì)象屬性來(lái)描述類(lèi)的所包含的信息。
圖2 五臺(tái)山旅游本體層次局部結(jié)構(gòu)圖Fig.2 Local structure map of tourism ontology level in wutai mountain
1.2.1本體推理機(jī)
本體的一個(gè)重要特征是推理能力,在領(lǐng)域本體語(yǔ)義關(guān)系的推理中,推理機(jī)起著重要的作用,相關(guān)推理技術(shù)的引入使得更多的隱含信息被發(fā)現(xiàn),并且消除所有類(lèi)以及實(shí)例與類(lèi)之間的沖突。目前,具有代表性的推理機(jī)有Pellet、Racer、FaCT++、KAON2等[15]。本文選擇了開(kāi)源的Jena推理機(jī),它不僅支持OWL等自然語(yǔ)言推理,還通過(guò)DIG接口與其他推理機(jī)器如Pellet等連接[16]。
1.2.2本體的推理規(guī)則
為了給用戶檢索提供更加全面而準(zhǔn)確的信息,基于推理機(jī)制,結(jié)合推理規(guī)則,充分利用旅游領(lǐng)域本體中概念間的關(guān)聯(lián)關(guān)系,尋找到旅游領(lǐng)域本體內(nèi)未曾建立屬性關(guān)聯(lián)的實(shí)例,并發(fā)掘其中所包含的隱藏信息。
本文使用正向的推理規(guī)則完成推理的過(guò)程。所謂的正向的推理規(guī)則指的是左側(cè)條件為真的條件下就可以獲取到所需的結(jié)論,同時(shí)結(jié)論信息位于推理規(guī)則的右側(cè)位置。和所研究領(lǐng)域沒(méi)有直接關(guān)系的推理規(guī)則稱(chēng)為通用規(guī)則,換句話說(shuō),指的就是任何本體都能運(yùn)用的規(guī)則。如:
(?c1,rdfs:subClassOf,?p),(?p,rdfs:subClassOf,?c2) → (?c1,rdfs:subClassOf,?c2)
領(lǐng)域規(guī)則是以通用規(guī)則為基礎(chǔ),通過(guò)將通用規(guī)則的實(shí)例化,結(jié)合特定領(lǐng)域相關(guān)的內(nèi)容所形成的。例如:
Rule 1:(?xbelongs to ?y),(?ysubclass of ?z)→(?xbelongs to ?z)
Rule 2:(?xhas ?y),(?ysame as ?z)→(?xhas ?z)
Rule 3:(?x,takePartIn,?y)→(?y,hasParticipant,?x)
Rule 4:(?x,rdf:type,Tourist),(?x,hasUphillPath,?y)→(?y,rdf:type,UphillPath)
1.2.3本體的推理過(guò)程
本文主要是根據(jù)旅游領(lǐng)域本體中所定義的屬性來(lái)定義推理規(guī)則,并通過(guò)Jena推理機(jī),將自定義的推理規(guī)則加入Jena推理機(jī)中完成旅游本體的語(yǔ)義擴(kuò)展。接著運(yùn)用SPARQL語(yǔ)言,完成旅游信息的推薦。
為了提高檢索的效率,往往需要確定概念集合與搜索內(nèi)容間的一致性,即需要計(jì)算原始概念與搜索內(nèi)容的相似性。針對(duì)該問(wèn)題當(dāng)前的方法主要有4類(lèi),每一類(lèi)都有其經(jīng)典的代表算法及優(yōu)缺點(diǎn)[17]。
以距離為基礎(chǔ)的方法是最基本的方法,雖然計(jì)算簡(jiǎn)單,但是準(zhǔn)確度較低?;趦?nèi)容的計(jì)算方法僅考慮概念本身中包含的信息,且取決于所計(jì)算的語(yǔ)料庫(kù),不同數(shù)據(jù)資源庫(kù)獲得的結(jié)果通常不一樣?;趯傩缘挠?jì)算方法需要找到兩個(gè)概念之間共同的屬性,雖然利用了概念的屬性來(lái)計(jì)算相似度,但是計(jì)算的復(fù)雜程度大大增加?;旌鲜降挠?jì)算方法具有較高的準(zhǔn)確性,由于該方法最大限度地利用了概念節(jié)點(diǎn)的語(yǔ)義信息,因此混合計(jì)算更為精確,是目前的研究重點(diǎn)。文獻(xiàn)[18]中提出了一個(gè)概念相似度算法,該算法基于本體樹(shù)結(jié)構(gòu),將語(yǔ)義距離、上下位概念重合度以及概念節(jié)點(diǎn)層次深度等影響因素結(jié)合起來(lái),它用于解決病蟲(chóng)害領(lǐng)域的檢索效率。在文獻(xiàn)[19]中,將Jaccard系數(shù)添加到基于距離和信息量的計(jì)算方法中進(jìn)行相似度的計(jì)算。在文獻(xiàn)[20]中考慮到概念中所包含的信息量的同時(shí)結(jié)合了諸如概念的位置和速度等影響因子,提出了一種計(jì)算語(yǔ)義相似性的混合方法。本文綜合分析了混合相似度算法在各領(lǐng)域內(nèi)的研究現(xiàn)狀,提出了一種適用于旅游領(lǐng)域的混合語(yǔ)義相似度計(jì)算方法。
概念間可能存在多種連接方式,因此,在計(jì)算相似度大小的時(shí)候,有必要考慮關(guān)系路徑的影響。
2.1.1關(guān)系權(quán)重
本體樹(shù)結(jié)構(gòu)中包括許多概念信息,不同概念之間在關(guān)系上的差異導(dǎo)致了概念間在語(yǔ)義層面上相似性大小的差異。
(1)
其中,w1代表概念的關(guān)系權(quán)重值。
2.1.2節(jié)點(diǎn)深度權(quán)重
以本體的樹(shù)形結(jié)構(gòu)為基礎(chǔ),從最頂端的thing開(kāi)始,逐步向下進(jìn)行細(xì)化。葉子節(jié)點(diǎn)含有的信息量最多。
w2=(1/2depth(c)+1/2depth(c)-1+…+1/2) .
(2)
式中:w2代表概念的節(jié)點(diǎn)深度權(quán)重值;depth(c)代表本體層中概念c的深度,概念c為概念c1和概念c2的最近公共父節(jié)點(diǎn)。
2.1.3密度權(quán)重
在本體結(jié)構(gòu)圖中,概念所含子概念數(shù)目的多少,決定了對(duì)事物描述的詳細(xì)程度。密度越大的節(jié)點(diǎn),事物描述的信息越詳細(xì)。若樹(shù)結(jié)構(gòu)中某一部分的密度很大,則其父節(jié)點(diǎn)所包含的信息更加精確。
(3)
式中:out()表示某概念在本體中有向無(wú)環(huán)圖的出度。out(c)表示概念c的出度,概念c為概念c1和概念c2的最近公共父節(jié)點(diǎn)。out(root)表示本體樹(shù)根節(jié)點(diǎn)的出度。
2.1.4關(guān)系路徑權(quán)重
將上文3種影響因素綜合考慮,得到綜合關(guān)系路徑權(quán)重。
w=α×w1+β×w2+λ×w3.
(4)
其中,α+β+λ=1.
距離與權(quán)重的關(guān)系如下式所示:
(5)
綜上,得到概念c1和概念c2之間語(yǔ)義的相似度計(jì)算公式:
(6)
其中,α為調(diào)節(jié)因子。
基本思想是比較兩個(gè)概念(類(lèi))之間共享的信息,相同信息數(shù)量的多少將會(huì)影響到相似度的大小,二者成正比關(guān)系。通過(guò)本體所構(gòu)建的樹(shù)形結(jié)構(gòu)可以得到子節(jié)點(diǎn)間相似度,子節(jié)點(diǎn)間的相似度大小可以用其共同的父節(jié)點(diǎn)所承載的內(nèi)容來(lái)權(quán)衡。
(7)
(8)
式中:N代表本體分類(lèi)樹(shù)中所有概念的總數(shù);N(c)代表概念在本體樹(shù)中出現(xiàn)的頻率,概念c為概念c1和概念c2的最近公共父節(jié)點(diǎn)。
各類(lèi)不同特質(zhì)的屬性是對(duì)事物的描述,公共屬性數(shù)量的多少?zèng)Q定了事物之間是否有聯(lián)系。任意節(jié)點(diǎn)間所包含的屬性相同項(xiàng)越多則代表二者在語(yǔ)義上的相似程度越高。
(9)
其中,count(c1)代表概念c1所擁有的屬性個(gè)數(shù)。
綜合考慮基于本體所搭建的樹(shù)形結(jié)構(gòu)的特點(diǎn),結(jié)合上面所建立用于計(jì)算相似度的方法,提出了最終的語(yǔ)義相似度計(jì)算方法如下:
sim(c1,c2)=α×sim(c1,c2)dis+β× sim(c1,c2)ic+λ×sim(c1,c2)attr.
(10)
其中,α,β,λ分別表示路徑距離、信息含量、屬性的調(diào)節(jié)系數(shù),α+β+λ=1.
本文提出的基于本體的旅游信息檢索模型是以山西五臺(tái)山旅游信息為例。通過(guò)查找與旅游相關(guān)的文檔,建立具體的旅游信息結(jié)構(gòu),即構(gòu)建本體。然后運(yùn)用爬蟲(chóng)技術(shù)采集與其相關(guān)的文檔,通過(guò)預(yù)處理建立數(shù)據(jù)資源庫(kù)?;贘ena推理規(guī)則及語(yǔ)義相似度算法實(shí)現(xiàn)模型的構(gòu)建。本文所提出的檢索模型采用B/S架構(gòu)見(jiàn)圖3,主要由以下4部分組成。
圖3 旅游信息檢索模型Fig.3 Tourism information retrieval model
1) 用戶界面模塊。該模塊主要用于用戶與檢索模型的信息交流,連接著預(yù)處理模塊,用戶使用圖形化界面輸入他們所要查詢(xún)的信息,經(jīng)過(guò)處理后,用戶界面將會(huì)展示出最終結(jié)果。
2)檢索預(yù)處理模塊。通過(guò)漢語(yǔ)詞法分析系統(tǒng)(ICTCLAS)對(duì)用戶輸入的查詢(xún)語(yǔ)句進(jìn)行分詞操作以及主謂賓關(guān)系的提取操作,此外,引入了用戶自定義詞典以及停用詞表來(lái)提高分詞效果。該模塊實(shí)現(xiàn)了準(zhǔn)確而標(biāo)準(zhǔn)化的標(biāo)記并對(duì)用戶的初始搜索信息進(jìn)行了處理。
3) 數(shù)據(jù)存儲(chǔ)模塊。該模塊的作用是構(gòu)建檢索模型的核心部分本體結(jié)構(gòu),通過(guò)收集與旅游相關(guān)的文檔,篩選出其中的主要信息,并確定出一系列的概念、關(guān)系以及實(shí)例、屬性集合。
4) 檢索模塊。該模塊的主要功能是根據(jù)新的檢索信息檢索數(shù)據(jù)資源庫(kù),并比較查詢(xún)實(shí)例與數(shù)據(jù)資源庫(kù)中數(shù)據(jù)之間的相似性,以相似度的大小作為評(píng)判標(biāo)準(zhǔn),將檢索出來(lái)的結(jié)果逆序排序,從中篩選出高于基準(zhǔn)值的結(jié)果展示在用戶界面上。
本次實(shí)驗(yàn)是在Windows平臺(tái)下使用Java開(kāi)發(fā)工具idea(JDK1.8)進(jìn)行開(kāi)發(fā)工作,具體開(kāi)發(fā)環(huán)境如表1所示。
本次實(shí)驗(yàn)以旅游本體中的所有實(shí)例作為數(shù)據(jù)源,通過(guò)對(duì)旅游論壇上的問(wèn)題(百度旅游貼吧、旅游問(wèn)答_知了吧等網(wǎng)站),進(jìn)行收集整理總結(jié)。將游客的問(wèn)題分為以下8類(lèi)問(wèn)句,如表2所示。
表1 系統(tǒng)開(kāi)發(fā)環(huán)境Table 1 System development environment
表2 關(guān)于五臺(tái)山景區(qū)的用戶問(wèn)題示例Table 2 Examples of user problems in wutaishan scenic spot
根據(jù)上述問(wèn)題類(lèi)型,將用戶查詢(xún)語(yǔ)句拆分后進(jìn)行實(shí)驗(yàn),分別計(jì)算出每個(gè)查詢(xún)?nèi)蝿?wù)的完整性和精確度。部分查詢(xún)信息見(jiàn)表3.
表3 查詢(xún)條件Table 3 Query criteria
本實(shí)驗(yàn)采用比較法,以信息完整程度、準(zhǔn)確程度作為判定優(yōu)越性的判斷依據(jù),通過(guò)與傳統(tǒng)的基于關(guān)鍵詞的搜索方法相比較,反映出系統(tǒng)的優(yōu)越性。具體的實(shí)驗(yàn)結(jié)果以折線圖的方式進(jìn)行對(duì)比,見(jiàn)圖4、圖5.
圖4 不同方法的查全率Fig.4 Recall of different methods
圖5 不同方法的查準(zhǔn)率Fig.5 Precision of different methods
從圖4和圖5中可以看出,本文所使用的搜索方法,無(wú)論是完整性還是精確度都優(yōu)于以關(guān)鍵字為基礎(chǔ)的搜索方法,即證明了以本體為基礎(chǔ)的查詢(xún)方式提高了旅游信息的搜索效率。因此,每個(gè)評(píng)估指標(biāo)均高于基于關(guān)鍵字的搜索方法。
傳統(tǒng)的搜索方式,缺乏概念在語(yǔ)義層面上的處理,這嚴(yán)重限制了檢索結(jié)果的準(zhǔn)確性。因此,本文通過(guò)本體和相似度算法,提出了基于語(yǔ)義層面上的語(yǔ)義搜索模型。從實(shí)驗(yàn)數(shù)據(jù)可以看出,與基于關(guān)鍵字的檢索模型相比,該模型能夠更加深入地理解用戶輸入的搜索內(nèi)容,是改進(jìn)旅游信息檢索的有效方法。隨著各類(lèi)相關(guān)技術(shù)的發(fā)展,為了提高總體的檢索效率,對(duì)目前所建立的檢索模型的優(yōu)化任務(wù)是接下來(lái)的重點(diǎn)工作。