天天看点

知识图谱论文阅读(七)DKN:用于新闻推荐的深度知识感知网络

摘要:

  • 背景:

    新闻语言是高度浓缩的,充满了知识实体和常识。然而,现有的方法并没有意识到一些外在的知识,也不能充分发现新闻之间潜在的知识层面的联系。因此,推荐给用户的结果仅限于简单的模式,不能进行合理的扩展。此外,新闻推荐还面临着新闻高时效性和用户兴趣动态多样性的挑战。

  • 提出:

    为了解决上述问题,本文提出了一种将知识图谱表示融合到新闻推荐中的深度知识感知网络(DKN)。DKN是一个基于内容的深度推荐框架,用于预测点击率。DKN的关键组件是一个 multi-channel and word-entity-aligned 的知识感知卷积神经网络(KCNN),它融合了新闻的语义级和知识级表示(和外在的实体作为对应)。KCNN将单词和实体视为多个通道,并在卷积过程中明确保持它们的对齐关系。此外,为了解决用户的多样化兴趣,我们还在DKN中设计了一个attention模块,可以根据当前候选新闻动态聚合用户的历史。

  • 通过在一个真实的在线新闻平台上的大量实验,我们证明了DKN在最先进的深度推荐模型上取得了实质性的收益。我们还验证了在DKN中使用知识的有效性。

关键字: 新闻推荐;知识图表示;深层神经网络;注意模式

introduction

  • 难点:

    一、 新闻文章有高度的时间敏感性,相关性在很短时间失效,过时的新闻被更新的新闻所取代。因此基于用户的方法有效性降低(协同过滤 CF)

    二、人们通常对多个话题感兴趣,而且往往是特定的领域。 因此要根据用户对当前候选新闻的多样化阅读历史动态衡量用户的兴趣

    三、新闻语言通常是高度浓缩的,由大量的知识实体和常识组成。

    知识图谱论文阅读(七)DKN:用于新闻推荐的深度知识感知网络
    可以看到上图中,一个新闻名字包含有多个实体,我们可以根据实体的类别进行语义层面的联系。 而传统的语义模型和主体模型只能基于词的共现或者是聚类结构来发现它们之间的关联,很难发现它们之间潜在的知识层面联系。
  • 现在的方法:

    为了提取新闻之间的深层逻辑联系,可以引入额外的知识图谱信息。 知识图谱是节点对应实体,而边对应关系的有向异构图。 最近,研究者提出了一些学术知识图, 比如NELL和DBpedia、谷歌知识图和微软的Satori,这些被用于机器阅读、文本分类和单词嵌入等场景。

  • 我们的方法:

    基于外部知识进行新闻推荐的新框架, 即DKN,即深度知识感知网络(deep knowledge aware network, DKN)。与基于cf的方法不同,DKN是一种基于内容的点击率预测模型,以一条候选新闻和一个用户的点击历史作为输入,输出用户点击该新闻的概率。

  • 具体而言:

    对于一条输入新闻,我们首先通过将新闻内容中的每个单词与知识图中的相关实体相关联来丰富其信息。我们还搜索和使用每个实体(即它在知识图中的直接邻居)的上下文实体集,以提供更多的互补和可区分的信息。然后我们设计了DKN中的一个关键组件,即知识感知卷积神经网络(knowledge-aware convolutional neural networks, KCNN),将新闻的词级表示和知识级表示进行融合,生成知识感知的嵌入向量。与现有的作品[46]不同,KCNN是:1)多通道,它将新闻的词嵌入、实体嵌入和上下文实体嵌入视为像彩色图像一样的多个堆叠通道;2)词实体对齐(word-entity-aligned),通过多个通道对词及其关联实体进行对齐,并利用transformers消除词嵌入空间和实体嵌入空间的异质性。

预赛

在本节中,我们提出了几个与这项工作相关的概念和模型,包括知识图嵌入和用于句子表示学习的卷积神经网络。

2.1知识图嵌入

一个典型的知识图由数以百万计的实体-关系三元组(h,r,t)组成,其中h,r和t分别代表三元组的头部、关系和尾部。

