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