郭秀琪
(陜西師范大學 計算機科學學院,陜西 西安 710119)
基于本體的旅游資源推薦算法研究
郭秀琪
(陜西師范大學 計算機科學學院,陜西 西安710119)
文中針對現如今旅游推薦系統的缺陷,以旅游酒店作為旅游資源,引用本體對旅游資源進行描述,提出了一種基于本體的旅游資源反饋推薦算法。以旅游用戶酒店選擇為例,本文將每一個旅游用戶的直接需求轉化為計算機能夠進行匹配的數據集合,與酒店屬性信息進行匹配,然后通過第一次推薦和引入反饋因子的反饋推薦過程,將最佳的酒店排序信息推薦給旅游用戶,并且對用戶評價的信息與相關旅游信息進行權重設置,進一步提高了推薦結果和用戶需求的匹配度。
本體;旅游資源;反饋推薦;旅游用戶
隨著網絡技術的普及和發展,旅游業的無限潛力正可以借網絡的東風得到最大限度的挖掘,旅游平臺構建的完善性和完美型對于旅游業的發展有著重要的意義。應時出現的旅游推薦系統,將一切可以利用的因素進行整合[1],使得單一的搜索與實際的問題進行了匹配,從而將信息資源與實際需求有效地結合在了一起。一個功能優秀的系統,會對用戶的需求信息進行一個高效的篩選,然后將最合適的信息展現在用戶眼前[2]。怎樣才能夠給旅游用戶推薦出滿足用戶需求并能夠實惠的旅游計劃需求已經越來越迫切[3]。本文就是基于這樣的現狀以旅游系統的推薦算法為切入點對旅游推薦系統的優化進行了一些思考和探索。
1.1對旅游資源建模
文中將從旅游用戶的住宿問題著手,把酒店作為研究的旅游資源,對其進行語言的描述。在這里,本體就是一種語言資源的描述手段,它能夠提供一些主要的數據服務以便進一步的操作。出于不同的研究目的,對不同分類的酒店研究的側重點也不相同。現如今,面對海量的數據,旅客想要獲得他們想要的酒店信息進行入住[4],同時旅客不想對于這些數據進行處理。因此如何給旅客提供他們所滿意的酒店正是本文的研究目的。
對于旅游資源的本體,在本文中包括的主要概念為:酒店類型,酒店的特性(地址,周圍環境等屬性)等,部分分類信息結構圖如圖1所示。

圖1 部分分類信息結構圖
對于酒店資源的建模主要解決了一下相關問題:
1)酒店沒有一致的描述概念;
2)對于不同的用戶,根據用戶不同的偏好,他們可以選擇哪些酒店進行入住;
3)根據不同的反饋信息,確定可以選擇的具體范圍。
文中對于酒店資源本體的描述使用了OWL-DL語言,主要原因是該語言描述的數據可以為計算機所使用,進行本文下一部分的工作,同時該語言有著比較出色的表達能力。工具軟件使用Protégé 4.2。
1.2詞匯建模
通過大量的資料收集,可以發現游客對于他們具體的需求是沒有明確答案,往往只有某一個偏向,例如:“近一點”,“價格便宜舒服一點”,“安靜一點”。針對這些問題,可以引入需求詞匯表將旅客用戶這類模糊的需求轉化為對推薦信息的有效信息。如表1所示,表1中是詞匯表的一部分,最左邊是需求的類別,主要是一些需求屬性的大框架,表的右邊是對應左邊概念的具體信息,包括一些很具體的選項。當用戶提出他們的直接需求時,從左邊的類別中將需求選擇出來,然后在根據右邊的具體選項,得到更為準確的檢索條件。這里提出的需求詞匯表主要是完成將所有旅客的直接需求在推薦方法中進行轉化[5]。

