新闻推荐系统:深度知识感知网络DKN

DKN: Deep Knowledge-Aware Network for News Recommendation

DKN: Deep Knowledge-Aware Network for News Recommendation[1]

新闻推荐系统:深度知识感知网络DKN

目录


ABSTRACT

在线新闻推荐系统致力于在庞大的新闻数据中为用户提供个性化的新闻推荐。一般情况下,新闻语言高度浓缩并且主要由知识实体构成。已有的推荐方法没有进行外部知识的抽象与学习,不能够充分的发掘新闻在知识层面的联系。本文结合知识图谱提出了基于深度知识感知网络(DKN)的新闻推荐系统。DKN在基于内容的深度推荐框架下进行点击率预测。该网络的核心是一种多通道、词-实体校准(word-entity-aligned)的知识感知卷积神经网络(KCNN),融合了新闻的语义层和知识层表示。同时引入attention机制处理用户兴趣的多样性,动态的根据当前候选新闻整合用户历史新闻记录。
KEYWORDS:News recommendation; knowledge graph representation; deep neural networks; attention model

1. INTRODUCTION

新闻推荐系统很难拥有显著的效果,主要受到三个方面的问题限制。

  • 新闻有很强的时效性并且新闻间的相关性在很短时间内失效。

  • 用户对话题比较敏感,同时有特定的几个种类。根据多元化阅读历史动态的衡量用户的兴趣是新闻推荐系统的关键

  • 新闻语言高度浓缩并且主要由知识实体构成。如图1,通过知识实体可以将两条新闻进行连接,反映出新闻在知识层面的关联性。

新闻推荐系统:深度知识感知网络DKN

为了解决上述问题,在知识图谱方法的启发下,提出了DKN。
DKN在基于内容的深度推荐框架下进行点击率预测,每次将一条候选新闻和一个用户的点击历史作为输入,输出该用户点击此新闻的概率。对于一条输入的新闻,首先将文本中每个单词与知识图谱中的实体建立一一对应,并搜索相邻接的实体进而对新闻包含的信息进行了扩充。然后通过KCNN融合新闻的语义层和知识层的表示。同时引入attention机制处理用户兴趣的多样性,动态的根据当前候选新闻整合用户历史新闻记录,学习得到用户不同时期点击的权重。最后通过用户和候选新闻的embedding,采用深度神经网络进行点击率预测。

2. PRELIMINARIES

知识图谱embedding,基于卷积神经网络的句子重表示学习。

2.1 Knowledge Graph Embedding

典型的知识图谱包含数以百万计的实体-关系-实体三元组(h,r,t)。给定知识图谱中所有的三元组,知识图谱embedding的目标是学习每一个实体和关系的低维重表示向量,该表示需要保留原有知识图谱的结构信息。Translation-based知识图谱embedding方法主要有以下四种:

  • TransE 引入超平面wr,目标函数:

    fr(h,t)=h+rt22

  • TransH 目标函数:

fr(h,t)=h+rt22

其中h=hωrhwr,t=tωrtwr,且wr2=1

  • TransR 引入投影矩阵Mr目标函数:

fr(h,t)=hr+rtr22

其中hr=hMr,tr=tMr

  • TransD 引入投影向量rp,hp,tp代替投影矩阵Mr,目标函数:

fr(h,t)=h+rt22

其中h=rphp+I)h,t=rptp+I)t

训练损失函数:

L=(h,r,t)Δ(h,r,t)Δmax(0,fr(h,t)+γfr(h,t))

其中Δ,Δ表示正负实例,γ表示两种实例的阈值

2.2 CNN for Sentence Representation Learning

Kim CNN架构如图2:ω1:n表示长度为n的句子。w1:n=[w1w2wn]Rd×n表示句子的词嵌入矩阵。wiRd×1是第i个单词的嵌入。hRd×l是filter,l是窗口大小。

ci=f(hwi:i+l1+b)

c=[c1,c2,,cnl+1]

池化:
c~=max{c}=max{c1,c2,,cnl+1}

新闻推荐系统:深度知识感知网络DKN

3. PROBLEM FORMULATION

