DKN-基于知識圖譜的推薦系統(tǒng)
知識圖譜特征學(xué)習(xí)(Knowledge Graph Embedding)是最常見的與推薦系統(tǒng)結(jié)合的方式,知識圖譜特征學(xué)習(xí)為知識圖譜中的每個實體和關(guān)系學(xué)習(xí)到的一個低維向量昵宇,同時保持圖中原有的結(jié)構(gòu)或語義信息造虏,最常見的得到低維向量的方式主要有基于距離的翻譯模型和基于語義的匹配模型御吞。
知識圖譜技術(shù)與應(yīng)用指南
知識圖譜特征學(xué)習(xí)在推薦系統(tǒng)中的應(yīng)用步驟大致有以下三種方式:
依次訓(xùn)練:首先使用知識圖譜特征學(xué)習(xí)得到實體向量和關(guān)系向量,然后將這些低維向量引入推薦系統(tǒng)漓藕,學(xué)習(xí)得到用戶向量和物品向量陶珠,方法主要有Deep Knowledge-aware Network(DKN)
聯(lián)合訓(xùn)練:將知識圖譜特征學(xué)習(xí)和推薦算法的目標函數(shù)結(jié)合,使用端到端(end-to-end)的方法進行聯(lián)合學(xué)習(xí)撵术,方法主要有Ripple Network
交替訓(xùn)練:將知識圖譜特征學(xué)習(xí)和推薦算法視為兩個分離但又相關(guān)的任務(wù)背率,使用多任務(wù)學(xué)習(xí)(multi-task learning)的框架進行交替學(xué)習(xí)。主要方法有Multi-task Learning for KG enhanced Recommendation (MKR)
DKN原理
1、背景
新聞推薦領(lǐng)域有三個待解決的問題:
- 新聞文章具有高度的時間敏感性寝姿,它們的相關(guān)性很快就會在短時間內(nèi)失效交排。過時的新聞經(jīng)常被較新的新聞所取代。 導(dǎo)致傳統(tǒng)的基于ID的協(xié)同過濾算法失效饵筑。
- 用戶在閱讀新聞的時候是帶有明顯的傾向性的埃篓,一般一個用戶閱讀過的文章會屬于某些特定的主題,如何利用用戶的閱讀歷史記錄去預(yù)測其對于候選文章的興趣是新聞推薦系統(tǒng)的關(guān)鍵 根资。
- 新聞文本的特點是語言高度濃縮架专,并且包含有很多知識實體與常識。但是以往的模型卻較少考慮新聞包含的外部知識玄帕,僅僅從語義層面(semantic level)進行表示學(xué)習(xí)部脚,沒有充分挖掘新聞文本在知識層面(knowledge level)的聯(lián)系。
因此裤纹,本文提出了DKN模型委刘。首先使用一種融合了知識的卷積神經(jīng)網(wǎng)絡(luò)KCNN,將新聞的語義表示與知識表示融合起來形成新的embedding表示鹰椒,再建立從用戶的新聞點擊歷史到候選新聞的attention機制锡移,選出得分較高的新聞推薦給用戶,來給用戶更精確地推薦可能感興趣的新聞漆际。
2淆珊、基礎(chǔ)概念
2.1、知識圖譜特征學(xué)習(xí)(Knowledge Graph Embedding)
知識圖譜特征學(xué)習(xí)(Knowledge Graph Embedding)為知識圖譜中的每個實體和關(guān)系學(xué)習(xí)得到一個低維向量奸汇,同時保持圖中原有的結(jié)構(gòu)或語義信息施符。一般而言,知識圖譜特征學(xué)習(xí)的模型分類兩類:基于距離的翻譯模型和基于語義的匹配模型擂找。
基于距離的翻譯模型(distance-based translational models)
這類模型使用基于距離的評分函數(shù)評估三元組的概率操刀,將尾節(jié)點視為頭結(jié)點和關(guān)系翻譯得到的結(jié)果。這類方法的代表有TransE婴洼、TransH骨坑、TransR等;
基于語義的匹配模型(semantic-based matching models)
類模型使用基于相似度的評分函數(shù)評估三元組的概率,將實體和關(guān)系映射到隱語義空間中進行相似度度量沸呐。這類方法的代表有SME醇王、NTN、MLP崭添、NAM等寓娩。上述方法的核心是構(gòu)造一個二分類模型,將h呼渣、r和t輸入到網(wǎng)絡(luò)中棘伴,如果(h,r,t)在知識圖譜中真實存在,則應(yīng)該得到接近1的概率屁置,如果不存在焊夸,應(yīng)該得到接近0的概率。
2.2蓝角、基于CNN的句子特征提取
DKN中提取句子特征的CNN源自于Kim CNN淳地,用句子所包含詞的詞向量組成的二維矩陣,經(jīng)過一層卷積操作之后再做一次max-over-time的pooling操作得到句子向量帅容,如下圖所示:3、問題定義
新聞標題和正文中通常存在大量的實體伍伤,實體間的語義關(guān)系可以有效地擴展用戶興趣并徘。然而這種語義關(guān)系難以被傳統(tǒng)方法(話題模型、詞向量)發(fā)掘扰魂。
對于一個給定的用戶麦乞,他的點擊歷史記為
是該用戶過去一段時間內(nèi)曾點擊過的新聞的標題,N代表用戶點擊過的新聞的總數(shù)劝评。每個標題都是一個詞序列
姐直,標題中的單詞有的對應(yīng)知識圖譜中的一個實體。舉例來說蒋畜,標題《Trump praises Las Vegas medical team》其中Trump與知識圖譜中的實體“Donald Trump”對應(yīng)声畏,Las和Vegas與實體Las Vegas對應(yīng)。本文要解決的問題就是給定用戶的點擊歷史姻成,以及標題單詞和知識圖譜中實體的關(guān)聯(lián)插龄,要預(yù)測的是:一個用戶i是否會點擊一個特定的新聞
。
4科展、模型框架
DKN模型整體框架如下:可以看到均牢,DKN的網(wǎng)絡(luò)輸入有兩個:候選新聞集合,用戶點擊過的新聞標題序列才睹。輸入數(shù)據(jù)通過KCNN來提取特征徘跪,之上是一個attention層甘邀,計算候選新聞向量與用戶點擊歷史向量之間的attention權(quán)重,在頂層拼接兩部分向量之后垮庐,用DNN計算用戶點擊此新聞的概率松邪。
4.1 知識提取(Knowledge Distillation)
知識提取過程有三方面:一是得到標題中每個單詞的embedding突硝;二是得到標題中每個單詞對應(yīng)的實體的embedding测摔;三是得到每個單詞的上下文embedding。每個單詞對應(yīng)的embedding可以通過word2vec預(yù)訓(xùn)練的模型得到解恰。這里主要介紹后兩部分:
實體embedding
實體特征即標題中每個單詞對應(yīng)的實體的特征表示锋八,通過以下四個步驟得到:
1、識別出標題中的實體并利用實體鏈接技術(shù)消除歧義护盈;
2挟纱、根據(jù)已有知識圖譜,得到與標題中涉及的實體鏈接在一個step之內(nèi)的所有實體所形成的的子圖腐宋;
3紊服、構(gòu)建好知識子圖以后,利用基于距離的翻譯模型得到子圖中每個實體embedding胸竞;
4欺嗤、得到標題中每個單詞對應(yīng)的實體embedding。
上下文embedding
盡管目前現(xiàn)有的知識圖譜特征學(xué)習(xí)方法得到的向量保存了絕大多數(shù)的結(jié)構(gòu)信息卫枝,但還有一定的信息損失煎饼,為了更準確地刻畫實體,文中額外地使用一個實體的上下文實體特征(contextual entity embeddings)校赤。一個實體e的上下文實體是e的所有一跳鄰居節(jié)點吆玖,e的上下文實體特征為e的所有上下文實體特征的平均值:
4.2 新聞特征提取KCNN(Knowledge-aware CNN)
在知識抽取部分,得到了三部分的embedding马篮,一種最簡單的使用方式就是直接將其拼接:但此做法存在幾方面的限制:
1沾乘、連接策略打破了單詞和相關(guān)實體之間的聯(lián)系,并且不知道它們的對齊方式浑测;
2翅阵、單詞的embedding和對應(yīng)實體的embedding是通過不同的方法學(xué)習(xí)的,這意味著它們不適合在單個向量空間中將它們一起進行卷積操作迁央;
3怎顾、連接策略需要單詞的embedding和實體的embedding具有相同的維度,這在實際設(shè)置中可能不是最優(yōu)的漱贱,因為詞和實體embedding的最佳維度可能彼此不同槐雾。
因此本文使用的是multi-channel和word-entity-aligned KCNN。具體做法是先把實體的embedding和實體上下文embedding映射到一個空間里幅狮,映射的方式可以選擇線性方式g(e) = Me募强,也可以選擇非線性方式g(e) = tanh(Me + b)株灸,這樣就可以拼接三部分多通道輸入矩陣:
通過卷積神經(jīng)網(wǎng)絡(luò),經(jīng)過卷積層和池化層進行學(xué)習(xí)擎值,最終得到輸入新聞標題t的重表示:
4.3 基于注意力機制的用戶興趣預(yù)測
給定用戶的點擊歷史慌烧,被點擊的新聞embeddings可以表示為
。用戶i當(dāng)前候選新聞
鸠儿,可以簡單表示為:
在判斷用戶對當(dāng)前新聞的興趣時屹蚊,使用注意力網(wǎng)絡(luò)(attention network)給用戶歷史記錄分配不同的權(quán)重。通過softmax函數(shù)得到歸一化的權(quán)重:
用戶i的embedding:
通過另一個DNN得到用戶i點擊新聞
的概率:
依次學(xué)習(xí)的優(yōu)勢在于知識圖譜特征學(xué)習(xí)模塊和推薦系統(tǒng)模塊相互獨立。在真實場景中贤徒,特別是知識圖譜很大的情況下芹壕,進行一次知識圖譜特征學(xué)習(xí)的時間開銷會很大,而一般而言接奈,知識圖譜遠沒有推薦模塊更新地快踢涌。因此可以先通過一次訓(xùn)練得到實體和關(guān)系向量,以后每次推薦系統(tǒng)模塊需要更新時都可以直接使用這些向量作為輸入序宦,而無需重新訓(xùn)練睁壁。
依次學(xué)習(xí)的缺點也正在于此:因為兩個模塊相互獨立,所以無法做到端到端的訓(xùn)練挨厚。通常來說,知識圖譜特征學(xué)習(xí)得到的向量會更適合于知識圖譜內(nèi)的任務(wù)糠惫,比如連接預(yù)測疫剃、實體分類等,并非完全適合特定的推薦任務(wù)硼讽。在缺乏推薦模塊的監(jiān)督信號的情況下巢价,學(xué)習(xí)得到的實體向量是否真的對推薦任務(wù)有幫助,還需要通過進一步的實驗來推斷固阁。
知識圖譜與推薦系統(tǒng)結(jié)合之DKN模型原理及實現(xiàn)
如何將知識圖譜特征學(xué)習(xí)應(yīng)用到推薦系統(tǒng)
推薦算法不夠精準壤躲?讓知識圖譜來解決