傳統社交推薦系統中的數據可以表示爲用戶-用戶社交圖(user-user social graph)和用戶-項目圖(user-item graph),本文針對此提出應用GNN提高推薦的效果並解決了如下挑戰:1、用戶-項目圖對交互及用戶意見的編碼;2、社會關係異質性的表示;3、兩種圖形的綜合考慮。
在本文中,提出了一個新穎的社交推薦圖神經網絡框架(GraphRec)。另外,作者提供了一種建模方法來聯合捕獲用戶-項目圖中的交互和意見,對兩種圖和異構強度進行了連貫的建模。在兩個真實數據集上的大量實驗證明了GraphRec的有效性。
針對圖數據的神經網絡興起::
Deep neural network techniques for graph data:
Graph Neural Networks (GNNs):
On the other hand, data in social recommendation can be represented as graph data with two graphs.
The natural way of social recommendation is to incorporate the social network information into user and item latent factors learning
Challenges:
Contributions:
U = { u 1 , u 2 , . . . , u n } U=\{u_1, u_2,..., u_n\} U={u1,u2,...,un} 爲用戶集 V = { v 1 , v 2 , . . . , v m } V=\{v_1, v_2,...,v_m\} V={v1,v2,...,vm}爲物品集。
R = R n × m R=\mathbb{R}^{n \times m} R=Rn×m表示user-item評分矩陣,也即user-item graph
O = { < u i , v j > ∣ r i j ≠ 0 } O=\{<u_i, v_j>|r_{ij}≠0\} O={<ui,vj>∣rij=0} 爲已知用戶評分集 τ = { < u i , v j > ∣ r i j = 0 } \tau=\{<u_i, v_j>|r_{ij}=0\} τ={<ui,vj>∣rij=0}爲未知用戶評分集
N ( i ) N(i) N(i)爲用戶i的好友用戶集
C ( i ) C(i) C(i)爲用戶i的接觸item集
B ( i ) B(i) B(i)爲接觸過物品j的用戶集
T ∈ R n × n T\in R^{n\times n} T∈Rn×n表示user-user socail graph
Problem:
Given the user-item graph R and social graph T, we aim to predict the missing rating value in R.
User Modeling
任務:內在地結合user-item和user-social圖。學習用戶潛在因素: h i ∈ R d h_i\in\mathbb{R}^d hi∈Rd
方法:two types of aggregation to learn factors from two graphs
first aggregation: item aggregation
learn item-space user latent factor h i I ∈ R d h_i^I\in\mathbb{R}^d hiI∈Rd from the user-item graph
second aggregation: social aggregation
learn social-space user latent factor h i S ∈ R d h_i^S\in\mathbb{R}^d hiS∈Rd
Item Aggregation
Principled approach for Item Aggregation: jointly capture interactions and opinions in the user-item graph
(同時考慮用戶-物品圖的交互與意見)
C ( i ) C(i) C(i)表示用戶 u i u_i ui的交互物品集或好友用戶, x i a x_{ia} xia表示用戶i與物品a的交互表示向量(representation vector), A g g r e i t e m s Aggre_{items} Aggreitems表示物品聚合函數。
W , b W,b W,b爲神經網絡的權重和偏置項參數。
其中:
x i a = g v ( [ q a ⊕ e r ] ) x_{ia}=g_v([q_a\oplus e_r]) xia=gv([qa⊕er])
q a q_a qa表示物品a的嵌入向量, e r e_r er表示用戶意見評分機制r的嵌入向量
For example, in a 5-star rating system, for each r r ∈ { 1 , 2 , 3 , 4 , 5 } r\in \{1, 2, 3, 4, 5\} r∈{1,2,3,4,5}, we introduce an embedding vector e r e_r er
通過多層感知機MLP融合 q a q_a qa和 e r e_r er, g v g_v gv表示MLP的參數, ⊕ \oplus ⊕表示兩個嵌入向量的連接
A g g r e i t e m s Aggre_{items} Aggreitems的制定
傳統方法:均值操作
當爲均值處理時, α i \alpha_i αi被固定爲 1 / ∣ C ( i ) ∣ 1/|C(i)| 1/∣C(i)∣,爲了優化,需要改進 α i \alpha_i αi的設定:
attention mechanisms
通過兩層神經網絡(注意力網絡)結合 x i a x_{ia} xia和用戶嵌入向量 p i p_i pi得到注意力得分:
通過Softmax標準化:
Social Aggregation
考慮好友關係的異質性(交互強度),爲此,引入了一種注意機制,通過選擇具有代表性的社交朋友來描述用戶的社交信息,然後對用戶的社交信息進行聚合。
類似Item Aggregration的注意力機制,考慮用戶間不同的交互強度。
Learning User Latent Factor
爲了更好地瞭解用戶潛在因素,需要將item-space的用戶潛在因素和social-space的用戶潛在因素結合起來考慮,因爲social圖和user-item圖提供了不同角度的用戶信息。
Item Modeling
User Aggregation
方法類似Item Aggregation for learning user latent factor
首先通過類似Item的方式得到對物品j的意見交互形式的向量表示
之後同樣通過多注意力機制得到:
z j z_j zj即爲通過用戶聚合得到的物品建模。
綜上,共有三種嵌入向量表示:
Rating Prediction
在得到用戶與物品的潛在表示後,本文致力於解決得分預測問題,即預測 r i j r_{ij} rij:用戶 u i u_i ui對物品 v j v_j vj的評分。
數據集
popular social networking websites:
Ciao Epinions
Evaluation Metrics
MAE和RMSE
Baselines
模型訓練結果:
Finding:
變體模型(特徵信息):
GraphRec-SN:刪除社交信息的GraphRec
GraphRec-Opinion:刪除Opinion embedding的模型。
結果:
結論:證明了社交信息與用戶對物品意見對推薦系統的重要性。
變體模型(注意力機制):
GraphRec共有3種注意力機制:item attention α, social attention β, and user attention μ.
分別移除item attention、 social attention、 item & social attention、user attention得到四種不同模型。
結果:
結論:
嵌入層(特徵信息):
通過改變以下潛入層的size
user embedding p , item embedding q, and opinion embedding e,
從8-256
結論:一般來說,隨着嵌入尺寸的增大,性能先增大後減小。當增加嵌入大小從8到64年可以顯著地提高性能。但是,當嵌入大小爲256,GraphRec會降低性能。結果表明,使用較大的嵌入尺寸具有強大的表示性。然而,如果嵌入的長度太大,模型的複雜性將顯著增加。因此,需要找到一個合適的嵌入長度爲了平衡性能和複雜性之間的權衡。