前言:近幾年有很多工作將圖模型應用於推薦系統,併為推薦系統帶來了更好的實體表示和更強的解釋能力。本文將介紹2020年放在arXiv上的兩篇圖推薦相關的綜述,不會涉及太多細節,旨在為大家展示

將圖與推薦系統結合的基本正規化和常規思路

第一篇是《A Survey on Knowledge Graph-Based Recommender Systems》,介紹瞭如何將知識圖譜作為輔助資訊,提升推薦效果。

推薦系統的圖方法

arXiv連結:https://arxiv。org/abs/2003。00911

Abstract & Introduction:

推薦系統有兩大基本正規化:

基於協同過濾(互動)的推薦

基於內容(特徵)的推薦

,而

混合推薦

旨在結合二者,並引入了多種

輔助資訊(使用者社交網路、商品評論、知識圖譜等)

知識圖譜作為輔助資訊有兩大優勢:一是

關係豐富

,可以整合user、item、feature等多級異構關係於一體,尤其對於互動資料稀疏的場景,為提升推薦

準確性

帶來了很多可能;二是

關係明確

,由於知識圖譜裡的關係已經顯式構建好了,透過關係序列可以為推薦結果提供

可解釋性

本文調研了知識圖譜(KG)+推薦(RS)的工作,並探討了下列三個方面:

知識圖+推薦,有哪些方法(如何利用知識圖進行準確和可解釋的推薦)?

知識圖+推薦,有哪些資料集?

知識圖+推薦,有哪些未來研究方向?

注:為了方便起見,結合知識圖譜的推薦系統簡稱為KGRS。

Concepts & Notations:

知識圖譜

(事實圖譜)是表示大規模資訊的實用方法,遵循資源描述框架(RDF)標準,用節點代表

實體

,用邊代表實體間的

關係

,由邊形成的三元組(即,頭部實體-關係-尾部實體)代表一條

事實

,實體的K-1階鄰居為頭實體的三元組稱為該實體的

波紋集

(ripple set)。由於節點和邊型別多樣,知識圖譜是

異質圖

,並可以用

元路徑/元圖

抽象出由

多跳鄰居

構成的

事實序列/子圖

的一般正規化。知識圖譜中的節點和邊常在低維向量空間得到

嵌入表示

(KGE),以便運算和儲存。根據覆蓋的知識範圍不同,知識圖譜可以分成

跨領域

的(如YAGO、Satori等)和

特定領域

的(如Bio2RDF等),列表如下:

推薦系統的圖方法

推薦系統旨在為user匹配一個(或一系列)未觀測的item,基本步驟如下:

Step 1:生成user和item的表示。

Step 2:根據user和item表示,計算得分函式(如,內積、DNN等),表示user對item的偏好。

Step 3:基於得分對item排序,將排名靠前的item推薦給使用者。

推薦系統依賴使用者的

顯式/隱式反饋

,並可以透過知識圖譜獲得user的

K階相關實體

(0階表示有互動歷史的item),K-1階相關實體為頭實體的三元組稱為該

user的ripple set

Methods:

KGRS的方法分成三類:基於embedding的方法,基於path的方法,聯合方法。

基於embedding的方法

:基本思想是藉助KGE演算法,直接利用KG的資訊豐富item/user的表示。KGE演算法主要包括

翻譯距離模型

(如,TransE、TransH、TransR、TransD)和

語義匹配模型

(如,DistMult)等。

根據KG中是否包含user,基於embedding的方法可以分為兩類:

使用item graph(即KG僅由item和相關feature構成)生成item embedding,然後結合item的文字/視覺特徵、user-item互動矩陣等資訊,構成完整的item表示,然後再單獨計算user表示和得分函式,代表方法有CKE、DKN、KSR等;

使用user-item graph(即KG由user-item互動歷史,以及item和相關feature構成),既可以使用第一類的方法,也可以用KGE方法將user和item嵌入到同一向量空間,並透過計算user和item的距離直接得到得分函式的值,代表方法有CFKG、SHINE、DKFM等。

最近的一些工作(如KTGAN、BEM)將KGE演算法與GAN、貝葉斯框架結合,旨在提升user和item的表示效果;或使用多工學習策略來聯合訓練推薦模組以及與知識圖相關的任務,以提高推薦質量,如KTUP、MKR、RCF等。然而,基於embedding的方法忽略了圖中的資訊連通模式,通常

無法為推薦結果提供解釋

基於path的方法

:基本思想是考慮到user和/或item的

連通相似性(語義相似性/結構對等性)

,進而提升推薦效果。

連通相似性

的定義依賴metapath/metagraph等結構(規則,或稱為廣義的path)。

根據對path的不同利用方式,基於path的方法可以分為兩類:

基於path計算

連通相似度

,並作為正則項最佳化user和/或item的表示。path既可以預先指定(如Hete-MF、Hete-CF、HeteRec、HeteRec-p、FMG、SemRec等),也可以藉助外部知識庫學習得到(如,RuleRec)。

將所有/部分可能的path嵌入到低維空間,與user、item的表示共同訓練,並發現對推薦影響最顯著的path

(連線模式)

。代表性方法有MCRec、RKGE、KPRN、PGPR等。

基於path的方法有天生的可解釋性,但早期的方法沒有結合embedding的思想,對user/item的表示較為簡單,準確性仍有提升空間。

聯合方法

:基本思想是利用

嵌入傳播

(常使用GNN)完善user/item在KG中有多跳鄰居的表示,傳播過程可以看作是在KG中發現user的偏好模式,這類似於在基於path的方法中發現連線模式。

根據KG中是否包含user或item,聯合方法可以分成三類:

