孫鶴立,徐 統(tǒng),何 亮,賈曉琳
(西安交通大學(xué)電子與信息學(xué)部,西安 710049)
(*通信作者電子郵箱xlinjia@xjtu.edu.cn)
隨著移動互聯(lián)網(wǎng)的發(fā)展,各種社交服務(wù)平臺大量涌現(xiàn),其中基于事件的社交網(wǎng)絡(luò)(Event-Based Social Network,EBSN)受到越來越多的關(guān)注,如Meetup、Eventbrite、豆瓣同城等。EBSN 的快速發(fā)展,吸引了眾多科研工作者對其進行研究。Liu等[1]在2012年首次給出了基于事件社交網(wǎng)絡(luò)的定義,此后研究者們對EBSN 進行了廣泛研究,提出了許多新的研究方向,如事件的流行因素發(fā)現(xiàn)[2]、事件的聯(lián)合搭檔推薦[3]、事件的參與人數(shù)預(yù)測[4]、群組的流行度預(yù)測[5]、線上線下的社交影響[6]等問題?;谑录缃痪W(wǎng)絡(luò)中的用戶之間不僅可以進行在線社交互動,也可以參加線下事件進行離線社交互動。隨著基于事件社交網(wǎng)絡(luò)中事件數(shù)量的增多,導(dǎo)致了平臺中用戶事件信息過載的問題。為了減輕信息過載帶來的消極影響,各個EBSN 服務(wù)平臺都推出了自己的解決方法,目前比較普遍的解決辦法是為每個用戶推薦其所在城市的事件,同時允許用戶搜索事件。由于用戶在參加線下事件時不僅要考慮對該事件的興趣,同時也要考慮該事件舉辦的時間和地點等其他影響因素,所以僅根據(jù)用戶所在城市推薦事件的方法不能夠為用戶提供滿意的推薦結(jié)果,而用戶根據(jù)平臺預(yù)先設(shè)定條件搜索事件的方法則靈活性不足,因此基于事件社交網(wǎng)絡(luò)中的個性化社交事件推薦問題引起了研究者的廣泛關(guān)注。
在基于圖模型的推薦方法中,研究者們通常將社交網(wǎng)絡(luò)構(gòu)建為一個圖模型,將推薦問題轉(zhuǎn)換為節(jié)點之間的接近度問題,圖模型選擇與查詢節(jié)點之間轉(zhuǎn)移概率較大的節(jié)點構(gòu)成查詢節(jié)點的推薦結(jié)果列表。Pham 等[7]提出了基于異構(gòu)圖的推薦算法(HeteRS),該算法將社交網(wǎng)絡(luò)建模為異構(gòu)網(wǎng)絡(luò)來獲取社交網(wǎng)絡(luò)中的語義信息進行推薦;Liu等[8]將社交網(wǎng)絡(luò)構(gòu)建為圖模型,然后執(zhí)行隨機游走算法并從用戶參加過的活動中提取用戶偏好,得到最終的推薦事件列表;Mo 等[9]將社交網(wǎng)絡(luò)構(gòu)建為異構(gòu)網(wǎng)絡(luò),并使用逆向隨機游走算法進行推薦;Liu等[10]在研究連續(xù)事件推薦時分別將社交網(wǎng)絡(luò)構(gòu)建為主圖和反饋圖,然后在圖上執(zhí)行隨機游走算法進行社交事件推薦。
在基于影響因素的推薦方法中,研究者們在推薦過程中綜合考慮多種因素來提升推薦效果。任星怡等[11]在研究社交網(wǎng)絡(luò)中的興趣點推薦時,綜合考慮了地理位置、社交等因素;Macedo 等[12]在事件的推薦過程中考慮了待推薦事件的上下文信息、事件的地理位置信息以及用戶的地理位置信息來提升推薦效果;Qiao 等[13]綜合考慮了用戶的線上和線下社交關(guān)系、事件的地理位置和用戶的隱性評分等因素來進行事件推薦;Liao 等[14]首先構(gòu)建事件參與網(wǎng)絡(luò)和物理鄰近網(wǎng)絡(luò)兩個異構(gòu)網(wǎng)絡(luò),然后使用它們來提取用戶的潛在偏好和潛在社交關(guān)系等重要因素。
近年來,深度學(xué)習(xí)技術(shù)的發(fā)展為解決基于事件社交網(wǎng)絡(luò)中的推薦問題提供了新的解決思路。Shan 等[15]于2016 年提出的Deep Crossing 模型是使用深度學(xué)習(xí)技術(shù)解決推薦問題的經(jīng)典方法。該模型通過加入嵌入層將稀疏特征轉(zhuǎn)化為低維稠密特征,然后將分段的特征向量連接起來,再通過多層殘差網(wǎng)絡(luò)完成特征的組合、轉(zhuǎn)換,然后進行推薦。Cheng 等[16]提出了Wide&Deep 模型,該模型Wide 部分和Deep 部分分別具有記憶能力和泛化能力;Song 等[17]則使用Transformer 網(wǎng)絡(luò)中的多頭自注意力機制[18]來學(xué)習(xí)不同特征的權(quán)重提出了自動特征交互模型(AutoInt);Zhou 等[19]提出了融合注意力機制的深度興趣網(wǎng)絡(luò)(Deep Interest Network,DIN)模型,該模型從用戶的歷史行為中提取用戶特征,然后使用激活單元使模型能夠根據(jù)不同候選物品調(diào)整用戶歷史行為中不同物品的權(quán)重;Wang等[20]使用TextCNN 方法從用戶歷史參與的事件中提取用戶偏好提出了深度用戶社交事件推薦(Deep User Modeling framework for Event Recommendation,DUMER)模型。
本文使用深度學(xué)習(xí)方法,同時結(jié)合基于事件社交網(wǎng)絡(luò)的特點,從用戶歷史行為中提取用戶偏好,使用注意力機制根據(jù)候選推薦事件自動學(xué)習(xí)與用戶關(guān)聯(lián)的歷史社交事件的權(quán)重。本文在建立用戶模型時,引入表示用戶偏好的負向量,并從用戶的社交網(wǎng)絡(luò)中提取用戶的社交關(guān)系向量。此外,在推薦過程中考慮了事件的時間地點信息以及用戶興趣愛好隨時間變化等影響因素。在真實數(shù)據(jù)集上的實驗結(jié)果表明,本文提出的深度用戶偏好和社交關(guān)系模型(Deep User Preference and Social Relationship Model,DUPSRM)在多個評價指標上優(yōu)于對比模型。
EBSN 模型如圖1 所示,主要包含用戶、群組和事件三種實體,用戶之間存在線上社交互動和線下社交互動。
給定基于事件的社交網(wǎng)絡(luò)SN={V,R},V表示其中的實體集合,R表示關(guān)系集合。V={U,G,E},其中U為用戶集合,G表示群組集合,E表示離線事件集合;R={Ron,Roff}表示用戶之間的關(guān)系集合,Ron表示用戶之間的在線社交關(guān)系,Roff表示用戶之間的離線社交關(guān)系。
本文將EBSN 中的社交事件推薦問題轉(zhuǎn)化為目標用戶是否會參加候選推薦事件的二分類問題。對于目標用戶表示用戶u參與的事件序列,表示用戶u拒絕參與的事件序列,Nu=表示以用戶u為中心的在線社交網(wǎng)絡(luò)和離線社交網(wǎng)絡(luò)中的社交鄰居集合,e表示候選推薦事件。社交事件推薦問題可以描述如下:對于目標用戶u,候選推薦事件e,目標用戶u的參與事件序列和拒絕參與事件序列,以及用戶的社交鄰居集合Nu,判斷目標用戶u是否會參與候選推薦事件e。
圖1 基于事件的社交網(wǎng)絡(luò)Fig.1 Event-based social network
本文在對用戶建模時,考慮了用戶的歷史行為特征以及用戶的潛在社交關(guān)系;在對社交事件建模時,考慮了事件所在群組的類別特征、事件的地理位置特征和事件的時間段特征。圖2 展示了DUPSRM 的結(jié)構(gòu),主要由輸入層、嵌入層、雙向門循環(huán)單元層(Bidirectional Gated Recurrent Unit Layer,Bi-GRU Layer)、權(quán)重層以及輸出層組成。
圖2 DUPSRM結(jié)構(gòu)Fig.2 Structure of DUPSRM
輸入層接收輸入數(shù)據(jù),輸入數(shù)據(jù)主要包含用戶數(shù)據(jù)和候選推薦事件數(shù)據(jù)兩個部分,其中用戶數(shù)據(jù)部分主要包含了目標用戶、目標用戶社交鄰居集合,以及目標用戶歷史行為相關(guān)的數(shù)據(jù)。因此,輸入數(shù)據(jù)中主要包含了用戶和社交事件這兩種實體,這兩種實體由多個特征域組成,下面分別描述這兩種實體的數(shù)據(jù)輸入形式。
用戶實體的數(shù)據(jù)包含了用戶id、地理位置區(qū)塊、興趣類別這3個特征域;社交事件實體的數(shù)據(jù)來自事件id、事件群組id、事件地理位置、事件類別、時間段這5 個特征域。這些特征域中的特征為離散特征,因此需要對離散特征進行獨熱編碼后從輸入層輸入模型,圖3 表示了用戶實體和社交事件實體的獨熱編碼向量。
圖3 實體的獨熱編碼向量Fig.3 One-hot encoding vector of entity
在劃分地理位置區(qū)塊時,統(tǒng)計用戶與其所參與的事件經(jīng)緯度之間的距離,來確定大部分用戶經(jīng)常參與社交事件的地理范圍,圖4 為用戶與參加事件之間距離的累積分布函數(shù)圖(Cumulative Distribution Function Diagram,CDFD)。以使用MeetUP API 爬取的紐約市數(shù)據(jù)為例,從用戶事件距離累積分布函數(shù)圖中可以發(fā)現(xiàn),有83%的用戶活動在4 km 的范圍內(nèi),因此將紐約市劃分為80 個4 km×4 km 的地理區(qū)塊,使用用戶所處的區(qū)塊來代替用戶的地理位置信息。
圖4 用戶參與事件之間距離的CDFDFig.4 CDFD of user event distance
輸入層的離散特征經(jīng)過獨熱編碼后特征維度升高,同時變得十分稀疏,在模型的訓(xùn)練過程中,特征過于稀疏則會導(dǎo)致整個網(wǎng)絡(luò)收斂速度過慢,因此需要將輸入層的數(shù)據(jù)輸入嵌入層,將特征域的獨熱編碼向量轉(zhuǎn)化為低維稠密向量。
Embedding 起源于詞向量Word2Vec 模型,在多個深度學(xué)習(xí)領(lǐng)域中,如以推薦、廣告、搜索為核心的互聯(lián)網(wǎng)領(lǐng)域,Embedding 技術(shù)被廣泛地應(yīng)用,因此Embedding 技術(shù)是深度學(xué)習(xí)中的基礎(chǔ)操作。Embedding通常由淺層神經(jīng)網(wǎng)絡(luò)實現(xiàn)。
輸入層中的用戶實體和社交事件實體包含了多個特征域,經(jīng)過嵌入層后每個特征域映射為低維稠密特征向量,然后將不同特征域的嵌入向量進行拼接,就得到了實體的低維嵌入特征向量表示,用戶實體的嵌入向量為:
社交事件實體的嵌入向量為:
其中,concat(·)表示拼接函數(shù)。
循環(huán)神經(jīng)網(wǎng)絡(luò)是一類用于處理序列數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)。在DUPSRM 中將用戶歷史參與事件和拒絕參與事件按照時間順序排列,生成用戶的歷史事件序列,然后使用雙向GRU 層來從用戶的歷史事件序列中提取社交事件之間的關(guān)聯(lián)。雙向GRU 層中包含了兩層傳遞方向相反的GRU 層,每層中包含多個GRU 單元,用來獲取從前向后和從后向前的序列信息。設(shè)每層GRU 層中包含了k個GRU 單元,在從前向后的GRU 層中,hi表示該層中第i個GRU 單元的隱狀態(tài),hi既包含了前面(i-1)個隱狀態(tài)中的特征,也包含了第i個事件的特征;在從后向前的GRU 層中,hk-i+1表示該層中第(k-i+1)個GRU單元的隱狀態(tài),hk-i+1既包含了后面(k-i)個隱狀態(tài)中的特征,也包含了第(k-i+1)個事件的特征。然后將hi和hk-i+1對應(yīng)元素求和,便得到表示第i個事件的向量hi=hi⊕hk-i+1,該向量中既包含了事件i的特征,也包含了事件序列中與事件i相鄰的事件的特征。
在DUPSRM中權(quán)重層的權(quán)重激活單元使用了DIN模型[19]中的結(jié)構(gòu),用來計算用戶歷史參與事件序列中的事件和拒絕參與事件序列中的事件對用戶參與候選推薦事件e的影響權(quán)重,權(quán)重激活單元的結(jié)構(gòu)如圖5所示。
圖5 權(quán)重激活單元Fig.5 Weight activation unit
下面以雙向GRU 層的隱向量hi為例介紹權(quán)重激活單元的作用。
權(quán)重激活層中的激活單元(Activation Unit,AU)計算過程如下:
其中:f(·)表示激活單元中的線性層和激活層,[·,·]表示向量拼接,⊙表示向量點積表示隱向量hi的權(quán)重,表示隱向量hi的歸一化權(quán)重。當(dāng)表示目標用戶u歷史事件的正向量;當(dāng)時,表示目標用戶歷史事件的負向量。
計算用戶的社交鄰居向量的方法如下:
經(jīng)過權(quán)重層后,就獲得了目標用戶u完整的向量表示:
經(jīng)過雙向GRU 層和權(quán)重層后得到了用戶的完整向量表示Vu和候選推薦事件的向量表示e,由于矩陣分解算法的前提假設(shè)是用戶隱向量Vu和候選推薦事件隱向量e來自共同的k維隱向量空間,在DUPSRM 中由于用戶向量Vu和候選事件向量e的特征維度不同,因此將用戶向量Vu和候選事件e拼接起來,輸入到多層感知機中預(yù)測目標用戶u參與候選事件e的概率,輸出層的計算過程如下:
其中:f(·)表示輸出層的多層感知機,[·,·]表示向量拼接,σ(·)表示sigmoid激活函數(shù)。
在第1 章中,將個性化社交事件推薦問題轉(zhuǎn)化為目標用戶是否參與候選推薦事件的二分類問題,因此DUPSRM 的損失函數(shù)采用對數(shù)損失函數(shù):
其中:S表示訓(xùn)練集,N為訓(xùn)練集樣本數(shù)量,y表示樣本標簽,表示模型的預(yù)測輸出,λ表示L2 正則化系數(shù),w表示網(wǎng)絡(luò)參數(shù)。
在實驗過程中使用Meetup網(wǎng)站提供的API對紐約市的數(shù)據(jù)進行爬取,在對數(shù)據(jù)進行清洗和一系列預(yù)處理操作后得到實驗數(shù)據(jù)集,該數(shù)據(jù)集包含了紐約市的社交群組、用戶以及線下社交事件,數(shù)據(jù)集的具體信息如表1 所示。為了保證同一個用戶出現(xiàn)在訓(xùn)練集和測試集中,數(shù)據(jù)集劃分采用Top-K推薦中常用的留一法。測試集中的負樣本采用隨機抽樣生成。
表1 Meetup數(shù)據(jù)集信息Tab.1 Meetup dataset information
1)DUMER 模型:該模型使用TextCNN 方法從用戶參與的歷史事件內(nèi)容中提取用戶偏好的向量表示,然后將用戶的向量表示與候選推薦事件的向量表示使用概率矩陣分解方法進行事件推薦。
2)DIN模型:使用用戶的歷史行為信息對其建模,通過激活單元對于不同的候選事件自動學(xué)習(xí)用戶歷史參與事件的權(quán)重以獲得用戶的向量表示,然后將用戶向量和候選事件向量輸入多層神經(jīng)網(wǎng)絡(luò),由神經(jīng)網(wǎng)絡(luò)輸出最終的推薦概率。
3)DUPM:為了驗證本文DUPSRM 中引入用戶偏好負向量表示帶來的效果,該模型在推薦時只考慮用戶的偏好。
4)DUSRM:為了驗證本文DUPSRM 中引入用戶社交關(guān)系帶來的效果,在推薦時只考慮用戶的偏好正向量表示和用戶的社交關(guān)系。
在推薦系統(tǒng)中,命中率(Hits Ratio,HR)、歸一化折損累計增益(Normalized Discounted Cumulative Gain,NDCG)、平均倒數(shù)排名(Mean Reciprocal Rank,MRR)等指標經(jīng)常被用來評價模型或算法的效果,本文也使用以上三個指標對模型進行評估:
1)HR@K用來衡量模型的召回率,在K確定的情況下,HR取值越大,表明模型的召回率越高。HR@K的計算方式如下:
其中:|GT| 表示測試集合中樣本總數(shù),NumberofHits@K表示每個用戶推薦列表的前K個項目中屬于測試集中個數(shù)的總和。
2)NDCG@K用來對推薦列表中每個項目的預(yù)測概率值排序,如果推薦列表中靠前項目的預(yù)測概率值越大,則NDCG 的值越大,模型的推薦效果越好。
其中:|U| 表示測試集合中用戶的數(shù)量,為每個用戶的NDCG值之和。
3)MRR 用來表示正確檢索結(jié)果值在檢索結(jié)果中的排名,計算方法如下:
其中:|U| 是用戶的個數(shù);ranki表示對于第i個用戶,推薦列表中第一個相關(guān)物品所在的排列位置。
3.4.1HR@K結(jié)果對比
圖6 為五種模型在Meetup 數(shù)據(jù)集上的HR@K運行結(jié)果。可以看出,五種模型在HR@10 評價指標下的HR 值均優(yōu)于HR@5 評價指標下的HR 值,說明隨著推薦事件數(shù)量的增加,五種模型的推薦效果都會有提升。而DUPM、DUSRM 以及DUPSRM 在數(shù)據(jù)集上的表現(xiàn)優(yōu)于DUMER模型和DIN模型,說明這三個模型能夠推薦較多與用戶相關(guān)聯(lián)的社交事件。DUPSRM 相對于DUMER 模型在HR@5 指標下提升了9.4%,在HR@10 指標下提升了7.6%。五種模型中,DUMER 模型的HR值最低,說明在推薦過程中僅使用社交事件的描述信息不能為用戶推薦合適的社交事件;DUPM 和DUSRM 的HR 值較為接近,說明用戶的社交關(guān)系和用戶偏好負向量在社交事件推薦過程中都能帶來推薦效果的提升。
3.4.2NDCG@K結(jié)果對比
如圖7 所示,在NDCG@5 和NDCG@10 評價指標下,DUPM、DUSRM 以及DUPSRM 在Meetup 數(shù)據(jù)集上的表現(xiàn)均優(yōu)于DUMER模型和DIN模型,說明這三個模型能夠?qū)⑴c目標用戶相關(guān)聯(lián)的事件排序在推薦列表中靠前的位置,推薦的效果更好。DUPSRM 相對于DUMER 模型在NDCG@5 指標下提升了8.07%,在NDCG@10 指標下提升了8.1%;而DUMER 模型在五個模型中表現(xiàn)最差,DIN 模型表現(xiàn)相對較好;DUPM 和DUSRM 的NDCG 值相對于DUMER 模型和DIN 模型都有提升,五種模型中DUPSRM 的NDCG 值最高,說明該模型的推薦效果最好。
圖6 五種模型在Meetup數(shù)據(jù)集上的HR@K結(jié)果Fig.6 Results of HR@K by five models on Meetup dataset
圖7 五種模型在Meetup數(shù)據(jù)集上的NDCG@K結(jié)果Fig.7 Results of NDCG@K by five models on Meetup dataset
3.4.3 MRR結(jié)果對比
圖8 為五種模型在Meetup 數(shù)據(jù)集上MRR 的運行結(jié)果。在MRR評價指標下,DUMER模型的MRR值最低,DIN模型的MRR 值次之,DIN 模型的推薦效果優(yōu)于DUMER 模型;DUPSRM 的推薦效果相對于DUMER 模型在MRR 指標下提升了8.2%,DUPM的推薦效果略優(yōu)于DUSRM。
圖8 五種模型在Meetup數(shù)據(jù)集上的MRR結(jié)果Fig.8 Results of MRR by five models on Meetup dataset
本文使用深度學(xué)習(xí)方法來解決基于事件社交網(wǎng)絡(luò)中個性化社交事件推薦問題,在推薦過程中使用社交鄰居信息以及歷史行為信息對用戶建模。在使用用戶歷史行為信息建模時,構(gòu)建了用戶偏好的正向量及負向量,使用雙向GRU 層和權(quán)重層建立用戶的向量表示,提高了模型的準確性。通過在真實數(shù)據(jù)集上的實驗結(jié)果表明,本文提出的DUPSRM 的效果相比當(dāng)前基于事件社交網(wǎng)絡(luò)中的個性化社交事件推薦方法有一定的提升。同時,基于事件社交網(wǎng)絡(luò)中離線事件也包含了許多上下文特征,如事件的規(guī)模、事件的組織者信息等,這些特征可能對于用戶參與事件有一定的影響,這也為我們改進DUPSRM或者提出新模型指明了方向。