表1 用戶需求部分詞匯表
1.3用戶建模
針對推薦過程中與用戶個性化匹配的問題,可以通過知識推理的方式進行處理。這就需要根據數據源來建立符合推理的規則,因此,在這里需要建立一個通用的用戶資料本體。本文中設計用戶的本體主要是考慮旅游用戶的偏好與他們所要尋找的旅館屬性之間的聯系。
用戶可以在Web網站頁面下進行注冊,注冊信息包括一些個人的基本信息,然后該類信息被映射到本體中,這些基本信息主要包括:用戶類別、職務、聯系方式、個人相關的統計資料(年齡、性別、身份)、興趣等,局部層次框架如圖所示。這些工作主要針對的是:對于用戶的一致描述怎樣才是合適的;用戶的哪些基本信息是推薦所需要的核心部分。
這里對于用戶本體的建模工具和描述語言均與酒店本體的建立相同。
第一次推薦的方式就是為了滿足旅游用戶的直接需求,是指旅游用戶在準備旅游計劃時候提出的最基本的需求。對用戶的直接需求進行處理,在酒店本體中進行檢查和搜索[6],將符合滿足該條件的酒店提取出來,同時將這些提取出來的旅館作為反饋推薦的一部分數據源。
第一次推薦算法的具體流程如下:
1)首先得到旅游用戶的直接需求。從旅游用戶的直接需求條件中抽取出旅游用戶的關鍵需求元素 (query element)qei,i∈N+;
2)對需求的關鍵因素進行分類。首要的任務是將抽取出來的旅游用戶關鍵需求元素qei與需求詞匯表中的具體內容進行數據匹配,通過匹配,找到qei所對應的類別屬性Categi。
3)選取第一次過濾的條件。首先在類別屬性抽取出Categi里找出與qei完全等同的全部概念kij,i,j∈N+,將它們表示為(Categi,kij),然后要做的就是將這個集合作為第一次的信息過濾條件,也就是,用戶所需要的酒店所具有的特點和特征集合為HC={hc1,hc2,hc3……hcn},這樣就得到最初需要的第一次過濾條件。
4)進行搜索符合條件的旅游信息。通過上面得到的第一次過濾條件然后在酒店的本體中進行搜索,得出符合條件的酒店集合H={h1,h2,h3……hn}。
反饋推薦算法就是對第一次推薦的結果進行一些相關屬性的特定化匹配。將旅游用戶的興趣偏好推理為相關的酒店屬性特征,同時加入旅游用戶的評價,兩者就組成了新的推薦過濾條件。找出同時符合旅游用戶需求、酒店個性化特征和用戶推薦因子高的酒店。
具體反饋推薦的算法如下:
1)首要得到旅游用戶的興趣偏好。實施過程是在旅游用戶的本體中抽取出目前旅游用戶的Icur所與對應的興趣偏好集合UP={up1,up2,up3……upn};
2)對反饋過濾的條件進行提取。提取的方法為,在用戶的本體中加入新的規則集合R,然后就可以將興趣偏好集合UP轉化為一個新的酒店屬性集合HC′={hc1′,hc2′,hc3′……hcn′}。
3)搜索符合新的過濾條件的信息。就是將HC'作為一個新的過濾條件,對第一次推薦的結果在進行一次新的反饋推理,通過推理以后,就可以得到新的反饋酒店集合H′={h1′,h2′,h3′……hn′}。
第一次推薦和反饋推薦的具體流程如圖2所示。

圖2 反饋推薦算法的具體流程
搜索結果的排序是為了將通過第一次推薦和反饋推薦所得出的信息進行一個權重表示。計算推薦得出的每個酒店的權重,然后作為它適用度值。具體的方法是通過對反饋推薦的結果H′集合中的每一個酒店進行權重的計算,計算所得出的結果即為適用度值,同時,這里需要考慮用戶反饋因子N,用戶反饋因子N為旅游用戶對于該酒店的評價值,公式如式(1)

式中,A代表旅游用戶對于該旅店評價高的數量值;B代表所有旅游用戶對于該酒店的評價總數量值。
具體的推薦算法流程如下:
1)首先得到反饋推薦的集合H′中的酒店集合hi′和與酒店所對應的屬性集合HCi′;
2)通過如下公式(2)計算酒店hi′的匹配度:

公式中,權重wij表示旅游用戶的興趣偏好upi與酒店屬性hcj之間的匹配度,這里設置初值為 1,同時1也是該參數的最大值;
3)計算得出每個酒店的總權重,然后對權重就行分析;
4)引入旅游用戶反饋因子N,同時考慮反饋因子權重μ,然后通過公式(3)計算得出最后的總匹配度值M:

5)然后根據總的匹配度值進行總匹配度值排序,本文采取的排序方式為從大到小的排序方式。最后將最終的排序結構根據從大到小的方式獲得最終結果集合Hresult,推薦給旅游用戶。
5.1系統建模
圖3中是一個具有3層結構的模型將使用本文提出的反饋推薦算法進行推薦的Demo系統模型。每一個旅游用戶可以在用戶使用界面輸入自己的直接需求,然后系統會通過獲得的需求信息通過語義匹配在酒店本體中進行搜索,獲得第一推薦的結果,然后就會進行到反饋推薦的模塊,最終獲得最終排序信息,然后推薦給該旅游用戶。其中,旅游用戶可以通過評價模塊對酒店進行評價,方便本文的算法優化,反饋的信息將會保存在數據庫中。