输入: 给定知识图中的所有三元组

输出: 知识图嵌入的目标是学习每个实体和关系的低维表示向量,该表示向量保留了原始知识图的结构信息。

TransE、TransH、TransR、TransD; 可以自己去查查资料,或者我的装载里也有!

为了鼓励正确三元组和不正确三元组之间的区分,对于上述所有方法,都使用了以下 margin-based的排名损失进行训练:

知识图谱论文阅读(七)DKN:用于新闻推荐的深度知识感知网络

其中 γ \gamma γ是边界值,而 Δ \Delta Δ 和 Δ ′ \Delta{'} Δ′ 是正确三元组和不正确三元组的集合。

2.2 CNN用于句子表征学习

传统的方法通常采用词袋(BOW)技术来表示句子,即将单词计数统计作为句子的特征。然而缺点是显而易见的! 没有语序,有稀疏性问题,泛化能力差。而更有效的建模句子的方法是给语料库中的每个句子表示为一个分布式的低维向量!

使用CNN-based模型用在NLP中是很可以的! 回忆Kim-CNN!

  • 输入: 一个单词矩阵 w i : n w_{i:n} wi:n​
  • 输出: 提取的特征 c i c_i ci​

第一步: 卷积

其中 w i : n = [ w 1 w 2 w 3 . . . w n ] ∈ R d × 1 w_{i:n} = [w_1 w_2 w_3... w_n] \in{\mathbb{R}^{{d} \times {1}} } wi:n​=[w1​w2​w3​...wn​]∈Rd×1 是整个句子!

我们采用卷积核 h ∈ R d × 1 {h}\in{\mathbb{R}^{{d} \times {1} }} h∈Rd×1操作在输入矩阵上! 其中 l ( l ≤ n ) l(l\le n) l(l≤n)就是window 大小!

知识图谱论文阅读(七)DKN:用于新闻推荐的深度知识感知网络

其中 c i c_i ci​由子矩阵 w i : i + l − 1 w_{i:i+l-1} wi:i+l−1​生成! f f f是线性函数, ∗ * ∗是卷积操作, b ∈ R b\in\mathbb{R} b∈R是偏差。

第二步:聚合

将滤波器应用到词嵌入矩阵中的每个可能位置后,一个特征图被获得,

知识图谱论文阅读(七)DKN:用于新闻推荐的深度知识感知网络

然后在feature map c c c上使用max-over-time池操作来识别最重要的feature:

知识图谱论文阅读(七)DKN:用于新闻推荐的深度知识感知网络

可以使用多个过滤器(具有不同的窗口大小)来获得多个特征,然后将这些特征连接在一起,形成最后的句子表示。

3 问题公式化

本文将新闻推荐问题表述如下,给定一个在线新闻平台上的用户 i i i,我们将他的点击历史表述为 { t 1 i 、 t 2 i . . . t n i } \left \{ {t_1^i、t_2^i... t_n^i}\right \} {t1i​、t2i​...tni​},其中 t j i ( j = 1 , . . . . , N i ) t_j^i \left ( j = 1,...., N_i \right ) tji​(j=1,....,Ni​)是被第 i i i个用户点击的第 j j j个新闻,并且 N i N_i Ni​是用户 i i i的点击的新闻。每一个新闻标题 t t t是由一系列单词组成的,比如 t = [ w i , w 2 , . . . ] t = [w_i, w_2,...] t=[wi​,w2​,...],其中,每个单词 w w w可以与知识图中的实体 e e e相关联。

4. 深度的基于知识的网络

在本节中,我们将详细介绍所提出的DKN模型。首先介绍了DKN的总体框架,然后分别讨论了从知识图中提取知识的过程、知识感知卷积神经网络(KCNN)的设计和基于注意力的用户兴趣提取。

4.1 DKN框架

DKN的框架如图3所示。我们自下而上地介绍了DKN的体系结构。

知识图谱论文阅读(七)DKN:用于新闻推荐的深度知识感知网络

如图3所示,DKN将一条候选新闻和一条用户单击的新闻作为输入。对于每条新闻,都使用一个专门设计的KCNN来处理其标题并生成嵌入向量。我们将在4.2节详细介绍知识蒸馏的过程,在4.3节详细介绍KCNN模块。通过KCNN,我们得到一组用户点击历史的嵌入向量。为了得到用户对当前候选新闻的最终嵌入,我们使用一种基于attenion的方法,自动将候选新闻与用户的每条点击新闻进行匹配,并将用户的历史兴趣按不同权重进行聚合。基于注意的用户兴趣提取的详细内容见第4.4节。将候选新闻嵌入和用户嵌入连接起来并送入深度神经网络(DNN),计算用户点击候选新闻的预测概率。

4.2 Knowledge Distillation(在KCNN之前提取)

知识蒸馏的过程如图4所示,分为四个步骤。

知识图谱论文阅读(七)DKN:用于新闻推荐的深度知识感知网络

第一步: 消除实体歧义:

首先,为了区分新闻内容中的知识实体,我们利用实体链接技术(?????),通过将文本与知识图中的预定义实体关联来消除文本中提到的歧义。

第二步: 构造子图并形成关系链接

基于这些被识别的实体,我们构造一个子图,并从原始知识图中提取它们之间的所有关系链接。注意,被识别的实体之间的关系可能是稀疏的,缺乏多样性。因此,我们将知识子图扩展到one hop of identified ones的所有实体。

第三步: 实体表示学习

在提取出的知识图的基础上,可以利用TransE、TransH、TransR、TransD等多种知识图嵌入方法进行实体表示学习。

第四步:实体送入KCNN

在DKN框架中,将学习到的实体嵌入作为KCNN的输入。

需要注意的是,尽管最先进的知识图嵌入方法一般可以保留原始图中的结构信息,但我们发现,在后续推荐中使用的单个实体的学习嵌入信息仍然有限。为了帮助识别实体在知识图中的位置,我们提出为每个实体提取额外的上下文信息。实体e的“上下文”定义为知识图中其近邻的集合,即:

知识图谱论文阅读(七)DKN:用于新闻推荐的深度知识感知网络

其中r是一个关系,G是知识图。由于上下文实体通常在语义和逻辑上与当前实体密切相关,使用上下文可以提供更多的补充信息,并有助于提高实体的可识别性。图5演示了一个上下文示例。除了使用《搏击俱乐部》本身的嵌入来代表实体,我们还包括它的上下文,如“悬疑”(genre)、“布拉德·皮特”(actor)、“美国”(country)和“奥斯卡奖”(award),作为它的标识符。给定实体 e e e的上下文,将上下文嵌入计算为其上下文实体的平均值:

知识图谱论文阅读(七)DKN:用于新闻推荐的深度知识感知网络

其中 e i e_i ei​通过知识图嵌入获得的实体嵌入。在实验部分,我们用经验证明了context嵌入的有效性。

4.3 Knowledge-aware CNN(加入上下文嵌入)

我们使用 t = w 1 : n = [ w 1 , w 2 , … , w n ] t = w_{1:n}= [w_1,w_2,…,w_n] t=w1:n​=[w1​,w2​,…,wn​]表示长度为 n n n的新闻标题t的原始输入序列, w 1 : n = [ w 1 w 2 … w n ] ∈ R d × n w_{1:n}= [w_1 w_2 … w_n]∈{\mathbb{R}^{{d} \times {n}} } w1:n​=[w1​w2​…wn​]∈Rd×n表示标题的词嵌入矩阵,可以预先从大型语料库中学习,也可以随机初始化。

经过4.2节中介绍的知识提炼,每个词还可以与一个实体嵌入 e i ∈ R k × 1 {\mathbf{e}}_{i} \in \mathbb{R}^{k \times 1} ei​∈Rk×1和对应的上下文嵌入 e ‾ i ∈ R k × 1 \overline{\mathbf{e}}_{i} \in \mathbb{R}^{k \times 1} ei​∈Rk×1相关联,其中k为实体嵌入的维数。

根据上面的输入,组合单词和关联实体的一种简单方法是将实体视为“伪单词”,并将它们连接到单词序列,即:

知识图谱论文阅读(七)DKN:用于新闻推荐的深度知识感知网络

其中 e t j e_{t_{j}} etj​​是与新闻标题相关的实体嵌入集合。将得到的新句子 W W W输入CNN进行进一步处理。然而,我们认为这种简单的连接策略有以下局限性:1)连接策略打破了单词和关联实体之间的连接,并且不知道它们的对齐。2)单词嵌入和实体嵌入的学习方法不同,不适合在单个向量空间中进行卷积。3)连接策略隐式地迫使词嵌入和实体嵌入具有相同的维度,但在实际环境中可能不是最优的,因为词嵌入和实体嵌入的最优维度可能不同。

考虑到上述局限性,我们提出了多通道和词实体对齐的KCNN,用于结合词语义和知识信息。KCNN的架构如图3的左下方所示。每个新闻标题 t = [ w 1 , w 2 , … w n ] t= [w_1,w_2,…w_n] t=[w1​,w2​,…wn​]作为输入,我们还引入了transformed entity embeddings

知识图谱论文阅读(七)DKN:用于新闻推荐的深度知识感知网络

和transformed context embeddings:

知识图谱论文阅读(七)DKN:用于新闻推荐的深度知识感知网络

作为输入源, 其中 g g g为变换函数。在KCNN中, g g g可以是线性的:

知识图谱论文阅读(七)DKN:用于新闻推荐的深度知识感知网络

或者非线性

知识图谱论文阅读(七)DKN:用于新闻推荐的深度知识感知网络

其中 M ∈ R d × k \mathbf{M} \in \mathbb{R}^{d \times k} M∈Rd×k为可训练变换矩阵, b ∈ R d × 1 \mathbf{b} \in \mathbb{R}^{d \times 1} b∈Rd×1为可训练偏差。由于变换函数是连续的,它可以将实体嵌入和上下文嵌入从实体空间映射到词空间,同时保持它们原有的空间关系。注意,单词嵌入 w 1 : n w_{1:n} w1:n​,转换实体嵌入 g 1 : n g_{1:n} g1:n​和转换上下文嵌入 g ( e 1 ‾ : n ) g(\overline{e_1}:n) g(e1​​:n)大小相同,类似于彩色图像的多通道。因此,我们将三个嵌入矩阵排列和堆叠为:

知识图谱论文阅读(七)DKN:用于新闻推荐的深度知识感知网络

得到多通道输入W后,类似Kim CNN,我们使用有着不同的窗口大小 l l l的多个过滤器 h ∈ R d × 1 × 3 \mathbf{h} \in \mathbb{R}^{d \times 1 \times 3} h∈Rd×1×3来提取新闻标题中的特定local pattern。子矩阵 W i : i + l − 1 W_{i:i+l-1} Wi:i+l−1​相对于 h h h的局部激活可表示为

知识图谱论文阅读(七)DKN:用于新闻推荐的深度知识感知网络

我们在输出特征映射上使用max-over-time池操作来选择最大的特征:

知识图谱论文阅读(七)DKN:用于新闻推荐的深度知识感知网络

我们将所有特征 c ~ h i \tilde{c}^{h_{i}} c~hi​连接在一起,作为输入新闻标题t的最终表示,即:

知识图谱论文阅读(七)DKN:用于新闻推荐的深度知识感知网络

其中m是过滤器的数量

4.4 基于注意的用户兴趣提取

给定用户 i i i点击历史 { t 1 i 、 t 2 i . . . t n i } \left \{ {t_1^i、t_2^i... t_n^i}\right \} {t1i​、t2i​...tni​}他的点击新闻的嵌入可以写 e ( t 1 i ) , e ( t 2 i ) , … , e ( t N i i ) \mathbf{e}\left(t_{1}^{i}\right), \mathbf{e}\left(t_{2}^{i}\right), \ldots, \mathbf{e}\left(t_{N_{i}}^{i}\right) e(t1i​),e(t2i​),…,e(tNi​i​)。要表示用户 i i i代表当前候选新闻 t j t_j tj​,可以简单地计算出用户点击新闻标题的所有嵌入量:

