天天看點

論文筆記(Attentive Recurrent Social Recommendation)注意力循環社交推薦

注意力循環社交推薦

原文連結:Attentive Recurrent Social Recommendation, SIGIR’18

原理:将使用者的朋友和曆史互動項按時間劃分,用注意力機制整合各個時段的朋友影響和互動項影響後輸入LSTM來學習動态使用者向量,動态使用者向量與動态項向量的内積預測動态評分。用注意力機制整合使用者所有時期的朋友影響+使用者向量=使用者靜态向量,使用者靜态向量與項靜态向量的内積預測靜态評分。動态評分與靜态評分之和為最終預測評分。

1. 摘要

協同過濾(CF)是建立推薦系統最受歡迎的方式之一。為了解決協同過濾中資料稀疏性的問題,社交推薦(social recommendation)出現了,他利用使用者之間的社交影響來得到更好的推薦效果。在這些系統中,随着時間的推移,使用者的偏好取決于他們的時間動态興趣(temporal dynamic interests )和一般的靜态興趣(general static interests)。同時,使用者内在興趣和社會網絡的社交影響之間的互相作用,推動了使用者的偏好随時間演變。然而,傳統的方法要麼忽略了時間推薦(temporal recommendation)的社交網絡結構,要麼假設靜态社交推薦(static social recommendation)具有靜态的社會影響力。是以,如何利用社交影響來提高時間社交推薦效果依然是一個問題。為此,本文提出了一種

基于注意力循環網絡的時間社交推薦方法

。在提出的方法中,我們通過

用兩個注意力網絡融合使用者之間的社交影響

,來

模拟使用者複雜動态的和一般靜态的偏好随時間的變化

。特别地,在模拟動态偏好的過程中,我們設計一個動态的社交感覺循環神經網絡去捕捉

使用者複雜的随時間變化的潛在興趣

。其中,提出了一個時間注意力網絡去學習

随時間變化的時間社交影響

;在模拟一般靜态偏好的過程中,我們通過引入靜态社交注意力網絡刻畫每一個

使用者的靜态興趣

,來模拟使用者之間的

固定的社交影響

。動态偏好和靜态偏好的輸出在一個統一的端到端的架構中結合起來,為了時間社交推薦任務。

2. 問題定義

數學符号定義:

論文筆記(Attentive Recurrent Social Recommendation)注意力循環社交推薦

定義1【時間社交推薦】給定一個使用者集合 U,一個項的集合 V,使用者-使用者社交網絡矩陣 S,從時間1到時間 T 的使用者-項偏好序列 R = [R1,R2,…,RT],我們的目标是預測每一個使用者在時間 T+1 時的消費行為Rˆ T+1

3. 提出的模型

我們提出的模型Attention Recurrent Social rEcommendation(ARSE)由兩部分組成:一個複雜的Dynamic ARSE 部分捕獲使用者随時間推移變化的動态偏好,一個通用的Static ARSE 部分顯示使用者固定的不随時間推移變化興趣。

使用者 a 在 t 時刻對項 i 的偏好預測可以如下表示:項 i 的動态嵌入 x 使用者 a 在t時刻的動态嵌入 + 項 i 的靜态嵌入 x 使用者 a 的靜态嵌入

論文筆記(Attentive Recurrent Social Recommendation)注意力循環社交推薦

整個模型的架構如下所示:

論文筆記(Attentive Recurrent Social Recommendation)注意力循環社交推薦

3.1 Dynamic Attentive Social Recurrent Recommendation

Input Pooling Layer

因為 LSMT 要接受一個固定size的輸入,而使用者喜歡的 items 的集合Lta的size是不一樣的(這裡應該是指數量),是以這裡采用一個

平均池化

(average pooling operation)操作,(實際上就是把所有items的潛在向量laent vector變成了一個平均的潛在向量,至于為什麼采用平均池化而不是最大池化,作者說因為兩種方法在這裡沒有明顯的差別)

下面展示了 Xta 的第 l 個元素的計算方式:

論文筆記(Attentive Recurrent Social Recommendation)注意力循環社交推薦

