李 全,許新華,劉興紅,陳 琦
(湖北師范大學(xué)計(jì)算機(jī)與信息工程學(xué)院,湖北黃石435002)
(*通信作者電子郵箱56322268@qq.com)
隨著移動(dòng)設(shè)備和全球定位系統(tǒng)(Global Positioning System,GPS)的快速發(fā)展,人們?nèi)粘J褂玫闹悄芙K端提供的位置定位功能越來(lái)越精確。在此背景下,基于位置的社交網(wǎng)絡(luò)(Location-Based Social Network,LBSN)服務(wù)得到迅速的發(fā)展,且受到了廣大用戶的喜愛,如國(guó)外比較主流的Gowalla、Yelp和Facebook Places 等,國(guó)內(nèi)比較主流的嘀咕和街旁等[1]。相對(duì)于傳統(tǒng)的社交網(wǎng)絡(luò),LBSN優(yōu)勢(shì)在于用戶能夠以簽到的形式發(fā)布他們的地理簽到信息,并對(duì)已訪問(wèn)的地點(diǎn),例如:咖啡廳、餐館和電影院等,與朋友分享他們的體驗(yàn)和經(jīng)驗(yàn)。在一個(gè)城市里可能包含成千上萬(wàn)的感興趣的地點(diǎn),但用戶可能只想訪問(wèn)它們的一小部分。因此地點(diǎn)推薦的任務(wù)就是幫助用戶推薦下一個(gè)感興趣的位置[2]。
最近神經(jīng)網(wǎng)絡(luò)在自然語(yǔ)言處理、視頻和圖像等領(lǐng)域取得了比較突出的貢獻(xiàn)。神經(jīng)網(wǎng)絡(luò)在推薦系統(tǒng)的應(yīng)用領(lǐng)域也獲得了較好的效果,其中循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)在處理序列數(shù)據(jù)時(shí)具有較好的優(yōu)勢(shì)[3]。傳統(tǒng)的RNN 模型只能處理較短的序列數(shù)據(jù)。對(duì)于長(zhǎng)序列的數(shù)據(jù),它在反向傳播時(shí)容易產(chǎn)生梯度爆炸或者梯度消失等問(wèn)題。長(zhǎng)短期記憶(Long-Short Term Memory,LSTM)模型和門控循環(huán)單元(Gated Recurrent Unit,GRU)模型在RNN 模型的基礎(chǔ)上進(jìn)行了改進(jìn)。它們通過(guò)增加門控單元,有選擇性地記憶輸入和控制輸出,有效地解決以上問(wèn)題[4]。GRU 模型相較于LSTM模型具有參數(shù)少和運(yùn)行效率高等優(yōu)點(diǎn)。因此,本文主要研究GRU 模型在地點(diǎn)推薦中的應(yīng)用。同時(shí)為了解決數(shù)據(jù)稀疏等問(wèn)題,興趣點(diǎn)推薦系統(tǒng)還應(yīng)該考慮位置影響和時(shí)間影響等上下文信息。因此如何在GRU 模型中有效地融入時(shí)間和位置等上下文信息,對(duì)于進(jìn)一步提高地點(diǎn)推薦的準(zhǔn)確性和可解釋性具有重要的意義?;谝陨峡紤],本文首先在GRU 模型的基礎(chǔ)上進(jìn)行改進(jìn),增加時(shí)間門和距離門,以融合地點(diǎn)的時(shí)間和空間信息。同時(shí),用戶的簽到行為常常具有周期性、不均勻性和連續(xù)性[5]。當(dāng)預(yù)測(cè)用戶的下一個(gè)位置時(shí),在用戶的歷史簽到序列中,不是所有的簽到數(shù)據(jù)都是有意義的,不相關(guān)的簽到數(shù)據(jù)會(huì)產(chǎn)生噪聲。用GRU 模型對(duì)所有的序列數(shù)據(jù)進(jìn)行建模和地點(diǎn)推薦可能會(huì)產(chǎn)生令人不滿意的結(jié)果。因此需要引入注意力機(jī)制,獲取注意力關(guān)注地點(diǎn)的用戶偏好權(quán)重,再通過(guò)加權(quán)求和得到用戶的個(gè)性化偏好。最后通過(guò)貝葉斯個(gè)性化排序(Bayesian Personalized Ranking,BPR)算法構(gòu)造目標(biāo)函數(shù)并學(xué)習(xí)模型參數(shù)[6]。實(shí)驗(yàn)結(jié)果表明本文提出的方法在準(zhǔn)確率和召回率等方面都要優(yōu)于傳統(tǒng)的方法。
隨著基于位置社交網(wǎng)絡(luò)的快速發(fā)展,地點(diǎn)推薦可為人們提供更好的基于位置的服務(wù),因此受到學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注。由于地點(diǎn)推薦的簽到數(shù)據(jù)具有高稀疏性,因此基于協(xié)同過(guò)濾的推薦技術(shù)應(yīng)用到地點(diǎn)推薦中很容易產(chǎn)生數(shù)據(jù)稀疏問(wèn)題。當(dāng)前許多研究試圖利用并融合地理影響、社會(huì)影響和內(nèi)容影響等來(lái)提高地點(diǎn)推薦的效果。
在融合地理和社交信息方面:文獻(xiàn)[7]將用戶間的相似性關(guān)系嵌入到基于用戶的協(xié)同過(guò)濾技術(shù)中。文獻(xiàn)[8]關(guān)于地點(diǎn)推薦采用線性插值的方法結(jié)合地理與社會(huì)影響應(yīng)用到基于用戶的協(xié)同過(guò)濾框架中。在融合內(nèi)容信息方面:文獻(xiàn)[9]提出了一種考慮文本內(nèi)容的貝葉斯協(xié)同過(guò)濾框架,同時(shí)給出了一種可擴(kuò)展的優(yōu)化算法來(lái)學(xué)習(xí)潛在參數(shù)和差參數(shù)。
隨著地點(diǎn)推薦算法的發(fā)展,基于序列信息的下一個(gè)地點(diǎn)推薦已成為了地點(diǎn)推薦的新的熱點(diǎn)研究問(wèn)題。文獻(xiàn)[10]提出了一種個(gè)性化馬爾可夫鏈和用戶位置受限的推薦方法(Factorizing Personalized Markov Chain and Localized Region,F(xiàn)PMC-LR)。該方法利用張量分解將與用戶地理距離較近的地點(diǎn)作為推薦對(duì)象。文獻(xiàn)[11]提出了基于個(gè)性化排名度量嵌入(Personalized Ranking Metric Embedding,PRME)的推薦方法。該方法將每一個(gè)地點(diǎn)映射低維空間計(jì)算地點(diǎn)之間的轉(zhuǎn)移概率。PRME 模型考慮了用戶偏好和時(shí)序轉(zhuǎn)移兩個(gè)影響因素。和FPMC-LR 模型相比,PRME 更好地解決了數(shù)據(jù)稀疏帶來(lái)的問(wèn)題,然而,PRME 模型沒有深度挖掘簽到行為的上下文情景信息來(lái)進(jìn)行推薦[12]。以上方法在進(jìn)行地點(diǎn)推薦時(shí)都沒有融合時(shí)間和空間信息。文獻(xiàn)[13]提出了融合時(shí)間和空間的循環(huán)神經(jīng)網(wǎng)絡(luò)(Spatial Temporal Recurrent Neural Network,STRNN)的推薦方法。該方法在RNN 模型的基礎(chǔ)上通過(guò)時(shí)間和距離轉(zhuǎn)移矩陣融合時(shí)間信息和地理信息。然而RNN 模型對(duì)于長(zhǎng)序列數(shù)據(jù)在反向傳播過(guò)程中容易產(chǎn)生梯度下降或梯度消失等問(wèn)題。同時(shí)簽到序列中的每個(gè)地點(diǎn)對(duì)于推薦下一個(gè)地點(diǎn)的貢獻(xiàn)是不同的,不相關(guān)的簽到數(shù)據(jù)會(huì)產(chǎn)生噪聲。因此,本文提出了一種融合時(shí)空感知GRU 和注意力的下一個(gè)地點(diǎn)推薦技術(shù)。
傳統(tǒng)RNN 面臨的最大挑戰(zhàn)是無(wú)法解決長(zhǎng)依賴問(wèn)題。而GRU 模型可有效地解決此問(wèn)題,且它比LSTM 模型具有參數(shù)少、結(jié)構(gòu)簡(jiǎn)單和運(yùn)行效率高等優(yōu)點(diǎn)。GRU 模型只有兩個(gè)門,分別是更新門和重置門,具體結(jié)構(gòu)如圖1所示。
圖1 GRU模型Fig. 1 GRU model
由圖1可知,GRU模型的公式如下:
最后采用隨機(jī)梯度下降法最小化目標(biāo)函數(shù),如式(14)所示:超參數(shù)α是學(xué)習(xí)率。融合時(shí)空感知GRU和注意力的地點(diǎn)推薦算法步驟如下:
文本選擇了兩種公開簽到數(shù)據(jù)集進(jìn)行算法測(cè)試,分別為Gowalla 和Brightkite[14]。這兩個(gè)數(shù)據(jù)集是國(guó)外兩個(gè)基于位置的社交網(wǎng)絡(luò)站點(diǎn)。這兩個(gè)網(wǎng)站都提供了類似的簽到服務(wù),使得用戶能夠分享自己當(dāng)前位置周邊的相關(guān)信息。它們都同時(shí)包含了用戶信息、地點(diǎn)信息、簽到信息和時(shí)間信息等[15]。首先對(duì)兩個(gè)數(shù)據(jù)集進(jìn)行預(yù)處理。將每個(gè)數(shù)據(jù)集70%的數(shù)據(jù)作為訓(xùn)練集,剩余的30%的數(shù)據(jù)作為測(cè)試集。兩個(gè)數(shù)據(jù)集統(tǒng)計(jì)特性如表1所示。
表1 數(shù)據(jù)集統(tǒng)計(jì)特性Tab. 1 Statistical characteristics of datasets
為了評(píng)價(jià)地點(diǎn)推薦算法的性能,本文使用準(zhǔn)確率(Precision@N)、召回率(Recall@N)和F1 值作為評(píng)價(jià)指標(biāo),其中N表示地點(diǎn)推薦的個(gè)數(shù)。準(zhǔn)確率指推薦結(jié)果中用戶將來(lái)真正去的數(shù)量占推薦總數(shù)的比例。召回率指推薦結(jié)果中用戶將來(lái)真正去的數(shù)量占用戶將來(lái)訪問(wèn)地點(diǎn)總數(shù)的比例。F1 值綜合了準(zhǔn)確率和召回率。用戶進(jìn)行地點(diǎn)推薦的準(zhǔn)確率、召回率和F1定義如式(15)所示:
其中:R(u)為對(duì)用戶u進(jìn)行推薦的地點(diǎn)集合,T(u)為用戶u在測(cè)試集上實(shí)際的簽到集合。
為驗(yàn)證融合時(shí)空感知GRU 和注意力的下一個(gè)地點(diǎn)推薦算法的推薦效果,將它與4 種地點(diǎn)推薦算法進(jìn)行比較和分析:MF(Matrix Factorization)是基于矩陣分解的地點(diǎn)推薦方法,F(xiàn)PMC-LR 是基于三階張量分解的地點(diǎn)推薦方法[10],PRME 是基于個(gè)性化度量嵌入的地點(diǎn)推薦方法[11],ST-RNN是在循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中融合時(shí)間和空間信息的地點(diǎn)推薦方法[13]。
實(shí)驗(yàn)平臺(tái)為Intel i5 CPU,8 GB RAM,Windows 7操作系統(tǒng)等。開發(fā)工具為Pycharm,編程語(yǔ)言為Python 3.5,神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)框架為Theano。在實(shí)驗(yàn)中進(jìn)行推薦時(shí),設(shè)置學(xué)習(xí)率超參數(shù)α= 0.01,正則化超參數(shù)λ= 0.01。對(duì)推薦列表長(zhǎng)度K取不同值分別進(jìn)行實(shí)驗(yàn),并抽取K分別取5、10和20時(shí)的實(shí)驗(yàn)結(jié)果作為樣本。在準(zhǔn)確率和召回率兩個(gè)評(píng)價(jià)指標(biāo)上的實(shí)驗(yàn)結(jié)果如表2和表3所示。
表2 兩個(gè)數(shù)據(jù)集上的準(zhǔn)確率實(shí)驗(yàn)結(jié)果Tab. 2 Experimental results of precision on two datasets
表3 兩個(gè)數(shù)據(jù)集上的召回率實(shí)驗(yàn)結(jié)果Tab. 3 Experimental results of recall on two datasets
1)不同方法的比較。
表2 是在兩個(gè)數(shù)據(jù)集上進(jìn)行準(zhǔn)確率實(shí)驗(yàn)所得到的結(jié)果,表3 是在兩個(gè)數(shù)據(jù)集上進(jìn)行召回率實(shí)驗(yàn)所得到的結(jié)果。它們顯示了本文提出的推薦算法和其他算法在不同K值時(shí)準(zhǔn)確率和召回率的變化趨勢(shì)。在準(zhǔn)確率方面,隨著K值的增加,準(zhǔn)確率在逐漸地減小。ST-RNN 的推薦算法與MF、FPMC-LR 和PRME 算法相比在準(zhǔn)確率和召回率方面都有了較大幅度的提高,說(shuō)明了融入時(shí)間和空間信息的循環(huán)神經(jīng)網(wǎng)絡(luò)方法存在著明顯的優(yōu)勢(shì)。本文提出的地點(diǎn)推薦算法在準(zhǔn)確率和召回率方面又要優(yōu)于ST-RNN 算法,說(shuō)明融入時(shí)空感知的GRU 和注意力地點(diǎn)推薦算法又能進(jìn)一步有效地提高推薦算法的性能。
2)參數(shù)對(duì)ST-GRU+Attention的影響。
在基于ST-GRU+Attention 的位置推薦中,不同的特征向量維度和批處理大小對(duì)推薦結(jié)果產(chǎn)生不同的影響。本文以Gowalla 數(shù)據(jù)集為例,從該數(shù)據(jù)集中抽取70%作為訓(xùn)練集。因?yàn)樵谙乱粋€(gè)地點(diǎn)推薦時(shí)召回率比準(zhǔn)確率更加重要[16],所以比較這兩個(gè)參數(shù)在召回率和F1值的影響。
①不同特征向量維度下的實(shí)驗(yàn)分析。
地點(diǎn)特征向量的維度越高表示具有更好的特征表達(dá)能力,但也可能會(huì)出現(xiàn)過(guò)擬合情況。推薦列表長(zhǎng)度K取值分別為5、10 和20。不同特征向量維度下的ST-GRU+Attention 算法召回率和F1值如圖4所示。
由圖4 可知,隨著特征向量維度的增加,ST-GRU+Attention 地點(diǎn)推薦算法召回率和F1 值也逐漸增加。當(dāng)特征向量維度在80~200 時(shí),該地點(diǎn)推薦算法的召回率和F1 值趨向于穩(wěn)定,所以本實(shí)驗(yàn)中潛在特征向量的維度取80。
圖4 不同特征向量維度下的對(duì)比實(shí)驗(yàn)Fig. 4 Comparison of different feature vector dimensions
②不同批處理大小的實(shí)驗(yàn)分析。
在算法訓(xùn)練的過(guò)程中,樣本批處理的大小也會(huì)影響系統(tǒng)的性能。通過(guò)調(diào)節(jié)批處理的大小觀察實(shí)驗(yàn)結(jié)果。推薦列表長(zhǎng)度K取值也分別為5、10 和20。不同批處理大小的ST-GRU+Attention算法實(shí)驗(yàn)結(jié)果如圖5所示。
由圖5 可知,隨著批處理大小的增加,ST-GRU+Attention地點(diǎn)推薦算法召回率和F1 值先增加然后再逐步地減少。當(dāng)批處理大小的值為20時(shí),該地點(diǎn)推薦算法的召回率和F1值為最大值,所以本實(shí)驗(yàn)中批處理大小的取值為20。
圖5 不同批處理大小的對(duì)比實(shí)驗(yàn)Fig. 5 Comparison of different batch sizes
本文主要研究GRU 模型在地點(diǎn)推薦中的應(yīng)用。為了解決數(shù)據(jù)稀疏等問(wèn)題,地點(diǎn)推薦系統(tǒng)應(yīng)該考慮位置影響和時(shí)間影響等上下文信息。因此本文首先在GRU 模型的基礎(chǔ)上增加時(shí)間門和空間門融合地點(diǎn)之間的時(shí)間間隔和空間間隔信息。另外,簽到序列中的每個(gè)地點(diǎn)對(duì)于推薦下一個(gè)地點(diǎn)的貢獻(xiàn)是不同的,不相關(guān)的簽到數(shù)據(jù)會(huì)產(chǎn)生噪聲。因此通過(guò)引入注意力機(jī)制,獲取注意力關(guān)注地點(diǎn)的用戶偏好權(quán)重,再通過(guò)加權(quán)求和得到用戶的個(gè)性化偏好。最后通過(guò)BPR 排序算法構(gòu)造目標(biāo)函數(shù)。實(shí)驗(yàn)結(jié)果表明本文算法的精確度相比其他相關(guān)的地點(diǎn)推薦技術(shù)有了較好的提高。在未來(lái)的工作中,將在推薦系統(tǒng)中融入知識(shí)圖譜等其他信息,并通過(guò)圖神經(jīng)網(wǎng)絡(luò)和表示學(xué)習(xí)技術(shù)進(jìn)一步提高地點(diǎn)推薦的性能。