廖 旺 宇
(四川旅游學院信息與工程學院 四川 成都 610100)
隨著互聯(lián)網(wǎng)技術(shù)快速發(fā)展、移動端設(shè)備迅速普及,越來越多的旅行者將旅行經(jīng)驗、建議和體驗等通過游記的形式發(fā)布到在線社交平臺。游記中含有大量不同游客的獨特體驗和可靠的出行建議,為計劃出行者的景點和線路甄選提供了極佳的參考依據(jù)。從爆炸式增長、龐雜多樣的游記中,獲取歷史游客的偏好、習慣以及景點的流行度等信息進行更精確的個性化旅游路線推薦[1-2],成為了目前旅游路線推薦的研究熱點[3]。
根據(jù)數(shù)據(jù)來源可以將路線推薦方法分為兩類:基于游客分享的文字信息和評論的推薦[4-6]、基于游客分享的帶有相關(guān)屬性記錄的照片的旅游路線推薦[7-13]。
文獻[4]對游記文本進行挖掘、發(fā)現(xiàn)并聚合景點特色進行路線推薦;文獻[5]通過提取游記中的地理名詞并結(jié)合關(guān)聯(lián)規(guī)則和決策樹等方法進行路線推薦。但它們均只進行了文本分析,忽略了游記中包含的大量圖片信息。文獻[7]利用圖片中的定位信息和拍攝時間推導(dǎo)出游客在景點的逗留時間用以計算游客偏好和景點流行度并開展路線推薦;文獻[8]利用社交媒體發(fā)布的圖片按照聚類得到的區(qū)域進行景點區(qū)域推薦;文獻[12]利用貝葉斯模型基于游客發(fā)布的照片分析游客特征和旅游群體特性進行路線推薦。但它們僅分析了圖片信息,忽略了文本,社交媒體發(fā)布的海量游記卻往往圖文并茂。
此外,基于隱私保護等考慮,國內(nèi)社交媒體中發(fā)布的游記中的照片往往刻意隱去了部分屬性數(shù)據(jù),如:GPS定位和拍攝時間等。上述屬性的缺失可能導(dǎo)致游客偏好和景點流行度計算工作無法完成。本文改用游記中游客在各景點拍攝的圖片數(shù)量計算游客偏好和景點流行度,并輔以游記的文本描述彌補由此導(dǎo)致的部分屬性數(shù)據(jù)缺失的問題。因此,綜合利用圖片和文字信息往往能獲得更準確的推薦結(jié)果。
文獻[9,13]結(jié)合游客發(fā)布的地理位置信息提出基于景點流行度的路線推薦,但它們僅考察了景點的流行度,忽略了游客偏好或興趣點(Point of Interest,POI)類型。文獻[11,15]主要運用游客偏好進行旅游路線推薦,沒有考慮景點流行度及游客指定的起止點或途經(jīng)點。
本文提出一種個性化旅游路線推薦(Personal Trip Recommendation based on Interest and Popularity,PTRIP)算法。該算法綜合考慮了網(wǎng)絡(luò)游記中文字描述和照片數(shù)據(jù),利用景點共現(xiàn)信息和游客對某類POI所拍攝的照片數(shù)量等分別計算出景點流行度和游客對各類景點的偏好,并結(jié)合游客在POI間轉(zhuǎn)換的時間成本,生成了旅游路線轉(zhuǎn)移圖,進行旅游路線推薦。與原有方法相比較,本文算法同時利用了游記中的文本和圖片信息,綜合考慮了游客偏好和景點流行度兩項因素,有效提高了推薦的準確率。
設(shè)POI轉(zhuǎn)移圖為G=
圖1 POI轉(zhuǎn)移圖示例
定義1游客偏好集合。給定游客t,其對類別為ci的POI的偏好程度的集合可以表示為:Int(t)=
定義2POI間的交通成本。游客從pi到pj所需的交通成本定義為:
cost(pi,pj)=distance(pi,pj)/speed
(1)
式中:distance(pi,pj)表示pi和pj之間的距離,其值為高德地圖所記載的POI之間的實際距離。由于公交游覽和自駕游覽方式受交通狀況影響較大,一般情況下,游客步行耗時則在可預(yù)測范圍內(nèi)[16],本文統(tǒng)一選取POI間步行轉(zhuǎn)換耗時作為出行時間代價度量方式,取speed=5 km/h。
定義3POI評分。本文的POI評分由景點流行度和游客興趣偏好按權(quán)重綜合計算得到。對類別為ci的POIpi的評分定義為:
score(pi)=α·Int(t,ci)+(1-α)·pop(pi)
(2)
式中:pop(pi)為POIpi的流行度;α為權(quán)重調(diào)節(jié)參數(shù)。
定義4游客收益。給定游客t、路線景點總數(shù)n和POI評分集合,游客收益定義為:
(3)
本文提出的旅游路線推薦算法分為數(shù)據(jù)預(yù)處理、POI模式處理及關(guān)聯(lián)圖構(gòu)建和游客興趣偏好學習及路線推薦。采用離線方式構(gòu)建POI轉(zhuǎn)移圖并學習游客的興趣偏好,通過分析游記中的景點共現(xiàn)信息和照片數(shù)據(jù)得到POI的流行程度和游客偏好。采用在線方式進行路線推薦,根據(jù)游客輸入的個人信息、預(yù)計游覽的景點個數(shù)和指定的游覽點,利用本文提出的PTRIP算法,綜合考慮POI流行度和游客偏好,將游客收益最高的路線推薦給游客。詳細框架如圖2所示。
圖2 旅游路線推薦框架圖
本文采用離線方式構(gòu)造POI轉(zhuǎn)移圖,將所有POI作為途中的結(jié)點,游客連續(xù)訪問圖中的有向邊可以生成旅游路線。
2.2.1游記映射
游客分享的網(wǎng)絡(luò)游記中含有出行路線、旅行感受等文字描述信息和其在各景點所拍攝的照片,并能夠提取出游記編號和游客編號。通過對文本信息的分詞操作,結(jié)合照片中的位置信息可以提取出游客游玩的POI列表St=(p1,p2,…,pn)。同時,通過高德地圖可以獲取到列表中兩兩相鄰的POI之間的實際出行距離,并以步行方式計算POI間轉(zhuǎn)換的時間成本。
2.2.2POI的流行度
本文的POI流行度由游客分享的歷史游記中的照片數(shù)量和景點共現(xiàn)信息按權(quán)重綜合計算得出,方法如下式所示:
(4)
式中:N(p)表示游覽過POIp的游客所拍攝的照片總數(shù);Nmax表示所有游客在同類別POI中照片數(shù)最多的POI拍攝的照片數(shù);F(p)表示游記中POIp被提及的次數(shù);Fmax表示游記中同類別POI中被提及頻率最高的POI被提及的次數(shù);β為權(quán)重調(diào)節(jié)參數(shù)。
本文利用網(wǎng)絡(luò)中分享的游記,基于照片數(shù)量定義游客的興趣偏好。游客在前往一個POI游覽時,往往會對自己感興趣的內(nèi)容拍照留念??梢愿鶕?jù)游記的記錄計算出所有游客對于任意一個POIp所拍攝的照片的平均數(shù),如下式所示:
(5)
但游客對于特定類別POI的興趣偏好程度無法僅通過POI的平均照片數(shù)量進行準確衡量。因此本文利用游客拍攝的照片數(shù)量與POI的照片數(shù)量均值比來衡量游客的偏好。方法如下式所示:
(6)
式中:catp表示POIp的類別屬性;
式(6)基于游客t在類別為c的POI所拍攝的照片數(shù)量計算出其對該類POI的偏好程度。其原理為一名游客在POI所拍攝的照片數(shù)量往往與其對該類POI的偏好程度呈正比。
2.4.1算法描述
本文綜合考慮基于照片數(shù)量和景點共現(xiàn)信息的POI流行度和游客興趣偏好,提出PTRIP路線推薦算法。算法根據(jù)POI集合P,游客指定的路線中須包含的游覽點POIpi(i∈{1,2,…,n}),為游客推薦一條游覽收益最高的路線R={p1,p2,…,pn}。
路線收益的計算方法如下:
(7)
式中:Xi,j標識p和pj之間是否有可行的路線,若有則其值為1,否則為0。
2.4.2路線規(guī)劃
為了更好地說明本文提出的算法,以圖1為例,給定信息如表1所示的POI的集合P={p1,p2,p3,p4,p5,p6,p7,p8,p9}。
表1 POI屬性信息
給定一名游客t1,以及他游覽過的POI集合St1={p1,p4}。游客t1游覽過的POI和在每個POI的照片數(shù)如表2所示,根據(jù)歷史游客數(shù)據(jù)由式(5)計算出的每個POI的平均照片數(shù)如表3所示,由式(4)計算出的每個POI的流行度閾值如表4所示。游客t1在POI之間轉(zhuǎn)移所需付出的時間成本和各POI的評分值分別由圖1中有向邊的值和結(jié)點的值表示。
表2 游客t1游覽過的POI
表3 POI平均照片數(shù)量
表4 POI流行度
設(shè)游客t1指定p6為路線中必須包含的游覽點,并預(yù)算游覽5個景點。假定α=0.7,由式(6)可以計算出游客的興趣偏好向量Int(t1)=<0,0,3.24,1.78,0,0,0>,則根據(jù)PTRIP算法可得到9條滿足游客要求的路線R1={p1,p2,p4,p6,p8},R2={p1,p3,p4,p6,p8},R3={p1,p3,p7,p9,p6},R4={p1,p3,p7,p6,p8},R5={p2,p4,p6,p8,p10},R6={p3,p4,p6,p8,p10},R7={p3,p7,p6,p8,p10},R8={p3,p7,p9,p6,p8},R9={p7,p9,p6,p8,p10}。由式(3)對9條路線進行游客收益計算,得路線R1的收益為0.70,路線R2的收益為0.78,路線R3的收益為1.88,路線R4的收益為0.95,路線R5的收益為0.13,路線R6的收益為0.19,路線R7的收益為0.25,路線R8的收益為0.99,路線R9的收益為0.31。最后,將游客收益最高的路線R3={p1,p3,p7,p9,p6},即路線{寬窄巷子,文殊院,錦里,武侯祠,大熊貓基地}推薦給游客t1。
本文采用馬蜂窩網(wǎng)站的以“成都”為關(guān)鍵詞獲取的2 562篇游記作為實驗數(shù)據(jù)集。經(jīng)過數(shù)據(jù)預(yù)處理后該數(shù)據(jù)集主要包含兩個方面的內(nèi)容:一是成都市及周邊區(qū)域的126 368條照片數(shù)據(jù),包括照片所屬游記編號、拍攝地點;二是游記中268個POI的共現(xiàn)統(tǒng)計信息,以及5 215條歷史單日出行路線和路線中連通的POI間的實際距離信息。本次實驗采用推薦系統(tǒng)驗證中常用的留一交叉驗證法對算法進行實驗驗證,它循環(huán)指定數(shù)據(jù)集中的記錄分別作為測試集或訓(xùn)練集,并對每次循環(huán)的預(yù)測結(jié)論進行綜合計算得出測評指標[10]。
3.2.1參數(shù)β有效性分析
β值用于確定計算POI流行度時照片數(shù)量與景點共現(xiàn)信息的權(quán)重分配。在僅使用POI流行度進行路線推薦的情況下,給定游覽的景點個數(shù)和指定游覽點不變時,β值對路線推薦準確率的影響如圖3所示。
圖3 β值對準確率的影響
β=0時表示僅根據(jù)游記中的景點共現(xiàn)數(shù)據(jù)計算POI流行度,β=1時表示僅根據(jù)照片數(shù)量情況計算POI流行度。由圖3可知,路線推薦的準確率隨β的變化而出現(xiàn)波動,且曲線兩端準確率最低,說明綜合考慮游記中的景點共現(xiàn)和照片數(shù)量值計算得到的POI流行度比單獨考慮景點共現(xiàn)或照片數(shù)量得到的POI流行度的推薦效果都更好,且當β=0.1時達到最佳推薦效果。
3.2.2參數(shù)α有效性分析
α值用于確定計算路線評分時游客興趣偏好和POI流行度的權(quán)重分配。在給定的游覽點個數(shù)和指定的游覽點不變的情況下,α值對推薦準確率的影響如圖4所示。
圖4 α值對準確率的影響
α=0時表示僅利用POI流行度進行路線推薦,α=1時表示僅利用游客偏好進行線路推薦。由圖4可知,隨著α值的增長,路線推薦準確率呈現(xiàn)先增長再下降的趨勢,說明綜合考慮POI流行度和游客偏好的推薦效果優(yōu)于僅考慮POI流行度或游客偏好的推薦效果,且當α=0.7時達到最佳推薦效果。
3.2.3PTRIP算法有效性分析
本文分別將只利用游記文本數(shù)據(jù)、只利用游記圖片數(shù)據(jù)和只考慮POI流行度、只考慮游客興趣偏好的原有推薦算法與PTRIP算法分別進行對比,以驗證PTRIP算法的有效性。在不同的游覽景點個數(shù)預(yù)算下,將PTRIP算法與原有算法的準確率相比較,實驗結(jié)果如圖5所示。
(a) 與單獨考慮文本或圖片的原算法比較
(b) 與單獨考慮流行度或游客偏好的原算法比較
由圖5(a)可知,PRTIP算法的準確率顯著高于僅利用游記文本中的景點共現(xiàn)信息的推薦算法的準確率,同時也高于僅利用游客照片信息計算POI流行度和游客偏好的原有算法[7]的準確率。
由圖5(b)可知PRTIP算法的準確率明顯優(yōu)于只考慮游客偏好和只考慮POI流行度的傳統(tǒng)算法。
綜上,實驗證明本文提出的PTRIP算法能夠更加有效地綜合運用游記中的文本和照片信息,并且更加精確地推薦符合游客需求的旅游路線。
為提升旅游路線推薦的準確率并綜合利用游記中的圖文信息,本文提出了個性化路線推薦算法PTRIP。該算法首先利用網(wǎng)絡(luò)游記中分享的景點共現(xiàn)信息和照片數(shù)據(jù)求取POI流行度和游客的興趣偏好,然后綜合利用上述信息構(gòu)建了個性化旅游路線推薦框架,向游客推薦最優(yōu)游覽路線。最后利用分享在馬蜂窩網(wǎng)站的真實數(shù)據(jù)集進行實驗驗證,證明本文提出的PTRIP算法的推薦準確率顯著高于只利用文本景點共現(xiàn)信息的傳統(tǒng)推薦算法的準確率,也高于僅利用游客照片信息的原有算法[7]的準確率。PTRIP算法的準確率比只考慮POI流行度的傳統(tǒng)算法有較大提升;比只考慮游客偏好的傳統(tǒng)算法也有所提升。并且,綜合運用游記的圖文信息,一方面使得游記中記載的信息得到最大化利用,一方面也可由文字記錄彌補由于隱私等原因造成的游客照片基本屬性不全的問題。PTRIP算法計算的POI流行度評分質(zhì)量也高于傳統(tǒng)的單獨考慮文本或圖片的算法。經(jīng)實驗驗證,PTRIP算法可以有效地綜合利用發(fā)布在社交媒體中的游記的圖文信息,進行更加準確的個性化旅游路線推薦。下一步工作可考慮結(jié)合定向問題進一步優(yōu)化智能算法,降低算法運行開銷、提升效率,并將上述推薦方法運用于旅游美食推薦應(yīng)用中。