DKN: Deep Knowledge-Aware Network for News Recommendation閱讀筆記

這篇論文發表在2018年的WWW上。引入知識來進行新聞推薦。
關鍵詞:News recommendation; knowledge graph representation; deep neural networks; attention model

Motivation

過去的新聞推薦方法沒有引入知識,很難發現潛在的知識層面的關係
另一方面 新聞推薦有高度的時間敏感性並且要隨着用戶的興趣而改變。

新聞推薦面臨的三個挑戰:

  • highly time-sensitive and their relevance expires quickly within a short period,協同過濾算法效果不好
  • How to dynamically measure auser’s interest based on his diversified reading history for current candidate news
  • news language is usually highly condensed and comprised of a large amount of knowledge entities and common sense. 傳統方法沒有引入知識 而只是基於詞語共現和聚類。

To extract deep logical connections among news, it is necessary to introduce additional knowledge graph information into news recommendations. 引入外部知識到新聞推薦中。

Methodology

我們把用戶ii的點擊歷史表示爲[t1i,t2i,t2i,...,tNii][ t_{1}^{i},t_{2}^{i},t_{2}^{i},...,t_{N_{i}}^{i} ]tjit_{j}^{i}就是第ii個用戶的第jj個點擊的新聞標題。每個標題都是由一堆字組成。每個字又和知識圖譜中的某個實體相關。
輸入:新聞和用戶的點擊歷史
輸出:點擊這條新聞的概率

首先將新聞中的每個詞和知識圖譜中的相關實體聯繫起來,並搜索和使用每個實體的上下文實體
然後使用knowledge-aware convolutional neural networks(KCNN)來整合word-level and knowledge-level representations of news and generate a knowledge-aware embedding vector
KCNN和之前的工作有兩點不同

  • multi-channel
  • word-entity-aligned

To get a dynamic representation of a user with respect to current candidate news, we use an attention module to automatically match candidate news to each piece of clicked news, and aggregate the user’s history with different weights.

下面先介紹幾個相關的知識點

Knowledge Graph Embedding

典型的知識圖譜就是一系列(實體1,關係,實體2)的三元組的集合。

The goal of knowledge graph embedding is to learn a low-dimensional representation vector for each entity and relation that preserves the structural information of the original knowledge graph.

其中,translatioin-based 的方法比較好,它有以下幾種具體的方法:TransE、TransH、TransD等。

CNN for Sentence Representation Learning

詞袋模型有很多問題。
引入Kim CNN進行句子表示。
QQ截圖20180801160401.png
表示方法如上圖所示。使用不同通道的卷積核以及不同大小的卷積核進行卷積操作得到最終的句子表示向量。

可以引入RNN句子表示和CNN句子表示相結合。

DEEP KNOWLEDGE-AWARE NETWORK (DNK)

從這部分開始介紹本文提出的方法。
DNK的整體框架如下所示:

QQ截圖20180801165512.png
KCN將新聞提取爲向量表示。之後Attention Net得到歷史點擊的表示,將其和待預測新聞的向量結合輸入到深度神經網絡中得到最終的預測結果。

Knowledge Distillation

QQ截圖20180802102651.png
這一部分說明如何將知識融入到特徵中。
第一步通過實體鏈接(entity linking)技術將新聞中的實體識別出來。
第二步從原始KG中提取子圖。只有從新聞中提取的實體構建出的子圖可能太過稀疏。所以吧子圖擴展到和已有實體一跳的實體。
第三步就是know graph embedding。
第四步,學到的entity embedding作爲KCNN和DKN的輸入

光有新聞中entity的embedding的信息缺少知識圖譜的結構信息。爲了提供實體的位置信息,加入了“context entity”的信息eˉ\bar{e},就是與該實體一跳距離的實體embedding的平均值。
eˉ=1context(e)eicontext(e)ei\bar{e}=\frac{1}{|context(e)|}\sum_{e_{i}\in context(e)}e_i
QQ截圖20180802103840.png

Knowledge-aware CNN

如前所述,每個word embedding wiw_i都會有一個entity embedding eiRk×1e_i\in \Bbb R^{k\times1}以及相應的context embedding eiˉRk×1\bar{e_i}\in \Bbb R^{k\times1}。其中,kk是entity embedding 的維度。
對於上面這些特徵,一個直觀的想法就是把他們組合起來作爲一個“pseudo words”:
W=[w1w2...wnet1et2...]W=[w_1 w_2... w_n e_{t_1} e_{t_2}...]但是存在以下問題:

  • The concatenating strategy breaks up the connection between words and associated
    entities and is unaware of their alignment.
  • Word embeddings and entity embeddings are learned by different methods, meaning it is not suitable to convolute them together in a single vector space.
  • The concatenating strategy implicitly forces word embeddings and entity embeddings to have the same dimension, which may not be optimal in practical.

所以作者採用了圖三左下中的方法,把它們作爲類似圖像中的不同通道。但entity embedding的維度和word embedding的維度不一樣怎麼辦?又採用了一個轉換層將其轉換爲同樣的維度。下面的計算方法就和CV中的卷積神經網絡一樣了。

Attention-based User Interest Extraction

這裏的Attention Net不是指Attention Is All You Need中的attention機制。而是使用了一個DNN網絡來計算每個歷史點擊的權重。但是仔細想想的話其實和attention機制本質上是一樣的。但是有個問題是這個方法沒有考慮時間,直觀上考慮肯定是時間越近的歷史對當前影響越大。 最後點擊概率的預測又是使用另外一個DNN。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章