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

知識(shí)圖譜劃分的相關(guān)算法及研究

深度學(xué)習(xí)—基于軍事知識(shí)圖譜的作戰(zhàn)預(yù)案語(yǔ)義匹配方法研究

規(guī)則引導(dǎo)的知識(shí)圖譜聯(lián)合嵌入方法
基于位置的知識(shí)圖譜鏈接預(yù)測(cè)

知識(shí)圖譜Knowledge Graph構(gòu)建與應(yīng)用
知識(shí)圖譜:知識(shí)圖譜的典型應(yīng)用

評(píng)論