推薦系統的圖方法
前言:近幾年有很多工作將圖模型應用於推薦系統,併為推薦系統帶來了更好的實體表示和更強的解釋能力。本文將介紹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圖,到外部的知識庫等),又需要關注圖學習和推理演算法的設計(效率、準確度、可解釋性等)。兩篇綜述的出發點不同,都具有一定的啟發意義。希望大家有所收穫~