1、问题背景
随着这些年网络的发展,产生了各种各样的信息,就新闻领域来说,人们要想在其中找到自己感兴趣的新闻有极大的难度,而这促进了推荐系统的发展。一般来说,新闻是高度压缩的,里边富含各种各样的实体和常识,然而现存的方法没有意识到这种外部的知识,不能充分的发掘新闻之间知识级的联系,推荐结果受限于简单的模式并且不具有合理性。
新闻推荐具有极大的特殊性,其相比其他的推荐具有三个主要特点:【1】新闻每天都会有大量新的发布,像ID-based的方法(如collaborative filtering)很难处理。【2】读者一般都是喜欢特定的几个topic,如何动态的根据阅读历史推荐相关topic的新闻是一个极大的问题。【3】新闻语言都是高度压缩的,其中富含知识实体和各种常识,如图
然而,传统的语义模型[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的方法来更加有效的表示
将句子以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表示.与其对应的entity embeddings和context embeddings表示为
然后将它们作为颜色的RGB值输入到CNN中,
得到最后的一个低维表示。
【4】Attention-based User Interest Extraction
假设用户i的交互历史表示为,其通过embedding之后可以表示为,使用注意力机制
最后用户i点击新闻j的概率可以被概括为
4、实验部分
实验数据来自Bing News.
实验结果: