Neural News Recommendation with Attentive Multi-View Learning论文阅读笔记
这篇也是比较老但是比较经典的文章,来读一下
Abstract
现有的新闻推荐方法通常基于单一的新闻信息(如标题)来学习这些表征,这可能是不够的。在本文中,我们提出了一种神经新闻推荐方法,它可以通过利用不同种类的新闻信息来学习用户和新闻的信息表征。我们方法的核心是新闻编码器和用户编码器。在新闻编码器中,我们提出了一个贴心的多视角学习模型,通过将标题、正文和主题类别视为新闻的不同视角,从它们中学习统一的新闻表征。 此外,我们在新闻编码器中应用了单词级和视图级关注机制,以选择重要的单词和视图来学习信息丰富的新闻表征。在用户编码器中,我们根据用户浏览的新闻来学习用户表征,并应用注意力机制来为用户表征学习选择有信息量的新闻。
Introduction
我们的工作源于以下几点。首先,一篇新闻文章通常包含不同种类的信息,如标题、正文和主题类别,这些信息对表现新闻都很有用。例如,在图 1 中,第一条新闻的标题表明它是关于一位棒球明星和一支球队之间的交易,而正文则可以提供这笔交易的更详细信息。此外,这则新闻的主题类别也很有参考价值,因为如果用户点击了这则新闻和许多其他相同类别的新闻文章,那么我们就可以推断出她对体育非常感兴趣。因此,纳入不同种类的新闻信息有可能改善新闻推荐中的新闻和用户表征。
其次,不同种类的新闻信息具有不同的特点。例如,标题通常非常简短精炼,而正文则要长很多,内容也更详细。主题类别通常是字数很少的标签。因此,对不同类型的新闻信息应进行不同的处理。
第三,不同的新闻信息可能具有不同的信息量。例如,图 1 中第一条新闻的标题很准确,对表现这条新闻很重要,而第二条新闻的标题则简短、模糊,信息量较小。此外,同一新闻中的不同词语可能具有不同的重要性。例如,在图 1 中,"outfileder "在表示第一条新闻时比 "familiar "更重要。此外,同一用户浏览的不同新闻对于学习用户表征的信息量也可能不同。例如,如果用户浏览了一条非常热门的 "超级碗 "新闻和一条不太热门的 "国际数学奥林匹克 "新闻,那么第二条新闻可能比第一条新闻对推断其兴趣更有参考价值。
在本文中,我们提出了一种具有注意多视图学习(NAML)的神经新闻推荐方法,通过利用不同类型的新闻信息来学习信息性新闻和用户表征。我们的方法包含两个核心部分,即新闻编码器和用户编码器。
在新闻编码器中,我们提出了一个注意力的多视图学习框架,通过将标题、正文和类别作为新闻的不同视角来学习统一的新闻表征。此外,由于不同的单词和视图对新闻表征的信息量可能不同,我们应用单词级和视图级注意力网络来选择重要的单词和视图,以学习信息量丰富的新闻表征。
在用户编码器中,我们从用户点击新闻的表征中学习用户的表征。由于不同的新闻对用户表征的信息量也可能不同,我们将注意力机制应用到新闻编码器中,为用户表征学习选择有信息量的新闻。
Method
在本节中,我们将介绍用于神经新闻推荐的 NAML 方法。我们的方法有三个主要模块,即具有多视角学习功能的新闻编码器,用于学习新闻表征;具有注意力机制的用户编码器,用于从用户浏览的新闻中学习用户表征;以及点击预测器,用于预测用户浏览候选新闻文章的概率。我们的方法架构如图所示。
新闻编码器
新闻编码器模块用于从标题、正文和主题类别等不同类型的新闻信息中学习新闻表征。由于不同种类的新闻信息具有不同的特点,我们提出了一种注意力的多视图学习框架,通过将每种新闻信息视为特定的新闻视角来学习统一的新闻表征,而不是简单地将它们合并为一个长文本进行新闻表征。如图 2 所示,新闻编码器由四个主要部分组成。
标题编码器
用于从标题中学习新闻表述。标题编码器共有三层。
词嵌入
用于将新闻标题从词序列转换为低维语义向量序列。将新闻标题的词序列表示为\([w_1^t,w_2^t,...,w_M^t]\),其中 M 是该标题的长度。通过词嵌入查找表 We ∈ RV ×D,其中 V 和 D 分别为词汇大小和词嵌入维度,将其转换为词向量序列\([\mathbf{e}_1^t,\mathbf{e}_2^t,...,\mathbf{e}_M^t]\)。
卷积神经网络
新闻标题中单词的局部语境对于学习其表征非常重要。因此,我们使用 CNN 来学习上下文单词表征,方法是捕捉它们的局部语境。表示第i个单词的上下文代表表示为\(c_i^t\),计算方法为:
\(\mathbf{c}_i^t=\mathrm{ReLU}(\mathbf{F}_t\times\mathbf{e}_{(i-K):(i+K)}^t+\mathbf{b}_t),\)
其中,\(\mathbf{e}_{(i-K):(i+K)}^t\)是位置 (i - K) 到 (i + K) 的词嵌入的连接。\(\mathbf{F}_t\in\mathcal{R}^{N_f\times(2K+1)D}\)和\(b_t\in \mathcal{R}^{N_f}\)是 CNN 滤波器的内核参数和偏置参数。Nf 是 CNN滤波器的数量,2K + 1 是其窗口大小。这一层的输出是一系列的上下文词表示:\([\mathbf{c}_1^t,\mathbf{c}_2^t,...,\mathbf{c}_M^t].\)
词级别的注意力网络
在学习新闻表征时,同一新闻标题中的不同词语通常具有不同的信息量。例如,在新闻标题 "火箭队以一场胜利结束 2018 年 "中,"Rockets"(火箭队)一词比 "With"(随着)一词在表征这条新闻时信息量更大。因此,识别不同新标题中的重要单词有可能学习到信息量更大的新闻表征。我们建议使用单词级注意力网络来选择每个新闻标题上下文中的重要单词。将新闻标题中第 i 个词的注意力权重记为\(\alpha_i^t\),其公式为:
\(\begin{aligned} &a_{i}^{t} =\mathbf{q}_t^T\tanh(\mathbf{V}_t\times\mathbf{c}_i^t+\mathbf{v}_t), \\ &\alpha_i^t =\frac{\exp(a_i^t)}{\sum_{j=1}^M\exp(a_j^t)}, \end{aligned}\)
新闻标题的最终表征是其单词的上下文表征的总和,并根据其注意力权重进行加权:\(\mathbf{r}^t=\sum_{j=1}^M\alpha_j^t\mathbf{c}_j^t.\)。
正文编码器
跟标题编码器一样分为三层,这三层跟标题编码器的三层几乎一样,这里就不多解释了。
类别编码器
用于从它们的类别中学习新闻表示。我们提出在新闻表征学习中同时纳入类别和子类别信息。类别编码器的输入是类别的 ID \(v_c\)和子类别的 ID \(v_{sc}\)。类别编码器有两层。
第一层是类别 ID 嵌入层。它将类别和子类别的离散 ID 转换为低维密集表示(分别表示为\(e^c\)和 \(e^{sc}\))。第二层是密集层。它通过将类别嵌入转化为以下方式来学习隐藏的类别表示:
\(\mathbf{r}^{c}=\mathrm{ReLU}(\mathbf{V}_c\times\mathbf{e}^c+\mathbf{v}_c),\\\mathbf{r}^{sc}=\mathrm{ReLU}(\mathbf{V}_s\times\mathbf{e}^{sc}+\mathbf{v}_s),\)
注意力池化
不同种类的新闻信息对于学习不同新闻的表示可能具有不同的信息量。例如,在图 1 中,第一条新闻的标题准确且包含丰富的信息。因此,它在表示这则新闻时应具有较高的权重。然而,第二条新闻的标题简短而模糊。因此,在表示这则新闻时,正文和主题类别的权重应高于标题。受这些观察结果的启发,我们提出了一种视图级注意力网络来模拟不同类型新闻信息的信息量,以用于学习新闻表征。标题、正文、类别和子类别的注意力权重分别记为\(\alpha_t,\alpha_b,\alpha_c\mathrm{~and~}\alpha_{sc}\)。标题视图的注意力权重计算公式为:
\(\begin{aligned}&a_{t}=\mathbf{q}_v^T\tanh(\mathbf{U}_v\times\mathbf{r}^t+\mathbf{u}_v),\\&\alpha_{t}=\frac{\exp(a_t)}{\exp(a_t)+\exp(a_b)+\exp(a_c)+\exp(a_{sc})},\end{aligned}\)
新闻编码器模块学习到的最终统一新闻表征是来自不同视图的新闻表征按其注意力权重加权后的总和:
\(\mathbf{r}=\alpha_c\mathbf{r}^c+\alpha_{sc}\mathbf{r}^{sc}+\alpha_t\mathbf{r}^t+\alpha_b\mathbf{r}^b.\)
在我们的 NAML 方法中,新闻编码器模块用于学习用户浏览过的历史新闻和待推荐的候选新闻的表征。
用户编码器
我们的方法中的用户编码器模块用于从用户浏览新闻的表征中学习用户表征。同一用户浏览的不同新闻对该用户而言具有不同的信息量。因此,在用户编码器模块中,我们应用了新闻关注网络,通过选择重要新闻来学习更多的用户表征信息。我们将用户浏览的第 i 条新闻的注意力权重记为\(\alpha_i^n\),计算公式如下:
\(\begin{aligned} &a_i^n =\mathbf{q}_n^T\tanh(\mathbf{W}_n\times\mathbf{r}_i+\mathbf{b}_n), \\ &\alpha_i^n =\frac{\exp(a_i^n)}{\sum_{j=1}^N\exp(a_j^n)}, \end{aligned}\)
用户的最终表征是该用户浏览过的新闻表征按其关注权重加权后的总和:
\(\mathbf{u}=\sum_{i=1}^N\alpha_i^n\mathbf{r}_i,\)
剩下的点击预测和模型训练都是比较经典的,就不重复说明了。
总结
这篇文章还是非常清晰的,这里贴一下原文的conclusion
在本文中,我们提出了一种具有注意多视角学习(NAML)的神经新闻推荐方法。我们的方法的核心是一个新闻编码器和一个用户编码器。在新闻编码器中,我们提出了一个多视图学习框架,通过将标题、正文和类别作为不同的新闻视图来学习统一的新闻表示。我们还将注意机制应用于新闻编码器,以选择重要的单词和观点来学习信息性的新闻表示。在用户编码器中,我们从用户浏览的新闻中学习用户的表示,并应用新闻注意网络来选择重要的新闻来学习信息丰富的用户表示。
标签:编码器,mathbf,新闻,论文,NAML,用户,笔记,学习,表征 From: https://www.cnblogs.com/anewpro-techshare/p/18279694