论文笔记:DKN: Deep Knowledge-Aware Network for News Recommendation

1、问题背景

    随着这些年网络的发展,产生了各种各样的信息,就新闻领域来说,人们要想在其中找到自己感兴趣的新闻有极大的难度,而这促进了推荐系统的发展。一般来说,新闻是高度压缩的,里边富含各种各样的实体和常识,然而现存的方法没有意识到这种外部的知识,不能充分的发掘新闻之间知识级的联系,推荐结果受限于简单的模式并且不具有合理性。

新闻推荐具有极大的特殊性,其相比其他的推荐具有三个主要特点:【1】新闻每天都会有大量新的发布,像ID-based的方法(如collaborative filtering)很难处理。【2】读者一般都是喜欢特定的几个topic,如何动态的根据阅读历史推荐相关topic的新闻是一个极大的问题。【3】新闻语言都是高度压缩的,其中富含知识实体和各种常识,如图

a user clicks a piece of news withtitle “Boris Johnson Has Warned Donald Trump To Stick To TheIran Nuclear Deal" that contains four knowledge entities: “BorisJohnson”, “Donald Trump”, “Iran” and “Nuclear”. In fact, the usermay also be interested in another piece of news with title “NorthKorean EMP Attack Would Cause Mass U.S. Starvation, Says CongressionalReport” with high probability, which shares a great dealof contextual knowledge and is strongly connected with the previousone in terms of commonsense reasoning

然而,传统的语义模型[30]或主题模型[3]只能基于单词的共现或聚类结构来找到它们的相关性,但是却很难发现它们潜在的知识水平的联系。 结果,用户的阅读模式将缩小到一个有限的圆圈,并且无法根据现有的推荐方法合理地扩展。

为了解决这个问题,作者提出了一个名为a deep knowledge-aware network (DKN)的方法,DKN是一个基于内容的CTR预测模型,其输入是用户的点击历史和候选新闻,输出是用户点击这些新闻的概率。对于输入的新闻,我们首先通过将其中的word与KG中的entity联系起来来丰富信息,同时我们也取实体的邻居来作为上下文信息。该模型具有两个主要特点:【1】其将word-level和knowledge-level的表示结合起来作为word的表示,word embedding, entity embedding,and contextual entity embedding像颜色一样作为多个channel[CNN][2]利用一个transformation function 去消除word space 和 entity space 的差异。

2、PRELIMINARIES

【1】Knowledge Graph Embedding

对于KG中的每一个entity和relation,为了学习一个低维的表示,可采用以下方法

【2】CNN for Sentence Representation Learning

相比用bag-of-word的方法表示句子,现在已经提出了基于CNN的方法来更加有效的表示

Figure 2 illustrates the architecture of Kim CNN. Let w1:n be theraw input of a sentence of length n, and w1:n = [w1 w2 ... wn] ∈ R^{d\times n} be the word embedding matrix of the input sentence, wherewi ∈ R^{d\times 1} is the embedding of the i-th word in the sentence andd is the dimension of word embeddings.

将句子以word embedding的方式表示,然后输入进CNN,产生一个低维表示。

3、模型结构

【1】DKN Framework

模型分析:每一个被用户点击过的news通过KCNN被编码成一个低维向量,然后通过注意力机制将用户历史news编码成一个低维向量最后将其与候选news做concat之后计算点击概率。

【2】Knowledge Distillation

对每一个word,提取相关联的entity和这些entity的邻居embedding。其中entity的邻居定义为

然后计算它们的平均值得到context embedding.

【3】Knowledge-aware CNN

对于一个句子的word embedding表示w_{1:n} = [w_1,w_2, ..., w_n].与其对应的entity embeddings和context embeddings表示为

然后将它们作为颜色的RGB值输入到CNN中,

得到最后的一个低维表示。

【4】Attention-based User Interest Extraction

假设用户i的交互历史表示为\left\{t_1^i,t_2^i,...,t_{N1}^i\right\},其通过embedding之后可以表示为e(t_1^i),e(t_2^i),...,e(t_{N1}^i),使用注意力机制

最后用户i点击新闻j的概率可以被概括为

4、实验部分

实验数据来自Bing News.

实验结果:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。