知识图谱论文阅读(七)DKN:用于新闻推荐的深度知识感知网络

但是,正如引言中所讨论的,用户对新闻话题的兴趣可能是多种多样的,当考虑用户i是否会点击tj时,用户i所点击的条目应该会对候选新闻tj产生不同的影响。为了表征用户的多样化兴趣,我们使用注意力网络[47,54]来模拟用户点击新闻对候选新闻的不同影响。注意网络如图3的左上方所示。具体来说,对于useri的点击newsti和候选newstj,我们首先将它们的嵌入连接起来,然后使用DNN H作为注意网络,并使用softmax函数计算归一化冲击权值:

知识图谱论文阅读(七)DKN:用于新闻推荐的深度知识感知网络

注意网络H接收两个新闻标题的嵌入作为输入,输出影响权重。因此,用户i对候选新闻tj的嵌入可以计算为其点击新闻标题嵌入的加权和:

知识图谱论文阅读(七)DKN:用于新闻推荐的深度知识感知网络

最后,给定useri的embedding (i)和候选newstj的embedding (e(tj)),则另一个DNN G预测的用户i点击新闻tjis的概率为:

知识图谱论文阅读(七)DKN:用于新闻推荐的深度知识感知网络

5 实验

在本节中,我们将展示我们的实验和相应的结果,包括数据集分析和模型比较。并以用户的阅读兴趣为例,对超参数的调优进行了讨论。

5.1数据集描述

我们的数据集来自Bing新闻的服务器日志。每条日志主要包含timestamp、用户id、新闻url、新闻标题和点击次数(0表示没有点击,1表示点击)。我们收集2016年10月16日至2017年6月11日的随机采样均衡数据集作为训练集,2017年6月12日至2017年8月11日的测试集作为测试集。此外,我们搜索数据集中所有发生的实体以及微软Satori知识图中它们的周围一跳(one hop)的实体,并提取其中所有置信度大于0.8的边(三重)。新闻数据集和提取的知识图的基本统计和分布情况分别如表1和图6所示。

知识图谱论文阅读(七)DKN:用于新闻推荐的深度知识感知网络
知识图谱论文阅读(七)DKN:用于新闻推荐的深度知识感知网络

图6:新闻数据集和提取的知识图的统计分布示意图

图6a说明了新闻生命周期长度的分布,其中我们将一条新闻的生命周期定义为从其出版日期到最后一次收到点击的日期。我们观察到大约90%的新闻在两天内被点击,这证明了网络新闻的时效性非常强,被更新频率高的新闻所取代。图6b显示了用户点击新闻的数量分布。77.9%的用户点击不超过5条新闻,体现了新闻推荐场景中的数据稀疏性。

图6c和图6d分别说明了新闻标题中单词(不间断单词)和实体的数量分布。平均每个标题的单词数为7.9,实体数为3.7,这表明平均而言,新闻标题中几乎每两个单词中就有一个实体。实体出现的高密度也从经验上证明了KCNN的设计。

图6e和图6f分别给出了一个实体在新闻数据集中的出现次数分布和一个实体在抽取的知识图中的上下文实体数量分布。我们可以从这两个数据得出在线新闻的发生模式的实体是稀疏的,长尾(80.4%的实体发生不超过10倍),但实体通常有丰富的上下文知识图:每个实体上下文实体的平均数为42.5,最大的是140737。因此,上下文实体可以极大地丰富新闻推荐中单个实体的表现形式

5.2 Baselines

