馮 申,於躍成,張宗海
(江蘇科技大學計算機學院,江蘇 鎮(zhèn)江 212100)
近年來,像Foursquare、Gowalla和Yelp這樣基于位置的社交網(wǎng)絡(Location Based Social Networks)已逐漸滲透到人們的日常生活中。數(shù)百萬用戶在LBSNs上的簽到行為生成了大量的簽到數(shù)據(jù),這為挖掘用戶簽到行為的內在模式提供了一個絕佳的機會[1]。用戶簽到興趣點(如餐館和博物館)并與朋友分享他們的位置和體驗時,簽到記錄中往往包含了被訪問的興趣點及其用戶活動的相關上下文信息,包括簽到時間、簽到點的地理位置、類別或評論等。這些用戶關于興趣點的簽到序列隱式地反映了用戶對興趣點的偏好和用戶的日?;顒幽J?,從而為根據(jù)用戶的歷史簽到記錄開展個性化的興趣點推薦提供方便[2]。
傳統(tǒng)的協(xié)同過濾方法首先從用戶的簽到歷史中挖掘相似用戶,然后根據(jù)相似用戶的簽到記錄來推薦興趣點[3]。矩陣分解方法是廣為使用的協(xié)同過濾方法之一,其基本思想是將用戶-項目矩陣分解成代表用戶和項目特征的2個潛在矩陣。然而,這些方法只能對用戶的靜態(tài)偏好進行建模,無法捕捉用戶的動態(tài)偏好[4]。
為了解決傳統(tǒng)的協(xié)同過濾方法只能對用戶的靜態(tài)偏好建模的問題,研究者們提出使用深度學習模型來建模用戶的動態(tài)偏好。循環(huán)神經(jīng)網(wǎng)絡(RNN)中的一種變體長短期記憶網(wǎng)絡(LSTM)由于其結構的特性能更好地學習用戶簽到序列之間的長期依賴模式,被廣泛應用于序列化數(shù)據(jù)建模??紤]到用戶興趣點簽到數(shù)據(jù)與時間之間存在的關聯(lián),Zhu等[5]提出了一種Time-LSTM模型,以利用時間門來描述用戶行為之間的時間間隔。事實上,興趣點的簽到數(shù)據(jù)除了包含時間信息外,其中包含的空間信息也是描述用戶偏好的關鍵因素。為此,Liu等[6]提出了一種時空遞歸神經(jīng)網(wǎng)絡模型(ST-RNN),通過設計特定時間轉換矩陣實現(xiàn)了RNN模型對周期性時間上下文信息的捕捉。同時,該模型結合了特定距離的轉移矩陣來代替RNN的單一轉移矩陣,實現(xiàn)了簽到用戶地理屬性中動態(tài)距離屬性的有效表示。然而,由于用戶簽到的數(shù)據(jù)稀疏性,ST-RNN模型并不能準確刻畫相鄰簽到點的時間關系和空間關系。針對這個問題,Kong等[7]提出的HST-LSTM模型將時空因素引入到LSTM的門機制中,有效緩解了數(shù)據(jù)稀疏問題,并被應用于一般興趣點的推薦。
下一個興趣點推薦主要關注用戶的長期和短期偏好建模??紤]到用戶的短期偏好與最近簽到行為相關,F(xiàn)eng等[8]通過對個性化的序列信息建模,并計算目標興趣點與最近訪問興趣點之間的距離來描述地理影響,進而捕獲用戶短期的喜好。事實上,興趣點推薦不僅取決于用戶的短期偏好,還會受長期偏好的影響。受這種想法的啟發(fā),F(xiàn)eng等[9]提出了一種DeepMove模型,通過在簽到歷史軌跡中使用注意力模塊來捕捉與當前移動狀態(tài)最相關的歷史軌跡,從而捕獲用戶的長期偏好。此外,綜合考慮長期偏好和短期偏好對用戶下一步行為的影響,Wu等[10]提出了一種長短期偏好學習模型,利用注意力機制捕捉用戶對興趣點的關注度來捕捉用戶的長期偏好;同時,該模型結合短期模塊,利用LSTM來學習用戶最近的簽到行為。
Wu等[10]同時考慮了用戶的長短期偏好,提高了用戶下一步簽到行為推薦的準確度。然而,該模型沒有考慮興趣點評論文本信息對用戶接下來選擇的影響。事實上,用戶評論包含了用戶對興趣點的偏好信息,通過分析評論文本中隱含的情感傾向,可以更加準確地捕捉用戶對興趣點的個性化偏好。為此,受上述研究啟發(fā),本文在考慮用戶長短期偏好的基礎上,同時將用戶的評論信息融入到興趣點推薦模型中,提出一種結合多類信息的興趣點推薦模型,即DMGCR。在短期偏好方面,本文方法通過使用雙向長短期記憶網(wǎng)絡(BiLSTM)提取學習用戶評論隱含的語義特征,以捕獲用戶對興趣點的情感傾向; 在長期偏好方面,則利用注意力機制來捕獲用戶對不同興趣點的關注程度。最終,結合長期偏好和短期偏好來學習不同用戶在不同部分上的關注權重,獲得下一個興趣點推薦的概率。
為了在興趣點推薦中實現(xiàn)更佳的推薦效果,提供更加符合用戶喜好的位置服務,近年來越來越多的研究開始挖掘評論文本隱含的信息來捕獲用戶偏好。Zhu等[11]提出了一個位置感知的LDA模型來挖掘用戶的潛在偏好主題分布,并進一步推斷用戶可能想去的興趣點。Ren等[12]利用與興趣點相關的文本評論配置用戶與POI之間的話題模型,然后通過話題提取與參數(shù)學習獲取用戶對興趣點的偏好。Xing等[13]使用卷積神經(jīng)網(wǎng)絡提取用戶評論信息中隱含的語義信息特征,并對這些特征進行分析得出用戶的偏好信息。
最近,下一個興趣點推薦研究的工作主要關注用戶長短期偏好的影響。Ying等[14]提出了SHAN模型,它結合了長期和短期偏好來為用戶推薦下一個項目,但是他們沒有考慮用戶的順序行為。Zhao等[15]提出了一種STGN模型,該模型通過在LSTM結構上添加2對時間和距離門來建模簽到點之間的時間和距離間隔,以提取長期偏好和短期偏好。Sun等[16]考慮到當前軌跡中不相鄰地點之間的地理影響以及神經(jīng)網(wǎng)絡在短期偏好建模中的局限性,提出了一種地理擴張的RNN模型,充分利用非連續(xù)興趣點之間的地理關系,然后通過一個上下文感知的非局部網(wǎng)絡來挖掘歷史軌跡和當前軌跡之間的時空相關性??紤]到用戶的偏好受到興趣點位置和類別因素的影響,Wu等[10]提出了PLSPL模型,該方法在長期模塊中學習興趣點的上下文特征,利用注意力機制來捕獲用戶的長期偏好;在短期偏好模塊中,利用2個并行的LSTM模型學習用戶的順序行為以捕獲對興趣點位置和類別信息的偏好。
總的來說,現(xiàn)有的大多數(shù)基于LSTM模型很少同時考慮用戶的長期偏好和短期偏好,在對短期偏好建模時,重點關注時間和空間的影響,忽略了興趣點評論信息對用戶做出選擇至關重要。
為了將評論信息與興趣點的位置信息和類別信息相結合,以提高興趣點推薦中用戶下一步行為預測的準確率,本文提出了一種結合多類信息的興趣點推薦方法DMGCR。該方法主要包括長期偏好建模、短期偏好建模和預測3個部分。
如圖1所示,本文模型同時考慮用戶長短期偏好,在長期模塊中,利用注意力機制來捕獲用戶對不同興趣點的關注程度;在短期模塊中,使用LSTM模型學習用戶對興趣點位置和類別的動態(tài)偏好。
圖1 DMGCR框架
此外,考慮到用戶評論的情感信息對用戶接下來的決定有重要影響,本文模型在短期偏好模塊中將評論情感信息與興趣點位置信息和類別信息相結合。為了充分利用用戶評論中隱含的情感傾向信息,本文利用BiLSTM學習評論文本中隱含的語義特征,以捕獲用戶對興趣點的情感傾向。在預測模塊部分,結合長期偏好和短期偏好來學習不同用戶在不同部分上的關注權重,計算下一個興趣點推薦的輸出概率。
定義1簽到序列。
定義2長期序列。
定義3短期序列。
在用戶簽到序列中,并不是所有的歷史簽到數(shù)據(jù)都與用戶的下一步行為同等相關,為此,在學習用戶長期偏好時需要更多地關注其中重要的信息。類似于Wu等[10]提出的模型,通過引入注意力機制,本文模型可以捕獲用戶對每個興趣點不同的偏好,并為它們分配不同的權重。這就能夠衡量出用戶下一步行為與過去簽到行為之間的相關性。
2.2.1 嵌入層表示
(1)
2.2.2 注意力機制
為了學習用戶的長期偏好,本文利用注意力機制來捕獲嵌入層學習到的用戶潛在向量和興趣點潛在向量之間的相似性[19]。換言之,就是刻畫用戶對不同興趣點的關注程度。
考慮到運算速度和空間效率,如公式(2)所示,本文使用點積注意函數(shù)來計算注意力權重:
f(Q,E)=QET
(2)
(3)
(4)
其中,Ulong表示用戶的長期偏好。
用戶的下一步簽到不僅與用戶穩(wěn)定的長期偏好相關,還與用戶的短期動態(tài)偏好相關[21]??紤]到短期序列中用戶在不同時間喜好不同的興趣點,Wu等[10]利用LSTM模型學習用戶短期簽到的順序模式。該方法考慮到隨著時間變化,用戶對興趣點的位置和類別偏好也隨之變化。于是分別使用2個LSTM模型學習用戶對位置和類別的動態(tài)偏好。本文也采用該方法來學習用戶的短期偏好,在此基礎上,考慮興趣點的評論信息對用戶下一步行為有重要影響,將簽到興趣點的評論文本融合到模型中。
2.3.1 學習用戶對興趣點位置和類別的偏好
用戶的下一步簽到行為受用戶的短期偏好影響,用戶的短期偏好會隨時間動態(tài)變化。在不同的時間下,用戶對興趣點的位置和類別有不同的偏好[5]。本文使用Wu等[10]方法,通過LSTM模型來學習用戶的短期偏好。
(5)
其中,xt表示輸入向量,[vuj;vl;vt]表示用戶uj嵌入向量、位置嵌入向量、時間嵌入向量的連接。it表示步驟t時的輸入門,決定了需要存儲的信息,ft表示步驟t時的遺忘門,選擇了遺忘不重要的信息。ot是步驟t時的輸出門,決定了最終要輸出的信息。c′t表示步驟t時的新候選狀態(tài)向量?!咽?個向量的元素積,ft⊙ct-1表示決定忘記上一個狀態(tài)ct-1中的信息后保留的信息;it⊙c′t表示從新的候選狀態(tài)向量c′t中決定添加哪些新的信息。ct是結合上一個狀態(tài)ct-1和新候選狀態(tài)c′t信息的最終狀態(tài)向量。ht是隱藏輸出向量,代表了用戶的動態(tài)偏好。σ是激活函數(shù),輸出0-1之間的數(shù)。Wi、Wf、Wo、Wc是門的權重,Wi、bf、bo、bc是相應的偏置參數(shù)。
2.3.2 用戶評論文本的情感分析
由于用戶評論的內容中蘊含著情感傾向的信息,在推薦中評論數(shù)據(jù)的情感顯得尤為重要。因此,對評論文本內容信息的深入挖掘可以有效解決推薦中存在的冷啟動問題[12]。本文考慮通過挖掘用戶評論中包含的信息,以捕捉用戶對興趣點的情感傾向。主要方法是:先對評論文本向量化處理,接著利用BiLSTM去學習評論文本隱含的語義特征,最終結合學習到的情感特征值來計算用戶對興趣點的情感傾向。
通過對2層LSTM輸出的語義特征矩陣進行相加,將來自上文的語義信息和來自下文的語義信息進行結合。最終,將隱藏層最后時刻輸出的語義特征向量輸入到一個全連接層去計算評論文本的情感值R。
用戶在選擇興趣點時,更加關注興趣點的評論數(shù)量和評論包含的情感信息。對于其中的某一條評論數(shù)據(jù),其發(fā)表評論的時間也會影響到該評論對用戶的參考程度,進而影響到不同時間下興趣點整體評論的情感極性變化。興趣點i整體評論的情感傾向Si如公式(6)所示:
(6)
其中,C表示興趣點i的評論的個數(shù),c表示第c個評論。Rc(i)表示興趣點i的第c個評論的情感值(該值介于[-1,1]之間)。tcur表示當前時間,tRc(i)表示第c個評論的評論時間。
當決定接下來去哪里時,不同的用戶對長期和短期偏好表現(xiàn)出不同的依賴[21]。對于學習不同用戶的不同依賴,即學習不同用戶對長期模塊和短期模塊的個性化權重,本文將長期和短期偏好模塊學習的結果與基于用戶的線性組合單元相結合。這里的用戶偏好不同于前面在長期模塊和短期模塊中的偏好,它們代表了用戶對長期偏好和短期偏好的個性化權重。通過線性組合來計算用戶uj對下一個興趣點i的偏好Pi如公式(7)所示:
(7)
(8)
其中,N是候選興趣點的總數(shù),e是指數(shù)函數(shù)。
上文已經(jīng)定義了興趣點的輸出概率,因此,目標用戶uj在下一個時間t最可能訪問的興趣點是具有最大概率的興趣點。給定有E個樣本的訓練集,所提出模型的損失函數(shù)定義如公式(9)所示:
(9)
其中,J是本文模型的推薦和實際情況之間的交叉熵損失。E和N分別代表訓練集和候選興趣點的數(shù)量。yij是指示變量,當興趣點j為真實值時,yij的值為1,否則為0。Oij是由本文模型計算的興趣點j的輸出概率?!ā?是避免過度擬合的正則化項。λ控制正則化項的重要性。為了最小化目標函數(shù),使用隨機梯度下降(SGD)和時間反向傳播(BPTT)算法來學習參數(shù)[23]。算法1中給出了詳細的學習算法。
算法1DMGCR算法
輸入:用戶集U,簽到序列Qu,長期序列Auj,短期序列Su,評論序列Rl
輸出:訓練的模型
1.初始化Θ
2.while(iteration≤Iter)do
3.for用戶ujin 用戶集Udo
4.計算uj的嵌入向量ruj
8.end for
9.根據(jù)公式(3)計算注意力權重ai
10.根據(jù)公式(4)計算長期偏好Ulong
13.使用公式(6)計算評論文本的情感傾向Si
14.使用公式(7)和公式(8)計算興趣點輸出概率
15.使用公式(9)使用梯度下降更新Θ
16.end for
17.end while
18.輸出訓練的模型
本文使用Foursquare和Yelp這2個公開可用的LBSN數(shù)據(jù)集進行評估實驗,這2個數(shù)據(jù)集都提供用戶簽到數(shù)據(jù)[24]。本文中每個簽到記錄包含用戶id、興趣點id、興趣點的經(jīng)緯度、類別名稱、簽到時間戳、評論文本等信息。這2個數(shù)據(jù)集中的所有簽到記錄都被視為用戶序列。此外,本文對這2個數(shù)據(jù)集執(zhí)行了一個預處理步驟,以過濾掉不活躍的用戶和不受歡迎的興趣點,去除少于10個簽到的用戶和少于10個用戶訪問的興趣點[25]。然后,按照時間戳順序對每個用戶的簽到記錄進行排序,把前80%作為訓練集,剩下的20%作為測試集。數(shù)據(jù)集統(tǒng)計結果如表1所示。
表1 數(shù)據(jù)集統(tǒng)計
將本文提出的DMGCR模型與以下6種基本方法進行了比較:
FPMC:通過集成矩陣分解和馬爾可夫鏈方法對一般偏好和順序行為進行建模。
ST-RNN:基于RNN模型,用特定時間的轉移矩陣和特定距離的轉移矩陣來建模時間和空間特征。
Time-LSTM:這是LSTM的擴展,它使用時間門來建模連續(xù)輸入之間的時間間隔。
DeepMove:利用注意力機制從歷史軌跡中學習用戶的長期偏好,并利用RNN模型從當前軌跡中學習短期偏好。
ST-LSTM:將時間和空間影響結合到LSTM模型中,以緩解興趣點預測問題中的數(shù)據(jù)稀疏性。
PLSPL:該方法綜合考慮用戶的長期和短期偏好,在長期模塊中,利用注意力機制學習用戶對興趣點的長期偏好;在短期模塊中,使用LSTM模型學習對位置和類別偏好。
本文使用精確率和平均準確率這2個指標評估不同興趣點推薦方法的性能,其中精確率使用P@k表示,平均準確率使用MAP@k表示[26]。它們是評估排名列表質量的標準指標,值越大,性能越好。對每個用戶,P@k表示真實訪問POI是否出現(xiàn)在前k個推薦POI中,MAP@k衡量推薦列表的順序。使用這2個指標是希望推薦的興趣點不僅出現(xiàn)在前個列表中,而且出現(xiàn)在推薦列表的頂部。本文在實驗中設置k=1,5,10,20。給定帶有E個樣本的訓練集,這2個度量函數(shù)定義如下:
(10)
(11)
在這一小節(jié)中,比較了DMGCR方法與其他方法之間不同的性能。表2和表3分別驗證了在Foursquare和Yelp數(shù)據(jù)集上使用P@k和MAP@k評估方法的性能。
表2 Yelp數(shù)據(jù)集上的性能比較
表3 Foursquare數(shù)據(jù)集上的性能比較
可以觀察到:在2個數(shù)據(jù)集上,DMGCR模型的所有評估指標都優(yōu)于相比較的方法。具體來說,對于Yelp數(shù)據(jù)集上的P@5,DMGCR方法幾乎比DeepMove高3.9%,比ST-LSTM高13.4%,比PLSPL高5.9%。在Foursquare數(shù)據(jù)集上,DMGCR在所有指標下也高于其他方法。這表明本文模型可以更好地捕捉用戶的長期和短期偏好,同時,也表明了考慮用戶評論文本信息的有效性。
此外,ST-RNN由于采用了深度模型RNN,比使用馬爾可夫鏈方法的FPMC模型在學習用戶的順序行為上表現(xiàn)更優(yōu)。Time-LSTM模型是使用LSTM來建模連續(xù)輸入之間的時間間隔,總體要比ST-RNN推薦效果更好。DeepMove在所有指標上都比FPMC、ST-RNN、Time-LSTM表現(xiàn)更好,這是因為DeepMove將LSTM模型應用于長期和短期偏好。此外,DeepMove利用注意力機制從歷史軌跡中學習用戶的長期偏好。PLSPL模型與DeepMove相比,綜合考慮興趣點位置和類別因素的影響,使用LSTM學習用戶對位置和類別的偏好,從而在推薦準確度上有明顯的提升。但與DMGCR模型相比,PLSPL模型忽略了用戶的評論情感傾向信息,模型的推薦性能還不能達到更佳的效果。DMGCR模型綜合考慮了用戶長期和短期偏好,尤其在對用戶短期偏好建模時,不僅考慮了位置信息和類別信息因素,還融合了用戶的評論情感傾向信息,因此推薦準確率最高。與推薦效果較好的PLSPL方法相比,DMGCR模型平均提高了2.3%的準確率。以上數(shù)據(jù)說明,在興趣點推薦中引入用戶評論文本,能夠有效提高推薦的效果。
3.5.1 長期和短期模塊的影響
為了驗證結合長期和短期模塊在模型中的有效性,本文研究了在Yelp和Foursquare數(shù)據(jù)集上P@5、P@10和P@20的性能,比較了以下3種情況:
1)僅考慮長期偏好學習模塊;
2)僅考慮短期偏好學習模塊;
3)同時考慮長期和短期偏好學習模塊。
比較結果如圖所示。
(a) Yelp數(shù)據(jù)集上受長短期偏好影響的P@k性能比較
圖2可以觀察到:短期偏好比長期偏好表現(xiàn)得更好。由于長期偏好反映了用戶的固有特征,這些特征很難從本質上表現(xiàn)出來,而短期偏好可以通過最近行為的序列信息來學習[27]。此外,在所有評估指標下,長期和短期偏好學習模塊的結合顯示出比任何單個部分更好的性能。這表明結合用戶的長期偏好和短期偏好對于更好地學習用戶的簽到行為至關重要。
3.5.2 融入評論信息的影響
為了驗證融入用戶評論信息在模型中的有效性,本文設計并對比了DMGCR模型的一個簡化模型DMGCR-LC,它是一個只考慮位置偏好和類別偏好因素而沒有考慮評論文本因素后構建的測試模型。比較結果如圖3所示。
(a) 受評論影響P@k性能比較
從圖3中可以觀察到,DMGCR的推薦性能表現(xiàn)相比DMGCR-LC有了一定的提升,這是由于DMGCR模型使用BiLSTM有效提取了用戶評論文本隱含的語義特征,捕獲了用戶對興趣點的情感傾向信息,從一定程度上緩解了數(shù)據(jù)稀疏性問題。實驗結果表明了結合評論信息、位置信息、類別信息等因素的推薦效果更好,進而驗證了DMGCR模型能夠更好地建模用戶的下一步簽到行為,有助于提高推薦的準確率。這與實際生活中人們的選擇習慣相吻合,用戶在選擇自己感興趣的地點時通常會考慮地點的評論情況,某地點的評論情感信息越積極用戶越有可能選擇該地點。
本文針對下一個興趣點推薦問題,提出了一種結合動態(tài)多類信息的興趣點推薦模型,稱為DMGCR。該方法通過在長期模塊中利用注意力機制捕捉不同興趣點對用戶的重要程度,刻畫了用戶的長期偏好;在短期模塊中,將評論信息與位置信息和類別信息相結合,通過BiLSTM學習出評論文本隱含的語義特征,捕獲了用戶對興趣點的情感傾向。最終結合長期偏好和短期偏好來計算用戶下一步簽到行為的概率。在真實數(shù)據(jù)集上的實驗結果表明,該方法比其他基線方法表現(xiàn)更好。在未來的工作中,筆者將在模型中加入更多的上下文信息,如社交網(wǎng)絡關系,以進一步提高下一個興趣點的推薦性能。