DKN推薦

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等;

上面三個方法的基本思想都是一樣的柬采,以TransE為例來介紹一下這些方法的核心思想欢唾。在空間中,三元組的頭節(jié)點h粉捻、關(guān)系r礁遣、尾節(jié)點t都有對應(yīng)的向量,我們希望的是h + r = t肩刃,如果h + r的結(jié)果和t越接近祟霍,則認為這些向量能夠很好的表示知識圖譜中的實體和關(guān)系杏头。

基于語義的匹配模型(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ā)掘扰魂。

對于一個給定的用戶user_i麦乞,他的點擊歷史記為\left\{ t_1,...t_ N \right\}是該用戶過去一段時間內(nèi)曾點擊過的新聞的標題,N代表用戶點擊過的新聞的總數(shù)劝评。每個標題都是一個詞序列t=\left\{w_1,w_2,....,w_n\right\}姐直,標題中的單詞有的對應(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是否會點擊一個特定的新聞t_j

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的所有上下文實體特征的平均值:

下圖的綠色橢圓框內(nèi)即為“Fight Club”的上下文實體:

4.2 新聞特征提取KCNN(Knowledge-aware CNN)

在知識抽取部分,得到了三部分的embedding马篮,一種最簡單的使用方式就是直接將其拼接:W=[w_1,w_2,...w_n ,e_{t1},e_{t2},...]但此做法存在幾方面的限制:
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)株灸,這樣就可以拼接三部分多通道輸入矩陣:
W=[[w_1g(e_1)g( \bar e_1)][w_2g(e_2)g( \bar e_2)]...[w_ng(e_n)g( \bar e_n)]]\in R^{d\times n\times 3}
通過卷積神經(jīng)網(wǎng)絡(luò),經(jīng)過卷積層和池化層進行學(xué)習(xí)擎值,最終得到輸入新聞標題t的重表示e(t)c^h_i=f(h*W_{i:i+l-1}+b) \tilde{c}^h=\max{\{c^h_1,c^h_2,\cdots,c^h_{n-l+1}\}} e(t)=[\tilde{c}^{h_1}\tilde{c}^{h_2}\cdots \tilde{c}^{h_m}]

4.3 基于注意力機制的用戶興趣預(yù)測

給定用戶的點擊歷史\{t^i_1,t^i_2,\cdots,t^i_{N_i}\}慌烧,被點擊的新聞embeddings可以表示為\{e(t^i_1),e(t^i_2),\cdots,e(t^i_{N_i}) \} 。用戶i當(dāng)前候選新聞t_j鸠儿,可以簡單表示為:
e(i)=\frac{1}{N_i}\sum_{k=1}^{N_i}e(t^i_k)在判斷用戶對當(dāng)前新聞的興趣時屹蚊,使用注意力網(wǎng)絡(luò)(attention network)給用戶歷史記錄分配不同的權(quán)重。通過softmax函數(shù)得到歸一化的權(quán)重:s_{t^i_k,t_j}=softmax(\mathcal{H}*(e(t^i_k),e(t_j)))=\frac{exp(\mathcal{H}*(e(t^i_k),e(t_j)))}{\sum^{N_i}_{k=1}exp(\mathcal{H}*(e(t^i_k),e(t_j)))}用戶i的embedding:e(i)=\sum_{k=1}^{N_i}s_{t^i_k,t_j}e(t^i_k)通過另一個DNN得到用戶i點擊新聞t_j的概率:p_{i,t_j}=\mathcal{G}(e(i),e(t_j))

通過注意力權(quán)重的可視化結(jié)果看出进每,注意力機制的引入對模型的最后輸出產(chǎn)生了積極的影響汹粤。由于注意力機制的引入,DKN可以更好地將同類別的新聞聯(lián)系起來田晚,從而提高了最終的正確預(yù)測的數(shù)量嘱兼。

依次學(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)
推薦算法不夠精準壤躲?讓知識圖譜來解決

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市备燃,隨后出現(xiàn)的幾起案子碉克,更是在濱河造成了極大的恐慌,老刑警劉巖并齐,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件漏麦,死亡現(xiàn)場離奇詭異客税,居然都是意外死亡,警方通過查閱死者的電腦和手機撕贞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門更耻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人捏膨,你說我怎么就攤上這事秧均。” “怎么了号涯?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵目胡,是天一觀的道長。 經(jīng)常有香客問我诚隙,道長讶隐,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任久又,我火速辦了婚禮巫延,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘地消。我一直安慰自己炉峰,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布脉执。 她就那樣靜靜地躺著疼阔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪半夷。 梳的紋絲不亂的頭發(fā)上婆廊,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天,我揣著相機與錄音巫橄,去河邊找鬼姻锁。 笑死悲酷,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播懊昨,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼躯肌,長吁一口氣:“原來是場噩夢啊……” “哼堵未!你這毒婦竟也來了卷要?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤帆离,失蹤者是張志新(化名)和其女友劉穎蔬蕊,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體哥谷,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡袁串,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年概而,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片囱修。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡赎瑰,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出破镰,到底是詐尸還是另有隱情餐曼,我是刑警寧澤,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布鲜漩,位于F島的核電站源譬,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏孕似。R本人自食惡果不足惜踩娘,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望喉祭。 院中可真熱鬧养渴,春花似錦、人聲如沸泛烙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蔽氨。三九已至藐唠,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鹉究,已是汗流浹背宇立。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留自赔,地道東北人妈嘹。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像匿级,于是被迫代替她去往敵國和親蟋滴。 傳聞我的和親對象是個殘疾皇子染厅,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,914評論 2 355

推薦閱讀更多精彩內(nèi)容