在我们的实验中,我们使用以下最先进的方法作为基线:

  • LibFM[37]是一种最先进的基于特征的因子分解模型,广泛应用于CTR场景。在本文中,LibFM每条新闻的输入特征由TF-IDF特征和平均实体嵌入两部分组成。我们将用户和候选新闻的特性连接到LibFM中。
  • KPCNN[46]将所包含的实体附加到新闻标题的词序列中,并使用Kim CNN学习新闻的表示,如4.3节所介绍的。
  • DSSM[18]是一个使用词哈希和多个全连接层进行文档排序的深度结构化语义模型。本文将用户点击的新闻作为查询,候选新闻作为文档。
  • DeepWide[7]是一个可供推荐的通用深度模型,它结合了(宽)线性通道和(深)非线性通道。类似于LibFM,我们使用连接的TF-IDF特征和平均实体嵌入作为输入馈送两个通道。
  • DeepFM[15]也是一个通用的深度推荐模型,它结合了分解机器组件和共享输入的深度神经网络组件。我们对DeepFM使用与LibFM相同的输入。
  • YouTubeNet[9]使用深度候选生成网络和深度排名网络推荐YouTube中大规模候选集的视频。在本文中,我们将深度搜索网络应用于新闻推荐场景。
  • DMF[50]是一种用于推荐系统的深度矩阵分解模型,它使用多个非线性层来处理用户和项目的原始评级向量。我们忽略新闻内容,将隐式反馈作为DMF的输入。

请注意,除了LibFM,其他基线都是基于深度神经网络的,因为我们的目标是将我们的方法与最先进的深度学习模型进行比较。此外,除了基于协同过滤的DMF外,其他基线都是基于内容的或混合的方法。

5.3实验设置

我们选择TransD[20]对知识图进行处理,学习实体嵌入,并在KCNN中使用Eq.(15)中的非线性变换函数。

词嵌入和实体嵌入的维度均设为100。

对于每个窗口大小1、2、3、4,过滤器的数量设置为100。

我们使用Adam[23]通过优化日志损失来训练DKN。

我们将分别在5.4节和5.6节中进一步研究DKN的变异和关键参数的灵敏度。

为了将DKN与基线进行比较,我们使用F1和AUC值作为评价指标。

基线的关键参数设置如下。KPCNN的词嵌入和实体嵌入的维度都设置为100。

对于DSSM,语义特征的维数设为100。对于DeepWide,深度和宽组件的最终表示都设置为100。

对于YouTubeNet,最后一层的尺寸设置为100。

对于LibFM和DeepFM,分解机的维度设置为{1,1,0}。

对于DMF,用户和项目的潜在表示维度设置为100。

以上设置是为了公平考虑。基线中的其他参数设置为默认值。每个实验重复5次,我们将平均偏差和最大偏差作为结果

5.4结果

在本节中,我们给出了不同模型的比较结果和DKN变量之间的比较结果。

5.4.1不同模型的比较

不同模型比较结果如表2所示。对于输入中包含实体嵌入的每个基线,我们还从输入中删除实体嵌入,以查看其性能如何变化(用“(-)”表示)。此外,我们在括号中列出基线相对于DKN的改进,并通过t检验计算统计学显著性的p值。从表2中可以看出以下几点:

知识图谱论文阅读(七)DKN:用于新闻推荐的深度知识感知网络
  • 实体嵌入的使用可以提高大多数基线的性能。例如KPCNN、DeepWide和YouTubeNet的AUC分别增长了1.1%、1.8%和1.1%。然而,DeepFM的改善就不那么明显了。我们尝试对DeepFM进行不同的参数设置,发现如果AUC下降到0.6左右,使用知识带来的改善可能高达0.5%。结果表明,基于fm的方法在新闻推荐中不能稳定地利用实体嵌入。
  • DMF在所有方法中表现最差。这是因为DMF是一种基于cf的方法,但新闻通常是高度时间敏感的,生命周期很短。结果证明了前面提到的CF方法在新闻推荐场景中不能很好地工作。•除了DMF,其他基于深度学习的基线在F1上的表现比LibFM高出2.0%至5.2%,在AUC上高出1.5%至4.5%,这表明深度模型在捕捉新闻数据中的非线性关系和依赖性方面是有效的。
  • 在新闻推荐场景中,DeepWide和YouTubeNet的架构相似,因此我们可以观察到两种方法的性能相当。DSSM的表现优于DeepWide和YouTubeNet,其原因可能是DSSM直接使用单词哈希对原始文本进行建模。
  • KPCNN在所有基线中表现最好。这是因为KPCNN使用CNN对输入文本进行处理,可以更好地提取句子中特定的局部模式。
  • 最后,与KPCNN相比,DKN的AUC仍可增加1.7%。我们将DKN的优越性归结于它的两个特性:1)DKN采用单词实体对齐的KCNN进行句子表示学习,能够更好地保持单词和实体之间的相关性;2) DKN利用注意力网络对用户的点击历史进行区别对待,更好地捕捉用户多样化的阅读兴趣。
    知识图谱论文阅读(七)DKN:用于新闻推荐的深度知识感知网络
    图7显示了DKN的AUC评分和额外10天测试的基线。我们可以观察到,DKN的曲线在10天内始终高于基线,这有力地证明了DKN的竞争力。此外,与基线相比,DKN的性能也具有较低的方差,说明DKN在实际应用中也具有鲁棒性和稳定性。

