【推荐系统】基于知识图谱的推荐系统总结
|?作者:陽(yáng)光明媚
|?單位:華東師范大學(xué)
|?研究方向:推薦系統(tǒng)、強(qiáng)化學(xué)習(xí)
摘要
推薦系統(tǒng)的基本任務(wù)是聯(lián)系用戶和物品,解決信息過(guò)載的問(wèn)題,幫助用戶找到其感興趣的內(nèi)容。個(gè)性化的推薦系統(tǒng)更是可以為用戶推薦專屬的物品目錄,盡可能滿足用戶的個(gè)性化需求。但是推薦系統(tǒng)也面臨一些挑戰(zhàn),如數(shù)據(jù)稀疏和冷啟動(dòng)等問(wèn)題。另一方面,用知識(shí)圖譜構(gòu)建用戶與物品,或者物品與物品之間的信息可以作為一個(gè)外部知識(shí)來(lái)緩解上述問(wèn)題,并提高推薦系統(tǒng)的可解釋性。知識(shí)圖譜與推薦系統(tǒng)的結(jié)合方式主要包括依次訓(xùn)練、聯(lián)合訓(xùn)練、交替訓(xùn)練這三種形式,本文介紹了這三種形式下各自的主流方法的模型。基于此,本文討論了基于知識(shí)圖譜的推薦系統(tǒng)未來(lái)可能的發(fā)展趨勢(shì)。
1 引言
在信息爆炸的社會(huì),人們面對(duì)的信息量呈指數(shù)級(jí)增長(zhǎng)。如何構(gòu)建高效的推薦系統(tǒng),從海量信息中準(zhǔn)確的挑選出對(duì)用戶有價(jià)值,用戶感興趣的信息成了一個(gè)至關(guān)重要的問(wèn)題。當(dāng)下,推薦系統(tǒng)已經(jīng)在電商,社交平臺(tái),個(gè)性化內(nèi)容推薦等,領(lǐng)域發(fā)揮了重要作用,成了現(xiàn)代互聯(lián)網(wǎng)應(yīng)用場(chǎng)景中不可或缺的一部分。
傳統(tǒng)的推薦系統(tǒng)主要包括基于協(xié)同過(guò)濾的推薦系統(tǒng),基于內(nèi)容的推薦系統(tǒng),以及混合推薦系統(tǒng)。協(xié)同過(guò)濾算法是從相似度度量出發(fā),考慮物品或者用戶之間的相似度進(jìn)行推薦。基于內(nèi)容的推薦系統(tǒng)則需要建模用戶偏好和物品的特征,相比于協(xié)同過(guò)濾,基于內(nèi)容的推薦模型在推薦時(shí)會(huì)考慮物品的特征。基于協(xié)同過(guò)濾的方法容易遇到冷啟動(dòng)或者數(shù)據(jù)系數(shù)的問(wèn)題,而混合推薦按系統(tǒng)可以利用基于內(nèi)容的推薦系統(tǒng)中的用戶與物品信息來(lái)緩解協(xié)同過(guò)濾算法的這一問(wèn)題。
知識(shí)圖譜可以用來(lái)表示實(shí)體之間的關(guān)系,如推薦系統(tǒng)中物品與物品、用戶與物品、用戶與用戶之間的關(guān)系。這些關(guān)系信息可以表示用戶偏好與物品相似度等信息,將這些信息引入推薦系統(tǒng)中可以顯著緩解推薦系統(tǒng)面臨的冷啟動(dòng)與數(shù)據(jù)稀疏問(wèn)題。近期出現(xiàn)了一大批研究如何利用知識(shí)圖譜提升推薦系統(tǒng)性能的工作。從模型結(jié)構(gòu)角度來(lái)看,知識(shí)圖譜與推薦系統(tǒng)的結(jié)合有三種形式:依次訓(xùn)練、聯(lián)合訓(xùn)練、交替訓(xùn)練,下文將對(duì)這三種結(jié)合形式下的主要工作進(jìn)行綜述。
2 依次訓(xùn)練
依次訓(xùn)練指的是知識(shí)圖譜首先通過(guò)embedding得到實(shí)體與關(guān)系向量,然后引入推薦系統(tǒng)學(xué)習(xí)用戶向量與物品向量,進(jìn)行模型訓(xùn)練。知識(shí)圖譜的embedding與推薦系統(tǒng)的訓(xùn)練是依次進(jìn)行的。依次訓(xùn)練的代表方法為Deep Knowledge-aware Network (DKN)。
Hongwei et al. DKN: Deep Knowledge-Aware Network for News Recommendation. WWW, 2018.
2.1 問(wèn)題定義與背景知識(shí)
DKN針對(duì)的是新聞推薦問(wèn)題,以往的新聞推薦系統(tǒng)僅從新聞文本的語(yǔ)義表示方面進(jìn)行學(xué)習(xí),沒(méi)有考慮新聞之間在知識(shí)層面的聯(lián)系。而這種聯(lián)系包含了用戶的偏好或者新聞之間的相似度的信息,可以用來(lái)幫助推薦系統(tǒng)更準(zhǔn)確的推薦用戶感興趣的新聞。在新聞推薦的問(wèn)題中,給定一個(gè)用戶的歷史點(diǎn)擊的新聞標(biāo)題??,每個(gè)標(biāo)題都是一個(gè)單詞序列??,每個(gè)單詞都對(duì)應(yīng)著知識(shí)圖譜中的一個(gè)實(shí)體e。給定用戶的點(diǎn)擊歷史,待推薦的新聞列表,以及列表新聞的標(biāo)題單詞與知識(shí)圖譜中實(shí)體的關(guān)聯(lián),最終目的是預(yù)測(cè)用戶點(diǎn)擊列表中新聞的概率。
知識(shí)圖譜的表示形式是包含實(shí)體節(jié)點(diǎn)與關(guān)系的三元組(h, r, t) ,其中h表示頭節(jié)點(diǎn),t表示尾節(jié)點(diǎn),r代表二者之間的關(guān)系。有了知識(shí)圖譜的三元組表示之后,需要得到對(duì)實(shí)體與關(guān)系的編碼表示,同時(shí)希望保留節(jié)點(diǎn)之間的關(guān)系,即希望編碼表示存在類似h+r=t這樣的關(guān)系。目前主要通過(guò)translation-based方法實(shí)現(xiàn)這一目的,此類方法又包括TransE ,TransH ,TransR。其中TransE的訓(xùn)練目標(biāo)為:
直觀上,即希望訓(xùn)練embedding之后得到的表示能夠滿足h+r-t=0。但是現(xiàn)實(shí)中h+r的值可能是不唯一的,是一對(duì)多的關(guān)系,其他更高級(jí)的translation-based方法對(duì)這一點(diǎn)進(jìn)行了改進(jìn)。
在提取句子特征上,本文使用了最近流行的CNN方法KCNN 。具體的,將每個(gè)句子映射到一個(gè)??空間,其中d代表單詞的維度,n代表句子中單詞的個(gè)數(shù),如圖一所示,可以通過(guò)兩個(gè)不同的卷積核進(jìn)行特征提舉,將最終得到的表示進(jìn)行拼接即可。
圖一 KCNN示意圖2.2 模型介紹
模型的整體架構(gòu)如圖二所示,輸出包括候選新聞與用戶的歷史點(diǎn)擊行為。首先通過(guò)知識(shí)蒸餾的方法,提取出新聞的標(biāo)題文本的實(shí)體的向量與詞向量。在獲得了標(biāo)題中的單體與對(duì)應(yīng)的實(shí)體向量之后,為了減少embedding過(guò)程中的信息損失,利用了一個(gè)實(shí)體的上下文實(shí)體來(lái)表示該單詞,將原實(shí)體向量與實(shí)體的上下文向量映射到一個(gè)空間里,得到映射的向量之后,作為標(biāo)題單詞向量的擴(kuò)充,然后用KCNN進(jìn)行處理。對(duì)于處理之后的待選新聞表示,與用戶歷史點(diǎn)擊新聞表示,作者對(duì)每一篇?dú)v史點(diǎn)擊的新聞標(biāo)題表示與待選新聞表示之間進(jìn)行了attention操作,根據(jù)注意力權(quán)重對(duì)歷史點(diǎn)擊新聞表示進(jìn)行加權(quán)平均。最終將歷史點(diǎn)擊新聞表示與待選新聞表示進(jìn)行拼接,最后在通過(guò)一個(gè)深度神經(jīng)網(wǎng)絡(luò)輸出點(diǎn)擊率。
圖二 DKN模型示意圖3 聯(lián)合訓(xùn)練
聯(lián)合訓(xùn)練指的是同時(shí)進(jìn)行知識(shí)圖譜的embedding與模型的訓(xùn)練。這里介紹的聯(lián)合訓(xùn)練的方法為RippleNet。
Hongwei et al. Ripplenet-Propagating user preferences on the knowledge graph for recommender systems. CIKM, 2018.
3.1 問(wèn)題定義與背景知識(shí)
RippleNet的輸入包括用戶U與物品V的表示,以及用戶與物品之間的交互關(guān)系??,即有點(diǎn)擊購(gòu)買觀看的行為時(shí)??,否則為0。目標(biāo)是根據(jù)已有的信息構(gòu)建知識(shí)圖譜,預(yù)測(cè)一對(duì)沒(méi)發(fā)生過(guò)交互的用戶與物品之間發(fā)生交互的概率,也即點(diǎn)擊率。
在RippleNet的論文中將基于知識(shí)圖譜的推薦系統(tǒng)分為了兩類:基于嵌入的方法和基于路徑的方法。其中基于潛入的方法指的是將通過(guò)知識(shí)圖譜學(xué)習(xí)到的實(shí)體與關(guān)系表示直接嵌入原先的實(shí)體向量用于推薦系統(tǒng)訓(xùn)練。而基于路徑的方法則通過(guò)挖掘知識(shí)圖譜中用戶與物品間的各種關(guān)聯(lián)模式來(lái)提供輔助信息,在這里的圖是異質(zhì)圖,關(guān)聯(lián)模式是meta-path。異質(zhì)圖可以理解為,圖中的節(jié)點(diǎn)的類別或關(guān)系的類別有不只一類;meta-path指的是圖中的一段路徑,在異質(zhì)圖中兩個(gè)節(jié)點(diǎn)間可能有多條潛在的meta-path,這種基于路徑的信息能夠更加直觀的描述知識(shí)圖譜中的信息,但是meta-path需要手工設(shè)計(jì)。
3.2 模型介紹
整體模型如圖三所示。Ripple意為波紋,正如模型所示,輸入用戶的點(diǎn)擊歷史作為“波紋”的中心,在每一次迭代時(shí)將波紋擴(kuò)展開(kāi)來(lái)得到新一層的“波紋”集合(不包括之前的“波紋”),隨著“波紋”的擴(kuò)散,用戶對(duì)新的“波紋”集合中的內(nèi)容的偏好也會(huì)減弱,用戶對(duì)新得到的“波紋”集合。輸入物品的embedding表示,基于應(yīng)用場(chǎng)景可以選擇不同的表示,將物品的表示與此時(shí)的波紋集合進(jìn)行關(guān)聯(lián),通過(guò)下式計(jì)算關(guān)聯(lián)概率:
然后通過(guò)此概率對(duì)尾實(shí)體(新的“波紋”)??進(jìn)行加權(quán),從而完成了一次RippleNet在圖上的一次傳播。對(duì)每次傳播所得到的加權(quán)向量都進(jìn)行求和得出一個(gè)最終的用戶偏好向量,將此向量與物品表示進(jìn)行叉積,預(yù)測(cè)最終的點(diǎn)擊率。
圖三 RippleNet模型示意圖相比于傳統(tǒng)的基于mta-path的方法,RippleNet可以根據(jù)關(guān)聯(lián)概率來(lái)自動(dòng)的挖掘可能的解釋路徑,避免了手動(dòng)設(shè)計(jì)meta-path。一個(gè)可以預(yù)見(jiàn)的問(wèn)題是,隨著“波紋”的傳播,“波紋”集合可能變得很大,可能會(huì)影響模型發(fā)現(xiàn)用戶的潛在興趣,文中沒(méi)有提出直接解決這一問(wèn)題的方法,但是討論這種現(xiàn)象的一個(gè)潛在好處:用戶可能有多個(gè)路徑來(lái)到達(dá)同一實(shí)體,這些并行路徑可以增加模型中用戶對(duì)重疊的實(shí)體的興趣,類似于真實(shí)物理世界中波的合成。
4 交替訓(xùn)練
交替訓(xùn)練任務(wù)中,對(duì)知識(shí)圖譜的特征學(xué)習(xí)任務(wù)和模型的點(diǎn)擊率預(yù)測(cè)任務(wù)交替進(jìn)行訓(xùn)練。這方面的工作有MKR。MKR的問(wèn)題定義與RippleNet的問(wèn)題定義相同,且所需背景知識(shí)前文都已涉及。但是MKR的模型結(jié)構(gòu)非常新穎,下面我們直接開(kāi)始介紹MKR的模型。
Hongwei et al. Multi-Task Feature Learning for Knowledge Graph Enhanced Recommendation. WWW, 2019.
4.1 模型介紹
與其他結(jié)合了知識(shí)圖譜的推薦系統(tǒng)模型不同,如圖四所示,MKR包含知識(shí)圖譜編碼模型、推薦模型、交叉壓縮模型這三部分。知識(shí)圖譜編碼部分按照常規(guī)的做法,輸入知識(shí)三元組來(lái)有監(jiān)督的學(xué)習(xí)尾部表示。推薦模型部分輸入用戶和物品的表示,最終預(yù)測(cè)用戶對(duì)物品的點(diǎn)擊率。MKR模型的重點(diǎn)在于交叉壓縮模型部分,即圖四的C部分。
圖四 MKR模型示意圖交叉壓縮模型的結(jié)構(gòu)如圖五所示,將知識(shí)圖譜邊編碼模型的頭節(jié)點(diǎn)與推薦模型的物品編碼作為輸入。首先,將兩個(gè)向量相乘得到交叉向量??,認(rèn)為交叉向量包含了二者之間所有可能的交互。然后,將矩陣乘以參數(shù)向量進(jìn)行壓縮,重新得到維度與交叉壓縮模型的輸入向量維度相同的輸出向量,從而完成了一次前向傳播。
圖五 交叉壓縮模型示意圖文中認(rèn)為,交叉壓縮模型應(yīng)該只存在于網(wǎng)絡(luò)的底層,因?yàn)榻徊鎵嚎s模型是一個(gè)信息融合的過(guò)程,在網(wǎng)絡(luò)的深層,特征已經(jīng)逐漸變得具體,使得信息發(fā)生有效融合的可能性降低。
5 總結(jié)與展望
本文從從模型結(jié)構(gòu)角度,介紹了利用知識(shí)圖譜增強(qiáng)推薦系統(tǒng)性能的三種方法。在深度學(xué)習(xí)時(shí)代,除開(kāi)模型大小、數(shù)據(jù)量、算力等偏硬件的因素,決定模型性能的主要因素就在于模型結(jié)構(gòu)的設(shè)計(jì)。從早些年的卷積神經(jīng)網(wǎng)絡(luò),循環(huán)神經(jīng)網(wǎng)絡(luò)及其改版,到近幾年的對(duì)抗生成網(wǎng)絡(luò),transformer、attention,都表明巧妙的模型(網(wǎng)絡(luò))結(jié)構(gòu)設(shè)計(jì)能帶來(lái)意料之外的效果。
6 參考文獻(xiàn)
用bib做的參考文獻(xiàn),挪到微信太麻煩了,都是一些很經(jīng)典的論文,很容易搜出來(lái)的,就直接貼圖了:
往期精彩回顧適合初學(xué)者入門人工智能的路線及資料下載機(jī)器學(xué)習(xí)及深度學(xué)習(xí)筆記等資料打印機(jī)器學(xué)習(xí)在線手冊(cè)深度學(xué)習(xí)筆記專輯《統(tǒng)計(jì)學(xué)習(xí)方法》的代碼復(fù)現(xiàn)專輯 AI基礎(chǔ)下載黃海廣老師《機(jī)器學(xué)習(xí)課程》視頻課黃海廣老師《機(jī)器學(xué)習(xí)課程》711頁(yè)完整版課件本站qq群554839127,加入微信群請(qǐng)掃碼:
總結(jié)
以上是生活随笔為你收集整理的【推荐系统】基于知识图谱的推荐系统总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 优酷视频如何进行连续播放?
- 下一篇: Python业务分析实战|共享单车数据挖