新闻推荐系统的公式化表述。用户i,点击历史记录t1i,t2i,,tNiitji表示被用户i点击的第j条新闻的标题。
每个标题t转化为一个单词序列,即t=[ω1,ω2,]。每个单词ω在知识图谱中可能会有一个实体e与之对应。
给定用户历史点击,将新闻标题中的单词和知识图谱中的实体进行对应,进一步预测用户i点击一个候选新闻tj 的概率。

4. DEEP KNOWLEDGE-AWARE NETWORK

DKN详细介绍:整体框架,知识提取,KCNN设计,attention机制。

4.1 DKN Framework

整体框架如图3示。候选新闻和用户点击的新闻作为输入。每条新闻都通过一个KCNN对其标题进行处理,产生相应的嵌入向量。引入attention机制获得最终的用户embedding。最后采用深度神经网络得到点击概率预测。

新闻推荐系统:深度知识感知网络DKN

4.2 Knowledge Distillation

1、从新闻内容中通过预先定义的知识图谱提取知识实体;
2、根据提取的知识实体构建知识图谱子图,包含新闻中提取的实体和相邻的实体。
3、根据提取的知识图谱子图,通过成熟的embedding方法进行实体重表示学习。

知识萃取过程如图4示:

新闻推荐系统:深度知识感知网络DKN

通过embedding方法得到的单点表示在实现中限制了推荐能力。这里拓展原有的方法添加实体的上下文关系进行embedding处理。实体e的上下文语境定义为它在知识图谱中相邻节点构成的集合:

context(e)={ei|(e,r,ei)G  or  (ei,r,e)G}

由于上下文语境实体和当前实体在语义和逻辑上有着紧密的联系,所以上下文语境的使用能够提高实体的可分辨能力。图5阐明了使用实例。通过计算上下文语境实体的平均得到上下文语境embedding:

e¯=1|context(e)|eicontext(e)ei

新闻推荐系统:深度知识感知网络DKN

4.3 Knowledge-aware CNN

t=w1:n=[w1,w2,,wn]表示长度为n的新闻标题t的行输入序列,w1:n表示标题的词嵌入矩阵,既可以是通过大规模语料库预先学习得到也可以随机初始化。为了将前面从知识图谱中学到的实体的embedding引入到网络中去,需要对实体嵌入进行转化映射到词向量空间中去。

g(e1:n)=[g(e1)g(e2)g(en)]

g(e¯1:n)=[g(e¯1)g(e¯2)g(e¯n)]

线性转换映射:
g(e)=Me

非线性转换映射:
g(e)=tanh(Me+b)

最终得到多通道输入矩阵:
W=[[w1g(e1)g(e¯1)][w2g(e2)g(e¯2)][eng(en)g(e¯n)]]Rd×n×3

通过卷积神经网络,经过卷积层和池化层进行学习,最终得到输入新闻标题t的重表示e(t)
cih=f(hWi:i+l1+b)

c~h=max{c1h,c2h,,cnl+1h}

e(t)=[c~h1c~h2c~hm]

4.4 Attention-based User Interest Extraction

给定用户的点击历史{t1i,t2i,,tNii} ,被点击的新闻embeddings可以表示为{e(t1i),e(t2i),,e(tNii)} 。用户i当前候选新闻tj,可以简单表示为:

e(i)=1Nik=1Nie(tki)

为了区分用户点击历史中不同新闻对当前新闻的影响,引入attention机制,网络结构如图3示。通过softmax函数得到归一化的权重。

stki,tj=softmax(H(e(tki),e(tj)))=exp(H(e(tki),e(tj)))k=1Niexp(H(e(tki),e(tj)))

用户i的embedding:

e(i)=k=1Nistki,tje(tki)

通过另一个深度神经网络得到用户i点击新闻tj的概率:
pi,tj=G(e(i),e(tj))

5 EXPERIMENTS

新闻推荐系统:深度知识感知网络DKN

Baselines: LibFM,KPCNN,DSSM,DeepWide,DeepFM,YouTubeNet,DMF

新闻推荐系统:深度知识感知网络DKN

新闻推荐系统:深度知识感知网络DKN


[1]: Wang H, Zhang F, Xie X, et al. DKN: Deep Knowledge-Aware Network for News Recommendation[J]. arXiv preprint arXiv:1801.08284, 2018.