Learning Intents behind Interactions with Knowledge Graph for Recommendation


KGIN

Abstract

論文中提出目前的GNN-based模型在關系建模上屬於粗粒度的建模。在兩個方面做得不足:

(1)沒有在細粒度的意圖級別上識別用戶-項目關系

(2)未利用關系依賴性來保留遠程連接的語義

於是使用了新的模型——Knowledge Graph-based Intent Network(KGIN),結合KG關系,加強不同用戶-項目關系的獨立性,以此加強模型的能力和可解釋性。

使用了一種新的信息聚合機制,遞歸地集成遠程連接的關系序列(關系路徑)。


1 INTRODUCTION

KG能夠改進推薦系統,其中富含的關系信息能夠更好的建模。不僅能夠揭露項目之間的復雜關系,還能更好地解釋用戶的偏好。

以前的工作使用KG三元組,並將其視為前置的信息來實現實體表示。后續的一些研究通過豐富用戶和項目之間多跳路徑,以此更好的表征用戶-項目關系。最近,基於GNN的端到端模型變成了一種技術趨勢。關鍵思想是利用信息聚合方案,它可以有效地將多跳鄰居集成到表示中。

文章中認為現在的GNN-based方法有兩個不足:

(1)User Intent

文章中說目前研究沒有考慮更細粒度的意圖級別的用戶-項目關系。忽略了一個事實:一個用戶可能會有多個意圖,驅使用戶去消費不同的產品。

(2)Relational Paths

文章認為目前的信息聚合機制都是基於節點的,中心節點從鄰居節點收集信息,但是沒有區分這些信息來自於那一條關系路徑(Relational Path),因此不能充分第捕獲關系中的交互。

KGIN有兩個組成部分來解決上述限制:

(1)User Intent Modeling

每個用戶-項目交互都包含潛在的意圖,並且可以用向量表示,但是難以解釋。因此,將每個意圖與KG關系的分布相關聯,說明關系組合的重要性。技術上說,就是intent的嵌入表示,是關系嵌入表示的組合,其中更重要的關系占比更大。此外,還引入獨立性約束,鼓勵不同intent的差異性,以此得到更好地可解釋性。

(2)Relational Path-aware Aggregation

與基於節點的聚合機制不同,文章將關系路徑視為信息通道,並將每個通道編成一個向量表示。因為user-intent-item和KG三元組是異構的,需要設置不同的聚合策略,以分別提取用戶的行為模式和項目的相關性。


2 PROBLEM FORMULATION

Interaction Data

文章中關注推薦中的隱式反饋(例如:查看,點擊,購買)。

U是users的集合

I是items的集合

\(O^+ = \{(u,i)|u∈U,i∈I\}\)是觀察到的反饋集合,(u,i)對表示用戶u和項目i歷史上有交互行為

引入一個額外的internet-with來顯式呈現用戶-項目關系並將(u,i)轉換成(u,interact-with,i),以此用戶-項目交互可以和KG結合起來

Knowledge Graph

KG以異構圖存儲真實世界中的結構化信息,例如:項目屬性、分類、常識等等

V是真實世界中實體的集合

R是關系的集合,表示一些規范和反方向的關系,例如director and directed-by

G = {(h,r,t)|h,t∈V, r∈R}是三元組的集合,(h,r,t)三元組表示從頭實體h到尾實體t存在r關系。通過項目和KG實體之間的映射(I ⊂ V),KG能夠分析項目並為交互數據提供補充信息。

Task Description

給定交互數據 \(O^+\) 和知識圖譜G,我們使用知識感知推薦任務學習一個可以預測用戶喜歡某個項目的可能性的函數。


3 METHODOLOGY

下面圖為KGIN的工作流,有兩部分組成:

(1)user intent modeling
(2)relational path-aware aggregation

image.png

3.1 User Intent Modeling

假設用戶行為受多種intent影響,並將intent定義為用戶選擇商品的原因,反映了所有用戶行為的共性。以電影推薦為例,可能的意圖是對電影屬性的不同考慮,例如明星和合作伙伴的組合,或者導演和類型的組合。不同的意圖抽象出不同的用戶行為模式。這可以通過更細粒度的假設來增強廣泛使用的協同過濾效果————相似意圖驅動的用戶對項目有相似的偏好。因此以意圖的粒度來對用戶-項目關系進行建模。

