陳燁天,米傳民,肖 琳
(南京航空航天大學(xué) 經(jīng)濟(jì)與管理學(xué)院,南京 211106)
隨著國(guó)民生活水平的提高和互聯(lián)網(wǎng)的快速發(fā)展,我國(guó)在線旅游發(fā)展迅猛,2016年中國(guó)在線旅游市場(chǎng)交易規(guī)模已達(dá)6026億,同比增長(zhǎng)34%[1].人們可以在各種在線旅游平臺(tái)上挑選自己喜歡的旅游產(chǎn)品并制定相應(yīng)的出行計(jì)劃.然而嚴(yán)重的信息過(guò)載問(wèn)題,使得用戶很難便捷地從海量的檢索結(jié)果中獲取自己真正需要的旅游信息[2].此外,目前國(guó)內(nèi)的在線旅游電商平臺(tái)提供的服務(wù)項(xiàng)目單一,旅游路線、景點(diǎn)介紹幾乎都是固定內(nèi)容,推薦系統(tǒng)的搜索和推薦結(jié)果多以產(chǎn)品熱度排序,無(wú)法滿足用戶個(gè)性化的需求[3].尤其是在旅游景點(diǎn)的推薦上,景點(diǎn)熱度和時(shí)間因素會(huì)對(duì)用戶造成極大地干擾.用戶缺乏旅游經(jīng)驗(yàn),面對(duì)過(guò)于廣泛和缺乏人性化的推薦信息,難以獲取較高的滿意度[4].
為解決上述問(wèn)題,學(xué)者們針對(duì)個(gè)性化旅游推薦技術(shù)做了廣泛的研究,主要集中在基于社交媒體的推薦上[5–7].但區(qū)別于圖書(shū)、音樂(lè)等物品的推薦[8],由于旅游景點(diǎn)眾多,用戶購(gòu)買(mǎi)頻次低,導(dǎo)致數(shù)據(jù)稀疏性極大,傳統(tǒng)的推薦方法難以解決冷啟動(dòng)和“新城市”等問(wèn)題[9].本文通過(guò)引入用戶信任關(guān)系來(lái)緩解數(shù)據(jù)稀疏性和冷啟動(dòng)問(wèn)題,根據(jù)用戶社交行為和影響力衡量顯性信任,利用上下文信息挖掘隱性信任,并通過(guò)信任傳遞計(jì)算用戶間接信任,構(gòu)建完整的信任網(wǎng)絡(luò).在信任推薦的基礎(chǔ)上,進(jìn)一步融入用戶-標(biāo)簽興趣信息,提出一種結(jié)合社交信任和地理標(biāo)簽的STGT推薦算法(recommended algorithm combined with Social Trust and Geo-Tags ).實(shí)驗(yàn)結(jié)果表明,本文提出的算法能在一定程度上提高推薦精度,同時(shí)緩解新用戶和新城市等問(wèn)題.
個(gè)性化旅游推薦系統(tǒng)通過(guò)挖掘用戶數(shù)據(jù),獲得用戶的潛在需求和未來(lái)喜好,從而主動(dòng)為用戶推薦滿足需求或感興趣的信息,不僅有效解決了信息過(guò)載問(wèn)題,而且滿足了用戶的個(gè)性化需求[10].不同于其他個(gè)性化推薦,個(gè)性化旅游推薦面臨的挑戰(zhàn)更大[11]:(1)旅游數(shù)據(jù)更復(fù)雜;(2)用戶更難準(zhǔn)確表達(dá)自己的需求;(3)大多數(shù)用戶的歷史旅游記錄和偏好信息都很少;(4)旅游數(shù)據(jù)更稀疏.傳統(tǒng)的推薦方法如協(xié)同過(guò)濾推薦等效果不佳,數(shù)據(jù)稀疏性、冷啟動(dòng)問(wèn)題嚴(yán)峻,還有新城市推薦問(wèn)題[5].
為解決上述問(wèn)題,學(xué)者們?cè)趥鹘y(tǒng)的推薦方法上做了不少改進(jìn).從獲取用戶個(gè)性化信息方式角度可分為兩類:(1)用戶交互方式.如 Ahas 等人[12]通過(guò)邀請(qǐng)用戶填寫(xiě)問(wèn)卷的方式獲取用戶偏好;麻風(fēng)梅[13]以會(huì)話的方式在線獲取用戶偏好和需求,結(jié)合用戶瀏覽行為得到綜合興趣度進(jìn)行推薦.這類基于知識(shí)、會(huì)話式的推薦方法不需要用戶歷史數(shù)據(jù),故不存在冷啟動(dòng)問(wèn)題,對(duì)非注冊(cè)用戶也能做出個(gè)性化推薦,但數(shù)據(jù)稀疏性問(wèn)題依舊無(wú)法解決.另一方面,這種方式無(wú)法得到大量用戶的數(shù)據(jù),時(shí)間和操作成本高,能使用的用戶訓(xùn)練樣本小,無(wú)法滿足日益龐大的數(shù)據(jù)量處理需求.(2)用戶產(chǎn)生的社交媒體數(shù)據(jù).這些社交媒體數(shù)據(jù)包括簽到數(shù)據(jù)(check-in)[14],GPS 軌跡信息[15]、旅游博客[6]等.這類方法能獲得大量的用戶歷史數(shù)據(jù)和消費(fèi)行為數(shù)據(jù),覆蓋面廣,得到的結(jié)果更具有普適性.近年來(lái),隨著互聯(lián)網(wǎng)技術(shù)的不斷提高,帶有地理信息的圖片數(shù)據(jù)越來(lái)越受到研究者的關(guān)注[7].以Flickr、Panoramio為代表的圖片分享網(wǎng)站的興起,為研究者提供了海量的用戶旅游照片.這些照片附帶地理位置、拍攝時(shí)間、標(biāo)簽等重要信息,本身就體現(xiàn)了用戶的旅游興趣偏好,為個(gè)性化推薦帶了極大地便利[16].
隨著用戶個(gè)性化需求的不斷提高,學(xué)者們利用地理圖片社交媒體這一數(shù)據(jù)時(shí),分析用戶偏好的方法主要分成兩類:(1)利用上下文信息分析用戶偏好,包括用戶年齡等個(gè)人信息、消費(fèi)成本、天氣、時(shí)間和季節(jié)等時(shí)空信息[17].如Memon等人[18]綜合考慮用戶偏好和時(shí)間因素,根據(jù)用戶過(guò)去時(shí)間內(nèi)在舊城市的旅游偏好推薦新城市的旅游產(chǎn)品.Yin等人[15]進(jìn)一步區(qū)分了游客偏好和當(dāng)?shù)鼐用衿?利用當(dāng)?shù)鼐用衿镁徑鈹?shù)據(jù)稀疏性和新城市問(wèn)題.這些研究在傳統(tǒng)用戶相似性度量假設(shè)用戶未評(píng)分項(xiàng)為0的基礎(chǔ)上,通過(guò)添加附加約束條件緩解數(shù)據(jù)稀疏性問(wèn)題,但沒(méi)有從根本上解決這個(gè)問(wèn)題.因此有研究者提出在計(jì)算用戶相似性時(shí),先用相似性度量方法計(jì)算未評(píng)分稀疏項(xiàng)和其他項(xiàng)目的直接相似性,增加共同評(píng)分項(xiàng)來(lái)緩解稀疏性.但這類研究集中在電影、音樂(lè)數(shù)據(jù),在旅游景點(diǎn)推薦方面的效果有待檢驗(yàn).(2)利用標(biāo)簽信息.之前的研究大多使用用戶評(píng)分?jǐn)?shù)據(jù),但相同的評(píng)分不能代表興趣真正相同.標(biāo)簽信息可以進(jìn)一步直觀地揭示用戶對(duì)景點(diǎn)本身的興趣點(diǎn).如Lu等人[7]結(jié)合地理手冊(cè)從地理信息圖片中得到目的地后,引入目的地風(fēng)格標(biāo)簽,結(jié)果比只用流行游覽時(shí)間等上下文信息更精確.雖然這些研究通過(guò)標(biāo)簽細(xì)化了用戶興趣偏好,但大多簡(jiǎn)單地考慮了標(biāo)簽-景點(diǎn)關(guān)系,進(jìn)行景點(diǎn)預(yù)過(guò)濾篩選處理,忽視了標(biāo)簽-標(biāo)簽關(guān)系、用戶-標(biāo)簽關(guān)系.
此外,部分學(xué)者還引入了社交信任關(guān)系來(lái)緩解傳統(tǒng)協(xié)同過(guò)濾算法的弊端,通過(guò)綜合信任度和相似度,提高推薦精度[19].如史一帆[20]提出的基于用戶社交關(guān)系和物品標(biāo)簽的協(xié)同過(guò)濾推薦,把與目標(biāo)用戶相似度大于0或信任度大于0的用戶當(dāng)做相鄰用戶.但這些研究大多聚焦在圖書(shū)、音樂(lè)、電影等推薦領(lǐng)域,涉及旅游照片、游記等類型數(shù)據(jù)的旅游推薦研究極少.劉艷等人[3]通過(guò)用戶景點(diǎn)照片矩陣計(jì)算用戶偏好,結(jié)合好友親密信任關(guān)系計(jì)算相似度,但只是簡(jiǎn)單判斷了好友間是否有關(guān)注關(guān)系,忽視了用戶交互行為和信任的傳遞問(wèn)題.在現(xiàn)實(shí)推薦中,社交用戶間的直接信用值獲取也是一個(gè)難題.
因此,本文基于圖片數(shù)據(jù),根據(jù)用戶社交行為、社交影響力和上下文信息獲取用戶直接信任和隱性信任關(guān)系,在考慮信任傳遞的基礎(chǔ)上挖掘用戶間接信任,最后綜合相似度和信任度得到推薦結(jié)果.為緩解用戶信任好友稀缺時(shí)推薦效果不佳的問(wèn)題,引入用戶標(biāo)簽偏好,提出一個(gè)混合社交信任和標(biāo)簽興趣的STGT景點(diǎn)推薦算法.實(shí)驗(yàn)結(jié)果表明,該算法能夠有效利用多維信息,提高推薦精度.
利用圖片媒體數(shù)據(jù)挖掘用戶信任關(guān)系的關(guān)鍵是構(gòu)建信任網(wǎng)絡(luò):給定一個(gè)用戶-景點(diǎn)評(píng)分模型,如何表示用戶集合中用戶間的直接信任關(guān)系.直接信任指直接相連的用戶間的信任關(guān)系,可進(jìn)一步分為顯性信任和隱性信任.
(1)顯性信任
顯性信任可通過(guò)用戶社交互動(dòng)行為和社交影響力獲取.在本文中,當(dāng)用戶i和用戶j存在好友關(guān)系,且用戶i對(duì)用戶j有點(diǎn)贊等互動(dòng)行為,則認(rèn)為兩個(gè)用戶間存在顯性信任關(guān)系,用trustie,xj表示,計(jì)算公式為:
其中,R=(r1,r2,···,rn),rj表示用戶i對(duì)用戶j發(fā)布的照片等狀態(tài)的點(diǎn)贊數(shù);F=(f1,f2,···,fn),fj表示用戶j在社交網(wǎng)絡(luò)中的被關(guān)注數(shù).α1取0.75,將較大權(quán)重分配給用戶社交互動(dòng)行為.
(2)隱性信任
當(dāng)兩個(gè)用戶為非好友時(shí),即trustie,xj=0,但不代表他們是非信任關(guān)系,因此需要判斷計(jì)算他們之間是否有隱性信任關(guān)系.本文通過(guò)計(jì)算用戶共同游玩景點(diǎn)的上下文情景信息相似度,來(lái)推導(dǎo)用戶隱性信任,計(jì)算如下:
其中,simtime(i,j)表示用戶i和j的游玩時(shí)間相似度,L(i)表示用戶i游玩過(guò)的景點(diǎn)集合,L(j)表示用戶j游玩過(guò)的景點(diǎn)集合,k∈L(i)∩L(j)表示用戶i和j共同游玩過(guò)的景點(diǎn),tik表示用戶i游玩景點(diǎn)k的時(shí)間,tjk表示用戶j游玩景點(diǎn)k的時(shí)間.
其中,simweather(i,j)表示用戶i和j的游玩天氣相似度,上下文天氣信息用CI=(Temperature,Condition)表示,包含氣溫Temperature={hot,warm,cold},天氣狀況Condition={rainy,sunny,cloudy}.
綜合前面的顯性信任和隱性信任關(guān)系,得到用戶直接信任值trustdi,ijr計(jì)算方式如下:
得到trustid,ijr就能構(gòu)建信任網(wǎng)絡(luò),過(guò)程如下:遍歷每個(gè)用戶和其他用戶間的直接信任值,與全局信任閾值tthreldall比較,若trustid,ijr大于tthreldall,說(shuō)明用戶間直接相連,反之則說(shuō)明沒(méi)有直接相連,由此檢查每個(gè)用戶的連接情況.網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)分別代表一個(gè)用戶,連接節(jié)點(diǎn)每條邊代表用戶間相互連接,邊上的權(quán)值代表直接信任度,邊的方向代表信任方向.
信任具有傳遞性,即當(dāng)用戶a信任b,用戶b信任c時(shí),認(rèn)為用戶a對(duì)c也存在著信任關(guān)系[21].因此僅僅考慮用戶直接信任值構(gòu)建的信任網(wǎng)絡(luò)并不能完全反應(yīng)用戶的信任關(guān)系,還需要考慮信任在網(wǎng)絡(luò)中傳播時(shí)的間接信任值.關(guān)于信任傳播比較經(jīng)典的算法是TidalTrust[22]和 MoleTrust[23]算法.本研究借鑒TidalTrust算法思想,做出了改進(jìn).通過(guò)考慮隱性信任解決了用戶顯性信任難以獲取時(shí)無(wú)法進(jìn)行信任度計(jì)算的問(wèn)題,并引入信任最長(zhǎng)傳播距離解決了TidalTrust算法中舍棄高信任值的長(zhǎng)距離路徑問(wèn)題.
首先需要為每個(gè)節(jié)點(diǎn)用戶設(shè)置一個(gè)路徑信任閾值,將目標(biāo)用戶對(duì)所有鄰居用戶的信任值的平均值作為路徑信任閾值pthrelds:
其中,TF(s)表示用戶s的所有直接信任好友,trustds,irf表示用戶s對(duì)直接信任好友f的直接信任值.在信任傳遞過(guò)程中,這個(gè)路徑信任閾值將過(guò)濾所有信任值低于此閾值的路徑.
TidalTrust算法中取目標(biāo)節(jié)點(diǎn)到源節(jié)點(diǎn)的最短路徑d作為信任最長(zhǎng)傳播距離,這有可能舍棄路徑長(zhǎng)但信任度高的路徑.因此,文獻(xiàn)[24]中信任傳播距離的研究:
其中,n表示信任網(wǎng)絡(luò)中的用戶總數(shù),m表示網(wǎng)絡(luò)中用戶的鄰居用戶的平均數(shù),即平均度數(shù).本文在信任最長(zhǎng)傳遞距離的選擇上取MD=max(L,d).如果用戶A不能到達(dá)用戶B,則B對(duì)A就沒(méi)有信任價(jià)值.但如果A能在最大傳遞距離內(nèi)達(dá)到B,則意味著B(niǎo)對(duì)A來(lái)說(shuō)具有一定的信任價(jià)值[25].
選擇完信任路徑和傳遞距離后,通過(guò)加權(quán)源節(jié)點(diǎn)與直接信任節(jié)點(diǎn)間的信任值,得到源節(jié)點(diǎn)對(duì)目標(biāo)節(jié)點(diǎn)的間接信任值,公式如下:
其中,加權(quán)因子是通過(guò)比較直接信任節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的最大路徑信任值確定的,如公式(9)所示.route(i,e)表示用戶i到用戶e的所有路徑集合,(x,y)∈r指路徑r上的任意兩個(gè)用戶x和y,表示單條路徑r上的兩個(gè)用戶間信任值的最小值.
綜合上述計(jì)算,信任網(wǎng)絡(luò)中任意兩個(gè)用戶間的傳遞距離在信任最長(zhǎng)傳播距離內(nèi)時(shí),他們之間存在信任關(guān)系:當(dāng)距離為 1 時(shí),兩用戶直接相連,取直接信任值作為信任度;當(dāng)距離大于1且不超過(guò)最長(zhǎng)傳播距離時(shí),取間接信任值作為用戶間信任度.當(dāng)用戶間距離大于最長(zhǎng)傳播距離時(shí),信任度為0.
在傳統(tǒng)的協(xié)同過(guò)濾推薦算法中,目標(biāo)用戶對(duì)目標(biāo)項(xiàng)目的評(píng)分可以通過(guò)加權(quán)計(jì)算目標(biāo)用戶的相鄰用戶打出的評(píng)分來(lái)進(jìn)行預(yù)測(cè).但隨著系統(tǒng)中用戶和項(xiàng)目數(shù)量的增加,數(shù)據(jù)稀疏性越來(lái)越高,以及新用戶和新項(xiàng)目帶來(lái)的冷啟動(dòng)問(wèn)題大大降低了傳統(tǒng)協(xié)同過(guò)濾算法的推薦精度[26].研究證實(shí)在推薦過(guò)程中引入信任關(guān)系能緩解上述協(xié)同過(guò)濾推薦算法中的主要問(wèn)題,有效地提高推薦結(jié)果的準(zhǔn)確度.Massa[23]提出的MoleTrust模型則采取通過(guò)信任關(guān)系過(guò)濾相鄰用戶,信任度替代用戶相似度的策略.經(jīng)典的TidalTrust算法則利用信任關(guān)系過(guò)濾相鄰用戶,再通過(guò)信任權(quán)重加權(quán)評(píng)分的方式進(jìn)行評(píng)分預(yù)測(cè).
這些基于社交信任關(guān)系的推薦算法雖然提高了推薦結(jié)果的準(zhǔn)確度,但推薦結(jié)果的覆蓋率卻比不上經(jīng)典的協(xié)同過(guò)濾推薦計(jì)算方式.因此本文采用綜合協(xié)同過(guò)濾推薦和信任推薦的推薦策略:
其中,Ptrust(a,i)表示目標(biāo)用戶a對(duì)景點(diǎn)i的預(yù)測(cè)評(píng)分,N+表示和目標(biāo)用戶a相似度高的相鄰用戶集,ta,u表示用戶a和用戶u間的信任度,NT表示對(duì)目標(biāo)項(xiàng)目i有過(guò)評(píng)分且信任度ta,u超過(guò)閾值的用戶集合,NT+=NT∩N+.ru,i表示用戶u對(duì)項(xiàng)目i的評(píng)分,是用戶u的項(xiàng)目平均評(píng)分,是用戶a的項(xiàng)目平均評(píng)分.sima,u表示用戶a和用戶u間的用戶相似度,通過(guò)Pearson相關(guān)系數(shù)計(jì)算得到.
當(dāng)目標(biāo)用戶和其他用戶之間有直接或間接的信任關(guān)系時(shí),則使用信任度代替相似度作為加權(quán)計(jì)算的權(quán)重,通過(guò)優(yōu)先考慮信任用戶的方式來(lái)保留信任推薦的優(yōu)勢(shì).另一方面,覆蓋率可以通過(guò)考慮無(wú)法獲取信任信息的那部分相似用戶保證.
雖然基于信任的推薦往往能獲得較高的滿意度和覆蓋率,但現(xiàn)實(shí)中信任關(guān)系一般比較稀疏,好友數(shù)量不足,導(dǎo)致推薦效果不理想.因此本文在考慮信任關(guān)系的基礎(chǔ)上,融入用戶偏好,通過(guò)計(jì)算用戶對(duì)標(biāo)簽的偏好來(lái)分析用戶興趣,進(jìn)一步挖掘了用戶的個(gè)性化需求.
傳統(tǒng)的協(xié)同過(guò)濾通過(guò)用戶評(píng)分來(lái)表現(xiàn)用戶興趣偏好,受到數(shù)據(jù)稀疏性影響推薦結(jié)果不佳.標(biāo)簽信息的引入可以很好地細(xì)分用戶興趣點(diǎn),通過(guò)計(jì)算用戶對(duì)標(biāo)簽的偏好度能很好地表示用戶的興趣點(diǎn)分布,緩解數(shù)據(jù)稀疏問(wèn)題,同時(shí)在面對(duì)新用戶時(shí)也能通過(guò)獲取標(biāo)簽偏好來(lái)緩解冷啟動(dòng)問(wèn)題.
(1)計(jì)算景點(diǎn)-標(biāo)簽關(guān)聯(lián)度
首先我們定義用戶集合U={u1,u2,···,un},景點(diǎn)集合L={l1,l2,···,lm},標(biāo)簽集合T={t1,t2,···,tk},Lu表示用戶u瀏覽過(guò)的景點(diǎn)集合,Tu表示用戶u使用過(guò)的標(biāo)簽集.一個(gè)景點(diǎn)會(huì)被很多用戶標(biāo)記標(biāo)簽,在得到用戶的標(biāo)簽偏好前需要在景點(diǎn)和標(biāo)簽之間建立聯(lián)系,評(píng)價(jià)一個(gè)標(biāo)簽在景點(diǎn)資源中的重要性.文獻(xiàn)[27]表明,sigmoid函數(shù)能最好地表示標(biāo)簽的權(quán)重,用W(l,t)表示景點(diǎn)-標(biāo)簽關(guān)聯(lián)度,即:
其中,tag_quality(l,t)可用TF算法算得,表示標(biāo)簽t在景點(diǎn)l的標(biāo)簽集中出現(xiàn)的比重.
(2)計(jì)算用戶-標(biāo)簽關(guān)系
本文從用戶標(biāo)簽行為和用戶評(píng)分行為兩方面衡量用戶標(biāo)簽喜好度:一方面考慮了用戶標(biāo)記標(biāo)簽時(shí)間,另一方面當(dāng)標(biāo)簽在評(píng)分越高的景點(diǎn)出現(xiàn),表示用戶對(duì)標(biāo)簽的興趣越高.用tag_prefini表示用戶u對(duì)標(biāo)簽t喜好度,計(jì)算如下:
timeperiod表示到用戶標(biāo)記標(biāo)簽的時(shí)間到現(xiàn)在的時(shí)間間隔,.
(3)計(jì)算標(biāo)簽-標(biāo)簽關(guān)系
當(dāng)用戶標(biāo)簽行為和評(píng)分較少時(shí),標(biāo)簽稀疏性較高,為解決這個(gè)問(wèn)題,本文采取了拓展標(biāo)簽的方法,為每個(gè)用戶的標(biāo)簽集增加相關(guān)度高的相關(guān)標(biāo)簽.首先計(jì)算標(biāo)簽相關(guān)度:
其中,|user(t)∩user(t′)|表示同時(shí)使用過(guò)標(biāo)簽t和t′的用戶數(shù),N(t,t′)表示標(biāo)簽集中同時(shí)含有標(biāo)簽t和t′的景點(diǎn)數(shù).按相關(guān)度對(duì)標(biāo)簽排序,選取TopM個(gè)相關(guān)標(biāo)簽作為相關(guān)標(biāo)簽,得到新的用戶標(biāo)簽集Tu′.
用戶對(duì)相關(guān)標(biāo)簽的喜好度可通過(guò)加權(quán)相關(guān)標(biāo)簽喜好度得到:
綜合tag_prefini和tag_prefex可得用戶的標(biāo)簽喜好度.
由于基于信任的推薦結(jié)果未充分考慮用戶興趣,本文通過(guò)對(duì)用戶標(biāo)簽喜好度的分析進(jìn)一步進(jìn)行了用戶興趣建模.因此在最終的推薦策略上,本文選擇加權(quán)混合推薦的方式融合兩種推薦方法的優(yōu)勢(shì),通過(guò)加權(quán)因子λ將兩個(gè)預(yù)測(cè)結(jié)果線性組合,λ的取值由實(shí)驗(yàn)結(jié)果確定.預(yù)測(cè)公式如下:
其中,Ptrust(a,i)指基于信任關(guān)系的推薦得到的預(yù)測(cè)評(píng)分,計(jì)算方法在公式(10)中已給出.Ptag(a,i)指基于標(biāo)簽興趣的推薦得到的預(yù)測(cè)評(píng)分,計(jì)算公式如下:
其中,T(i)表示景點(diǎn)i包含的標(biāo)簽集.最后根據(jù)P(a,i)對(duì)推薦景點(diǎn)列表進(jìn)行降序排序,選取TopK個(gè)結(jié)果作為推薦結(jié)果.
Flickr是一個(gè)提供免費(fèi)及付費(fèi)數(shù)位照片存儲(chǔ)、分享服務(wù)的圖片網(wǎng)站,重要特點(diǎn)就是基于社會(huì)網(wǎng)絡(luò)的人際關(guān)系的拓展與內(nèi)容的組織.在當(dāng)前的景點(diǎn)推薦領(lǐng)域中,很多推薦方法都會(huì)把Flickr數(shù)據(jù)集作為實(shí)驗(yàn)數(shù)據(jù)集進(jìn)行研究.本文的數(shù)據(jù)集就是選用Flickr公開(kāi)的圖像數(shù)據(jù)集.城市的天氣信息通過(guò)第三方天氣服務(wù)網(wǎng)站的API爬取.對(duì)得到的數(shù)據(jù)集進(jìn)行預(yù)處理,刪除那些元數(shù)據(jù)中的地點(diǎn)信息和實(shí)際經(jīng)緯度不符以及帶有錯(cuò)誤時(shí)間的照片.利用文獻(xiàn)[28]中的P-DBSCAN方法對(duì)照片的經(jīng)緯度進(jìn)行聚類得到景點(diǎn),去除游歷景點(diǎn)數(shù)少于3個(gè)的用戶,去除包含圖片數(shù)少于10張的景點(diǎn),最后的統(tǒng)計(jì)結(jié)果如表1所示.為檢驗(yàn)算法在解決“新城市”問(wèn)題上的效果,選擇至少去過(guò)四個(gè)城市中兩個(gè)城市的用戶,且其在訓(xùn)練集中的游歷景點(diǎn)數(shù)不少于5個(gè).實(shí)驗(yàn)時(shí)隨機(jī)將數(shù)據(jù)集的80%作為訓(xùn)練集,20%作為測(cè)試集.
表1 實(shí)驗(yàn)數(shù)據(jù)集統(tǒng)計(jì)信息
本研究采用的評(píng)價(jià)指標(biāo)是推薦系統(tǒng)中常用的精確度(Precision)和平均絕對(duì)偏差(MAE).MAE用來(lái)衡量推薦算法的預(yù)測(cè)評(píng)分和實(shí)際評(píng)分之間的差異程度,用戶對(duì)景點(diǎn)的評(píng)分可通過(guò)用戶在景點(diǎn)拍攝的照片數(shù)量占比表示.MAE的值越小,代表推薦的準(zhǔn)確度越高,推薦效果越好,定義如下:
其中預(yù)測(cè)用戶a對(duì)景點(diǎn)i的評(píng)分為pi,用戶對(duì)景點(diǎn)的實(shí)際評(píng)分是ri,n為測(cè)試集的景點(diǎn)數(shù)量.
精確度是Top-n推薦問(wèn)題的重要衡量指標(biāo),用表示根據(jù)訓(xùn)練集預(yù)測(cè)的推薦列表,T(u)表示用戶在測(cè)試集上的實(shí)際訪問(wèn)景點(diǎn)列表,計(jì)算公式如下:
實(shí)驗(yàn)一.確定加權(quán)因子λ
為了選擇最佳的加權(quán)參數(shù)使得混合推薦的效果達(dá)到最好,我們先固定推薦數(shù)量和用戶最近鄰數(shù)都為25進(jìn)行實(shí)驗(yàn),通過(guò)改變 λ的取值觀察MAE指標(biāo)的變化.λ從0.1取到0.9,依次遞增0.1.實(shí)驗(yàn)結(jié)果如圖1所示.
從圖1中可看出,隨著加權(quán)因子 λ 的逐漸增大,MAE的值先逐漸減小再逐漸增大.當(dāng) λ 的取值為0.6 時(shí),MAE的值達(dá)到最小,推薦質(zhì)量達(dá)到最佳.因此我們?cè)诤竺娴膶?shí)驗(yàn)中取 λ=0.6,來(lái)確定用戶最近鄰數(shù)量和不同算法推薦效果的比較.
圖1 λ取值對(duì)實(shí)驗(yàn)結(jié)果的影響
實(shí)驗(yàn)二.和其他推薦算法的比較
為了驗(yàn)證本文提出融合信任關(guān)系和用戶偏好的STGT推薦算法的準(zhǔn)確性和推薦效果,將本文提出的算法和考慮標(biāo)簽信息和社交關(guān)系的UKS算法[20]、基于信任和項(xiàng)目偏好的TIPCF算法[26]以及MFT-Co[29]信任推薦算法進(jìn)行對(duì)比.固定推薦列表長(zhǎng)度為15,拓展標(biāo)簽的數(shù)量取20,通過(guò)改變最近鄰數(shù)量觀測(cè)MAE和Precision@15值的變化.實(shí)驗(yàn)結(jié)果如圖2、圖3所示,橫坐標(biāo)為最近鄰數(shù)目個(gè)數(shù),縱坐標(biāo)為MAE和Precision@15的值.
圖2 各算法MAE值對(duì)比
從圖2實(shí)驗(yàn)結(jié)果中可看出,最近鄰數(shù)目確實(shí)是影響推薦質(zhì)量的因素,隨著最近鄰數(shù)目的增大,各推薦算法的MAE值下降明顯,當(dāng)數(shù)目達(dá)到30左右時(shí)MAE的值趨于穩(wěn)定.說(shuō)明近鄰用戶與目標(biāo)用戶的相似度和信任度已經(jīng)接近閾值,此時(shí)繼續(xù)增大最近鄰數(shù)目,增加的近鄰用戶已經(jīng)不具備較好的推薦參考價(jià)值(相似度或信任度低于閾值),導(dǎo)致推薦效果趨于平緩.從整體上看,STGT算法的推薦效果明顯優(yōu)于其他三種算法,而UKS的推薦質(zhì)量比MFT-Co和TIPCF好.
從圖3實(shí)驗(yàn)結(jié)果可知,本文提出的STGT算法在精確度上有明顯提高,比TIPCF、MFT-Co和UKS算法分別提高了14.01%、10.07%、6.62%.從增長(zhǎng)趨勢(shì)看,隨著最近鄰數(shù)目的增長(zhǎng),精確度的提升趨勢(shì)放緩并趨于穩(wěn)定,繼續(xù)加入相似度或信任度低的近鄰用戶無(wú)法再提高推薦精確度.
圖3 各算法 Precision@15 值對(duì)比
為驗(yàn)證本文提出的算法在緩解冷啟動(dòng)問(wèn)題上的效果,隨機(jī)抽取 10 000 名用戶進(jìn)行實(shí)驗(yàn),并隨機(jī)去除150個(gè)景點(diǎn)在訓(xùn)練集中的用戶訪問(wèn)信息,模仿冷啟動(dòng)環(huán)境.從圖4的實(shí)驗(yàn)結(jié)果可知,STGT算法對(duì)于系統(tǒng)中新項(xiàng)目的應(yīng)對(duì)能力和推薦效果明顯優(yōu)于其他三種算法,隨著最近鄰數(shù)目的增加,算法性能趨于穩(wěn)定,有效地緩解了冷啟動(dòng)問(wèn)題.
圖4 冷啟動(dòng)環(huán)境下各算法推薦效果對(duì)比
從以上分析可得出以下結(jié)論:(1)由于本文提出的STGT算法更準(zhǔn)確地衡量了用戶間的信任關(guān)系,通過(guò)綜合考慮用戶評(píng)分行為和興趣品偏好挖掘出用戶隱性信任關(guān)系,緩解了數(shù)據(jù)稀疏性的同時(shí)獲得了更準(zhǔn)確的近鄰用戶.(2)本文不僅考慮了其他算法使用的標(biāo)簽-景點(diǎn)關(guān)系,還進(jìn)一步考慮了標(biāo)簽-標(biāo)簽關(guān)系和用戶-標(biāo)簽關(guān)系,將用戶對(duì)景點(diǎn)的興趣偏好分解成用戶對(duì)標(biāo)簽的偏好,有效地解決了在新城市中無(wú)法獲取用戶興趣偏好的問(wèn)題,提高了推薦準(zhǔn)確性.(3)當(dāng)新用戶或新項(xiàng)目進(jìn)入系統(tǒng)時(shí),通過(guò)利用用戶信任關(guān)系和標(biāo)簽偏好,在一定程度上緩解了冷啟動(dòng)問(wèn)題.
現(xiàn)有的景點(diǎn)推薦算法在考慮用戶間關(guān)系時(shí)主要利用了社交網(wǎng)絡(luò)或好友關(guān)系獲取用戶間直接信任,忽視了用戶隱性信任和信任傳遞問(wèn)題;而在考慮用戶和景點(diǎn)關(guān)系時(shí)主要從用戶評(píng)分和天氣、時(shí)間等上下文信息計(jì)算用戶相似性進(jìn)行推薦,當(dāng)用戶處于新城市時(shí)由于缺乏用戶歷史記錄無(wú)法做出準(zhǔn)確推薦.針對(duì)這些問(wèn)題,本文提出一種綜合信任關(guān)系和標(biāo)簽偏好的景點(diǎn)推薦方法(STGT方法).首先結(jié)合用戶評(píng)分行為和上下文信息挖掘用戶隱性信任,構(gòu)建信任網(wǎng)絡(luò),融合相似度和信任度做出推薦.然后通過(guò)全面考慮用戶、景點(diǎn)和標(biāo)簽之間的關(guān)系,把用戶的興趣偏好分解成對(duì)不同景點(diǎn)標(biāo)簽的偏好,更準(zhǔn)確地獲取了這些代表用戶長(zhǎng)期興趣的偏好,有效地緩解了數(shù)據(jù)稀疏性,在新城市問(wèn)題中能做出更準(zhǔn)確的推薦.通過(guò)在Flickr網(wǎng)站上收集的數(shù)據(jù),設(shè)計(jì)了對(duì)比實(shí)驗(yàn).實(shí)驗(yàn)結(jié)果表明本文提出的算法有效地提高了推薦準(zhǔn)確度,在一定程度上緩解了冷啟動(dòng)和新城市問(wèn)題.
未來(lái)的工作包括考慮用戶間信任的動(dòng)態(tài)變化,以及用戶標(biāo)簽存在的同義、多義問(wèn)題,標(biāo)簽本身存在的問(wèn)題可能會(huì)影響推薦質(zhì)量.此外,可以獲取其他類型的旅游信息,如游記等,進(jìn)一步挖掘用戶興趣,提高用戶最近鄰搜索精度.