使用user graph:基於user波紋集傳播user偏好,模擬使用者興趣在知識圖譜上的傳播過程,提升user表示能力(代表方法有RippleNet、AKUPM等);

使用item graph:基於K階鄰居(實體波紋集)傳播item屬性,豐富item表示(代表方法有KGCN等)。

使用user-item graph:考慮user和item的高階互動,並同時增強user和item的表示。代表方法有KGAT、KNI、IntentGC等。

聯合方法結合了基於embedding和基於path的方法,兼具準確性和可解釋性,逐漸成為KGRS的主流方法。

推薦系統的圖方法

Datasets:

如下圖所示,推薦場景可以大致分為七類。對資料集來說,結合知識圖譜的方法可以分為兩類:一類是構建item圖,並引入Satori等外部知識庫豐富item的屬性;另一類是直接利用資料集裡的互動歷史和item屬性,構建user-item圖。

推薦系統的圖方法

Future Works:

動態推薦。在商品/新聞/社交平臺等推薦中都有需要,主要包括兩個方面:item的動態更新,user興趣的動態建模。

多工學習。將知識圖譜中的任務與推薦任務結合,如關係補全(連結預測)、實體分類(節點分類)等,旨在對知識圖譜的資訊進一步挖掘。

跨域推薦。不同領域的互動資料可以互為補充,或利用資訊豐富的源域資料輔助對資訊缺乏的目標域的推薦。

知識增強的語言表示。將外部知識庫與富文字推薦任務(如,新聞推薦)進一步融合,提升item的表示效果。

知識圖嵌入方法。為不同推薦場景找到合適的特定KGE方法。

考慮使用者側資訊。現有工作大多基於user-item互動圖或item圖,加強user端建模(如,使用者屬性和社交網路等)可能提升推薦效果。

第二篇是《Graph Learning Approaches to Recommender Systems: A Review》,與第一篇中關注

如何將知識圖作為輔助資訊提升推薦效果

不同,這篇文章關注

如何將推薦系統應用於各種圖

,簡要介紹了不同型別的圖學習演算法。

推薦系統的圖方法

arXiv連結:https://arxiv。org/abs/2004。11718

Abstract & Introduction:

推薦系統中的涉及到的物件(user、item、feature等)大多數顯式或隱式連線,構成天然的圖並互相影響。基於圖的推薦系統(GLRS)考慮到物件間的複雜關係,不僅可以豐富物件表示,還可以藉助圖推理提升推薦系統的可解釋性。

Data Characteristics & Challenges:

如何考慮不同的圖結構的資訊,為推薦系統帶來了不同的挑戰:

樹狀圖(item層次圖)

:item間具有層次關係。同層不同類的相鄰item可能具有互補性(配套使用),同類item可能具有替代性(應避免重複推薦)。如何學習item間的層次關係存在挑戰。

不可分割圖

:指user社交圖和item共現圖(如,同一購物籃),前者反映user間的社交影響,後者反映item間的某種潛在關係(替代/互補/使用者的購物模式等)。如何學習user-user間、item-item間的相互影響存在挑戰。

二分圖(user-item圖)

:是推薦系統的核心(基本元件)。互動型別可能單一或多種,推薦可以看作user-item圖上的連結預測。如何考慮圖上不同型別的user-item互動之間的影響及其綜合影響,存在挑戰。

屬性圖

:這裡強調user/item在屬性圖/特徵圖(如kNN圖,而非社交/共現圖)上的相似性。如何在推薦系統中建模屬性圖,以及item-attribute構成的異質圖,存在挑戰。

複雜異構圖

:二分圖和不可分割圖同時出現,形成異構圖。如何結合二分圖與不可分割圖上的資訊,使來自兩個圖的異構資訊能夠適當地相互通訊存在挑戰。

多源異構圖

:多個不同來源的圖,資訊可能互相補充,有助於解決資料稀疏性和冷啟動問題,但也可能存在噪聲和矛盾之處。如何結合多源異構圖存在挑戰。

推薦系統的圖方法

Graph Learning Approaches to RS

不同的圖學習方法,可以解決上面的挑戰:

隨機遊走

:可以捕獲圖上各類實體的高階關係、互動傳播、隱式偏好等建模,缺點是效率低,且缺乏用於最佳化推薦目標的模型引數。

圖表示學習

:學習user/item的低維表示。根據演算法原理不同,可分為三類:基於矩陣分解的模型(優點:快、簡單、適用於資料稀疏場景)、基於skip-gram的模型(優點:簡單、高效)和基於GNN的模型(優點:容易和其他下游推薦模型整合,端到端訓練,方便最佳化)。

圖神經網路

:這裡列舉了三類,分別是圖注意力網路、門控圖神經網路和圖卷積網路。(除了視為圖表示學習方法,GNN在建模複雜關係、提升可解釋性等方面也有幫助。)

知識圖譜

:通常作為外部知識庫出現,這裡主要關注KG的構建,而不是如何從已構建的KG中提取資訊(第一篇重點討論的)。KG構建可以分為三類:基於本體的KGRS(樹狀圖,表示歸屬關係),基於輔助資訊的KGRS(屬性圖,表示特徵級隱式連線)和基於常識的KGRS(如,領域知識外的一般語義,解決多源異構問題)。

推薦系統的圖方法

Open Research Directions

本文提出了三個研究方向:

對動態圖做推薦。

基於因果推理的圖學習。

大規模實時推薦。

小結:圖推薦既需要關注如何挖掘和擴充套件資料中的圖模式(從核心的user-item圖,到外部的知識庫等),又需要關注圖學習和推理演算法的設計(效率、準確度、可解釋性等)。兩篇綜述的出發點不同,都具有一定的啟發意義。希望大家有所收穫~