郭秀琪
(陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,陜西 西安 710119)
基于本體的旅游資源推薦算法研究
郭秀琪
(陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,陜西 西安710119)
文中針對(duì)現(xiàn)如今旅游推薦系統(tǒng)的缺陷,以旅游酒店作為旅游資源,引用本體對(duì)旅游資源進(jìn)行描述,提出了一種基于本體的旅游資源反饋推薦算法。以旅游用戶酒店選擇為例,本文將每一個(gè)旅游用戶的直接需求轉(zhuǎn)化為計(jì)算機(jī)能夠進(jìn)行匹配的數(shù)據(jù)集合,與酒店屬性信息進(jìn)行匹配,然后通過第一次推薦和引入反饋因子的反饋推薦過程,將最佳的酒店排序信息推薦給旅游用戶,并且對(duì)用戶評(píng)價(jià)的信息與相關(guān)旅游信息進(jìn)行權(quán)重設(shè)置,進(jìn)一步提高了推薦結(jié)果和用戶需求的匹配度。
本體;旅游資源;反饋推薦;旅游用戶
隨著網(wǎng)絡(luò)技術(shù)的普及和發(fā)展,旅游業(yè)的無限潛力正可以借網(wǎng)絡(luò)的東風(fēng)得到最大限度的挖掘,旅游平臺(tái)構(gòu)建的完善性和完美型對(duì)于旅游業(yè)的發(fā)展有著重要的意義。應(yīng)時(shí)出現(xiàn)的旅游推薦系統(tǒng),將一切可以利用的因素進(jìn)行整合[1],使得單一的搜索與實(shí)際的問題進(jìn)行了匹配,從而將信息資源與實(shí)際需求有效地結(jié)合在了一起。一個(gè)功能優(yōu)秀的系統(tǒng),會(huì)對(duì)用戶的需求信息進(jìn)行一個(gè)高效的篩選,然后將最合適的信息展現(xiàn)在用戶眼前[2]。怎樣才能夠給旅游用戶推薦出滿足用戶需求并能夠?qū)嵒莸穆糜斡?jì)劃需求已經(jīng)越來越迫切[3]。本文就是基于這樣的現(xiàn)狀以旅游系統(tǒng)的推薦算法為切入點(diǎn)對(duì)旅游推薦系統(tǒng)的優(yōu)化進(jìn)行了一些思考和探索。
1.1對(duì)旅游資源建模
文中將從旅游用戶的住宿問題著手,把酒店作為研究的旅游資源,對(duì)其進(jìn)行語言的描述。在這里,本體就是一種語言資源的描述手段,它能夠提供一些主要的數(shù)據(jù)服務(wù)以便進(jìn)一步的操作。出于不同的研究目的,對(duì)不同分類的酒店研究的側(cè)重點(diǎn)也不相同?,F(xiàn)如今,面對(duì)海量的數(shù)據(jù),旅客想要獲得他們想要的酒店信息進(jìn)行入住[4],同時(shí)旅客不想對(duì)于這些數(shù)據(jù)進(jìn)行處理。因此如何給旅客提供他們所滿意的酒店正是本文的研究目的。
對(duì)于旅游資源的本體,在本文中包括的主要概念為:酒店類型,酒店的特性(地址,周圍環(huán)境等屬性)等,部分分類信息結(jié)構(gòu)圖如圖1所示。
圖1 部分分類信息結(jié)構(gòu)圖
對(duì)于酒店資源的建模主要解決了一下相關(guān)問題:
1)酒店沒有一致的描述概念;
2)對(duì)于不同的用戶,根據(jù)用戶不同的偏好,他們可以選擇哪些酒店進(jìn)行入住;
3)根據(jù)不同的反饋信息,確定可以選擇的具體范圍。
文中對(duì)于酒店資源本體的描述使用了OWL-DL語言,主要原因是該語言描述的數(shù)據(jù)可以為計(jì)算機(jī)所使用,進(jìn)行本文下一部分的工作,同時(shí)該語言有著比較出色的表達(dá)能力。工具軟件使用Protégé 4.2。
1.2詞匯建模
通過大量的資料收集,可以發(fā)現(xiàn)游客對(duì)于他們具體的需求是沒有明確答案,往往只有某一個(gè)偏向,例如:“近一點(diǎn)”,“價(jià)格便宜舒服一點(diǎn)”,“安靜一點(diǎn)”。針對(duì)這些問題,可以引入需求詞匯表將旅客用戶這類模糊的需求轉(zhuǎn)化為對(duì)推薦信息的有效信息。如表1所示,表1中是詞匯表的一部分,最左邊是需求的類別,主要是一些需求屬性的大框架,表的右邊是對(duì)應(yīng)左邊概念的具體信息,包括一些很具體的選項(xiàng)。當(dāng)用戶提出他們的直接需求時(shí),從左邊的類別中將需求選擇出來,然后在根據(jù)右邊的具體選項(xiàng),得到更為準(zhǔn)確的檢索條件。這里提出的需求詞匯表主要是完成將所有旅客的直接需求在推薦方法中進(jìn)行轉(zhuǎn)化[5]。
表1 用戶需求部分詞匯表
1.3用戶建模
針對(duì)推薦過程中與用戶個(gè)性化匹配的問題,可以通過知識(shí)推理的方式進(jìn)行處理。這就需要根據(jù)數(shù)據(jù)源來建立符合推理的規(guī)則,因此,在這里需要建立一個(gè)通用的用戶資料本體。本文中設(shè)計(jì)用戶的本體主要是考慮旅游用戶的偏好與他們所要尋找的旅館屬性之間的聯(lián)系。
用戶可以在Web網(wǎng)站頁面下進(jìn)行注冊(cè),注冊(cè)信息包括一些個(gè)人的基本信息,然后該類信息被映射到本體中,這些基本信息主要包括:用戶類別、職務(wù)、聯(lián)系方式、個(gè)人相關(guān)的統(tǒng)計(jì)資料(年齡、性別、身份)、興趣等,局部層次框架如圖所示。這些工作主要針對(duì)的是:對(duì)于用戶的一致描述怎樣才是合適的;用戶的哪些基本信息是推薦所需要的核心部分。
這里對(duì)于用戶本體的建模工具和描述語言均與酒店本體的建立相同。
第一次推薦的方式就是為了滿足旅游用戶的直接需求,是指旅游用戶在準(zhǔn)備旅游計(jì)劃時(shí)候提出的最基本的需求。對(duì)用戶的直接需求進(jìn)行處理,在酒店本體中進(jìn)行檢查和搜索[6],將符合滿足該條件的酒店提取出來,同時(shí)將這些提取出來的旅館作為反饋推薦的一部分?jǐn)?shù)據(jù)源。
第一次推薦算法的具體流程如下:
1)首先得到旅游用戶的直接需求。從旅游用戶的直接需求條件中抽取出旅游用戶的關(guān)鍵需求元素 (query element)qei,i∈N+;
2)對(duì)需求的關(guān)鍵因素進(jìn)行分類。首要的任務(wù)是將抽取出來的旅游用戶關(guān)鍵需求元素qei與需求詞匯表中的具體內(nèi)容進(jìn)行數(shù)據(jù)匹配,通過匹配,找到qei所對(duì)應(yīng)的類別屬性Categi。
3)選取第一次過濾的條件。首先在類別屬性抽取出Categi里找出與qei完全等同的全部概念kij,i,j∈N+,將它們表示為(Categi,kij),然后要做的就是將這個(gè)集合作為第一次的信息過濾條件,也就是,用戶所需要的酒店所具有的特點(diǎn)和特征集合為HC={hc1,hc2,hc3……h(huán)cn},這樣就得到最初需要的第一次過濾條件。
4)進(jìn)行搜索符合條件的旅游信息。通過上面得到的第一次過濾條件然后在酒店的本體中進(jìn)行搜索,得出符合條件的酒店集合H={h1,h2,h3……h(huán)n}。
反饋推薦算法就是對(duì)第一次推薦的結(jié)果進(jìn)行一些相關(guān)屬性的特定化匹配。將旅游用戶的興趣偏好推理為相關(guān)的酒店屬性特征,同時(shí)加入旅游用戶的評(píng)價(jià),兩者就組成了新的推薦過濾條件。找出同時(shí)符合旅游用戶需求、酒店個(gè)性化特征和用戶推薦因子高的酒店。
具體反饋推薦的算法如下:
1)首要得到旅游用戶的興趣偏好。實(shí)施過程是在旅游用戶的本體中抽取出目前旅游用戶的Icur所與對(duì)應(yīng)的興趣偏好集合UP={up1,up2,up3……upn};
2)對(duì)反饋過濾的條件進(jìn)行提取。提取的方法為,在用戶的本體中加入新的規(guī)則集合R,然后就可以將興趣偏好集合UP轉(zhuǎn)化為一個(gè)新的酒店屬性集合HC′={hc1′,hc2′,hc3′……h(huán)cn′}。
3)搜索符合新的過濾條件的信息。就是將HC'作為一個(gè)新的過濾條件,對(duì)第一次推薦的結(jié)果在進(jìn)行一次新的反饋推理,通過推理以后,就可以得到新的反饋酒店集合H′={h1′,h2′,h3′……h(huán)n′}。
第一次推薦和反饋推薦的具體流程如圖2所示。
圖2 反饋推薦算法的具體流程
搜索結(jié)果的排序是為了將通過第一次推薦和反饋推薦所得出的信息進(jìn)行一個(gè)權(quán)重表示。計(jì)算推薦得出的每個(gè)酒店的權(quán)重,然后作為它適用度值。具體的方法是通過對(duì)反饋推薦的結(jié)果H′集合中的每一個(gè)酒店進(jìn)行權(quán)重的計(jì)算,計(jì)算所得出的結(jié)果即為適用度值,同時(shí),這里需要考慮用戶反饋因子N,用戶反饋因子N為旅游用戶對(duì)于該酒店的評(píng)價(jià)值,公式如式(1)
式中,A代表旅游用戶對(duì)于該旅店評(píng)價(jià)高的數(shù)量值;B代表所有旅游用戶對(duì)于該酒店的評(píng)價(jià)總數(shù)量值。
具體的推薦算法流程如下:
1)首先得到反饋推薦的集合H′中的酒店集合hi′和與酒店所對(duì)應(yīng)的屬性集合HCi′;
2)通過如下公式(2)計(jì)算酒店hi′的匹配度:
公式中,權(quán)重wij表示旅游用戶的興趣偏好upi與酒店屬性hcj之間的匹配度,這里設(shè)置初值為 1,同時(shí)1也是該參數(shù)的最大值;
3)計(jì)算得出每個(gè)酒店的總權(quán)重,然后對(duì)權(quán)重就行分析;
4)引入旅游用戶反饋因子N,同時(shí)考慮反饋因子權(quán)重μ,然后通過公式(3)計(jì)算得出最后的總匹配度值M:
5)然后根據(jù)總的匹配度值進(jìn)行總匹配度值排序,本文采取的排序方式為從大到小的排序方式。最后將最終的排序結(jié)構(gòu)根據(jù)從大到小的方式獲得最終結(jié)果集合Hresult,推薦給旅游用戶。
5.1系統(tǒng)建模
圖3中是一個(gè)具有3層結(jié)構(gòu)的模型將使用本文提出的反饋推薦算法進(jìn)行推薦的Demo系統(tǒng)模型。每一個(gè)旅游用戶可以在用戶使用界面輸入自己的直接需求,然后系統(tǒng)會(huì)通過獲得的需求信息通過語義匹配在酒店本體中進(jìn)行搜索,獲得第一推薦的結(jié)果,然后就會(huì)進(jìn)行到反饋推薦的模塊,最終獲得最終排序信息,然后推薦給該旅游用戶。其中,旅游用戶可以通過評(píng)價(jià)模塊對(duì)酒店進(jìn)行評(píng)價(jià),方便本文的算法優(yōu)化,反饋的信息將會(huì)保存在數(shù)據(jù)庫中。
圖3 Demo系統(tǒng)架構(gòu)
5.2實(shí)驗(yàn)方法
為了能夠?qū)⒈疚奶岢龅幕诒倔w的反饋推薦算法應(yīng)用到實(shí)踐中去,需要在一個(gè)相對(duì)較大的旅游場(chǎng)景下實(shí)現(xiàn),本文主要設(shè)計(jì)了3次實(shí)驗(yàn)驗(yàn)證算法的實(shí)用性和推薦效果有效性。依據(jù)García-Crespo等的研究,本文對(duì)算法最終的結(jié)果評(píng)價(jià)方面為選擇查重率(Precision)、查準(zhǔn)率(Recall)、以及F,具體計(jì)算機(jī)公式如下:
公式(4)(5)(6)中符合Correct Hotels根據(jù)不同的實(shí)驗(yàn)?zāi)康暮颓闆r主要采用專家和用戶的選擇標(biāo)準(zhǔn)為主。
算法的驗(yàn)證實(shí)驗(yàn)樣本選取了陜西師范大學(xué)在校學(xué)生10名,使用Demo系統(tǒng)來為這些學(xué)生暑假出行時(shí)推薦酒店。同時(shí)邀請(qǐng)3名旅游專家進(jìn)行推薦??紤]到系統(tǒng)的穩(wěn)定性,系統(tǒng)只存儲(chǔ)了關(guān)于西安和咸陽兩個(gè)地區(qū)的酒店信息,酒店數(shù)量總計(jì)為50,對(duì)于這些酒店信息搜索主要來自去哪兒網(wǎng)、攜程網(wǎng)等旅游網(wǎng)站。3次實(shí)驗(yàn)過程最終將Demo系統(tǒng)的推薦與邀請(qǐng)專家的推薦酒店、專家推薦的酒店與廣大用戶最終選擇的旅館、系統(tǒng)推薦與用戶最終選擇的酒店進(jìn)行了對(duì)比統(tǒng)計(jì)。
5.3實(shí)驗(yàn)結(jié)果分析
文中的第一次實(shí)驗(yàn)室主要是為了測(cè)試Demo系統(tǒng)推薦的酒店信息結(jié)果與邀請(qǐng)專家推薦的旅游信息結(jié)果的相似度,最終實(shí)驗(yàn)選取的參考標(biāo)準(zhǔn)主要以邀請(qǐng)的旅游專家推薦的結(jié)果為主。接下來的第二次和第3次的實(shí)驗(yàn)主要是對(duì)比邀請(qǐng)專家推薦的旅游信息結(jié)果與系統(tǒng)推薦的旅游信息結(jié)果、邀請(qǐng)專家推薦的旅游信息結(jié)果與廣大旅游用戶最終選擇的旅游信息結(jié)果。其中,旅游用戶的實(shí)際選擇的結(jié)果數(shù)據(jù)最具有實(shí)際代表意義,所以將50個(gè)旅館信息全部提供給了10個(gè)參與實(shí)驗(yàn)的在校大學(xué)生,每一個(gè)大學(xué)生通過對(duì)于不同信息的分析,讓他們自己選擇他們希望入住的旅館。本次實(shí)驗(yàn)室要求每一個(gè)在校學(xué)生至少選擇2家酒店。表2是3次實(shí)驗(yàn)的最終結(jié)果,每一個(gè)結(jié)果取的是10個(gè)在校學(xué)生的最終平均值。
表2 3次實(shí)驗(yàn)結(jié)果數(shù)據(jù)
從實(shí)驗(yàn)結(jié)果可以看出,第一次實(shí)驗(yàn)中,系統(tǒng)推薦的旅游信息與專家推薦的旅游信息查準(zhǔn)率為58.6%,可以說明系統(tǒng)推薦的旅游信息與邀請(qǐng)專家推薦的信息吻合度為58.6%,顯然,這個(gè)數(shù)據(jù)不是很理想的數(shù)據(jù),但是,由于第一次實(shí)驗(yàn)室沒有反饋因子的加入,所以該實(shí)驗(yàn)結(jié)果依然達(dá)到了不錯(cuò)的效果,但也從另一方面說明了實(shí)驗(yàn)推薦的算法依然有提升空間。
實(shí)驗(yàn)室二中,分別對(duì)用戶的選擇和邀請(qǐng)專家的推薦進(jìn)行了對(duì)比,得出的數(shù)值為72.3%,也就是說明專家推薦的旅館有72.3%能夠被測(cè)試用戶所選擇,可見專家提供的旅游信息建議很能夠反映旅游過程中的實(shí)際情況。其中,查全率88.4%是一個(gè)比較理想的數(shù)據(jù),側(cè)面反映出旅游用戶選擇的酒店幾乎90%和專家推薦的酒店吻合。
最后,在實(shí)驗(yàn)室三中,主要的對(duì)比是系統(tǒng)反饋算法推薦和旅游用戶最終選擇酒店,數(shù)據(jù)結(jié)果為45.6%。數(shù)據(jù)沒有超過50%,分析主要基于兩方面的原因:
1)每一個(gè)旅游用戶的實(shí)際選擇的酒店并不是與邀請(qǐng)專家推薦的酒店100%吻合;
2)邀請(qǐng)專家的推薦為一種最佳的選擇方式,不會(huì)像系統(tǒng)進(jìn)行數(shù)據(jù)運(yùn)算以后進(jìn)行排序,給旅游用戶推薦多個(gè)選擇對(duì)象,系統(tǒng)推薦過程中,只要符合用戶的興趣偏好的旅館都會(huì)被選擇,最終推薦的結(jié)果可能遠(yuǎn)多于專家推薦數(shù)量。
也正是由于上述原因,使得系統(tǒng)最終的查全率高達(dá)90.8%,說明了系統(tǒng)向旅游用戶推薦的旅游信息基本覆蓋了旅游用戶實(shí)際選擇的90.8%。
本文針對(duì)現(xiàn)如今旅游推薦系統(tǒng)的缺陷,提出了一種基于本體的旅游信息反饋推薦算法。最后通過實(shí)驗(yàn),在系統(tǒng)推薦與專家推薦、專家推薦與用戶選擇和系統(tǒng)推薦與用戶選擇3個(gè)方面進(jìn)行了數(shù)據(jù)對(duì)比分析,驗(yàn)證了基于旅游信息反饋推薦算法的優(yōu)越性。
[1]XING Chun-xiao,GAO Feng-rong,ZHAN Si-nan,et al.Aeollaborative filtering recommendation algorithm incorporatedwlth user interest change[J].Journal of ComPuter Researchand Development,2007,44(2):296-301.
[2]熊馨,王衛(wèi)平,葉躍祥.基于概念分層的個(gè)性化推薦算法[J].計(jì)算機(jī)應(yīng)用,2005(5):1006-1008.
[3]StuderR,BenjaminsVR,F(xiàn)enselD.Kllowledge engineering,principles and methods[J].Data and Knowledge Engineering,1998(122):161-197.
[4]劉魯,任曉麗.推薦系統(tǒng)研究進(jìn)展及展望[J].信息系統(tǒng)學(xué)報(bào),2(1):82-90.
[5]Karypis G Evaluation of item-based top-n recommendation algorithms[C]//Proc of the 10th Int Conf on Information and Knowledge Management,New York:ACM Press,2001:247-254.
[6]許建潮,王紅梅.改進(jìn)的協(xié)同過濾算法[J].吉林大學(xué)學(xué)報(bào),2008,26(l):99-105.
Research on recommendation algorithm of tourism resources based on ontology
GUO Xiu-qi
(College of Computer Science,Shaanxi Normal University,Xi'an 710119,China)
This article regards tourism hotels as resources,described by introducing the theory of the ontology.And we put forward a feedback recommendation algorithm based on ontology for tourism resources to solve the existed problem of recommendation system.Take a simple example like facing the choice of users on hotels,we can convert all needs of users into data sets,which could match with information about the property of hotels.Next with the first recommendation and the introduction of the feedback process of recommendation factor,we can recommend the best sorts of hotels to users and take comparably setup to the part of users'assessment and relevant tourism information.By this way,the compatibility between the results of recommendation and demand of users get improved.
ontology;tourism resources;recommend feedback;travel user
TN918
A
1674-6236(2016)06-0108-03
2015-05-10稿件編號(hào):201505084
郭秀琪(1989—),女,黑龍江綏化人,碩士研究生。研究方向:智能推薦。