夏永生,王曉蕊,白 鵬,李夢夢,夏 陽,張 凱
(1.中國礦業(yè)大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 徐州 221116; 2.蘇寧易購集團(tuán)股份有限公司,南京 210042)
智能手機(jī)、手環(huán)等多功能移動終端的廣泛使用,使得用戶的地理位置信息可以被輕易地獲取到,因此,基于位置的移動社交網(wǎng)絡(luò)(Location Based Social Network,LBSN)也逐漸發(fā)展起來[1-2]。在LBSN中,用戶可以使用隨身攜帶的智能設(shè)備進(jìn)行簽到,還可以對訪問過的地點(diǎn)進(jìn)行評分或評價,為要訪問該地點(diǎn)的其他用戶提供參考意見。這類地點(diǎn)可以是飯店、酒店、名勝古跡等,專指那些用戶感興趣的位置地點(diǎn),即興趣點(diǎn)(Point of Interest,POI)。
興趣點(diǎn)推薦分析用戶的簽到信息,挖掘用戶、興趣點(diǎn)、興趣點(diǎn)所在位置以及用戶訪問興趣點(diǎn)的時間等模型,為用戶推薦可能感興趣的位置地點(diǎn)[3]。興趣點(diǎn)推薦對于用戶和興趣點(diǎn)商家都有重要的現(xiàn)實(shí)意義。從用戶角度,興趣點(diǎn)推薦可以幫助用戶有效地探索符合用戶偏好的未訪問過的地點(diǎn),為人們的日常生活帶來便利。從商家角度,興趣點(diǎn)可以為企業(yè)吸引更多的潛在客戶,為企業(yè)帶來更多的商業(yè)利益。因此,興趣點(diǎn)推薦算法研究具有一定的科研價值和實(shí)用價值。
相比于傳統(tǒng)推薦算法,興趣點(diǎn)推薦所包含的信息種類多種多樣,如興趣點(diǎn)的文本信息、興趣點(diǎn)的地理坐標(biāo)、用戶的簽到時間、用戶的社會關(guān)系、興趣點(diǎn)的流行度等,興趣點(diǎn)的相關(guān)文本信息不同于傳統(tǒng)推薦系統(tǒng),其信息具有不完整性、模糊性[4]。利用LBSN中用戶的多源異構(gòu)簽到數(shù)據(jù),對用戶進(jìn)行興趣點(diǎn)推薦成為當(dāng)前的研究熱點(diǎn)。
為捕捉地理因素影響,文獻(xiàn)[5]將用戶在某位置上簽到的概率建模為一個多中心高斯模型(MGM),按照概率值為用戶進(jìn)行興趣點(diǎn)的推薦。文獻(xiàn)[6]從基于位置的社交網(wǎng)絡(luò)抓取用戶簽到數(shù)據(jù)進(jìn)行分析,發(fā)現(xiàn)用戶會在不同的時間周期訪問不同類型的興趣點(diǎn),并提出基于用戶簽到的時間分布來提取興趣點(diǎn)特征的方法?;谂d趣點(diǎn)時間或距離的單維簽到數(shù)據(jù)進(jìn)行推薦,一定程度上提高了興趣點(diǎn)推薦的準(zhǔn)確性,但是沒有考慮到兩者之間的相關(guān)性,忽略了用戶所處的地理位置往往隨時間的變化而發(fā)生移動的特點(diǎn)。文獻(xiàn)[7]使用隱含狄利克雷分布(Latent Dirichlet allocation,LDA) 模型,并基于用戶的帖子或者興趣點(diǎn)的標(biāo)簽來挖掘用戶和興趣點(diǎn)的主題屬性,其中每個主題也是詞的分布,然后利用主題屬性和詞分布來確定用戶對于興趣點(diǎn)的偏好分?jǐn)?shù)。對于評分?jǐn)?shù)據(jù),一般采用協(xié)同過濾算法較多,文獻(xiàn)[8-9]對評分?jǐn)?shù)據(jù)的處理都運(yùn)用了協(xié)同過濾推薦算法來進(jìn)行興趣點(diǎn)推薦。將用戶對興趣點(diǎn)的簽到評分?jǐn)?shù)據(jù)和評價文本融合到興趣點(diǎn)推薦中,比僅利用用戶個人信息進(jìn)行的興趣點(diǎn)推薦有更好的推薦性能,但是評分?jǐn)?shù)據(jù)和評價文本大都非常稀疏,使得用戶的真實(shí)偏好難以被充分挖掘出來,很難達(dá)到理想的推薦效果。此外,也有學(xué)者利用好友關(guān)系和興趣點(diǎn)流行度進(jìn)行興趣點(diǎn)推薦。文獻(xiàn)[10]提出基于朋友的協(xié)同過濾算法,其中用戶間的相似度采用軌跡相似度,即將用戶間的軌跡和距離作為冪函數(shù)計算,最后通過具有相似的簽到偏好向用戶進(jìn)行位置的推薦。文獻(xiàn)[11]提出融入時間信息的用戶協(xié)同過濾興趣點(diǎn)推薦算法,得到用戶訪問興趣點(diǎn)的估算值;結(jié)合流行度和空間信息提出另一種估算方法,將2個估算值進(jìn)行線性組合,作為用戶訪問興趣點(diǎn)的估算值。
本文借鑒門控循環(huán)單元對序列數(shù)據(jù)建模的有效性,對用戶訪問興趣點(diǎn)中的時序信息進(jìn)行建模,利用用戶訪問興趣點(diǎn)之間的連續(xù)時間和連續(xù)地理位置信息,提出基于時序和距離的門控循環(huán)單元興趣點(diǎn)推薦方法TD-GRU。
綜合興趣點(diǎn)推薦算法的相關(guān)文獻(xiàn)可以發(fā)現(xiàn),與傳統(tǒng)推薦算法相比,興趣點(diǎn)推薦算法容易受地理位置、時間等因素的影響[12]。本節(jié)從地理位置因素和時間因素兩方面介紹相關(guān)研究,同時介紹門控循環(huán)單元模型。
在興趣點(diǎn)推薦中,地理位置因素發(fā)揮著非常重要的影響。文獻(xiàn)[13]研究發(fā)現(xiàn)用戶的簽到位置與距離呈反比,即距離當(dāng)前位置越近的興趣點(diǎn),越容易被用戶簽到。因此,在位置推薦算法中設(shè)定了距離的閾值,過濾掉簽到位置距離超過閾值的興趣點(diǎn),以此提高推薦性能。文獻(xiàn)[14]將地理位置近鄰引入偏向矩陣分解算法以提高興趣點(diǎn)推薦的準(zhǔn)確性。針對空間聚類現(xiàn)象,文獻(xiàn)[15]利用用戶的活動區(qū)域向量和影響POI的區(qū)域向量來增加用戶和POI在矩陣分解模型中的潛在因素。文獻(xiàn)[16]將用戶簽到位置之間的距離視為高斯分布模型,其中主要將用戶簽到位置劃分為在家周圍和工作地點(diǎn)周圍2個狀態(tài),采用二維的時間獨(dú)立的高斯模型,將地理因素和時間的階段性有效結(jié)合。除高斯分布模型外,對于地理位置因素,最常用的是冪律分布。文獻(xiàn)[17]假設(shè)用戶簽到位置之間相互獨(dú)立,將用戶簽到下一位置的意向轉(zhuǎn)換為距離的冪函數(shù),以此進(jìn)行位置的推薦。在此基礎(chǔ)上,研究人員從一維的距離函數(shù)轉(zhuǎn)向為二維的核密度估計,利用位置的經(jīng)緯度坐標(biāo),進(jìn)行非參數(shù)估計,避免了提前設(shè)定函數(shù)的局限性,更能體現(xiàn)用戶簽到的個性化和推薦的個性化特征[18]。
在用戶的簽到信息中,時間因素往往起到非常重要的作用,用戶在不同時間點(diǎn)會在不同的興趣點(diǎn)簽到[19]。文獻(xiàn)[20]將用戶簽到矩陣劃分為各個時間下的子矩陣,并利用非負(fù)矩陣分解將各個子矩陣分解成相應(yīng)時間狀態(tài)下的用戶簽到偏好矩陣和位置特征矩陣,再集成各個時間下的用戶簽到偏好,最終得到用戶對興趣點(diǎn)的簽到偏好。另外,還包括將用戶歷史評分?jǐn)?shù)據(jù)的時間和預(yù)測目標(biāo)興趣點(diǎn)簽到時間之間的時間間隔作為一個衰減因子[21]來衡量評分?jǐn)?shù)據(jù)。文獻(xiàn)[22]提出基于馬爾可夫鏈模型的序列預(yù)測算法FPMC,在MC的基礎(chǔ)上將所有用戶的轉(zhuǎn)換矩陣的張量因式分解,并通過基于馬爾可夫鏈假設(shè)計算轉(zhuǎn)換概率來預(yù)測下一個位置。2013年,一種新的矩陣分解方法被提出,即FPMC-LR[23],該方法嵌入了個性化馬爾可夫鏈和局部區(qū)域,不僅在簽到序列中利用個性化馬爾可夫鏈,而且還考慮到用戶的移動約束,即在局部區(qū)域周圍移動。文獻(xiàn)[24]采用周期時間模式,將一天的時間按照一定的單位劃分為若干個相等的時間槽,根據(jù)時間槽對用戶簽到位置歷史進(jìn)行劃分和研究,提出基于用戶簽到的時間分布來提取興趣點(diǎn)特征的方法。
用戶訪問興趣點(diǎn)的時間信息反映了用戶行為的時間序列模式,引入時間信息有利于提升興趣點(diǎn)推薦系統(tǒng)的性能。循環(huán)神經(jīng)網(wǎng)絡(luò)模型(Recurrent Neural Network,RNN)的提出正是被用于建模序列數(shù)據(jù),因此很快被引入到用戶行為序列模式建模的研究中[25]。本文利用循環(huán)神經(jīng)網(wǎng)絡(luò)對用戶訪問興趣點(diǎn)的時間信息進(jìn)行處理獲得用戶偏好的隱表示,用作下一步對用戶興趣點(diǎn)的推薦。
循環(huán)神經(jīng)網(wǎng)絡(luò)是一類專門用于處理時序數(shù)據(jù)樣本的神經(jīng)網(wǎng)絡(luò),具體的表現(xiàn)形式為:網(wǎng)絡(luò)對前面的信息進(jìn)行記憶并應(yīng)用于當(dāng)前輸出的計算中,即隱藏層之間的節(jié)點(diǎn)是有連接的,并且隱藏層的輸入不僅包括輸入層的輸出,還包括上一時刻隱藏層的輸出。文獻(xiàn)[26]采用循環(huán)神經(jīng)網(wǎng)絡(luò)建模用戶偏好和項目特征的演化,提出了一種循環(huán)推薦網(wǎng)(Recurrent Recommender Network,RRN)來預(yù)測用戶未來的行為軌跡。理論上,RNN可以對任意長度的時間序列進(jìn)行記憶,但是隨著時間跨度的不斷增大,RNN會喪失對遠(yuǎn)處單元的記憶能力。這樣會導(dǎo)致提取到的用戶興趣點(diǎn)偏好更多地依賴用戶近期訪問的興趣點(diǎn),不能全面刻畫用戶興趣點(diǎn)偏好。長短期記憶網(wǎng)絡(luò)(Long Short Term Memory,LSTM)和門控循環(huán)單元(Gated Recurrent Unit,GRU)作為RNN的變種,通過使用門結(jié)構(gòu)來改善RNN短期記憶的缺點(diǎn),在保留長期序列信息下減少梯度消失問題。文獻(xiàn)[27]提出一種深度遞歸神經(jīng)網(wǎng)絡(luò)的文本推薦方法,利用GRU 學(xué)習(xí)文本內(nèi)容的向量表示,對改善數(shù)據(jù)稀疏性和冷啟動問題很有幫助。文獻(xiàn)[28-29]對比了 LSTM 和 GRU 以及傳統(tǒng)的 RNN 的異同,探討了上述結(jié)構(gòu)的優(yōu)點(diǎn),另外通過實(shí)驗證明了在個數(shù)參數(shù)相同的情況下,GRU 優(yōu)于 LSTM。因此,本文利用GRU來處理用戶訪問興趣點(diǎn)的時間信息,GRU模型的基本結(jié)構(gòu)如圖1所示。
圖1 GRU模型基本結(jié)構(gòu)
rt=σ(xtWxr+ht-1Whr+br)
(1)
zt=σ(xtWxz+ht-1Whz+bz)
(2)
(3)
(4)
其中,Wxr和Whr是重置門的權(quán)重參數(shù),Wxz和Whz是更新門的權(quán)重參數(shù),Wxh和Whh是候選隱藏狀態(tài)的權(quán)重參數(shù),br、bz、bh是偏置參數(shù),⊙是元素乘法符。將用戶訪問興趣點(diǎn)的時間序列作為GRU的輸入,提取用戶的興趣點(diǎn)偏好特征,并以此進(jìn)行興趣點(diǎn)推薦。
在興趣點(diǎn)推薦算法中,基于連續(xù)時間因素的研究較少。在興趣點(diǎn)推薦中,所有的POI都具有位置屬性,而且用戶行為具有時序性,將時序信息和距離信息融入興趣點(diǎn)推薦算法,有利于提高推薦的準(zhǔn)確性。針對循環(huán)神經(jīng)網(wǎng)絡(luò)可以建模序列數(shù)據(jù)的優(yōu)勢,將門控循環(huán)神經(jīng)網(wǎng)絡(luò)引入興趣點(diǎn)推薦算法,提出基于時序和距離的門控循環(huán)單元興趣點(diǎn)推薦算法,以提高興趣點(diǎn)推薦的準(zhǔn)確性。
用戶訪問興趣點(diǎn)之間的連續(xù)地理位置距離和時間間隔對于推薦用戶將要去的興趣點(diǎn)是十分重要的,如用戶在昨天去了電影院,那么很有可能需要去電影院附近的餐廳就餐;用戶連續(xù)幾個周日去了教堂,那么下周日可能還會去教堂。因此,將用戶訪問興趣點(diǎn)序列中的時間和地理位置加入興趣點(diǎn)推薦算法是十分必要的。通過對用戶訪問興趣點(diǎn)時間序列中的局部時間間隔和興趣點(diǎn)之間的距離進(jìn)行建模,可以得到用戶在局部時間的興趣偏好和連續(xù)時間中用戶的周期性偏好行為,進(jìn)而進(jìn)行興趣點(diǎn)推薦。
由于GRU是RNN的一種,不可將連續(xù)的時間間隔加入到模型中,因此需要對時間序列進(jìn)行一些處理,本文將時間離散化,用時間間隔ω作為時間因子,代入GRU模型,提出TD-GRU興趣點(diǎn)模型,如圖2所示。
圖2 TD-GRU模型
在圖2中,C表示興趣點(diǎn)集合,U表示用戶集合,ult表示用戶u在t時刻訪問興趣點(diǎn)l的嵌入表示,用戶訪問過的興趣點(diǎn)歷史Ul={ul1,ul2,…},S和T分別表示特定距離轉(zhuǎn)換矩陣和特定時間轉(zhuǎn)換矩陣。
根據(jù)GRU的基本結(jié)構(gòu),在t時刻,新的候選狀態(tài)為:
(5)
其中,Wc1、Wc2為模型參數(shù),Ult為在lt位置點(diǎn)的嵌入表示,ft是重置門開關(guān),ht-1為上一個輸出的嵌入表示,bc為偏置向量。由于GRU不能很好地處理連續(xù)時間內(nèi)用戶的訪問歷史,因此需要對時間序列進(jìn)行巧妙處理,將時間劃分為時間間隔,此時用戶訪問的興趣點(diǎn)歷史被劃分為時間跨度相同的若干個興趣點(diǎn)集合Ul={{ul1,ul2,ulω},{…},{ult-ω,…,ult}},引入特定時間轉(zhuǎn)換矩陣,則有:
(6)
其中,ω為時間窗口長度,窗口內(nèi)的每一個元素在模型內(nèi)建模,Tt-ti則為當(dāng)前時間t之前的時間間隔為t-ti的特定時間轉(zhuǎn)換矩陣。矩陣Tt-ti捕捉了用戶訪問興趣點(diǎn)歷史中最新元素的影響,也將連續(xù)的時間間隔考慮入內(nèi)。同時,考慮到距離因素對于興趣點(diǎn)推薦的影響,對用戶訪問興趣點(diǎn)的連續(xù)距離進(jìn)行建模,將特定距離轉(zhuǎn)換矩陣引入TD-GRU算法。特定距離轉(zhuǎn)換矩陣用以衡量不同地點(diǎn)位置之間的地理距離,用來捕捉用戶行為軌跡的地理屬性,t時刻的候選隱藏狀態(tài)表示為:
(7)
其中,SUlt-Ulti是根據(jù)坐標(biāo)下2個地理距離Ul-Uli的特定距離轉(zhuǎn)換矩陣,Ult表示在時間t下用戶u正在訪問位置的坐標(biāo),地理距離用歐幾里得距離公式:
(8)
(9)
其中,h0表示初始狀態(tài),所有用戶的初始狀態(tài)相同,且在該狀態(tài)下不存在任何用于個性化預(yù)測的行為數(shù)據(jù)。
(10)
其中,it表示更新門開關(guān),*代表分素乘積。更新門和重置門開關(guān)計算公式如下:
it=σ(Wi1Ult+Wi2ht-1+bi)
(11)
ft=σ(Wf1Ult+Wf2ht-1+bf)
(12)
其中,Wi1、Wi2、Wf1、Wf2分別為更新門和重置門參數(shù),bi、bf表示更新門和重置門的偏置向量。t時刻的輸出表示為:
ht=tanh(Ct)
(13)
ht捕捉了用戶u在特定時間特定空間下動態(tài)的興趣點(diǎn)變化,至此,本文使用TD-GRU模型提取出用戶訪問興趣點(diǎn)的局部偏好和連續(xù)時間序列中的周期性變化特征。
在提取到用戶訪問興趣點(diǎn)的特征偏好后,對于一個給定的興趣點(diǎn)l,使用TD-GRU模型的輸出值ht來計算用戶訪問該興趣點(diǎn)的預(yù)測值:
(14)
其中,l是興趣點(diǎn)的潛在向量表示,對于興趣點(diǎn)集合L中的興趣點(diǎn)進(jìn)行訪問預(yù)測值的計算,選取預(yù)測值高的興趣點(diǎn)推薦給用戶構(gòu)成推薦結(jié)果集,由于在ht的計算過程中,引入了局部時間內(nèi)用戶訪問興趣點(diǎn)的特定時間轉(zhuǎn)換矩陣和特定距離轉(zhuǎn)換矩陣,因此其推薦的興趣點(diǎn)符合用戶的興趣點(diǎn)偏好,且興趣點(diǎn)集中在一定范圍內(nèi)。
算法1TD-GRU算法
輸入記錄用戶信息的數(shù)據(jù)集M
輸出推薦結(jié)果集R′
1.For each u∈U do//對某一個用戶
2.For each ti∈(t-ω,t) do//設(shè)定時間窗口長度閾值
3.Strai=SUlt-Ulti//特定距離轉(zhuǎn)換矩陣
4.Ttrai=Tt-ti//特定時間轉(zhuǎn)換矩陣
5.A=A+StraiTtraiWc1Ult
6.End For
9.ht=tanh(Ct) //t時刻的輸出
11.ltopN→R′//選取預(yù)測值高的興趣點(diǎn)加入推薦集
12.End For
本文選取了2個LBSN數(shù)據(jù)集來驗證算法的有效性,分別是最常用的Foursquare數(shù)據(jù)集和通過爬蟲軟件抓取的美團(tuán)網(wǎng)數(shù)據(jù)集。首先對數(shù)據(jù)集進(jìn)行預(yù)處理,將少于5條簽到記錄的用戶和興趣點(diǎn)剔除,Foursquare數(shù)據(jù)集和美團(tuán)網(wǎng)數(shù)據(jù)集的具體統(tǒng)計信息如表1所示。
表1 Foursquare數(shù)據(jù)集和美團(tuán)網(wǎng)數(shù)據(jù)集的統(tǒng)計信息
Table 1 Statistics information of Foursquare dataset and Meituan datasets
數(shù)據(jù)統(tǒng)計Foursquare數(shù)據(jù)集美團(tuán)網(wǎng)數(shù)據(jù)集簽到記錄數(shù)332 778 683456 967用戶數(shù)266 90910 162興趣點(diǎn)數(shù)3 680 126242 371每個用戶的平均興趣點(diǎn)個數(shù)13.7923.85
在2個數(shù)據(jù)集中隨機(jī)選擇70%作為訓(xùn)練集,20%用于測試集,10%留作驗證數(shù)據(jù)。為便于實(shí)驗,將數(shù)據(jù)集進(jìn)行預(yù)處理,整理用戶集為U,興趣點(diǎn)集為PPOI,時間集為T,位置坐標(biāo)集為L。為便于計算興趣點(diǎn)之間的距離,將其坐標(biāo)化,每個地點(diǎn)l包含其坐標(biāo){xl,yl}。符號表示如表2所示。
表2 符號描述
為驗證本文提出的興趣點(diǎn)推薦算法的有效性,選取如下的興趣點(diǎn)推薦算法作為對比算法,以比較算法的性能。
1)TOP算法:是較早的基于位置推薦算法,直接為每個用戶選擇訓(xùn)練集中最受歡迎的位置作為預(yù)測。
2)MF算法:由MNIH和 SALAKHUTDINOV提出的基于用戶位置矩陣協(xié)同過濾推薦算法,是傳統(tǒng)的協(xié)同過濾方法之一。
3)FPMC算法:RENDLE等人提出的基于馬爾可夫鏈模型的矩陣分解(Factorized Personalized MC,FPMC)算法。在基于馬爾可夫鏈模型(Markov Chains,MC)推薦算法的基礎(chǔ)上,將所有用戶的轉(zhuǎn)換矩陣的張量因式分解,并通過基于馬爾可夫鏈假設(shè)計算轉(zhuǎn)換概率來預(yù)測下一個位置,這也是目前最先進(jìn)的推薦算法之一。
4)PRME算法:FENG等人考慮到學(xué)習(xí)嵌入需要將目標(biāo)位置和最近的遠(yuǎn)程位置之間的距離納入考量,提出個性化排名度量嵌入(Personalized Ranking Metric Embedding,PRME)方法。
采用興趣點(diǎn)推薦常用的準(zhǔn)確率和召回率作為評價指標(biāo),然而,由于準(zhǔn)確率和召回率往往相互制約,本文為評測算法的穩(wěn)定性,采用了F1指標(biāo)。F1指標(biāo)是一種綜合指標(biāo),為Precision和Recall的加權(quán)調(diào)和平均數(shù),計算公式如下:
(15)
(16)
(17)
其中,R(u)表示對用戶u進(jìn)行推薦的興趣點(diǎn)集合,T(u)表示用戶u在測試集上實(shí)際的簽到集合,N表示推薦列表的大小。
本文在Foursquare數(shù)據(jù)集和美團(tuán)網(wǎng)數(shù)據(jù)集進(jìn)行了對比實(shí)驗。對比算法包括TOP算法、MF算法、FPMC算法和PRME算法。評價指標(biāo)為準(zhǔn)確率Precision@N、召回率Recall@N和F1值,N取值為1、5、10、20。
圖3和圖4表示Foursquare數(shù)據(jù)集上TD-GRU算法、TOP算法、MF算法、FPMC算法、PRME算法之間不同推薦列表長度的準(zhǔn)確率和召回率。在Foursquare數(shù)據(jù)集上,當(dāng)推薦列表長度N取10時,TD-GRU算法準(zhǔn)確率為8.7%,召回率為12.1%,而經(jīng)典的矩陣分解MF算法的準(zhǔn)確率為2.3%,召回率為5.1%,FPMC算法的準(zhǔn)確率為5.3%,召回率為9.2%,PRME算法的準(zhǔn)確率為5.9%,召回率為10.3%。相比之下,TD-GRU算法的準(zhǔn)確率約是MC算法的3倍多,比FPMC算法、PRME算法分別高3.4%和2.8%。而TD-GRU算法的召回率是MC算法的2.3倍,比FPMC算法和PRME算法分別高2.9%和1.8%。
圖3 Foursquare數(shù)據(jù)集上不同算法推薦列表長度的準(zhǔn)確率
Fig.3Precision rates of different algorithms and recommended list lengths on Foursquare dataset
圖4 Foursquare數(shù)據(jù)集上不同算法推薦列表長度的召回率
Fig.4 Recall rates of different algorithms and recommended list lengths on Foursquare dataset
圖5、圖6表示美團(tuán)網(wǎng)數(shù)據(jù)集上TD-GRU算法與TOP算法、MF算法、FPMC算法、PRME算法之間不同推薦列表長度的準(zhǔn)確率和召回率。在美團(tuán)網(wǎng)數(shù)據(jù)集上,當(dāng)推薦列表長度N取5時,TD-GRU算法準(zhǔn)確率為5.2%,召回率為5.9%,而經(jīng)典的矩陣分解MC算法的準(zhǔn)確率為2.9%,召回率為2.9%,FPMC算法的準(zhǔn)確率為3.7%,召回率為3.1%。PRME算法的準(zhǔn)確率為4.3%,召回率為3.5%。相比之下,TD-GRU算法的準(zhǔn)確率約是MC算法的2倍,比FPMC算法高1.5%,比PRME算法高0.9%。而TD-GRU算法的召回率是MC算法的2倍,比FPMC算法和PRME算法分別高2.8%和2.4%。
圖5 美團(tuán)網(wǎng)數(shù)據(jù)集上不同算法推薦列表長度的準(zhǔn)確率
Fig.5Precision rates of different algorithms and recommended list lengths on the Meituan dataset
圖6 美團(tuán)網(wǎng)數(shù)據(jù)集上不同算法推薦列表長度的召回率
Fig.6 Recall rates of different algorithms and recommended list lengths on the Meituan dataset
從圖3~圖6可以看出,無論在Foursquare數(shù)據(jù)集上還是在美團(tuán)網(wǎng)數(shù)據(jù)集上,TD-GRU算法的準(zhǔn)確率和召回率都是5個算法中最高的。由此可見,相比于TOP算法、MF算法、FPMC算法、PRME算法,TD-GRU算法性能明顯優(yōu)于其他算法,說明該算法相比其他算法有效性更好,推薦更準(zhǔn)確。整體上而言,無論在Foursquare數(shù)據(jù)集上還是在美團(tuán)網(wǎng)數(shù)據(jù)集上,興趣點(diǎn)推薦算法的準(zhǔn)確率隨著推薦列表長度N的不斷增大而減小,而召回率則表現(xiàn)為隨著N的不斷增大而增大。為更直觀地觀察TD-GRU算法的整體性,本文還采用了F1指標(biāo),結(jié)果如圖7和圖8所示。從圖7、圖8可以看出,TD-GRU算法的F1指標(biāo)隨著推薦列表長度N的增大,均高于其他算法,說明其在整體性上明顯優(yōu)于其他算法。另外,在Foursquare數(shù)據(jù)集上,F1指標(biāo)在N=10時出現(xiàn)最大值,表明為Foursquare網(wǎng)站的用戶最好推薦10個興趣點(diǎn)。而在美團(tuán)網(wǎng)數(shù)據(jù)集上,F1指標(biāo)在N=5時出現(xiàn)最大值,表明給美團(tuán)網(wǎng)站用戶推薦的興趣點(diǎn)個數(shù)最好為5個。
圖7 Foursquare數(shù)據(jù)集上不同算法推薦列表長度的F1值
Fig.7F1 indicator with different algorithms and recommended list lengths on Foursquare dataset
圖8 美團(tuán)數(shù)據(jù)集上不同算法推薦列表長度的F1值
Fig.8F1 indicator with different algorithms and recommended list lengths on the Meituan dataset
上述實(shí)驗結(jié)果驗證了TD-GRU算法的推薦性能最優(yōu)。本文針對不同的時間窗口ω值以及不同的列表長度N,以召回率Recall值為參考進(jìn)行實(shí)驗,實(shí)驗結(jié)果如表3、表4所示。
表3 Foursquare數(shù)據(jù)集上不同推薦列表長度時間窗口值的召回率
Table 3 Recall of different recommendation list lengths and time window values on the Foursquare dataset
ω/d Recall@1/%Recall@5/%Recall@10/%Recall@20/%0.51.35.49.610.91.01.86.210.712.03.02.26.811.512.95.02.47.111.913.67.02.88.112.117.210.02.36.911.913.414.01.96.211.112.3
表4 美團(tuán)網(wǎng)數(shù)據(jù)集上不同推薦列表長度時間窗口值的召回率
Table 4 Recall rate of different recommendation list lengths and time window values on the Meituan dataset
ω/dRecall@1/%Recall@5/%Recall@10/%Recall@20/%0.51.12.35.38.31.01.43.47.09.73.01.74.78.510.95.02.15.49.311.67.01.95.910.212.410.01.55.79.811.814.00.94.27.210.6
由表3、表4可知,當(dāng)ω值取7 d時(見粗體),TD-GRU算法無論在Foursquare數(shù)據(jù)集上還是在美團(tuán)網(wǎng)數(shù)據(jù)集上,召回率都是最高的,這就意味著將用戶訪問興趣點(diǎn)的時間序列劃分成7 d的時間間隔,推薦效果最優(yōu),較好地覆蓋了用戶訪問興趣點(diǎn)的長序列,推薦結(jié)果具有更高的可信度和參考價值。
為便于對時序信息建模,本文將深度學(xué)習(xí)領(lǐng)域的門控循環(huán)神經(jīng)網(wǎng)絡(luò)引入興趣點(diǎn)推薦算法,對連續(xù)的時間因素離散化處理,給出特定時間轉(zhuǎn)換矩陣,而對于距離信息采用了特定距離轉(zhuǎn)換矩陣,提出基于時序和距離的門控循環(huán)單元興趣點(diǎn)推薦算法(TD-GRU)。實(shí)驗結(jié)果表明,與傳統(tǒng)的興趣點(diǎn)推薦算法相比,該算法推薦結(jié)果具有較高的可靠性。在實(shí)際中,影響興趣點(diǎn)推薦的因素較多,本文只考慮了時間和地理位置,下一步將結(jié)合影響興趣點(diǎn)推薦的興趣點(diǎn)流行度、用戶好友關(guān)系等因素,進(jìn)一步完善本文推薦算法。