知识图谱论文阅读(二十三)【SIGIR2020】Multi-behavior Recommendation with Graph Convolutional Networks
題目: Multi-behavior Recommendation with Graph Convolutional Networks
論文地址:
論文代碼:
想法
將相同行為的交互方式進行了聚合來計算user Embedding和item Embedding
創新
模型要做的事情就是user-item傳播層學習行為影響力度,item-item傳播層去捕獲行為語義
摘要
過去的問題:
傳統的推薦模型僅僅利用一種用戶-物品的交互數據,如購買行為,因而綜述遭受數據稀疏和冷啟動的問題,但是該用戶可能沒有購買,只是瀏覽、點擊和收藏等這些隱藏信息。
早期的推薦系統并沒有考慮到這些隱藏信息的權重信息,也就忽略了這些數據中隱藏的行為語義。
我們:
我們的工作中創造了一個統一的圖來表示多行為的數據;
并且提出了我們的模型叫做**MBGCN(**題目),使用GCN的層層傳播語義的功能
2 PROBLEM FORMULATION
在在線信息系統的真實場景中,用戶可以通過點擊、收集、購買、分享等多種方式與平臺提供的物品進行交互。在各種類型的用戶項目交互中,總有一種類型直接決定著平臺的利潤。
例如,電子商務推薦系統一直是針對購買行為設計的,App推薦系統是針對下載行為設計的。
但是單一行為的方式往往效果不好,而且缺乏數據。
在這項工作中,我們的目標是利用其他類型的反饋設計一個推薦模型的目標行為。
約定一下:
假定行為的數量是TTT;
交互矩陣YtY^tYt表明了和item有沒有交互。
所有的行為矩陣可以表示為{Y1,Y2,...,YT}\left \{ Y^1, Y^2,...,Y^T \right \}{Y1,Y2,...,YT},其中{Y1,Y2,...,YT?1}\left \{ Y^1, Y^2,...,Y^{T-1} \right \}{Y1,Y2,...,YT?1}表示為輔助行為,而YTY^TYT表示為目標行為。
注意,對行為的時間順序或強度順序沒有限制。換句話說,行為t?1t-1t?1并沒有ttt之前發生,并且yuit?1y_{ui}^{t-1}yuit?1?和yuity_{ui}^{t}yuit?并沒有反應的更強或者更弱。那么多行為推薦的任務可以表述為:
Input: user-item的交互數據 TTT種類型的行為
Output: user u在T-th行為下和item i交互的概率
3 METHODOLOGY
我們的模型有四個重要的組成部分:
1)一個共享層,它為用戶和項目嵌入提供初始化;
2)user-item傳播層,學習每個行為的強度,同時提取基于多行為的用戶-物品交互的協同過濾信號;
3)item-item傳播層,根據行為類型細化項目之間的特殊關系,即行為語義;
4)聯合預測模塊。
3.1 Unified Heterogeneous Graph
輸入交互數據用無向圖表示 G=(V,E)\mathrm{G=(V,E)}G=(V,E),其中節點由user和item組成。
在E\mathrm{E}E中的邊包含了不同行為的不同的user-item的交互邊,名字為(u,i)t(u, i)_t(u,i)t?,t∈Nrt\in N_rt∈Nr?,其中NrN_rNr?是所有行為類型的集合;
同時,在items之間,一些meta-paths將會基于用戶的協同行為(多個用戶都購買了XX)建立。
比如iphone和AirPods,很多人都同時購買了,那么item-purchase-user-purchase-item的元路徑將會被建立。
也因此,元路徑的類型和行為類型數量是一樣的!
3.2 Shared Embedding Layer
pi(0)∈Rdand?qj(0)∈Rdp_{i}^{(0)} \in \mathcal{R}^vt6mr5x \text { and } q_{j}^{(0)} \in \mathcal{R}^vt6mr5xpi(0)?∈Rd?and?qj(0)?∈Rd是user和item的嵌入。
之后可以將user和item的嵌入向量可以用嵌入矩陣表示:
同時我們使用one-hot+矩陣乘法獲得某個用戶和item的向量
其中IDkUID_{k}^UIDkU?和IDjVID_{j}^VIDjV?分別是用戶uku_kuk?和iji_jij?的one-hot向量。
3.3 Behavior-aware User-Item Propagation
為了捕獲基于多行為的CF信號,我們在用戶和項目之間建立了一個消息傳遞體系結構。
相同的顏色的線表示的是相同的行為!!!
3.3.1 User Embedding Propagation.
我們的主要想法是根據行為類型,通過兩個關鍵因素:行為內在強度和交互稀疏性來考慮物品對用戶偏好的不同影響。
User Behavior Propagation Weight Calculation:
由于不同的行為對目標行為的貢獻不同,我們為每個行為分配權重,也就是wtw_twt?為了行為ttt。
為了融合行為重要性和行為稀疏性,我們為用戶 u 定義了特定行為 t 的傳播權值αut\alpha _{ut}αut?,如下所示:
其中wtw_twt?對于所有用戶來說是一樣的。
nutn_{ut}nut?是被user u操作的行為 t 的數量, 這取決于用戶。∑m∈Nrαum\sum_{m \in N_{r}} \alpha_{u m}∑m∈Nr??αum?是所有用戶u的交互
www更大的行為將會比更小的行為重要,∑t∈Nrαut=1\sum_{t \in N_{r}} \alpha_{u t}=1∑t∈Nr??αut?=1,而且該權重是系統自動學習到的。
Neighbour Item Aggregation Based on behavior.
對于每個用戶來說,不同的行為對目標行為的貢獻是不同的,但直覺上,相同行為下交互的物品反映了用戶相似的偏好強度。
因此,將與用戶具有相同行為交互的項聚合在一起,以獲得每個行為的一個嵌入pu,t(l)p_{u,t}^{(l)}pu,t(l)?,該式子表示 對于在行為 t 下的用戶 u 的表示:
NtI(u)N_t^I(u)NtI?(u)是用戶u在行為t下的交互的items!
qi(l)q_i^{(l)}qi(l)?是item i的在層l的嵌入!
聚合函數可以是一個函數,如簡單的均值函數,抽樣的均值函數,最大池化等等。這里我們使用簡單的中值函數
pu,t(l)p_{u,t}^{(l)}pu,t(l)?用戶 u 在行為 t 下在 lll-th 層的聚合嵌入。
Behavior-level Item Propagation for User(就是上面圖的上半部分)
我們根據權重αut\alpha_{ut}αut?對嵌入在一起的鄰居項聚合求和,然后通過一個編碼器矩陣得到user u的最終鄰居項聚合。我們采用無激活函數的圖神經網絡來細化基于多行為的信息:
αut\alpha_{ut}αut?它既取決于行為顯著性,也取決于每種行為下的用戶交互量。
3.3.2 Item Embedding Propagation
上面的item-to-user是根據用戶的行為然后賦予item權重得到的用戶特征。
這里的user-to-item中,item的特性是靜態的,所以不管行為類型,假設不同用戶對同一項內容的貢獻是相同的。
下面就是聚合用戶行為后的!
雖然在user-to-item的傳播中沒有考慮行為類型,但不能說多行為不能用于物品特征學習。
事實上,item相關性或者換句話說,行為語義可以從item-to-item的多行為數據中學習。
3.4 Item-Relevance Aware Item-Item Propagation
但是前面提到了,需要解決的第二個問題是捕捉items之間的關系,所以item還需要進行一次傳播,得到額外的一個在不同行為下的item表示。即被同一個用戶都交互了的物品之間存在有特殊的連接:
這個操作也可以參考上圖,目的是求出item i 的下一層嵌入; 即t1行為之間進行聚合,t2行為之間進行聚合就行。
上圖是t1行為的,下圖是t2行為下的!
3.5 Joint Prediction:
得到各層的表示直接拼接就行:
然后可以做兩個預測任務User-based CF Scoring和Item-based CF Scoring。
3.5.1 User-based CF Scoring
根據所得到的用戶和物品的embedding,做簡單的內積。
3.5.2 Item-based CF Scoring
計算與用戶u交互的所有物品們與目標物品iii的相關性分數(兩個item之間被某用戶有相同的行為如都購買了會影響到分數)。
最后兩者一起作為預測分數:
所以其實對應開頭的兩個問題,模型要做的事情就是user-item傳播層學習行為影響力度,item-item傳播層去捕獲行為語義
3.6 Model Training
BPR loss:它強調了觀察到的和未觀察到的用戶-物品交互之間的相對順序,并聲稱觀察到的交互對于用戶的偏好學習具有指導性,應該比未觀察到的交互獲得更高的預測分數。
其中O={(u,i,j)∣(u,i)∈R+,(u,j)∈R?}O=\left\{(u, i, j) \mid(u, i) \in R^{+},(u, j) \in R^{-}\right\}O={(u,i,j)∣(u,i)∈R+,(u,j)∈R?}表示成對目標行為訓練數據集;
R+R^+R+表示觀察到的目標行為;
R?R^-R?表示了沒有觀察到的目標行為;
σ(?)\sigma (\cdot )σ(?)激活函數;
Θ\ThetaΘ是所有可訓練的參數
β\betaβ是歸一化系數,控制L2歸一化的強度,以防止過擬合。
我們提出了兩種廣泛使用的dropout方法:message dropout和node dropout到一些用戶節點和項目節點。Message dropout以possibility的形式隨機刪除一些流動的消息,而node dropout則隨機刪除一個特定的節點,并提取其所有流動的信息。
總結
以上是生活随笔為你收集整理的知识图谱论文阅读(二十三)【SIGIR2020】Multi-behavior Recommendation with Graph Convolutional Networks的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (二十五)【NIPS 2017】Prot
- 下一篇: 李宏毅机器学习(十)GPT-3