P是所有用戶共享的意圖集合,以此可以將每個(u,i)分解為{(u,p,i)|p∈P}。因此,可以將用戶-項目交互數據重組為一個異構圖,稱為intent graph(IG),這與以往工作中采用的同構協作圖不同。

3.1.1 Representation Learning of Intent

KTUP提出將每個意圖與一個KG關系進行結合,可以更好的解釋這些intent的影響。但是這種方案只是孤立地考慮單個關系,沒有考慮intent的交互和結合,沒有辦法提煉出用戶意圖的高層概念。

\[e_p=\sum_{r∈R}\alpha(r,p)e_r \]

\(e_r\)是關系r的ID embedding,\(\alpha(r,p)\)是重要性分配,具體如下:

\[\alpha(r,p)=\frac{exp(w_{rp})}{\sum_{r^{'}∈R}exp(w_{r^{'}p})} \]

其中\(w_{rp}\)是特定關系r和特定意圖(intent)p的可訓練權重。而且這些注意力權重是針對所有用戶的,而不是針對某個用戶的。

3.1.2 Independence Modeling of Intents

不同的意圖應該包含用戶偏好的不同信息。如果一個intent可以從其他intents推斷出來,則它可能是多余的,信息量比較少,因此需要更多的彼此不同的intents

文章引入獨立模塊來學習獨立intent的表示,使用統計度量例如:mutual information、Pearson相關性、距離相關性等來作為正則化。下面是兩種實現:

Mutual information

將兩個不同intent的表示之間的mutual information最小化,以量化它們的獨立性。模型如下:

\[L_{IND}=\sum_{p∈P}-log\frac{exp(s(e_p,e_p)/\tau)}{\sum_{p^{'}∈P}exp(s(e_p,e_{p^{'}})/\tau)} \]

其中s(·)是測量任意兩個意圖表示之間的關聯性的函數,文章中使用余弦相似函數,\(\tau\)是Softmax函數的超參數

Distance correlation

測量兩個變量的線性和非線性關聯,當且僅當這些變量是獨立的,系數為零。最小化用戶intent的距離相關性,能夠減少不同intent之間的依賴,表達式如下:

