楊 麗,王時繪,朱 博
(1.湖北大學(xué)計算機(jī)與信息工程學(xué)院,武漢 430062;2.中國船舶重工集團(tuán)公司第709研究所,武漢 420205)
(*通信作者電子郵箱yangli_lc@163.com)
近年來,移動設(shè)備的日益普及和無線通信技術(shù)的進(jìn)步促使了基于位置的社交網(wǎng)絡(luò)(Location Based Social Network,LBSN)的快速發(fā)展。LBSN 將互聯(lián)網(wǎng)網(wǎng)絡(luò)空間與物理世界聯(lián)系在一起,從而使用戶可以輕松地基于智能設(shè)備通過發(fā)布簽到、評論以及地點(diǎn)圖像來分享他們的經(jīng)驗(yàn),幫助其他用戶找到有趣的位置地點(diǎn)。興趣點(diǎn)(Point-Of-Interest,POI)推薦服務(wù)不僅可以通過為用戶提供具有吸引力的場所來使其受益,而且還可以促進(jìn)相關(guān)企業(yè)進(jìn)行有針對性的廣告投放,顯著提高企業(yè)效益。這類服務(wù)利用LBSN 中大規(guī)模用戶-興趣點(diǎn)交互式數(shù)據(jù)為用戶提供豐富的推薦服務(wù),也為工業(yè)界和學(xué)術(shù)界提供了一個很好的機(jī)會來獲得對用戶偏好和用戶行為更深入的了解[1]。
近年來,已有大量基于時空序列模式的興趣點(diǎn)推薦研究工作,精準(zhǔn)挖掘了用戶移動模式中隱含時空序列特征,然而這一問題并沒有獲得深入研究[2]。由于以下原因,興趣點(diǎn)推薦仍然是一項(xiàng)具有挑戰(zhàn)性的研究任務(wù):
1)時空信息被認(rèn)為是一種重要的信息類型,常常用于建模POI推薦系統(tǒng)中用戶復(fù)雜的動態(tài)偏好。現(xiàn)有基于時空序列的興趣點(diǎn)推薦模型中,主要利用循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)模型或者馬爾可夫鏈模型基于簽到信息的時空序列特征來實(shí)現(xiàn)用戶復(fù)雜動態(tài)偏好的建模。一階馬爾可夫鏈模型無法區(qū)分某些局部時空背景下用戶的個性化簽到,使得所有用戶的簽到行為最終建模為統(tǒng)一的簽到位置序列模式,而基于n階馬爾可夫鏈模型的計算成本又極其高昂[3]。一些研究工作[4-6]偏好采用RNN 模型建模時空序列信息。但是,現(xiàn)有基于RNN 的興趣點(diǎn)模型大多忽略了用戶簽到序列模式中的跳過行為,即簽到行為的影響可能會跳過幾個時間序列仍然影響用戶正在進(jìn)行的簽到行為[7]。例如,游客在機(jī)場、酒店、餐廳,酒吧和旅游景點(diǎn)順序進(jìn)行簽到。盡管在機(jī)場和酒店簽到后不會立即去旅游景點(diǎn)簽到,但它們與后面的酒吧、旅游景點(diǎn)之間存在著強(qiáng)烈的關(guān)聯(lián)行為。另一方面,餐廳或酒吧的簽到可能對景點(diǎn)的簽到行為沒有影響。
2)注意力機(jī)制已經(jīng)在各種機(jī)器學(xué)習(xí)任務(wù)中展示了自身的有效性。在推薦系統(tǒng)領(lǐng)域,文獻(xiàn)[8]中融合兩個基于注意力網(wǎng)絡(luò)用于建模用戶之間的社交影響從而精準(zhǔn)捕獲用戶的復(fù)雜動態(tài)偏好和一般靜態(tài)偏好;文獻(xiàn)[9]通過在門控循環(huán)單元(Gated Recurrent Unit,GRU)網(wǎng)絡(luò)中加入注意力機(jī)制,來模擬音樂推薦中用戶的短期興趣。然而,上述這些常用的注意力方法大多是一階的,它們無法捕獲復(fù)雜簽到序列之間的相互作用以及偏好引起的簽到位置序列之間細(xì)微差別[10]。
在現(xiàn)實(shí)世界的推薦場景中,用戶對興趣點(diǎn)的偏好并不總是固定的,而是隨著時間的變化而變化。然而,盡管用戶的興趣隨時間變化,但仍有一些長期因素會影響用戶的行為,這反映了他們的一般長期靜態(tài)偏好。因此,現(xiàn)在大多數(shù)研究人員認(rèn)為每個用戶的偏好都由兩部分組成:一部分是一般長期靜態(tài)偏好,不會隨著時間的變化而變化;另外一部分屬于復(fù)雜的動態(tài)偏好,則很容易受到時空因素等的影響[11-12]。這就是為什么最近主流先進(jìn)方法傾向于將一般長期靜態(tài)偏好建模和復(fù)雜動態(tài)偏好相互作用結(jié)合在一起用于用戶偏好精準(zhǔn)建模的原因。
為了解決上述問題,本文提出一種基于注意力機(jī)制的動靜偏好融合的興趣點(diǎn)推薦算法CLSR(Combing Long Short Recommendation)。具體而言,首先利用一種混合GRU 神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)了基于用戶時空簽到序列和簽到跳過行為的復(fù)雜動態(tài)偏好建模,同時利用高階注意力網(wǎng)絡(luò)學(xué)習(xí)用戶的一般靜態(tài)偏好;然后基于2 個含有隱藏層的多層神經(jīng)網(wǎng)絡(luò)分別進(jìn)行多層投影學(xué)習(xí),以進(jìn)一步學(xué)習(xí)和表示這些動態(tài)偏好和靜態(tài)偏好的特征;最后,用戶的復(fù)雜動態(tài)興趣和一般靜態(tài)興趣都基于統(tǒng)一的框架融合,實(shí)現(xiàn)用戶的偏好建模?;? 個真實(shí)數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果表明,本文提出的興趣點(diǎn)算法優(yōu)于主流先進(jìn)的興趣點(diǎn)推薦算法。
大多數(shù)興趣點(diǎn)推薦模型模擬用戶的長期偏好,這種偏好反映了用戶偏好的固有特征,并且是靜態(tài)的。基于因子分解的協(xié)同過濾方法[13]是實(shí)現(xiàn)這一目標(biāo)的最有效方法之一。在現(xiàn)實(shí)世界中,用戶對興趣點(diǎn)的偏好并不是一成不變的,而是會隨著時間而變化。因此,在推薦過程中獲取用戶興趣的時間動態(tài)變化特征很重要。Cheng 等[14]提出了一個基于一階馬爾可夫鏈模型建模用戶的POI簽到行為。Zhao等[15]提出了一個名為STELLAR 的基于排序策略的成對張量因子分解框架。STELLAR 結(jié)合了細(xì)粒度的時間上下文信息(即月、周日/周末和小時),并最終帶來了推薦性能的顯著改善。Xie 等[16]提出了利用二分圖的推薦方法,稱為GE模型。該模型將興趣點(diǎn)推薦的多個上下文因素在基于圖模型的統(tǒng)一框架中實(shí)現(xiàn)融合建模提供興趣點(diǎn)推薦服務(wù)。實(shí)際上,以上POI 推薦模型都依賴于基于淺層線性潛在因子的模型,并且嚴(yán)重依賴于人工定義隨時間變化的時間演化模式,因此,它們很難捕獲用戶動態(tài)偏好的內(nèi)在復(fù)雜關(guān)系。隨著基于神經(jīng)遞歸網(wǎng)絡(luò)的方法基于許多時空數(shù)據(jù)得到了成功應(yīng)用,一些開創(chuàng)性的研究工作將深度學(xué)習(xí)方法——RNN 模型用于基于時空序列模式的興趣點(diǎn)推薦建模,并取得了不錯的效果。Li 等[4]基于GRU 模型實(shí)現(xiàn)POI推薦中的時空序列建模;文獻(xiàn)[3]則利用RNN 模型建模用戶簽到行為中的時間轉(zhuǎn)變模式;而文獻(xiàn)[11]則采用了遞歸神經(jīng)網(wǎng)絡(luò)模型用于POI 推薦中POI 簽到時空序列軌跡的深度表示。
注意力機(jī)制起源于神經(jīng)科學(xué)研究,通過經(jīng)驗(yàn)證明人類通常關(guān)注輸入的特定部分而不是所有可用的信息[17]?;谧⒁饬C(jī)制的深度學(xué)習(xí)是人類視覺中的選擇注意力機(jī)制與深度神經(jīng)網(wǎng)絡(luò)的結(jié)合產(chǎn)物,目前在計算機(jī)視覺、自然語言處理等領(lǐng)域取得了巨大成功,例如圖像識別[18]和機(jī)器翻譯[19],但它最近已被用于推薦任務(wù)[20-22]。Xiao 等[20]提出了一個注意力因式分解機(jī)模型,其中特征交互的重要性是通過注意力網(wǎng)絡(luò)來學(xué)習(xí)的。Zhou 等[21]采用注意力網(wǎng)絡(luò)來計算不同用戶行為(如閱讀評論、購物和訂購)的權(quán)重,以對電子商務(wù)站點(diǎn)中的用戶偏好進(jìn)行建模。Chen 等[22]提出了一個細(xì)粒度的協(xié)同過濾框架用于提供推薦服務(wù),注意力網(wǎng)絡(luò)被用于學(xué)習(xí)這些組件的注意力得分以獲得更好的項(xiàng)目表示。注意力網(wǎng)絡(luò)還應(yīng)用于順序推薦[23]、基于評論的推薦[24-25]等。
相比較而言,本文提出的CLSR 算法與上述工作存在的區(qū)別有:
1)本文基于用戶復(fù)雜動態(tài)偏好和一般靜態(tài)偏好融合來精準(zhǔn)建模用戶的偏好。
2)鑒于用戶簽到行為中興趣點(diǎn)與用戶之間基于時空序列模式的復(fù)雜性,在建模復(fù)雜動態(tài)偏好過程中不僅僅考慮了用戶的歷史簽到行為,還考慮了基于時序模式簽到行為的跳過行為。唯有這樣建模,才能更貼近現(xiàn)實(shí)場景。
3)在一般靜態(tài)偏好建模過程中,本文提出基于高階注意力網(wǎng)絡(luò)來學(xué)習(xí)長期用戶簽到行為序列模式中依賴關(guān)系的重要偏好等細(xì)粒度特征。具體而言,將普通注意力機(jī)制通過高階多項(xiàng)式進(jìn)行高維度化,以更好地捕捉關(guān)聯(lián)的細(xì)粒度表征。
令U={u1,u2,…,u|U|}表示一組用戶,而V={v1,v2,…,v|V|}表示一組POI,其中| ?|表示相應(yīng)集合的基數(shù)。對于用戶u,將其當(dāng)前簽到會話表示為Sessionu={(v1,action1),(v2,action2),…,(v?,action?)},其中,vi是簽到會話中的第i個興趣點(diǎn),actioni表示第i個簽到動作,?表示當(dāng)前簽到行為會話中的行為數(shù)。同時,本文考慮用戶的歷史會話中與之交互的興趣點(diǎn),并將它們表示為Historyu=在此,φ表示用戶與興趣點(diǎn)的歷史互動中的簽到數(shù)量。每個用戶歷史簽到的集合基于V得到。鑒于用戶對興趣點(diǎn)簽到的行為,本文的目標(biāo)是給每一個用戶推薦他(她)還沒有訪問過且感興趣的興趣點(diǎn)。
GRU 網(wǎng)絡(luò)是RNN 的變體,由在時間步驟t具有對于狀態(tài)ht有影響的前一個單位ht-1的隱藏狀態(tài)的門控機(jī)制組成,具體如下公式:
其中:gt和st分別是更新和重置門;是候選隱藏狀態(tài);是各個單元的權(quán)重參數(shù);σ和tanh 分別是Sigmod函數(shù)和激活函數(shù);⊙是元素感知的內(nèi)積。
本文算法的框架如圖1 所示。具體而言,首先,利用一種混合GRU 模型學(xué)習(xí)用戶偏好復(fù)雜動態(tài)變化時序特征;同時基于注意力機(jī)制提出基于高階注意力網(wǎng)絡(luò)的因子分解模型學(xué)習(xí)用戶一般長期靜態(tài)偏好;然后采用基于兩個多層神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)多層投影學(xué)習(xí)用戶的時序、興趣點(diǎn)等更加精準(zhǔn)的特征;最后采用統(tǒng)一端到端推薦框架融合動態(tài)和靜態(tài)用戶偏好。
圖1 CLSR算法的框架Fig.1 Framework of CLSR algorithm
將原數(shù)據(jù)表征為單個的向量,從而映射到相應(yīng)的向量空間中,公式如下:
其中:u為標(biāo)識映射后的結(jié)果,R表示潛在因子矩陣。經(jīng)過嵌入層后,可以得到δ維的特征向量。
為模擬用戶固有的或變化緩慢的一般靜態(tài)偏好,采用了矩陣分解技術(shù),它是學(xué)習(xí)一般靜態(tài)偏好的最成功方法之一。受到文獻(xiàn)[13]工作的啟發(fā),本文采用與用戶交互的位置序列來表示用戶的一般靜態(tài)偏好:
其中?j是簽到actionj的權(quán)重得分。本文假定并非用戶所有簽到行為都對最終的推薦起到了同等重要作用,因此要為有些簽到行為分配較高的權(quán)重,而為另一些簽到行為分配較低權(quán)重。普通注意力機(jī)制無法捕獲復(fù)雜的相互作用以及序列之間的細(xì)微差別,缺乏對細(xì)節(jié)性描述。為了更好捕獲位置序列特征之間的復(fù)雜關(guān)系,受到文獻(xiàn)[18]啟發(fā),基于高階多項(xiàng)式的高階注意力網(wǎng)絡(luò)對比序列間的差異,提取更加重要的細(xì)粒度特征,同時實(shí)現(xiàn)權(quán)重按實(shí)際分布分配。具體而言,將普通注意力機(jī)制通過高階多項(xiàng)式進(jìn)行高維度化,能夠進(jìn)一步增強(qiáng)注意力表示知識的豐富性。
其中:Wa、Wb、Wc是注意力網(wǎng)絡(luò)的權(quán)重參數(shù);ai、bi、ci分別是第一階、第二階和第三階注意力權(quán)重的中間結(jié)果;i是每階需要計算的數(shù)目,如第三階需要計算3 次,即c1、c2、c3進(jìn)行點(diǎn)積運(yùn)算,然后通過多項(xiàng)式組合得到高階權(quán)重,再與原特征相乘完成權(quán)重的重新分配。本文提出的高階注意力網(wǎng)絡(luò)使用ReLU 作為隱藏層的激活函數(shù),將高階組合的特征投影到m中,得到如下公式:
其中,基于m,用Softmax 函數(shù)對得分進(jìn)行歸一化,得到本文提出的高階注意力得分。同時,通過高階注意力網(wǎng)絡(luò)的優(yōu)化與處理,一般靜態(tài)偏好能夠基于實(shí)際分布完成對位置序列等權(quán)重的重新分配,從而不再受制于固定的權(quán)重,使一般靜態(tài)偏好建模擁有更好的魯棒性。
考慮基于GRU 網(wǎng)絡(luò)建模用戶簽到行為以及簽到行為中的跳過行為,將2個建模進(jìn)行自適應(yīng)融合構(gòu)成混合GRU網(wǎng)絡(luò),從而精準(zhǔn)捕捉用戶偏好的動態(tài)變化性。
給定一個POI的序列,每個序列與簽到時間相關(guān)聯(lián),本文計算相鄰POI 之間的時間間隔為Δτt=τk-τk-1,k∈[1,|t|]。然后,基于式(1)~(4)得到新的候選隱藏狀態(tài)。
同時,本文基于GRU 建模用戶簽到過程中的跳過行為。具體地,如圖1 所示,在相鄰時段中,在當(dāng)前隱藏單元和相同相位的隱藏單元之間添加跳過行為建模,基于式(1)~(4),得到如下公式:
其中:β是跳過的隱藏單元的數(shù)量表示偏置向量。本文使用全連接層來整合上述2 個的輸出。全連接層的輸入包括在時間戳t處的隱藏狀態(tài)(用表示)和從時間戳t-β+1 到t處的β遞歸跳過的隱藏狀態(tài),由表示。因此,基于式(11)~(16),全連接層的輸出計算如下:
利用多層投影神經(jīng)網(wǎng)絡(luò)的多層特性學(xué)習(xí)用戶和位置之間的潛在特征,以進(jìn)一步將用戶特征投影到一個公共的低維空間中。在形式上,對于一個多層投影神經(jīng)網(wǎng)絡(luò),設(shè)置zi(i=1,2,…,N)表示第i個隱藏層的輸出,ξi和ιi分別表示第i層的權(quán)重和偏置向量,ReLU函數(shù)作為多層神經(jīng)網(wǎng)絡(luò)各層的激活函數(shù),如果將輸入向量表示為e,將最終輸出的潛在表示向量表示為q,得到各層中的具體表示如下:
采用端到端的方式將兩個多層神經(jīng)網(wǎng)絡(luò)的輸出結(jié)果進(jìn)行融合,各自學(xué)習(xí)到的交互函數(shù)的輸出在預(yù)測層融合在一起。預(yù)測層的輸出結(jié)果即為整個CLSR 模型的輸出,并根據(jù)這個輸出的結(jié)果,得到最終的推薦結(jié)果列表。預(yù)測層的輸出為如下:
二元交叉熵?fù)p失函數(shù)是基于神經(jīng)網(wǎng)絡(luò)優(yōu)化參數(shù)訓(xùn)練的一個很好的選擇。因此,CLSR算法的目標(biāo)損失函數(shù)如下:
本文采用Adam[26]對上述損失函數(shù)進(jìn)行優(yōu)化,從而得到最終輸出推薦列表。
興趣點(diǎn)推薦算法CLSR步驟描述如下:
為了驗(yàn)證本文模型的性能,主要在真實(shí)數(shù)據(jù)集下將本文模型與其他主流先進(jìn)興趣點(diǎn)推薦模型進(jìn)行對比和分析。
實(shí)驗(yàn)在兩個公開數(shù)據(jù)集Foursquare[27]和Gowalla[28]上進(jìn)行,而且清除了Foursquare 數(shù)據(jù)集中少于10 條簽到記錄的用戶和興趣點(diǎn)(簽到時間范圍從2012 年4 月至2013 年9 月),而對簽到數(shù)據(jù)分布在全球范圍的Gowalla 數(shù)據(jù)集則清除了少于10條簽到記錄的用戶和少于15條簽到記錄的POI。相關(guān)特征統(tǒng)計如表1 所示。在這兩個數(shù)據(jù)集中,一個用戶應(yīng)該至少訪問5 個不同的興趣點(diǎn)。在本文的實(shí)驗(yàn)中,隨機(jī)選擇數(shù)據(jù)集的70%的數(shù)據(jù)集作為訓(xùn)練數(shù)據(jù)集,使用接下來的10%作為驗(yàn)證集,同時所有模型采用最佳超參數(shù)設(shè)置,其余20%作為測試數(shù)據(jù)集。
表1 過濾前后數(shù)據(jù)集的特性統(tǒng)計Tab.1 Statistical characteristics of datasets before and after filtering
本文采用了準(zhǔn)確率Precision(P@K)、召回率Recall(R@K)和歸一化折損累積增益(normalized Discounted Cumulative Gain,nDCG)作為評估指標(biāo)。其中,準(zhǔn)確率和召回率的計算公式中是用戶u的top-k 推薦興趣點(diǎn)列表,而是用戶u在測試集中的訪問興趣點(diǎn)列表,K表示興趣點(diǎn)推薦的個數(shù)。
對于這兩個評估指標(biāo),設(shè)置K=5,10,20進(jìn)行實(shí)驗(yàn)。
對于目標(biāo)用戶u,其推薦列表排在位置vorder的興趣點(diǎn)的nDCG值計算公式:
其中:Yu表示用戶u的最大DCG 值;reli表示第i個興趣點(diǎn)與用戶的相關(guān)度,reli為1 表示相關(guān),否則reli=0。實(shí)驗(yàn)設(shè)置推薦列表的長度vorder=5,10。
為了驗(yàn)證本文算法的有效性與先進(jìn)性,從以下方面對CLSR算法進(jìn)行測試。
1)將本文提出混合GRU 的方法與以下三個主流的時序建模方法進(jìn)行對比,從而驗(yàn)證本文提出考慮用戶簽到過程中的跳躍行為的有效性和先進(jìn)性。
a)基于卷積序列嵌入的推薦方法Caser(Convolutional Sequence Embedding)[7]:此方法基于CNN 模型建模時空序列。將L個先前項(xiàng)目的嵌入矩陣視為“圖像”,因此,基于CNN模型使用水平卷積層和垂直卷積層分別捕獲點(diǎn)級和聯(lián)合級序列模式。
b)基于前k個收益的循環(huán)神經(jīng)網(wǎng)絡(luò)序列推薦方法GRU4REC(Recurrent Neural Networks with Top-kGains)[29]:此方法基于RNN 模型建模時空序列。大多數(shù)采用RNN 模型建模時空序列模型都是以此模型為基礎(chǔ)。
c)基于馬爾可夫鏈融合相似度模型的序列建模方法Fossil(Fusing similarity models with Markov chains)[30]:此方法基于一種高階馬爾可夫鏈模型建模時空序列。
2)基于高階注意力網(wǎng)絡(luò)、普通注意力機(jī)制與沒有注意力機(jī)制的三種情況對CLSR 的性能進(jìn)行對比,從而驗(yàn)證本文提出的高階注意力網(wǎng)絡(luò)的有效性和高效性。
a)沒有注意力機(jī)制(No-attention):代表在CLSR 算法中忽略掉高階注意力網(wǎng)絡(luò);
b)普通注意力機(jī)制Vanilla(General attention)[8]:代表在CLSR算法中將高階注意力網(wǎng)絡(luò)替換成普通注意力機(jī)機(jī)制。
3)將本文模型與以下四個主流先進(jìn)POI推薦方法進(jìn)行對比,從而驗(yàn)證本文方法的有效性和先進(jìn)性。
a)個性化馬爾可夫鏈和用戶位置受限的推薦方法FPMC-LR(Personalized Markov Chain and Localized Region)[14]:該模型提出了一種基于局部區(qū)域約束的擴(kuò)展因子分解個性化馬爾可夫鏈且考慮鄰域位置的興趣點(diǎn)模型。
b)基于時間和多級上下文注意力機(jī)制的下一個興趣點(diǎn)推薦方法TMCA(Temporal and Multi-level Context Attention)[4]:該模型采用基于LSTM 的編碼器-解碼器框架來自動學(xué)習(xí)用戶歷史簽到活動的深度時空表示,并集成了多個上下文因素;此外,該模型還使用多級上下文注意力機(jī)制來自適應(yīng)地選擇相關(guān)的簽到活動和對應(yīng)的上下文因素。
c)基于個性化排名度量嵌入的推薦方法PRME(Personalized Ranking Metric Embedding)[31]:是一種個性化排名度量模型,聯(lián)合建模序列信息和個人偏好,通過將每個興趣點(diǎn)映射到對象的低維歐氏空間,然后使用度量嵌入算法有效地計算馬爾可夫鏈模型中的位置轉(zhuǎn)換。
d)基于排名的地理分解興趣點(diǎn)推薦方法Rank-GeoFM(Ranking based Geographical Factorization Method)[32]:是一種基于排名的地理分解方法,通過適合用戶的POI 簽到頻率來學(xué)習(xí)用戶興趣點(diǎn)的嵌入;同時,時間上下文和地理影響都基于加權(quán)方案納入了最終的推薦框架。
4)分析一般靜態(tài)偏好建模組件(L-CLSR)、復(fù)雜動態(tài)偏好建模組件(S-CLSR)對于本文CLSR算法推薦性能的影響。。
5)討論CLSR 算法不同組件的影響,以及多層投影神經(jīng)網(wǎng)絡(luò)的潛在維度和神經(jīng)網(wǎng)絡(luò)層數(shù)對于CLSR 算法推薦性能的影響。
實(shí)驗(yàn)中所有算法都基于最優(yōu)參數(shù)進(jìn)行設(shè)置。GRU 網(wǎng)絡(luò)的隱藏維度是32,嵌入維度為32。對于Foursquare 數(shù)據(jù)集和Gowalla 數(shù)據(jù)集,“跳過”的長度設(shè)置為6,從{0.001,0.01,0.1,1,10}中選擇正則化系數(shù),以獲得最佳性能。梯度下降超參數(shù)學(xué)習(xí)率設(shè)定為0.001。使用含有4 個隱藏層的神經(jīng)網(wǎng)絡(luò),4 個隱藏層都使用ReLU 函數(shù)作為激活函數(shù)。對于Fossil、Caser和GRU4REC,馬爾可夫階L為{1,2,…,9}。實(shí)驗(yàn)中CLSR 算法的多層投影神經(jīng)網(wǎng)絡(luò)的隱藏層的結(jié)構(gòu)是(128,64,32,16),潛在維度是64。Adam 算法被用來優(yōu)化CLSR 算法的參數(shù)。除了輸入層和輸出層,在每一層后采用dropout,速率設(shè)置為0.1到0.2。全連接層的dropout 的比例為0.5。本文模型通過在配置Nvidia GeForce GTX 1080 顯卡的機(jī)器上運(yùn)行PyTorch 實(shí)現(xiàn)。其他對比算法都參照各自參數(shù)的最佳設(shè)置。
4.5.1 時空建模方法對比分析
從圖2可以得到如下結(jié)論:
1)在兩個數(shù)據(jù)集上,Spatio-SR 模型的所有指標(biāo)均表現(xiàn)得更好。具體而言,首先Spatio-SR 模型顯著優(yōu)于傳統(tǒng)基于高階馬爾可夫過程的方法Fossil,驗(yàn)證了神經(jīng)網(wǎng)絡(luò)方法的強(qiáng)大。這也與前面的討論一致,即由神經(jīng)網(wǎng)絡(luò)模型提供的非線性變換操作能夠?qū)崿F(xiàn)更好的高級空間意圖學(xué)習(xí)。此外,Spatio-SR 始終優(yōu)于其他兩種方法,這表明在Spatio-SR中采用混合GRU 模型是有效的。原因如下:本文基于混合GRU 模型對用戶簽到過程中典型的短期動態(tài)變化個性化簽到現(xiàn)象及其跳過現(xiàn)象進(jìn)行建模,很好地彌補(bǔ)了Caser 模型和RNN 模型在建模序列信息中無法精準(zhǔn)捕獲用戶個性化簽到時空序列信息的各種不足,這一點(diǎn)和文獻(xiàn)[5,7]所指出的一致。
2)在兩個數(shù)據(jù)集上,F(xiàn)ossil 的所有指標(biāo)均表現(xiàn)最差,因?yàn)樵摲椒▽τ谧罱K長期時間變化和短期時間動態(tài)變化的融合僅僅采用了簡單的線性加權(quán),不足以捕獲特征之間復(fù)雜的交互關(guān)系;同時高階馬爾可夫鏈模型隨著階數(shù)的增大,噪聲和無用的相關(guān)信息也逐漸變多,從而影響了最終的性能。
3)Caser方法作為典型的基于CNN建模,采用將最近的項(xiàng)目序列嵌入到潛在空間的“圖像”中,并將序列模式作為該“圖像”的局部特征,從而采用基于聯(lián)合卷積過濾器進(jìn)行圖像識別的方法捕捉局部特征。顯然,相比RNN 而言,基于CNN 建模的優(yōu)點(diǎn)在于其具有從某個區(qū)域?qū)W習(xí)局部特征以及不同區(qū)域之間的相互關(guān)系的能力,可以有效地捕獲通常被其他基于RNN模型忽略的聯(lián)合級序列之間依賴關(guān)系。但是如同文獻(xiàn)[5]所指出的計算機(jī)視覺方法中基于CNN 模型對于圖像局部特征建模中可能存在丟失重要序列信息的現(xiàn)象,這個現(xiàn)象也存在于時空序列建模中。因此,Caser性能優(yōu)于GRU4REC模型。
綜上,Spatio-SR 模型成功地學(xué)習(xí)了基于短期復(fù)雜動態(tài)時空變化的用戶個性化偏好,從而使得本文提出的模型具有優(yōu)越性能。
圖2 在Foursquare和Gowalla數(shù)據(jù)集上不同方法的推薦性能對比Fig.2 Recommendation performance comparison of different methods on Foursquare and Gowalla datasets
4.5.2 高階注意力網(wǎng)絡(luò)性能對比分析
從圖3 可以看出,對比高階注意力機(jī)制和普通注意力機(jī)制,高階注意力網(wǎng)絡(luò)可以有效地提高CLSR 算法的性能,更好地應(yīng)對普通注意力網(wǎng)絡(luò)無法準(zhǔn)確學(xué)習(xí)用戶-POI 交互之間基于時空序列會話復(fù)雜關(guān)系的問題。此外,高階注意力可以突出相關(guān)重要特征,并減少不相關(guān)特征的干擾,它可以捕獲更加準(zhǔn)確的用戶和興趣點(diǎn)特征,捕獲用戶興趣點(diǎn)的動態(tài)交互的復(fù)雜性,從而提高模型性能,這與文獻(xiàn)[33]的結(jié)論也是一致的。但是,值得注意的是,這樣的高階注意力網(wǎng)絡(luò)架構(gòu)也需要花費(fèi)更多的時間,具有更加復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)[33]。因此,本文也只采用了三階注意力網(wǎng)絡(luò)。此外,對比沒有注意力網(wǎng)絡(luò)而言,普通注意力網(wǎng)絡(luò)對于最終性能的提高也有一定的作用,高階注意力網(wǎng)絡(luò)通過更加精準(zhǔn)地建模不同特征之間的相關(guān)作用,達(dá)到了最終提高推薦性能的目的。。
圖3 在Foursquare和Gowalla數(shù)據(jù)集上本文提出的高階注意力網(wǎng)絡(luò)與其他注意力方法的推薦性能對比Fig.3 Recommendation performance comparison of the proposed high-order attention network and other attention methods on Foursquare and Gowalla datasets
4.5.3 興趣點(diǎn)推薦算法性能對比
圖4 展示了本文提出的CLSR 算法與多個不同主流先進(jìn)POI 推薦模型的對比實(shí)驗(yàn)結(jié)果??梢缘玫饺缦陆Y(jié)論:
1)CLSR 算法始終表現(xiàn)最佳,并顯著提高了兩個數(shù)據(jù)集上POI 的推薦性能。CLSR 算法的優(yōu)勢在于它通過動靜偏好學(xué)習(xí)融合精準(zhǔn)捕獲用戶真實(shí)偏好。CLSR 算法對于時空序列的建模方法體現(xiàn)了神經(jīng)網(wǎng)絡(luò)基于一種深層次非線性結(jié)構(gòu)具有強(qiáng)大的獲取用戶和興趣點(diǎn)深層次特征的能力,同時高階注意力對于提高捕獲用戶長期興趣偏好的作用不可小覷。
2)基于神經(jīng)網(wǎng)絡(luò)的方法優(yōu)于基于非神經(jīng)網(wǎng)絡(luò)的傳統(tǒng)方法。對于TMCA 而言,分層注意力結(jié)構(gòu)和RNN 模型的結(jié)合的確對于POI 推薦性能的提高起到了幫助作用,但是,相比而言,基于用戶的歷史簽到行為和近期的簽到行為會話互動融合建模的CLSR算法對于最終性能的提高幫助更大。
3)PRME 和RankGeoFM 優(yōu)于FPMC+LR,這說明在現(xiàn)實(shí)世界中,僅考慮簽到序列中最近訪問的位置遠(yuǎn)遠(yuǎn)不夠。用戶對于興趣點(diǎn)的偏好預(yù)測應(yīng)當(dāng)取決于用戶的歷史簽到信息、用戶的訪問時間信息和其他上下文相關(guān)信息。
4)PRME 和RankGeoFM 這兩個模型的性能不相上下,一個可能的原因是PRME 和RankGeoFM 本質(zhì)上都屬于利用基于排名的優(yōu)化策略,兩個模型均通過利用未觀察到的負(fù)采樣學(xué)習(xí)相關(guān)模型參數(shù),使得對比FPMC-LR 模型而言,緩解了數(shù)據(jù)稀疏性對最終性能的困擾。
圖4 在Foursquare和Gowalla數(shù)據(jù)集上本文CLSR算法與其他方法的性能對比Fig.4 Recommendation performance comparison of CLSR model and other models on Foursquare and Gowalla datasets
4.5.4 組件影響分析
圖5展示了一般靜態(tài)偏好建模組件(L-CLSR)和復(fù)雜動態(tài)偏好建模組件(S-CLSR)如何影響本文CLSR 算法的最終性能。當(dāng)K值取5,10,20 時,準(zhǔn)確率和召回率的變化趨勢與圖2~4 是一致的。對比分析基于Foursquare 和Gowalla2 個數(shù)據(jù)集的準(zhǔn)確率和召回率可以看出,將上述2 個組件進(jìn)行融合可以有效提升最終的推薦性能。
圖5 在Foursquare和Gowalla數(shù)據(jù)集上CLSR算法與其他組件的推薦性能對比Fig.5 Recommendation performance comparison of CLSR model and other components on Foursquare and Gowalla datasets
4.5.5 潛在維度和層數(shù)影響分析
神經(jīng)網(wǎng)絡(luò)的深度是影響神經(jīng)網(wǎng)絡(luò)表達(dá)能力的重要因素。本節(jié)主要討論多層神經(jīng)網(wǎng)絡(luò)層數(shù)對推薦質(zhì)量的影響。令隱藏層數(shù)表示為dl,將dl從1變化到5,其他參數(shù)保持與第4.4節(jié)中描述的相同設(shè)置。圖6 僅呈現(xiàn)了Foursquare 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果,而在Gowalla 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果顯示出類似的趨勢。一般而言,隨著多層神經(jīng)網(wǎng)絡(luò)的隱藏層數(shù)從1 增加到5,最終推薦性能在逐步提高,這表明更深的神經(jīng)網(wǎng)絡(luò)層的確更有利于潛在特征學(xué)習(xí)。不過當(dāng)層數(shù)dl>4 時,CLSR 算法性能并沒有進(jìn)一步的提高,因此,CLSR 算法的多層神經(jīng)網(wǎng)絡(luò)隱藏層的最佳層數(shù)為4。造成這個現(xiàn)象可能的原因是更深的神經(jīng)網(wǎng)絡(luò)使得CLSR 算法的多層神經(jīng)網(wǎng)絡(luò)具有更多需要訓(xùn)練的參數(shù),這些參數(shù)在訓(xùn)練數(shù)據(jù)樣本有限的情況下相對難以學(xué)習(xí),導(dǎo)致推薦性能的下降。顯然,多層神經(jīng)網(wǎng)絡(luò)中隱藏層不同層數(shù)可以影響最終推薦性能,但是推薦性能并不會隨著層數(shù)的無限制增加而提高。
圖6 CLSR算法中多層神經(jīng)網(wǎng)絡(luò)基于Foursquare數(shù)據(jù)集的層數(shù)影響分析Fig.6 Impact analysis of layer number of multi-layer neural network in CLSR model based on Foursquare dataset
CLSR 算法中的多層神經(jīng)網(wǎng)絡(luò)的潛在因子維度的變化對CLSR算法的魯棒性也會產(chǎn)生不小的影響,原因在于潛在維度的大小會影響推薦模型優(yōu)化過程中迭代的次數(shù)、算法的運(yùn)行時間和占用的內(nèi)存。圖7 是K=5 時不同潛在因子維度對CLSR 算法影響的實(shí)驗(yàn)結(jié)果,其他K的取值呈現(xiàn)類似的趨勢。從圖7 可以看出,隨著維度的增加,推薦模型的性能得到了提升。當(dāng)維度在[60,100]時,兩個數(shù)據(jù)集的準(zhǔn)確率和召回率都變得穩(wěn)定,沒有因?yàn)榫S度的進(jìn)一步變化而上下波動,而且顯然潛在維度越大,準(zhǔn)確率和召回率不總是會帶來相應(yīng)的提高,一個可能的解釋就是維度過大則會導(dǎo)致推薦模型的過度擬合。因此,本文的實(shí)驗(yàn)CLSR 算法中多層神經(jīng)網(wǎng)絡(luò)的維度選擇為64,從而平衡性能和計算成本,保證本文CLSR 算法獲得穩(wěn)定的最優(yōu)性能。
圖7 CLSR算法中多層神經(jīng)網(wǎng)絡(luò)基于兩個數(shù)據(jù)集的維度影響分析Fig.7 Impact analysis of dimension of multi-layer neural network in CLSR model based on two datasets
興趣點(diǎn)推薦作為位置社交網(wǎng)絡(luò)的重要個性化服務(wù),具有廣闊的學(xué)術(shù)和應(yīng)用前景。本文提出了一種稱為CLSR 的興趣點(diǎn)推薦算法,分別實(shí)現(xiàn)基于混合GRU 網(wǎng)絡(luò)建模復(fù)雜動態(tài)偏好和基于高階注意力網(wǎng)絡(luò)的潛在因子模型建模一般靜態(tài)偏好,然后二者集成到端到端的統(tǒng)一框架中用于POI 推薦。此外,本文采用2 個多層神經(jīng)網(wǎng)絡(luò)分別幫助在動態(tài)偏好建模和靜態(tài)偏好建模過程中更好地學(xué)習(xí)相關(guān)特征實(shí)現(xiàn)更好的表征。實(shí)驗(yàn)結(jié)果驗(yàn)證了本文CLSR算法的有效性和效率。
對于將來的工作,希望將更豐富的上下文信息集成到本文提出的模型中,以進(jìn)一步提升CLSR 算法性能。此外,將深度學(xué)習(xí)的最新方法,例如生成對抗網(wǎng)絡(luò)、多頭注意力網(wǎng)絡(luò)等,進(jìn)一步深入與興趣點(diǎn)推薦算法相結(jié)合也是一個值得關(guān)注的方向。