5.4.2 DKN变异株比较

进一步,我们从知识的使用、知识图嵌入方法的选择、变换函数的选择和注意网络的使用四个方面对DKN的变量进行比较,以证明DKN框架设计的有效性。结果如表3所示,从中我们可以得出结论:•使用实体嵌入和上下文嵌入可以分别提高AUC 1.3%和0.7%,结合使用可以获得更好的性能。这一发现证实了在DKN模型中使用知识图的有效性。

  • DKN+TransD优于其他组合。这可能是因为如2.1节所述,TransD是四种嵌入方法中最复杂的模型,能够更好地捕捉新闻推荐知识图之间的非线性关系。
  • 带映射的DKN优于不带映射的DKN,非线性函数优于线性函数。结果表明,变换函数可以通过自学习缓解词空间和实体空间之间的异质性,非线性函数可以获得更好的性能。
  • 对于DKN模型,关注网络带来了1.7%的F1增益和0.9%的AUC增益。我们将在下一小节中对注意力网络做一个更直观的演示。

5.5案例研究

为了直观地展示知识图和注意网络使用的有效性,我们随机抽取一个用户,从训练集和测试集中提取他的所有日志(为简单起见,省略标签为0的训练日志)。如表4所示,点击后的新闻清晰地展示了他的兴趣点:1-3号关注的是汽车,4-6号关注的是政治(类别不在原始数据集中,而是我们手动标记的)。我们利用整个训练数据训练具有完整特征的DKN和没有实体或上下文嵌入的DKN,然后将该用户的每一对可能的训练日志和测试日志分别输入到两个训练模型中,得到其注意网络的输出值。结果如图8所示,其中较深的蓝色表示较大的注意值。从图8我们观察到,在测试日志第一个冠军就高度重视价值观与“汽车”的培训日志,因为它们共享相同的词“特斯拉”,但结果第二标题不太满意,自第二次标题与任何共享没有明确word-similarity标题在训练集,包括1 - 3。这种情况与测试日志中的第三个标题类似。相比之下,在图8b中我们可以看到,注意力网络准确地捕捉到了“汽车”和“政治”这两个类别中的相关性。这是因为在知识图谱中,“通用汽车”和“福特公司”与“特斯拉公司”和“埃隆·马斯克”有着大量的关联,“杰·约翰逊”和“俄罗斯人”也与“唐纳德·特朗普”有着高度的关联。注意网络响应的差异也会影响最终的预测结果:有知识图的DKN(图8b)能准确预测所有的测试日志,而没有知识图的DKN(图8a)对第三个测试日志的预测不准确。

5.6参数的敏感性

DKN涉及许多超参数。在本小节中,我们将研究超参数的不同选择如何影响DKN的性能。在接下来的实验中,除了要测试的参数外,所有其他参数都按照5.3节中介绍的方法进行设置。

5.6.1词嵌入维数d,实体嵌入维数k

