Attention-Based Graph Neural Network for News Recommendation论文阅读笔记
Abstract
存在的问题:
用户的历史点击序列信息对用户兴趣的影响也不尽相同,简单地将它们结合起来并不能反映这种差异。
提出方法:
我们提出了一种基于注意力的图神经网络新闻推荐模型。在我们的模型中,多通道卷积神经网络用于生成新闻表征,循环神经网络用于提取用户点击的新闻序列信息。用户、新闻和主题被建模为异构图中的三种节点,它们之间的关系被建模为边。图神经网络可有效提取异构图中的结构信息,帮助解决数据稀疏的问题。考虑到不同信息对推荐结果的不同影响,我们利用注意力机制对这些信息进行了独特的融合。
Introduction
再次强调存在的问题:
首先,如果没有大量的用户交互数据,这些方法很难引起用户的兴趣。其次,用户在线阅读的新闻通常与特定主题相关。 因此,将话题信息与用户历史点击信息整合起来作为用户兴趣表征是非常必要的。 然而,这些模型通常将用户的历史点击序列信息作为用户兴趣表达的模型,而忽略了用户的新闻主题信息。因此,这些方法忽略了丰富的主题结构信息。
为了解决新闻推荐过程中的上述问题,本文提出了一种基于注意力的图神经网络新闻推荐模型,简称 AGNN。其主要贡献概述如下:
- 基于注意力的多通道 CNN 用于生成相应的新闻向量。改进的 LSTM 用于提取用户点击新闻的历史记录。
- 为了提取丰富的信息,我们绘制了用户-新闻-话题异构图。同时,我们还在图中融合了用户的邻居信息,即新闻和话题,以缓解数据稀疏问题。然后,通过关注机制将这些信息与用户点击的新闻进行整合。
Method
在本节中,我们将首先介绍所提出的 AGNN 框架,然后解释其细节,包括:新闻表征学习、序列特征学习和用户兴趣学习: 新闻表征学习、序列特征学习和用户兴趣学习。
AGNN的概览
图 1 显示了 AGNN 的框架。首先,NPL 结合实体和相应的实体类型作为新闻内容的表示。它将结果和新闻标题分别传递给基于注意力的多通道卷积神经网络,以获得相应的嵌入表示。其次,CLSTM 提取用户序列信息,HANN 从用户-新闻-主题图中学习结构特征。最后,这些信息将与自适应权重融合。
NPL:新闻表示学习
这里我们就是获取新闻标题的嵌入T,实体的嵌入E,和实体类型的嵌入C。然后因为新闻的实体和实体类型之间存在一些对应关系,我们结合这两个嵌入数据,结合后为J,来表示新闻内容信息,
然后,我们通过多通道 CNN 提取特征。 每个 CNN 都包括一个卷积层和一个池化层。 在卷积层中,新闻标题和新闻内容分别通过两个具有不同权重参数的基于注意力的异构 CNN,并获取相应的特征图。
CLSTM:序列特征学习
作为对 RNN 的改进,LSTM 可以有效提取序列信息。标准的 LSTM 包含三个门,分别对应于遗忘、选择记忆和输出三个阶段。然而,LSTM 在处理不连续输入流时存在明显缺陷。
在序列处理中,如果没有复位,状态可能会无限增长,最终导致网络崩溃。 一种新颖的方法是使用自适应 "遗忘门 "函数,使 LSTM 单元能在适当的时候复位。在 中,他们在 LSTM 的基础上增加了单元状态,这在一定程度上提高了序列特征提取的性能。在本文中,我们使用这种改进的 LSTM 进行序列特征提取。
HANN:用户兴趣建模
受深度学习领域分类方法的影响,我们构建了一个异构主题 GNN 来学习用户、新闻和主题之间的表征。异构图的节点集包括用户节点集,新闻节点集和主题节点集。我们建立边缘集的方法如下:每次用户 i 点击新闻 n,我们就在该用户和新闻之间建立一条边缘。最后,我们通过 LDA 模型建立新闻 n 和话题 t 之间的边集。
首先,我们聚合邻居节点,并将不同类型的邻居节点映射到同一空间。然后,我们通过 GNN 更新中心节点。生成节点嵌入的具体步骤如下:
\(E_u=\mathrm{Relu}(\mathbf{W}*(\mathrm{Mean}(\mathbf{M}\boldsymbol{E}_u))+\boldsymbol{b})\)
我们可以用非常相似的方式获得主题嵌入\(E_t\)。然后,我们对这两个嵌入向量进行了归一化和组合:
\(E_N=\frac1{|V_u|}\Sigma_{u\in V_u}W_uE_u+\frac1{|V_t|}\Sigma_{t\in V_t}W_tE_t\)
然后,通过邻居节点嵌入对候选新闻嵌入进行更新:
\(E=\mathrm{Relu}(W_rE_N+b_r)\)
同时,考虑到用户的点击序列对用户兴趣的反映不同,我们利用注意力机制将这一信息添加到用户的兴趣表征中。给定用户、交互历史序列和候选新闻,我们使用以下关注机制来区分用户历史点击的影响。
\[\begin{aligned} &\boldsymbol{h}_j^i=\mathrm{tanh}(\boldsymbol{W}_\delta\boldsymbol{c}_j^i+\boldsymbol{b}_\delta) \\ &\boldsymbol{h}_Q^i=\tanh(\boldsymbol{W}_\varepsilon\boldsymbol{c}_Q^i+\boldsymbol{b}_\varepsilon) \\ &\mathcal{H}_{j,Q}=\frac{exp(v^T(h_j^i+h_Q^i))}{\sum_jexp(v^T(h_j^i+h_Q^i))} \\ &u^i=\sum_j\mathcal{H}_{j,Q}c_j^i \end{aligned} \] \(u_i\)表示用户当前的兴趣向量,\(\mathcal{H}_{j,Q}\)反映了用户点击序列对用户当前兴趣的影响
不同方面的信息对用户兴趣有不同的影响。我们使用自我关注机制来融合从不同层面提取的信息,并得到最终的嵌入信息 F。
预测
这里不是传统的预测,而是使用了一个神经网络来进行预测,F表示用户的兴趣,E表示候选的新闻嵌入:
\(\check{\mathbf{y}}=\mathrm{DNet}(\boldsymbol{F};\check{\boldsymbol{E}})\)
训练
训练时用的是比较常见的做法,这里就不展开讲了
\(L=-\{\sum_{X\in\triangle^+}ylog\breve{y}+\sum_{X\in\triangle^-}(1-y)\mathrm{log}(1-\breve{y})\}\)
总结
最后来整理一下,整体看来这篇文章还是描述的比较清晰的,首先是使用MCNN进行相关新闻表示的学习,学习之后经过一层注意力层。然后是采用CLSTM对用户的历史新闻交互序列进行新闻特征的学习,对候选新闻,使用HANN和用户交互的历史新闻作为输入进行学习,然后再将获取到的候选新闻的表示与获得的用户交互的历史新闻的表示一起再经过一层注意力层,这样就获取到了最终的用户表示。
标签:论文,新闻,boldsymbol,AGNN,用户,笔记,嵌入,信息,序列 From: https://www.cnblogs.com/anewpro-techshare/p/18281282