圖3 Demo系統架構
5.2實驗方法
為了能夠將本文提出的基于本體的反饋推薦算法應用到實踐中去,需要在一個相對較大的旅游場景下實現,本文主要設計了3次實驗驗證算法的實用性和推薦效果有效性。依據García-Crespo等的研究,本文對算法最終的結果評價方面為選擇查重率(Precision)、查準率(Recall)、以及F,具體計算機公式如下:

公式(4)(5)(6)中符合Correct Hotels根據不同的實驗目的和情況主要采用專家和用戶的選擇標準為主。
算法的驗證實驗樣本選取了陜西師范大學在校學生10名,使用Demo系統來為這些學生暑假出行時推薦酒店。同時邀請3名旅游專家進行推薦。考慮到系統的穩定性,系統只存儲了關于西安和咸陽兩個地區的酒店信息,酒店數量總計為50,對于這些酒店信息搜索主要來自去哪兒網、攜程網等旅游網站。3次實驗過程最終將Demo系統的推薦與邀請專家的推薦酒店、專家推薦的酒店與廣大用戶最終選擇的旅館、系統推薦與用戶最終選擇的酒店進行了對比統計。
5.3實驗結果分析
文中的第一次實驗室主要是為了測試Demo系統推薦的酒店信息結果與邀請專家推薦的旅游信息結果的相似度,最終實驗選取的參考標準主要以邀請的旅游專家推薦的結果為主。接下來的第二次和第3次的實驗主要是對比邀請專家推薦的旅游信息結果與系統推薦的旅游信息結果、邀請專家推薦的旅游信息結果與廣大旅游用戶最終選擇的旅游信息結果。其中,旅游用戶的實際選擇的結果數據最具有實際代表意義,所以將50個旅館信息全部提供給了10個參與實驗的在校大學生,每一個大學生通過對于不同信息的分析,讓他們自己選擇他們希望入住的旅館。本次實驗室要求每一個在校學生至少選擇2家酒店。表2是3次實驗的最終結果,每一個結果取的是10個在校學生的最終平均值。

表2 3次實驗結果數據
從實驗結果可以看出,第一次實驗中,系統推薦的旅游信息與專家推薦的旅游信息查準率為58.6%,可以說明系統推薦的旅游信息與邀請專家推薦的信息吻合度為58.6%,顯然,這個數據不是很理想的數據,但是,由于第一次實驗室沒有反饋因子的加入,所以該實驗結果依然達到了不錯的效果,但也從另一方面說明了實驗推薦的算法依然有提升空間。
實驗室二中,分別對用戶的選擇和邀請專家的推薦進行了對比,得出的數值為72.3%,也就是說明專家推薦的旅館有72.3%能夠被測試用戶所選擇,可見專家提供的旅游信息建議很能夠反映旅游過程中的實際情況。其中,查全率88.4%是一個比較理想的數據,側面反映出旅游用戶選擇的酒店幾乎90%和專家推薦的酒店吻合。
最后,在實驗室三中,主要的對比是系統反饋算法推薦和旅游用戶最終選擇酒店,數據結果為45.6%。數據沒有超過50%,分析主要基于兩方面的原因:
1)每一個旅游用戶的實際選擇的酒店并不是與邀請專家推薦的酒店100%吻合;
2)邀請專家的推薦為一種最佳的選擇方式,不會像系統進行數據運算以后進行排序,給旅游用戶推薦多個選擇對象,系統推薦過程中,只要符合用戶的興趣偏好的旅館都會被選擇,最終推薦的結果可能遠多于專家推薦數量。
也正是由于上述原因,使得系統最終的查全率高達90.8%,說明了系統向旅游用戶推薦的旅游信息基本覆蓋了旅游用戶實際選擇的90.8%。
本文針對現如今旅游推薦系統的缺陷,提出了一種基于本體的旅游信息反饋推薦算法。最后通過實驗,在系統推薦與專家推薦、專家推薦與用戶選擇和系統推薦與用戶選擇3個方面進行了數據對比分析,驗證了基于旅游信息反饋推薦算法的優越性。
[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]熊馨,王衛平,葉躍祥.基于概念分層的個性化推薦算法[J].計算機應用,2005(5):1006-1008.
[3]StuderR,BenjaminsVR,FenselD.Kllowledge engineering,principles and methods[J].Data and Knowledge Engineering,1998(122):161-197.
[4]劉魯,任曉麗.推薦系統研究進展及展望[J].信息系統學報,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].吉林大學學報,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—),女,黑龍江綏化人,碩士研究生。研究方向:智能推薦。