我们首先通过测试集合{20,50,100,200}中d和k的所有组合来研究单词嵌入的维数和实体嵌入的维数如何影响性能。结果如图9a所示,从图中我们可以看到,给定实体嵌入的维数k,性能最初是随着词嵌入维数的增加而提高的。这是因为在字嵌入中,更多的位元可以编码更多有用的字语义信息。然而,当d进一步增加时,性能会下降,因为a太大(例如d = 200)可能会引入噪声,从而误导后续的预测。当d已知时,k的情况与此类似。

5.6.2 滤波器的窗口大小和滤波器的数量m。

我们进一步研究了DKN模型中KCNN滤波器窗口大小和滤波器个数的选择。如图9b所示,给定窗口大小,AUC得分通常随着过滤器数量的增加而增加,因为更多的过滤器能够捕获更多输入句子中的局部模式,并增强模型的能力。然而,当m过大(m = 200)时,由于可能的过拟合,趋势发生变化。同样,我们可以观察到给定m的窗口大小也有类似的规则:小的窗口大小不能捕获句子中的长距离模式,而过大的窗口大小则容易导致噪声模式的过拟合。

6. 相关工作

6.1 新闻推荐

新闻推荐此前已被广泛研究。非个性化新闻推荐的目的是模拟新闻[31]之间的相关性或学习人类编辑的演示[47]。在个性化新闻推荐中,基于cf的方法[43]由于新闻条目被频繁替换,经常会遇到冷启动问题。因此,大量基于内容或混合方法被提出[2,24,29,36,41]。例如[36]提出了一种基于用户点击行为预测当前新闻兴趣的贝叶斯方法,[41]提出了一种基于位置的新闻推荐的显式本地化情感分析方法。最近,研究人员也尝试将其他特征结合到新闻推荐中,例如contextualbandit[27],主题模型[30],循环神经网络[34]。与之前的工作主要不同的是,我们使用知识图来提取新闻之间潜在的知识层次联系,以便更好地探索新闻推荐。

6.2知识图

知识图表示的目的是学习知识图中每个实体和关系的低维向量,同时保持原始的图结构。除了DKN中使用的基于平移的方法[5,20,28,48],研究人员还提出了许多其他模型,如结构化嵌入[6]、潜在因子模型[19]、神经张量网络[39]和语义匹配能量[4]。近年来,知识图也被应用于许多应用中,如电影推荐[52]、top n推荐[35],机器阅读[51],文本分类[46]、词嵌入[49],问答[11]。据我们所知,本文是第一个提出将知识图嵌入应用于新闻推荐的研究。

6.3深度推荐系统

最近,深度学习已经成为推荐系统的革命,并在许多推荐场景中取得了更好的性能。粗略地说,深度推荐系统可以分为两类:使用深度神经网络处理用户或商品的原始特征,或者使用深度神经网络模拟用户与商品之间的交互。除了上述的DSSM[18]、DeepWide[7]、DeepFM[15]、YouTubeNet[9]和DMF[50],其他流行的基于深度学习的推荐系统包括Collaborative Deep Learning[45]、Hybrid CF-SDAE[12]、Multi-view Deep Learning[13]和Neural Collaborative Filtering[16]。这些方法与我们的主要区别在于DKN专门从事新闻推荐,可以获得比其他通用深度推荐系统更好的性能。

7. 结论

在本文中,我们提出了DKN,一个利用知识图表示的深度知识感知网络在新闻推荐。DKN解决了新闻推荐面临的三大挑战:1)与基于id的协同过滤等方法不同,DKN是一种基于内容的深度模型,用于预测点击率,适用于时间敏感的新闻。2)为了利用新闻内容中的知识实体和常识,我们在DKN中设计了一个KCNN模块,共同学习新闻的语义级表示和知识级表示。单词和实体的多通道和对齐使KCNN能够结合来自异构源的信息,并保持每个单词不同嵌入的对应关系。3)为了模拟用户的不同历史兴趣对当前候选新闻的不同影响,DKN使用关注模块动态计算用户的聚合历史表示。我们在必应新闻的数据集上进行了广泛的实验。结果表明,与强基线相比,DKN具有显著的优势,并能有效地利用知识实体嵌入和注意模块。

继续阅读