郭秀琪
(陜西師范大學(xué) 計算機科學(xué)學(xué)院,陜西 西安 710119)
基于本體的旅游資源推薦算法研究
郭秀琪
(陜西師范大學(xué) 計算機科學(xué)學(xué)院,陜西 西安710119)
文中針對現(xiàn)如今旅游推薦系統(tǒng)的缺陷,以旅游酒店作為旅游資源,引用本體對旅游資源進行描述,提出了一種基于本體的旅游資源反饋推薦算法。以旅游用戶酒店選擇為例,本文將每一個旅游用戶的直接需求轉(zhuǎn)化為計算機能夠進行匹配的數(shù)據(jù)集合,與酒店屬性信息進行匹配,然后通過第一次推薦和引入反饋因子的反饋推薦過程,將最佳的酒店排序信息推薦給旅游用戶,并且對用戶評價的信息與相關(guān)旅游信息進行權(quán)重設(shè)置,進一步提高了推薦結(jié)果和用戶需求的匹配度。
本體;旅游資源;反饋推薦;旅游用戶
隨著網(wǎng)絡(luò)技術(shù)的普及和發(fā)展,旅游業(yè)的無限潛力正可以借網(wǎng)絡(luò)的東風(fēng)得到最大限度的挖掘,旅游平臺構(gòu)建的完善性和完美型對于旅游業(yè)的發(fā)展有著重要的意義。應(yīng)時出現(xiàn)的旅游推薦系統(tǒng),將一切可以利用的因素進行整合[1],使得單一的搜索與實際的問題進行了匹配,從而將信息資源與實際需求有效地結(jié)合在了一起。一個功能優(yōu)秀的系統(tǒng),會對用戶的需求信息進行一個高效的篩選,然后將最合適的信息展現(xiàn)在用戶眼前[2]。怎樣才能夠給旅游用戶推薦出滿足用戶需求并能夠?qū)嵒莸穆糜斡媱澬枨笠呀?jīng)越來越迫切[3]。本文就是基于這樣的現(xiàn)狀以旅游系統(tǒng)的推薦算法為切入點對旅游推薦系統(tǒng)的優(yōu)化進行了一些思考和探索。
1.1對旅游資源建模
文中將從旅游用戶的住宿問題著手,把酒店作為研究的旅游資源,對其進行語言的描述。在這里,本體就是一種語言資源的描述手段,它能夠提供一些主要的數(shù)據(jù)服務(wù)以便進一步的操作。出于不同的研究目的,對不同分類的酒店研究的側(cè)重點也不相同。現(xiàn)如今,面對海量的數(shù)據(jù),旅客想要獲得他們想要的酒店信息進行入住[4],同時旅客不想對于這些數(shù)據(jù)進行處理。因此如何給旅客提供他們所滿意的酒店正是本文的研究目的。
對于旅游資源的本體,在本文中包括的主要概念為:酒店類型,酒店的特性(地址,周圍環(huán)境等屬性)等,部分分類信息結(jié)構(gòu)圖如圖1所示。
圖1 部分分類信息結(jié)構(gòu)圖
對于酒店資源的建模主要解決了一下相關(guān)問題:
1)酒店沒有一致的描述概念;
2)對于不同的用戶,根據(jù)用戶不同的偏好,他們可以選擇哪些酒店進行入??;
3)根據(jù)不同的反饋信息,確定可以選擇的具體范圍。
文中對于酒店資源本體的描述使用了OWL-DL語言,主要原因是該語言描述的數(shù)據(jù)可以為計算機所使用,進行本文下一部分的工作,同時該語言有著比較出色的表達能力。工具軟件使用Protégé 4.2。
1.2詞匯建模
通過大量的資料收集,可以發(fā)現(xiàn)游客對于他們具體的需求是沒有明確答案,往往只有某一個偏向,例如:“近一點”,“價格便宜舒服一點”,“安靜一點”。針對這些問題,可以引入需求詞匯表將旅客用戶這類模糊的需求轉(zhuǎn)化為對推薦信息的有效信息。如表1所示,表1中是詞匯表的一部分,最左邊是需求的類別,主要是一些需求屬性的大框架,表的右邊是對應(yīng)左邊概念的具體信息,包括一些很具體的選項。當(dāng)用戶提出他們的直接需求時,從左邊的類別中將需求選擇出來,然后在根據(jù)右邊的具體選項,得到更為準確的檢索條件。這里提出的需求詞匯表主要是完成將所有旅客的直接需求在推薦方法中進行轉(zhuǎn)化[5]。
表1 用戶需求部分詞匯表
1.3用戶建模
針對推薦過程中與用戶個性化匹配的問題,可以通過知識推理的方式進行處理。這就需要根據(jù)數(shù)據(jù)源來建立符合推理的規(guī)則,因此,在這里需要建立一個通用的用戶資料本體。本文中設(shè)計用戶的本體主要是考慮旅游用戶的偏好與他們所要尋找的旅館屬性之間的聯(lián)系。
用戶可以在Web網(wǎng)站頁面下進行注冊,注冊信息包括一些個人的基本信息,然后該類信息被映射到本體中,這些基本信息主要包括:用戶類別、職務(wù)、聯(lián)系方式、個人相關(guān)的統(tǒng)計資料(年齡、性別、身份)、興趣等,局部層次框架如圖所示。這些工作主要針對的是:對于用戶的一致描述怎樣才是合適的;用戶的哪些基本信息是推薦所需要的核心部分。
這里對于用戶本體的建模工具和描述語言均與酒店本體的建立相同。
第一次推薦的方式就是為了滿足旅游用戶的直接需求,是指旅游用戶在準備旅游計劃時候提出的最基本的需求。對用戶的直接需求進行處理,在酒店本體中進行檢查和搜索[6],將符合滿足該條件的酒店提取出來,同時將這些提取出來的旅館作為反饋推薦的一部分數(shù)據(jù)源。
第一次推薦算法的具體流程如下:
1)首先得到旅游用戶的直接需求。從旅游用戶的直接需求條件中抽取出旅游用戶的關(guān)鍵需求元素 (query element)qei,i∈N+;
2)對需求的關(guān)鍵因素進行分類。首要的任務(wù)是將抽取出來的旅游用戶關(guān)鍵需求元素qei與需求詞匯表中的具體內(nèi)容進行數(shù)據(jù)匹配,通過匹配,找到qei所對應(yīng)的類別屬性Categi。
3)選取第一次過濾的條件。首先在類別屬性抽取出Categi里找出與qei完全等同的全部概念kij,i,j∈N+,將它們表示為(Categi,kij),然后要做的就是將這個集合作為第一次的信息過濾條件,也就是,用戶所需要的酒店所具有的特點和特征集合為HC={hc1,hc2,hc3……h(huán)cn},這樣就得到最初需要的第一次過濾條件。
4)進行搜索符合條件的旅游信息。通過上面得到的第一次過濾條件然后在酒店的本體中進行搜索,得出符合條件的酒店集合H={h1,h2,h3……h(huán)n}。
反饋推薦算法就是對第一次推薦的結(jié)果進行一些相關(guān)屬性的特定化匹配。將旅游用戶的興趣偏好推理為相關(guān)的酒店屬性特征,同時加入旅游用戶的評價,兩者就組成了新的推薦過濾條件。找出同時符合旅游用戶需求、酒店個性化特征和用戶推薦因子高的酒店。
具體反饋推薦的算法如下:
1)首要得到旅游用戶的興趣偏好。實施過程是在旅游用戶的本體中抽取出目前旅游用戶的Icur所與對應(yīng)的興趣偏好集合UP={up1,up2,up3……upn};
2)對反饋過濾的條件進行提取。提取的方法為,在用戶的本體中加入新的規(guī)則集合R,然后就可以將興趣偏好集合UP轉(zhuǎn)化為一個新的酒店屬性集合HC′={hc1′,hc2′,hc3′……h(huán)cn′}。
3)搜索符合新的過濾條件的信息。就是將HC'作為一個新的過濾條件,對第一次推薦的結(jié)果在進行一次新的反饋推理,通過推理以后,就可以得到新的反饋酒店集合H′={h1′,h2′,h3′……h(huán)n′}。
第一次推薦和反饋推薦的具體流程如圖2所示。
圖2 反饋推薦算法的具體流程
搜索結(jié)果的排序是為了將通過第一次推薦和反饋推薦所得出的信息進行一個權(quán)重表示。計算推薦得出的每個酒店的權(quán)重,然后作為它適用度值。具體的方法是通過對反饋推薦的結(jié)果H′集合中的每一個酒店進行權(quán)重的計算,計算所得出的結(jié)果即為適用度值,同時,這里需要考慮用戶反饋因子N,用戶反饋因子N為旅游用戶對于該酒店的評價值,公式如式(1)
式中,A代表旅游用戶對于該旅店評價高的數(shù)量值;B代表所有旅游用戶對于該酒店的評價總數(shù)量值。
具體的推薦算法流程如下:
1)首先得到反饋推薦的集合H′中的酒店集合hi′和與酒店所對應(yīng)的屬性集合HCi′;
2)通過如下公式(2)計算酒店hi′的匹配度:
公式中,權(quán)重wij表示旅游用戶的興趣偏好upi與酒店屬性hcj之間的匹配度,這里設(shè)置初值為 1,同時1也是該參數(shù)的最大值;
3)計算得出每個酒店的總權(quán)重,然后對權(quán)重就行分析;
4)引入旅游用戶反饋因子N,同時考慮反饋因子權(quán)重μ,然后通過公式(3)計算得出最后的總匹配度值M:
5)然后根據(jù)總的匹配度值進行總匹配度值排序,本文采取的排序方式為從大到小的排序方式。最后將最終的排序結(jié)構(gòu)根據(jù)從大到小的方式獲得最終結(jié)果集合Hresult,推薦給旅游用戶。
5.1系統(tǒng)建模
圖3中是一個具有3層結(jié)構(gòu)的模型將使用本文提出的反饋推薦算法進行推薦的Demo系統(tǒng)模型。每一個旅游用戶可以在用戶使用界面輸入自己的直接需求,然后系統(tǒng)會通過獲得的需求信息通過語義匹配在酒店本體中進行搜索,獲得第一推薦的結(jié)果,然后就會進行到反饋推薦的模塊,最終獲得最終排序信息,然后推薦給該旅游用戶。其中,旅游用戶可以通過評價模塊對酒店進行評價,方便本文的算法優(yōu)化,反饋的信息將會保存在數(shù)據(jù)庫中。
圖3 Demo系統(tǒng)架構(gòu)
5.2實驗方法
為了能夠?qū)⒈疚奶岢龅幕诒倔w的反饋推薦算法應(yīng)用到實踐中去,需要在一個相對較大的旅游場景下實現(xiàn),本文主要設(shè)計了3次實驗驗證算法的實用性和推薦效果有效性。依據(jù)García-Crespo等的研究,本文對算法最終的結(jié)果評價方面為選擇查重率(Precision)、查準率(Recall)、以及F,具體計算機公式如下:
公式(4)(5)(6)中符合Correct Hotels根據(jù)不同的實驗?zāi)康暮颓闆r主要采用專家和用戶的選擇標準為主。
算法的驗證實驗樣本選取了陜西師范大學(xué)在校學(xué)生10名,使用Demo系統(tǒng)來為這些學(xué)生暑假出行時推薦酒店。同時邀請3名旅游專家進行推薦。考慮到系統(tǒng)的穩(wěn)定性,系統(tǒng)只存儲了關(guān)于西安和咸陽兩個地區(qū)的酒店信息,酒店數(shù)量總計為50,對于這些酒店信息搜索主要來自去哪兒網(wǎng)、攜程網(wǎng)等旅游網(wǎng)站。3次實驗過程最終將Demo系統(tǒng)的推薦與邀請專家的推薦酒店、專家推薦的酒店與廣大用戶最終選擇的旅館、系統(tǒng)推薦與用戶最終選擇的酒店進行了對比統(tǒng)計。
5.3實驗結(jié)果分析
文中的第一次實驗室主要是為了測試Demo系統(tǒng)推薦的酒店信息結(jié)果與邀請專家推薦的旅游信息結(jié)果的相似度,最終實驗選取的參考標準主要以邀請的旅游專家推薦的結(jié)果為主。接下來的第二次和第3次的實驗主要是對比邀請專家推薦的旅游信息結(jié)果與系統(tǒng)推薦的旅游信息結(jié)果、邀請專家推薦的旅游信息結(jié)果與廣大旅游用戶最終選擇的旅游信息結(jié)果。其中,旅游用戶的實際選擇的結(jié)果數(shù)據(jù)最具有實際代表意義,所以將50個旅館信息全部提供給了10個參與實驗的在校大學(xué)生,每一個大學(xué)生通過對于不同信息的分析,讓他們自己選擇他們希望入住的旅館。本次實驗室要求每一個在校學(xué)生至少選擇2家酒店。表2是3次實驗的最終結(jié)果,每一個結(jié)果取的是10個在校學(xué)生的最終平均值。
表2 3次實驗結(jié)果數(shù)據(jù)
從實驗結(jié)果可以看出,第一次實驗中,系統(tǒng)推薦的旅游信息與專家推薦的旅游信息查準率為58.6%,可以說明系統(tǒng)推薦的旅游信息與邀請專家推薦的信息吻合度為58.6%,顯然,這個數(shù)據(jù)不是很理想的數(shù)據(jù),但是,由于第一次實驗室沒有反饋因子的加入,所以該實驗結(jié)果依然達到了不錯的效果,但也從另一方面說明了實驗推薦的算法依然有提升空間。
實驗室二中,分別對用戶的選擇和邀請專家的推薦進行了對比,得出的數(shù)值為72.3%,也就是說明專家推薦的旅館有72.3%能夠被測試用戶所選擇,可見專家提供的旅游信息建議很能夠反映旅游過程中的實際情況。其中,查全率88.4%是一個比較理想的數(shù)據(jù),側(cè)面反映出旅游用戶選擇的酒店幾乎90%和專家推薦的酒店吻合。
最后,在實驗室三中,主要的對比是系統(tǒng)反饋算法推薦和旅游用戶最終選擇酒店,數(shù)據(jù)結(jié)果為45.6%。數(shù)據(jù)沒有超過50%,分析主要基于兩方面的原因:
1)每一個旅游用戶的實際選擇的酒店并不是與邀請專家推薦的酒店100%吻合;
2)邀請專家的推薦為一種最佳的選擇方式,不會像系統(tǒng)進行數(shù)據(jù)運算以后進行排序,給旅游用戶推薦多個選擇對象,系統(tǒng)推薦過程中,只要符合用戶的興趣偏好的旅館都會被選擇,最終推薦的結(jié)果可能遠多于專家推薦數(shù)量。
也正是由于上述原因,使得系統(tǒng)最終的查全率高達90.8%,說明了系統(tǒng)向旅游用戶推薦的旅游信息基本覆蓋了旅游用戶實際選擇的90.8%。
本文針對現(xiàn)如今旅游推薦系統(tǒng)的缺陷,提出了一種基于本體的旅游信息反饋推薦算法。最后通過實驗,在系統(tǒng)推薦與專家推薦、專家推薦與用戶選擇和系統(tǒng)推薦與用戶選擇3個方面進行了數(shù)據(jù)對比分析,驗證了基于旅游信息反饋推薦算法的優(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)平,葉躍祥.基于概念分層的個性化推薦算法[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].信息系統(tǒng)學(xué)報,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]許建潮,王紅梅.改進的協(xié)同過濾算法[J].吉林大學(xué)學(xué)報,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稿件編號:201505084
郭秀琪(1989—),女,黑龍江綏化人,碩士研究生。研究方向:智能推薦。