\[L_{IND}=\sum_{p,p^{'}∈P,p\neq p^{'}}dCor(e_p,e_{p^{'}}) \]

其中dCor(·)是intent p和intent\(p^{'}\)的距離相關性

\[dCor(e_p,e_{p^{'}})=\frac{dCov(e_p,e_{p^{'}})}{\sqrt{dVar(e_p) \cdot dVar(e_{p^{'}})}} \]

dCov(·)是兩個表示的距離協方差
dVar(·)是每個intent的距離方差

優化這個Loss可以使不同intent更加獨立

3.2 Relational Path-aware Aggregation

之前的GNN-based推薦模型已經顯示出了鄰居節點聚集機制,以一種端到端的方式在聚合多跳鄰居的優勢。

文章中之處目前的聚合方式是基於節點的,會限制結構化知識的收益。原因有兩個,如下:
(1)聚合器注重於組合鄰域信息,而沒有區分它們來自於哪條路徑。
(2)基於當前結點,通過注意力機制來對KG關系進行建模,以控制鄰居的傳播,會限制KG關系對節點的貢獻。並且沒有顯式地捕捉關系依賴。

因此目標是設計一種關系路徑感知聚合方案來解決這兩個限制。

3.2.1 Aggregation Layer over Intent Graph

文章先從IG中提煉collaborative information。CF是一個很有效果的方法。由此啟發,將個人歷史記錄視為個人用戶的預先存在的特征。此外,在用戶intent的粒度級別捕獲更細粒度的patterns,並可以假設具有相似意圖的用戶將對項目表示出類似的偏好。假設u是IG中的一個用戶,則使用\(N_u=\{(p,i)|(u,p,i)∈C\}\)來表示意圖感知歷史和圍繞u的一階連通性。
技術上,可以繼承來自歷史項目的意圖感知信息,以此創建用戶u的表示,如下公式:

\[e_u^{(1)}=f_{IG}(\{(e_u^{(0)},e_p,e_i^{(0)})|(p,i)∈N_u\}) \]

其中\(e_u^{(1)}∈R^d\)是用戶u的表示,\(f_{IG}(\cdot)\)是表征每個一階連接(u,p,i)的聚合函數,\(f_{IG}(\cdot)\)實現如下:

\[e_u^{(1)}=\frac{1}{|N_u|}\sum_{(p,i)∈N_u}\beta(u,p)e_p \odot e_i^{(0)} \]

e_i^{(0)}是項目i的ID embedding,\(\odot\)是element-wise乘積(逐個元素相乘,就是相同位置的元素相乘),將上述公式分為兩個部分來理解,(1)對於給定的用戶,不同的intent會對其行為產生不同的激勵作用。因此引入注意力機制\(\beta (u,p)\)來評判不同intent p的重要性:

\[\beta (u,p)=\frac{exp(e_p^{\top}e_u^{(0)})}{\sum_{p^{'}∈P}exp(e_{p^{'}}^{\top},e_u^{(0)})} \]

\(e_u^{(0)}∈R^d\)是用戶u的ID embedding,以使重要性得分個性化。(2)不同於其他模型使用衰減因子或者正則化項的思想,文章中為了突出意圖關系在聚集過程中的作用。因此,通過element-wise乘積 \(\beta (u,p)e_p \odot e_i^{(0)}\)來構造項目i的信息。因此,能夠在用戶表示中顯式地表達一階意圖的感知信息。

3.2.2 Aggregation Layer over Knowledge Graph

這部分介紹KG中的聚合方法,一個實體可以涉及多個KG三元組,因此可以將其他連接的實體作為其屬性,這些屬性反映了項目之間的內容相似度。使用\(N_i=\{(r,v)|(i,r,v)∈G\}\)來表示項目i的屬性和一階連通性,然后集成來自相連實體的關系感知信息來生成項目i的表示:

\[e_i^{1}=f_{KG}(\{(e_i^{(0)},e_r,e_v^{(0)})|(r,v)∈N_i\}) \]

其中\(e_i^{1}∈R^d\)是從一階連通性收集信息的表示;\(f_{KG}(\cdot)\)是從每個連接(i,r,v)中提取和集成信息的聚合函數。文章認為每個KG實體在不同的關系上下文中具有不同的語義和含義。以往的研究只通過注意力機制來模擬衰變因素中的KG關系,比如一個人可能是某個電影的導演,也可能是另一部電影的明星。文章使用的建模為:

\[e_i^{(1)}=\frac{1}{|N_i|}\sum_{(r,v)∈N_i} e_r \odot e_v^{(0)} \]

其中\(e_v^{(0)}\)是entity v的ID embedding,對於每個三元組(i,r,v),文章中通過將關系r建模為投影或者旋轉運算來設計關系信息\(e_r \odot e_v^{(0)}\)。因此,關系消息能揭示三元組所承載的不同含義,即便他們是相同的實體。類似,可以獲得每個KG實體v∈V的表示\(e_v^{(1)}\)

3.2.3 Capturing Relational Paths

通過一階連通性建模后,進一步堆疊更多的聚合層,可以收集來自更高階鄰居的有影響力的信號,將user和item建模為如下:

\[e_u^{(l)}=f_{IG}(\{(e_u^{(l-1)},e_p,e_i^{(l-1)})|(p,i)∈N_u\}),\\ e_i^{l}=f_{KG}(\{(e_i^{(l-1)},e_r,e_v^{(l-1)})|(r,v)∈N_i\}) \]

其中\(e_u^{(l-1)},e_i^{(l-1)},e_v^{(l-1)}\)分別表示用戶u,項目i和實體v的表示,存儲了關於其自身(l-1)跳的鄰居的關系信號。得益於關系建模,這些表示能夠存儲多跳路徑的整體語義,並突出關系依賴關系。設\(s=i\stackrel{r_1}{\longrightarrow}s_1 \stackrel{r_2}{\longrightarrow} \cdots s_{l-1} \stackrel{r_l}{\longrightarrow} s_l\)是以項目i為根的l-hop路徑,其中包含了一系列相連的三元組。其關系路徑僅表示為關系序列,即\((r_1,r_2,\cdots,r_l)\),於是能夠將\(e_i^{(l)}\)重寫為如下:

\[e_i^{(l)}=\sum_{s \in N_i^l}\frac{e_{r_1}}{|N_{s_1}|}\odot \frac{e_{r_2}}{|N_{s_2}|}\odot \cdots \odot \frac{e_{r_l}}{|N_{s_l}|}\odot e_{s_l}^{(0)} \]

其中\(N_i^l\)是所有i的l跳路徑的集合。這種表示反映了關系之間的相互作用,並保留了路徑的整體語義。這與目前知識型推薦系統采用的聚合機制很不同,后者忽略了KG關系的重要性,無法捕捉關系路徑。

3.3 Model Prediction

在L層之后,我們得到了用戶u和項目i在不同層的表示,之后將它們相加作為最終的表示:

\[e_u^{*}=e_u^{(0)}+\cdots +e_u^{(L)},\qquad e_i^{*}=e_i^{(0)}+\cdots +e_i^{(L)}. \]

通過這樣做,路徑的意圖感知關系和KG關系依賴被編碼在最終表示中。此后,使用用戶和項目表示的內積來預測用戶采用該項目的可能性:

\[\hat{y}_{ui}=e_u^{*\top}e_i^{*} \]

3.4 Model Optimization
選擇pairwise BPR loss來重建歷史數據。對於給定的用戶u,它的歷史項目應該被賦予比未觀察到的項目更高的預測分數:

\[L_{BPR}=\sum_{(u,i,j)\in O}-ln \sigma(\hat{y}_{ui} -\hat{y}_{uj}), \]

其中\(O=\{(u,i,j)|(u,i)\in O^{+},(u,j)\in O^{-}\}\)是由觀察到的有相互關系\(O^{+}\)和未觀察到的對應物組成的訓練數據集\(O^{-}\)\(\sigma(\cdot)\)是Sigmoid函數。通過結合獨立性損失和BPR loss,最小化以下目標函數來學習模型參數:

\[L_{KGIN}=L_{BPR}+\lambda _1L_{IND}+\lambda _2\left\|\Theta\right\|_2^2 \]

其中\(\Theta=\{e_u^{(0)},e_v^{(0)},e_r,e_p,w|u\in U,v\in V,p\in P\}\)是建模參數集合,需要注意的是\(I\subset V\)\(\lambda_1\)\(\lambda_2\)是兩個超參數控制獨立性損失和正則化項

3.5 Model Analysis
3.5.1 Model Size
近來的研究表明非線性特征轉換會使得GNNs難以訓練,因此在KGIN中祛除了非線性激活函數和特征轉換矩陣。因此,模型參數由以下兩部分組成:
(1)users,KG實體,KG關系的ID embedding

\[\{e_u^{(0)},e_v^{(0)},e_r|u\in U,v\in V\} \]

(2)用戶intents的ID embedding\(\{e_p|p\in P\}\)和注意力權重\(w\)

3.5.2 Time Complexity

\[O(L|C|d+L|G|d+|P|(|P|-1)/2) \]


4 EXPERIMENTS

文章中回答三個問題來證明KGIN的有效性,如下:
(1)和soat知識型推薦系統相比,KGIN表現怎么樣
(2)KGIN的設計(用戶intent的數量和獨立性,關系路徑的深度)對KGIN模型的影響
(3)KGIN能夠提供對用戶intent的洞察力,並有更直觀的可解釋性

4.1 Experimental Settings

4.1.1 Dataset Description
使用三個基准數據集,包括book, music, fashion。
KGAT發布的Amazon-Book(1)和Last_FM(2)數據集
使用Alibaba-IFashion(3)數據集來考察商品知識的有效性。
為了保證數據質量,將丟棄交互少於是個的用戶和項目,過濾掉少於是個三元組的KG實體。
在表一總結了數據集的統計數據,如下:
image.png

4.1.2 Evaluation Metrics
使用Recall@K和ndcg@K,默認K是20,報告測試集中所有用戶的平均指標。

4.1.3 Alternative Baselines
將KGIN與soat方法進行比較,包括MF,CKE,KGAT,KGNN-LS,CKAN和RGCN。

4.1.4 Parameter Settings
使用pytorch框架,ID embedding的維度設為64,優化器為Adam,batch size為1024,在{\(10^{-4},10^{-3},10^{-2}\)}中尋找learning rate。而其他附加約束的參數在\(\{10^{-5},10^{-4},10^{-3},10^{-2},10^{-1}\}\)中尋找(例如:\(L_2\)正則化,KGIN的獨立性模型,CKE和KGAT的TransR,KGNN-LS的標簽平滑)。GNN的層數在{1,2,3}中調整,KGNN-LS和CKAN的鄰居size為16,batch size為128。對於模型參數的初始化使用Xavier,使用MF的預訓練的ID embedding來作為KGAT的初始化。

KGIN的超參數如下表:
image.png
同時觀察到Mutual information和Distance correlation具有相似的趨勢和表現,因此使用Mutual information。使用KGIN-3表示有3個關系路徑聚集層的推薦模型,其他的類似。在沒有指定情況下,用戶意圖數量|p|為4,關系路徑聚合層數固定為3。|P|=K,其中在{1,2,4,8}中尋找合適的K,在{1,2,3}中尋找合適的L。

4.2 Performance Comparison(RQ1)

從recall@20和ndcg@20來進行比較。
image.png

進行分析

·KGIN在三個數據集上都實現了顯著的改進,總結為如下的原因:
(1)揭示了用戶intent,KGIN能夠更好的刻畫用戶和項目之間的關系,以此得到更強大的用戶和項目表示。相反,基線模型忽略了隱藏的用戶意圖,並將用戶項目邊建模為收集信息的同質通道;
(2)得益於我們的關系路徑聚合機制。KGIN能夠保持路徑的整體語義,相比基於GNN的基線模型,能夠從KG中收集更多的信息;
(3)在IG和KG上應用不同的聚合方案,使得KGIN能夠把協同信號和實體知識encode成用戶和項目表示

·分析KGIN在三個數據集上的表現,可以發現Amazon-Book的改進比Alibaba-iFashion更多,原因如下:
(1)Amazon-Book上的交互數據和KG數據都比Alibaba-iFashion更多,更密集;
(2)在Alibaba-iFashion數據集中,更多的是三元組的數據,這說明,KGIN在遠程連接的方面能力更強;

·KG輔助信息是有效果的,體現在CKE使用了KG信息,於是表現得比MF更好;

·基於GNN的方法在Amazon-Book和Last-FM上的表現優於CKE,這凸顯了KGIN在遠程連通性建模的能力。這些改進來自於使用結點的局部結構(鄰域結構),來改進表示學習。可是Alibaba-IFashion數據集上,CKE的表現比KGIN更好,原因可能如下:
(1)基於HNN的方法,設計非線性特征變換,訓練繁重,使得性能降低;
(2)CKE的TransR能夠成功地捕獲Alibaba-IFashion的一階連通性的特征;

·KGAT,KGNN-LS,CKAN的結果處於用一水平,優於R-GCN。雖然R-GCN利用了KG關系轉換鄰居信息,而且此方法比衰減因子更好,但R-GCN最初設計的目的並不是推薦系統,因此不能正確地建模用戶-項目關系;

4.3 Relational Modeling of KGIN(RQ2)
優於關系建模是KGIN的核心,文章進行消融實驗,分別考察用戶意圖和KG關系,關系路徑聚合的層數,用戶意圖的粒度以及用戶意圖的獨立性對模型的影響

4.3.1 Impact of presence of User Intents & KG Relations
消融實驗,產生了兩個變體:(1)去除所有的用戶intent和KG關系,稱為\(KGIN-3_{w/o\ I&R}\)(2)去除所有的用戶intent,即|P|=0,稱為\(KGIN-3_{w/o\ I}\),並將結果總結如下表:
image.png
根據結果可以看出用戶intent和KG關系對模型都是有貢獻的

4.3.2 Impact of Model Depth
具體結果如下表所示:
image.png
·KGIN-2比KGIN-1表現更好,表明更深的模型可以使得實驗結果更好;
·KGIN-3在Amazon-Book和Last-FM上的表現更好,表明,高階連通性與二階連通性是互補的,可以得到更好的結點表示;
·在Alibaba-IFashion上,KGIN-3的表現比KGIN-2的表現差,是因為該數據集上的三元組都是單品的一階連通性,2層可以很好地捕捉信息;

4.3.3 Impact of Intent Modeling
具體結果如下圖所示:
image.png
進行分析如下:
·增加intent數量可以提高性能;
·在Amazon-Book數據集中,在|P|=4之后嘗試更細粒度會導致性能下降,可能願意是獨立性建模引起了一些意圖之間的不相關性,更細的粒度也無法攜帶有用的信息;
·|P|=8的時候,Last-FM取得了更好的效果,這應該是因為數據集的差異。(不過我自己以為是因為聽歌的人比看書的人多,所以會有更多和更細粒度的intent存在)

同樣,論文研究了獨立性建模的影響,進行消融實驗,禁用了獨立性的模塊,得到變體\(KGIN-3_{w/o\ Ind}\),具體結果如下表,盡管KGIN-3和\(KGIN-3_{w/o\ Ind}\)性能相當,但\(KGIN-3_{w/o\ Ind}\)需要更大的相關系數,並且用戶意圖不明確,解釋性不強;

4.4 Explainability of KGIN
可解釋性如圖所示:
image.png


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM