以下文章來源於AI自然語言處理與知識圖譜 ,作者Elesdspline
導語
本文是2020年針對知識圖譜作為輔助信息用於推薦系統的一篇綜述。知識圖譜對於推薦系統不僅能夠進行更精確的個性化推薦,而且對推薦也是具有可解釋性的,有跡可循。
本文匯總了近些年來知識圖譜輔助推薦系統的一些研究工作,並按不同的方法進行划分類別(下圖是我根據論文畫出的大綱方法類別圖);除此之外,匯總了不同場景下的知識圖譜數據集,涵蓋7個場景;最后闡述了未來的一些可研究方向及趨勢。
基於知識圖譜的推薦方法
一、背景知識
推薦系統已經廣泛應用在實際生活中的很多場景,特別是個性化推薦系統已經有越來越多的研究工作和落地實踐,但是仍然面臨着一些問題,例如數據稀疏、冷啟動等問題。
說明:
- 稀疏性問題: 實際場景中,用戶和物品的交互信息往往是非常稀疏的。如電影推薦中,電影往往成千上萬部,但是用戶打過分的電影往往只有幾十部。使用如此少的觀測數據來預測大量的未知信息,會極大增加過擬合的風險。
- 冷啟動問題: 對於新加入的用戶或者物品,其沒有對應的歷史信息,因此難以進行准確的建模和推薦。
近年來,利用知識圖譜作為輔助信息生成推薦已經引起了人們相當大的興趣,這種方法不僅可以緩解上述問題,更准確的進行個性化推薦,而且可以對推薦的結果也是可解釋的,是有跡可循的。下面我們將分別來看一下這兩方面。
1.1 推薦系統
推薦系統在實際生活中已經有很多的應用場景,比如我們所熟知的電影、音樂、POI、新聞、教育、書籍,購物等。
推薦系統的目的旨在為 user (用戶) 推薦一個(或一系列)未觀測的 item (物品,電影,新聞等)。基本步驟如下:
- 學習 user 和 item 的向量表示
- 根據 1 中的 user 和 item 向量表示,計算表示 user 對 item 的偏好得分,得分函數可以采用內積、DNN等。
- 基於 2 中計算的得分,進行排序推薦。
推薦系統主要包含以下三種方法:
- Collaborative Filtering (CF): 基於協同過濾的推薦系統,協同過濾算法是從相似度度量出發,考慮 user 或者 item 之間的相似度進行相關推薦,它比較常用的兩種方法是基於內存(memory-based)和基於模型(model-based)的兩種方法。
- Content-based Filtering (CB):基於內容的推薦系統,與基於協同過濾從全局 user 和 item 的交互數據中學習他們的向量表示相比,基於內容的推薦方法從 item 的內容中學習 user 和 item 的表示。它認為 user 可能對與他們過去交互過的 item 中相似的 item 感興趣。
- Hybrid Method:混合推薦系統,CF方法容易遇到冷啟動或者交互矩陣數據稀疏的問題,而混合推薦系統可以利用基於內容的推薦系統中的 user 和 item 信息來緩解這一問題。混合推薦系統通過將 user 和 item 的內容信息,即用戶輔助信息和物品輔助信息整合到 CF 的框架中,可以獲得更好的推薦性能。
1.2 基於知識圖譜的推薦系統
近段時間,基於知識圖譜的推薦系統(KG-based recommendation system, KGRS)引起研究者的廣泛興趣,主要是把知識圖譜作為輔助信息整合到推薦系統中,這樣的做法帶來兩個方面的優勢,其一是能夠提高推薦系統的准確性,其二是能夠為推薦系統提供可解釋性。
- 准確性:知識圖譜可以用來表示實體之間的關系,可以將 item 及其屬性信息映射到知識圖譜中,以理解 item 之間的相互關系,此外,還可以將 user 和 user 的輔助信息整合到知識圖譜中,更准確地捕捉 user 和 item 之間的關系以及 user 的偏好。
下圖所示是一個基於知識圖譜的推薦系統,我們來簡單看一下,KG 中包含了電影(圓形代表)、用戶,演員和導演(人頭像代表)以及電影風格(攝影機代表)這幾種實體節點,實體之間又包含了幾種不同的關系,通過這個知識圖譜,給 Bob 推薦了兩部電影 “Avatar”《阿凡達》和 “Blood Diamond”《血鑽》。看圖能夠看出,電影和用戶之間有着不同的潛在關系,有助於提高推薦的准確性。
-
可解釋性: 基於 KG 的推薦系統的另一個優點是推薦結果具有可解釋性。在上面的圖中,通過遵循圖譜中的關系序列,我們可以知道向 Bob 推薦這兩部電影的原因。例如,推薦《阿凡達》的一個原因是,《阿凡達》與 Bob 之前看過的“Interstellar”《星際穿越》屬於同一類型風格的電影。
下圖中列出了一些流行的知識圖譜,根據所涵蓋知識的范圍,這些知識圖譜可分為兩類,一類是 cross-domain 的知識圖譜,另一類是 domain-specific 的知識圖譜,也就是說一類是包含知識廣的通用型知識圖譜,一類是包含特定領域知識的垂直領域知識圖譜。
二、Methods
通過對最近研究的相關調研,發現基於 KG 的推薦系統對 KG 的應用有三種方式:
- 基於 Embeddig 的方法(The embedding-based method)
- 基於路徑的方法(The path-based method)
- 聯合的方法(The unified method)
我們接下來將在各小節了解一下對應的方法,在這之前,先給出下面的一章圖片,列出相關的符號和概念。
2.1 基於Embeddig的方法
基於 Embedding 的方法通常直接使用來自知識圖譜的信息來豐富 item 或 user 的表示。為了充分利用 KG 的信息,需要應用KGE/KRL算法將 KG 中的實體和關系映射到低維向量空間。
KGE 算法可分為兩類:基於翻譯的模型,如 TransE、TransH、TransR、TransD等;語義匹配模型,如 DistMult等。
說明:
根據 KG 是否包含 user,又將這類方法分為兩部分,即 item graph 和 user-item graph。
2.1.1 使用 item graph
該方法中,KG 由 item 及其相關屬性組成,這些屬性是從數據集或外部知識庫中提取的。我們將這樣的圖命名為 item graph。注意,user 不包括在 item graph 中。
這類方法利用 KGE 等模型對 item graph 編碼獲取更加豐富的 item embedding,然后結合 item 的多種信息構成完整的 item 表示,例如 user-item 交互矩陣信息、KG 信息、item 屬性信息、item 內容信息等。然后再單獨計算 user 的表示(可以從交互矩陣中獲取)和得分函數。
得分函數的公式如下,其中 user 和 item 的向量表示分別為 μ¡ 和 ν¡ ,目的是計算 user 選擇 item 的可能性大小,然后排序之后返回相應的 item。 這里的 f 可以是內積、DNN等。
在這類方法中,有一些典型的模型代表,如 CKE、DKN、KSR。
- CKE:(Collaborative Knowledge base Embedding)CKE是一個基於協同過濾和知識圖譜特征學習的推薦系統,相關知識點擊這里
- DKN:(Deep Knowledge-Aware Network),相關知識點擊這里
2.1.2 使用 user-item graph
該方法直接構建 user-item graph,其中 user、item 及其相關屬性作為節點(實體)。在 user-item graph 中,屬性級關系(品牌、類別等)和 user 相關關系(co-buy、co-view等)作為邊(關系)。 在利用 KGE 編碼得到相關的實體表示后,既可以利用 item graph 中的公式(1)計算 user 的偏好,也可以將關系向量考慮進去,采用新的計算方法,如下:
在這類方法中,有一些代表性模型如 CFKG、SHINE、DKFM。
2.1.3 其他的方法
以往的一些研究工作一般直接利用 KGE 技術學習到的 user 或者 item 表示進行推薦。最近,有些研究工作嘗試通過改進 KGE 方法學習到的實體/關系表示來提高推薦性能,例如結合 GAN 的 KTGAN 方法,以及結合 TransE、GNN 和貝葉斯框架的 BEM 方法。
除此之外,另一種趨勢是采用多任務學習(Multi-task Learning)的方法,在一些基本 KG 相關任務的共同學習下做推薦任務。大概來說,有一個推薦系統的任務 f 用於從 user-item 交互矩陣中學習,推薦 user 感興趣的 item,對應的在 KG 的三元組分類任務 g 中,判斷這個三元組是否有效,這兩個任務在損失函數部分結合,共同學習。這樣學習的一個大概動機在於推薦系統中的 item embedding 共享來自 KG 中的實體 embedding。
這類方法的一些典型代表如:KTUP、MKR、RCF等。
2.2 基於 Path 的方法
基於 Path 的方法構建 user-item graph,並利用 KG 中實體的連通性模式進行推薦,基本思想是考慮到 user 和/或 item 之間連通相似性(實體語義相似性),進而提升推薦效果。根據 path 的不同使用方式又做了細分,主要是基於 path 的連通相似度和把 path 嵌入到低維空間,獲取 path embedding,我們下面分別看一下。
2.2.1 path 的連通相似性
這種方式是利用計算不同路徑下實體之間的語義相似性,並作為一種正則方法優化 user 和 item 的表示,進一步就可以采用公式(1)中內積的方式計算 user 選擇 item 的偏好可能性。有三種類型的實體相似性方法如下:
- User-User Similarity: 如果 user 之間具有較高的元路徑相似度,那么將迫使 user 在向量空間中接近。
- Item-Item Similarity: 與上面的類似,如果 item 基於元路徑的相似度高,則 item 的向量表示應該接近。
- User-Item Similarity: 如果 user 和 item 的元路徑相似度很高,那么 user 和 item 的向量就會非常接近。
這個方法的典型模型有: FMG、Hete-MF、HeteRec、HeteRec_p、Hete-CF、SemRec、HERec、RuleRec。
2.2.2 Path embedding
這種方法直接學習連接 user 和 item 之間的顯式 path(部分/所有) embedding,以便直接對 user-item 的關系建模。
具體來說一下,假設存在 user 和 item 之間存在 K 個路徑,針對其中的路徑 p ,學習到其向量表示為 Ηρ,最終的路徑信息如下,其中 g 可能是 max-pooling 或者是加權的 sum-pooling。
接下來可以采用下面的方式計算 user 對 item 的偏好。
這一方法的代表模型如:MCRec、RKGE、KPRN、PGPR、EIUM、Ekar
2.3 聯合的方法
基於 embedding 的方法利用 KG 中 user/item 的語義表示進行推薦,而基於路徑的方法使用語義連通信息,而且這兩種方法只利用 KG 中一個方面的信息。
為了更好地利用KG中的信息,提出了將實體和關系的語義表示與路徑連通信息相結合的統一方法,統一的方法是基於 Embedding 傳播的思想。這些方法以 KG 中的路徑連通性為指導精煉了實體表示(user/item)。
這里面也是分為了兩類方法,具體的下面簡單看一下。
2.3.1 基於 user 的歷史行為
這個基本思想是利用 user 在歷史交互行為中交互過的 item 以及 item 的多跳鄰居這些行為豐富 user 的表示信息。
豐富的 user 表示可以表示如下,其中 代表 multi-hop ripple sets,g 代表 concatenate embeddings 的操作。
因為傳播是從 user 參與的 item 開始的,所以這個過程可以看作是在 KG 中傳播 user 的偏好。
代表的模型如:RippleNet、AKUPM、RCoLM
2.3.2 基於 item 的多跳鄰居
這種方式是利用 item 的多跳鄰居(multi-hop neighbors) 來豐富 item 表示。一個通常的表示如下:
是候選 item 的 ripple set,g 代表 concatenate embeddings 的操作,concatenate 要做兩步的操作。 首先要學習候選 item 的 k 階鄰居的表示:
然后更新
其中 agg 可以是 Sum Aggregator、Concat Aggregator、Neighbor Aggregator、Bi-Interaction Aggregator等。
典型的代表模型如:KGCN、KGCN-LS、KGAT、KNI、IntentGC、AKGE.
2.4 Methods 小結
- 基於 Embedding 的方法使用 KGE 方法對 item graph 或 user-item graph 的 KG 進行處理,獲取實體和關系的 embedding,並進一步整合到推薦框架中。但是,該方法忽略了 KG 的信息連通性,缺少可解釋性。
- 基於路徑(Path)的方法通過預先定義元路徑或自動挖掘連接模式,利用 user-item graph 來發現 user 或 item 的路徑相似度。基於路徑的方法還可以為推薦的結果的提供可解釋性。
- 聯合方法是將基於 Embedding 的方法與基於路徑的方法相結合,充分挖掘兩方面的信息,是當前的研究趨勢。此外,聯合方法還具有解釋推薦過程的能力,具備可解釋性。
根據上述的方法分類,我將其用下面的一張圖來表示:
上述代表性的模型在下圖中全部列出:
三、DataSets
基於 KG 的推薦系統除了具有准確性和可解釋性之外,另一個優點是這種類型的輔助信息可以很自然地結合到不同應用的推薦系統中。為了證明 KG 作為輔助信息的有效性,基於 KG 的推薦系統在不同場景下的數據集上進行了評估。在本節中,我們將根據數據集對這些工作進行分類,如下:
四、未來研究方向
雖然已經提出了許多新的模型來利用 KG 作為推薦的輔助信息,但仍存在一些機會。在此概述和討論一些未來的研究方向:
- 1 動態推薦(Dynamic Recommendation):現有的大多數方法都是采用用戶的靜態偏好推薦。然而,在某些情況下,如在線購物、新聞推薦、Twitter 和論壇,用戶的興趣可能會很快受到社會事件或朋友的影響。在這種情況下,使用靜態偏好建模的推薦可能不足以理解實時興趣愛好。為了捕獲動態偏好,利用動態圖網絡可以作為一種解決方案。
- 2 多任務學習(Multi-task Learning):知識圖譜中可能存在丟失的事實,從而導致丟失關系或實體,用戶的偏好也可能因此而被忽略,從而導致推薦結果的惡化。將知識圖譜補全和推薦系統聯合訓練可以有效提高推薦效果。
- 3 跨領域推薦(Cross-Domain Recommendation):由於不同領域的數據信息不一致,交互數據也不等同,例如,在亞馬遜平台上,圖書評論比其他領域更多,然而不同領域的交互數據可以互為補充,因此通過遷移學習等技術,可以共享源領域域中數據相對豐富的交互數據,以便更好地推薦目標領域。
- 4 知識增強的語言表示(Knowledge Enhanced Language Representation):增強知識的文本表示策略應用於推薦任務中,可以更好地學習 user/item 表示,獲得更准確的推薦結果。
- 5 知識圖譜 Embedding 方法(Knowledge Graph Embedding Method, KGE):雖然現在已經將 KGE 方法應用到上述基於知識圖譜的推薦系統中,然而,沒有一些研究工作表明在數據源、推薦場景和模型架構等不同情況下,應該采用何種特定的 KGE 方法。因此,另一個研究方向是比較不同 KGE 方法在不同條件下的優勢。
- 6 用戶輔助信息(User Side Information):目前,基於 KG 的推薦系統大多是通過加入 item 輔助信息來構建 KG,很少有模型考慮 user 輔助信息。然而,如用戶社交網絡等信息也可以自然地整合到當前基於 KG 的推薦系統框架中。因此,在知識圖譜中考慮 user 輔助信息可以是另一個研究方向。
總結:本文對基於知識圖譜的推薦系統進行了研究,總結了近年來該領域的研究成果。知識圖譜不僅能夠作為輔助信息來改善推薦效果,並且能夠為推薦提供可解釋性。此外,還介紹了不同場景中使用的數據集以及指出了未來的研究方向,希望能促進該領域的發展。
參考資料
- https://mp.weixin.qq.com/s/D7ndRXbazbL5f316aiDd1A
- https://blog.csdn.net/weixin_42341986/article/details/105773376
- https://blog.csdn.net/qq_27590277/article/details/107194665
- https://mp.weixin.qq.com/s/2YbfL_1_SyM4wNozyaj4lw
- https://www.omegaxyz.com/2020/01/13/kge-semantic-matching-models/
- [1] Guo Q, Zhuang F, Qin C, et al. A Survey on Knowledge Graph-Based Recommender Systems[J]. arXiv preprint arXiv:2003.00911, 2020.
- [2] Zhang F, Yuan N J, Lian D, et al. Collaborative knowledge base embedding for recommender systems[C]//Proceedings of the 22nd ACM SIGKDD international conference on knowledge discovery and data mining. 2016: 353-362.
- [3] Zhang Y, Ai Q, Chen X, et al. Learning over knowledge-base embeddings for recommendation[J]. arXiv preprint arXiv:1803.06540, 2018
- [4] Wang H, Zhang F, Wang J, et al. Ripplenet: Propagating user preferences on the knowledge graph for recommender systems[C]//Proceedings of the 27th ACM International Conference on Information and Knowledge Management. 2018: 417-426