其中 Q 是 items 在動态空間(dynamic space)中的潛在向量矩陣,Q (:,Lta ) 是選擇所有在 Lta 中出現的item的潛在向量。

Dynamic Attentive Network

用兩層子網絡去捕獲使用者 a 和他在社交網絡 S 中信任的使用者 b(即sba=1)的

動态注意力分數

mt(a,b):

論文筆記(Attentive Recurrent Social Recommendation)注意力循環社交推薦

ht-1a 和 ht-1b 分别是使用者 a 和使用者 b 在 t-1 時刻的潛在向量(latent vector)

ea 和 eb 是使用者 a 和使用者 b 在社交網絡結構中的社交嵌入(social embedding)

【可以用已經提出的各種社交嵌入技術可以從社交網絡S中提取出有意義的嵌入,本文采用一個非監督深度學習模型denoising autoEnoder來為使用者的社交嵌入模組化】

最終的動态注意力分數

αtab 通過标準化上面的注意力分數得到:

論文筆記(Attentive Recurrent Social Recommendation)注意力循環社交推薦

Sa 是使用者a在社交網絡中信任的所有使用者,

αtab 展示了在t時刻使用者 b 對使用者 a 的影響力

則,使用者a的

社交上下文資訊

h~ta 表示來自社交網絡鄰居的權重動态社交影響:

論文筆記(Attentive Recurrent Social Recommendation)注意力循環社交推薦

Social LSTM Layer

Xta 表示了使用者 a 在 t 時刻消費的items

h~ta 表示了使用者 a 在 t 時刻增強的社交上下文資訊

ht-1a 表示了使用者 a 在 t-1 時刻的隐藏狀态(hiden state)

預測隐藏狀态

hta 可以通過一個 LSTM 層計算得到:

論文筆記(Attentive Recurrent Social Recommendation)注意力循環社交推薦

不同于傳統的 LSTM 隻考慮使用者之前的輸入 Xta 和之前的隐藏狀态 ht-1a,作者在這裡加入了使用者的動态上下文表征 h~ta 來推斷使用者動态的偏好。

Dynamic Output Layer
論文筆記(Attentive Recurrent Social Recommendation)注意力循環社交推薦

3.2 Static Attentive Social Recurrent Recommendation

除了捕獲使用者随着時間進化的偏好,我們認為每個使用者都有不随時間變化的靜态興趣(static interest)

Static Social Attention

用兩層子網絡去捕獲使用者 a 和他在社交網絡 S 中信任的使用者 b(即sba=1)的

靜态注意力分數

n(a,b)

論文筆記(Attentive Recurrent Social Recommendation)注意力循環社交推薦

pa 和 pb 分别表示使用者 a 和使用者 b 的靜态潛在向量(latent vector)

ea 和 eb 分别是使用者 a 和使用者 b 在社交網絡結構中的社交嵌入(social embedding)

最終的靜态注意力分數

βab 通過标準化上面的注意力分數得到:

論文筆記(Attentive Recurrent Social Recommendation)注意力循環社交推薦

則,增強的靜态社交潛在向量p?~a 可以如下表示:

論文筆記(Attentive Recurrent Social Recommendation)注意力循環社交推薦

Static Output

論文筆記(Attentive Recurrent Social Recommendation)注意力循環社交推薦

4. 模型學習

4.1 Optimization

用一個統一的損失函數進行學習

論文筆記(Attentive Recurrent Social Recommendation)注意力循環社交推薦

4.2 Prediction

論文筆記(Attentive Recurrent Social Recommendation)注意力循環社交推薦

學習總結:

1、關于使用者的偏好,作者考慮了不随時間改變的靜态偏好和随着時間進化的動态偏好,對于随着時間進化的動态偏好用LSTM模型進行學習,用某時刻使用者的社交網絡資訊和互動項資訊共同作為LSTM某個單元的輸入,經處理後輸出目前時刻使用者的偏好;對于不随時間改變的靜态偏好通過整合使用者社交網絡資訊和使用者本身的資訊得到。兩個部分在整合使用者在社交網絡中鄰居時都采用了注意力機制來區分不同鄰居的重要程度。

繼續閱讀