在上周發(fā)表的“推薦算法不夠精準?讓知識圖譜來解決”一文中,我們?yōu)榇蠹医榻B了日常生活中幾乎每天都會用到的推薦系統(tǒng),以及用來提高推薦系統(tǒng)精準性、多樣性和可解釋性的推薦算法輔助信息——知識圖譜。今天,我們將進一步為大家講解將知識圖譜特征學習引入到推薦系統(tǒng)的各種思路與實現(xiàn)方法。
將知識圖譜作為輔助信息引入到推薦系統(tǒng)中可以有效地解決傳統(tǒng)推薦系統(tǒng)存在的稀疏性和冷啟動問題,近幾年有很多研究人員在做相關(guān)的工作。目前,將知識圖譜特征學習應(yīng)用到推薦系統(tǒng)中主要通過三種方式——依次學習、聯(lián)合學習、以及交替學習。
依次學習(one-by-one learning)。首先使用知識圖譜特征學習得到實體向量和關(guān)系向量,然后將這些低維向量引入推薦系統(tǒng),學習得到用戶向量和物品向量;
聯(lián)合學習(joint learning)。將知識圖譜特征學習和推薦算法的目標函數(shù)結(jié)合,使用端到端(end-to-end)的方法進行聯(lián)合學習;
交替學習(alternate learning)。將知識圖譜特征學習和推薦算法視為兩個分離但又相關(guān)的任務(wù),使用多任務(wù)學習(multi-task learning)的框架進行交替學習。
依次學習
Deep Knowledge-Aware Network (DKN)
我們以新聞推薦[1]為例來介紹依次學習。如下圖所示,新聞標題和正文中通常存在大量的實體,實體間的語義關(guān)系可以有效地擴展用戶興趣。然而這種語義關(guān)系難以被傳統(tǒng)方法(話題模型、詞向量)發(fā)掘。
為了將知識圖譜引入特征學習,遵循依次學習的框架,我們首先需要提取知識圖譜特征。該步驟的方法如下:
實體連接(entity linking)。即從文本中發(fā)現(xiàn)相關(guān)詞匯,并與知識圖譜中的實體進行匹配;
知識圖譜構(gòu)建。根據(jù)所有匹配到的實體,在原始的知識圖譜中抽取子圖。子圖的大小會影響后續(xù)算法的運行時間和效果:越大的子圖通常會學習到更好的特征,但是所需的運行時間越長;
知識圖譜特征學習。使用知識圖譜特征學習算法(如TransE等)進行學習得到實體和關(guān)系向量。
需要注意的是,為了更準確地刻畫實體,我們額外地使用一個實體的上下文實體特征(contextual entity embeddings)。一個實體e的上下文實體是e的所有一跳鄰居節(jié)點,e的上下文實體特征為e的所有上下文實體特征的平均值:
下圖的綠色橢圓框內(nèi)即為“Fight Club”的上下文實體。
得到實體特征后,我們的第二步是構(gòu)建推薦模型,該模型是一個基于CNN和注意力機制的新聞推薦算法:
基于卷積神經(jīng)網(wǎng)絡(luò)的文本特征提取:將新聞標題的詞向量(word embedding)、實體向量(entity embedding)和實體上下文向量(context embedding)作為多個通道(類似于圖像中的紅綠藍三通道),在CNN的框架下進行融合;
基于注意力機制的用戶歷史興趣融合:在判斷用戶對當前新聞的興趣時,使用注意力網(wǎng)絡(luò)(attention network)給用戶歷史記錄分配不同的權(quán)重。
該模型在新聞推薦上取得了很好的效果:DKN取得了0.689的F1值和0.659的AUC值,并在p=0.1水平上比其它方法取得了顯著的提升。
我們也可以通過注意力權(quán)重的可視化結(jié)果看出,注意力機制的引入對模型的最后輸出產(chǎn)生了積極的影響。由于注意力機制的引入,DKN可以更好地將同類別的新聞聯(lián)系起來,從而提高了最終的正確預(yù)測的數(shù)量:
依次學習的優(yōu)勢在于知識圖譜特征學習模塊和推薦系統(tǒng)模塊相互獨立。在真實場景中,特別是知識圖譜很大的情況下,進行一次知識圖譜特征學習的時間開銷會很大,而一般而言,知識圖譜遠沒有推薦模塊更新地快。因此我們可以先通過一次訓練得到實體和關(guān)系向量,以后每次推薦系統(tǒng)模塊需要更新時都可以直接使用這些向量作為輸入,而無需重新訓練。
依次學習的缺點也正在于此:因為兩個模塊相互獨立,所以無法做到端到端的訓練。通常來說,知識圖譜特征學習得到的向量會更適合于知識圖譜內(nèi)的任務(wù),比如連接預(yù)測、實體分類等,并非完全適合特定的推薦任務(wù)。在缺乏推薦模塊的監(jiān)督信號的情況下,學習得到的實體向量是否真的對推薦任務(wù)有幫助,還需要通過進一步的實驗來推斷。
聯(lián)合學習
聯(lián)合學習的核心是將推薦算法和知識圖譜特征學習的目標融合,并在一個端到端的優(yōu)化目標中進行訓練。我們以CKE[2]和Ripple Network[3]為例介紹聯(lián)合學習。
Collaborative Knowledge base Embedding (CKE)
在推薦系統(tǒng)中存在著很多與知識圖譜相關(guān)的信息,以電影推薦為例:
結(jié)構(gòu)化知識(structural knowledge),例如導演、類別等;
圖像知識(visual knowledge),例如海報、劇照等;
文本知識(textual knowledge),例如電影描述、影評等。
CKE是一個基于協(xié)同過濾和知識圖譜特征學習的推薦系統(tǒng):
CKE使用如下方式進行三種知識的學習:
結(jié)構(gòu)化知識學習:TransR。TransR是一種基于距離的翻譯模型,可以學習得到知識實體的向量表示;
文本知識學習:去噪自編碼器。去噪自編碼器可以學習得到文本的一種泛化能力較強的向量表示;
圖像知識學習:卷積-反卷積自編碼器。卷積-反卷積自編碼器可以得到圖像的一種泛化能力較強的向量表示。
我們將三種知識學習的目標函數(shù)與推薦系統(tǒng)中的協(xié)同過濾結(jié)合,得到如下的聯(lián)合損失函數(shù):
使用諸如隨機梯度下降(SGD)的方法對上述損失函數(shù)進行訓練,我們最終可以得到用戶/物品向量,以及實體/關(guān)系向量。CKE在電影推薦和圖書推薦上取得了很高的Recall值和MAP值:
Ripple Network
Ripple的中文翻譯為“水波”,顧名思義,Ripple Network模擬了用戶興趣在知識圖譜上的傳播過程,整個過程類似于水波的傳播:
一個用戶的興趣以其歷史記錄中的實體為中心,在知識圖譜上向外逐層擴散;
一個用戶的興趣在知識圖譜上的擴散過程中逐漸衰減。
下圖展示了用戶興趣在知識圖譜上擴散的過程。以一個用戶看過的“Forrest Gump”為中心,用戶的興趣沿著關(guān)系邊可以逐跳向外擴展,并在擴展過程中興趣強度逐漸衰減。
下圖展示了Ripple Network的模型。對于給定的用戶u和物品v,我們將歷史相關(guān)實體集合V中的所有實體進行相似度計算,并利用計算得到的權(quán)重值對V中實體在知識圖譜中對應(yīng)的尾節(jié)點進行加權(quán)求和。求和得到的結(jié)果可以視為v在u的一跳相關(guān)實體中的一個響應(yīng)。該過程可以重復在u的二跳、三跳相關(guān)實體中進行,如此,v在知識圖譜上便以V為中心逐層向外擴散。
最終得到的推薦算法和知識圖譜特征學習的聯(lián)合損失函數(shù)如下:
類似于CKE,我們在該損失函數(shù)上訓練即可得到物品向量和實體向量。需要注意的是,Ripple Network中沒有對用戶直接使用向量進行刻畫,而是用用戶點擊過的物品的向量集合作為其特征。Ripple Network在電影、圖書和新聞的點擊率預(yù)測上取得了非常好的效果:
我們將Ripple Network的計算結(jié)果可視化如下。可以看出,知識圖譜連接了用戶的歷史興趣和推薦結(jié)果,其中的若干條高分值的路徑可以視為對推薦結(jié)果的解釋:
聯(lián)合學習的優(yōu)劣勢正好與依次學習相反。聯(lián)合學習是一種端到端的訓練方式,推薦系統(tǒng)模塊的監(jiān)督信號可以反饋到知識圖譜特征學習中,這對于提高最終的性能是有利的。但是需要注意的是,兩個模塊在最終的目標函數(shù)中結(jié)合方式以及權(quán)重的分配都需要精細的實驗才能確定。聯(lián)合學習潛在的問題是訓練開銷較大,特別是一些使用到圖算法的模型。
交替學習
Multi-task Learning for KG enhanced Recommendation (MKR)
推薦系統(tǒng)和知識圖譜特征學習的交替學習類似于多任務(wù)學習的框架。該方法的出發(fā)點是推薦系統(tǒng)中的物品和知識圖譜中的實體存在重合,因此兩個任務(wù)之間存在相關(guān)性。將推薦系統(tǒng)和知識圖譜特征學習視為兩個分離但是相關(guān)的任務(wù),采用多任務(wù)學習的框架,可以有如下優(yōu)勢:
兩者的可用信息可以互補;
知識圖譜特征學習任務(wù)可以幫助推薦系統(tǒng)擺脫局部極小值;
知識圖譜特征學習任務(wù)可以防止推薦系統(tǒng)過擬合;
知識圖譜特征學習任務(wù)可以提高推薦系統(tǒng)的泛化能力。
MKR[4]的模型框架如下,其中左側(cè)是推薦任務(wù),右側(cè)是知識圖譜特征學習任務(wù)。推薦部分使用用戶和物品的特征表示作為輸入,預(yù)測的點擊概率作為輸出。知識圖譜特征學習部分使用一個三元組的頭結(jié)點和關(guān)系表示作為輸入,預(yù)測的尾節(jié)點表示作為輸出。
由于推薦系統(tǒng)中的物品和知識圖譜中的實體存在重合,所以兩個任務(wù)并非相互獨立。我們在兩個任務(wù)中設(shè)計了交叉特征共享單元(cross-feature-sharing units)作為兩者的連接紐帶。
交叉特征共享單元是一個可以讓兩個任務(wù)交換信息的模塊。由于物品向量和實體向量實際上是對同一個對象的兩種描述,他們之間的信息交叉共享可以讓兩者都獲得來自對方的額外信息,從而彌補了自身的信息稀疏性的不足。
MKR的整體損失函數(shù)如下:
在實際操作中,我們采用交替訓練的方式:固定推薦系統(tǒng)模塊的參數(shù),訓練知識圖譜特征學習模塊的參數(shù);然后固定知識圖譜特征學習模塊的參數(shù),訓練推薦系統(tǒng)模塊的參數(shù):
MKR在電影、圖書和新聞推薦上也取得了不錯的效果,其F1@K指標在絕大多數(shù)情況下都超過了baseline方法:
交替學習是一種較為創(chuàng)新和前沿的思路,其中如何設(shè)計兩個相關(guān)的任務(wù)以及兩個任務(wù)如何關(guān)聯(lián)起來都是值得研究的方向。從實際運用和時間開銷上來說,交替學習是介于依次學習和聯(lián)合學習中間的:訓練好的知識圖譜特征學習模塊可以在下一次訓練的時候繼續(xù)使用(不像聯(lián)合學習需要從零開始),但是依然要參與到訓練過程中來(不像依次學習中可以直接使用實體向量)。
知識圖譜作為推薦系統(tǒng)的一種新興的輔助信息,近年來得到了研究人員的廣泛關(guān)注。未來,知識圖譜和時序模型的結(jié)合、知識圖譜和基于強化學習的推薦系統(tǒng)的結(jié)合、以及知識圖譜和其它輔助信息在推薦系統(tǒng)中的結(jié)合等相關(guān)問題仍然值得更多的研究。歡迎感興趣的同學通過留言與我們互動溝通。
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4782瀏覽量
101229 -
算法
+關(guān)注
關(guān)注
23文章
4631瀏覽量
93422 -
知識圖譜
+關(guān)注
關(guān)注
2文章
132瀏覽量
7746
原文標題:如何將知識圖譜特征學習應(yīng)用到推薦系統(tǒng)?
文章出處:【微信號:AI_Thinker,微信公眾號:人工智能頭條】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
NLPIR大數(shù)據(jù)知識圖譜完美展現(xiàn)文本數(shù)據(jù)內(nèi)容
KGB知識圖譜基于傳統(tǒng)知識工程的突破分析
KGB知識圖譜技術(shù)能夠解決哪些行業(yè)痛點?
知識圖譜的三種特性評析
KGB知識圖譜幫助金融機構(gòu)進行風險預(yù)判
KGB知識圖譜通過智能搜索提升金融行業(yè)分析能力
知識圖譜劃分的相關(guān)算法及研究
![<b class='flag-5'>知識圖譜</b>劃分的相關(guān)算法及研究](https://file.elecfans.com/web1/M00/E6/0A/pIYBAGBSt9-AZ0NhAAJhttOY8Go475.png)
深度學習—基于軍事知識圖譜的作戰(zhàn)預(yù)案語義匹配方法研究
![深度<b class='flag-5'>學習</b>—基于軍事<b class='flag-5'>知識圖譜</b>的作戰(zhàn)預(yù)案語義匹配<b class='flag-5'>方法</b>研究](https://file.elecfans.com/web2/M00/1C/8B/pYYBAGGMgUKAKQ0WAAE2280X8D4154.png)
規(guī)則引導的知識圖譜聯(lián)合嵌入方法
基于位置的知識圖譜鏈接預(yù)測
![基于位置的<b class='flag-5'>知識圖譜</b>鏈接預(yù)測](https://file.elecfans.com//web2/M00/2B/22/pYYBAGHOYOmAFdTUAAAjv2xf0pI992.png)
知識圖譜Knowledge Graph構(gòu)建與應(yīng)用
知識圖譜:知識圖譜的典型應(yīng)用
![<b class='flag-5'>知識圖譜</b>:<b class='flag-5'>知識圖譜</b>的典型應(yīng)用](https://file.elecfans.com//web2/M00/71/47/pYYBAGNOAMyABkseAAEhZBhpcRg997.jpg)
評論