Wu, C. , Wu, F., An, M., Huang, J., Huang, Y., & Xie, X. (2019). Neural news recommendation with attentive multi-view learning. IJCAI.✅
Wang, H. , Zhang, F., Xie, X., & Guo, M. (2018). DKN: Deep knowledge-aware network for news recommendation. In Proceedings of the 2018 world wide web conference.✅
在当今信息爆炸的时代,如何从海量新闻中为用户精准推荐感兴趣的内容,是一个重要而富有挑战性的问题。本文将为您详细介绍一种先进的新闻推荐模型 – NPA(Neural News Recommendation with Personalized Attention),即基于个性化注意力的神经新闻推荐模型。
NPA模型概述
NPA模型是一种基于内容的新闻推荐方法,由微软研究院于2019年提出。其核心思想是通过深度学习技术,同时建模新闻内容和用户兴趣,并引入个性化注意力机制来捕捉不同用户的兴趣差异。
NPA模型的主要特点包括:
下面我们将深入剖析NPA模型的各个组成部分。
新闻表示模块
新闻表示模块的目标是将新闻内容转化为低维稠密向量。NPA模型主要利用新闻标题来学习新闻表示,具体步骤如下:
CNN的使用使得模型能够捕捉词序信息和短语级别的语义。相比RNN,CNN的并行性更好,训练速度更快。
用户表示模块
用户表示模块的目标是基于用户的历史行为,学习用户的兴趣表示。NPA模型的做法是:
注意力机制的引入使得模型能够区分不同历史新闻的重要性,从而更精准地刻画用户兴趣。
个性化注意力机制
NPA模型的一大创新是引入了两级个性化注意力机制:
词级别个性化注意力
在新闻表示模块中,对新闻标题的每个词赋予不同的注意力权重。关键是这个注意力权重不仅与词本身有关,还与用户向量相关。具体计算公式如下:
$$a_i = softmax(v^T tanh(W_1 e_i + W_2 u))$$
其中$e_i$是第i个词的词向量,$u$是用户向量,$W_1,W_2,v$是可学习的参数。
这样不同用户对同一篇新闻的同一个词会有不同的注意力分配,体现了个性化。
新闻级别个性化注意力
在用户表示模块中,对用户历史点击的每篇新闻赋予不同的注意力权重。同样地,这个权重也是个性化的:
$$\beta_j = softmax(v’^T tanh(W_3 d_j + W_4 u))$$
其中$d_j$是第j篇新闻的向量表示,$u$是用户向量,$W_3,W_4,v’$是可学习的参数。
通过这两级注意力机制,NPA模型能够更好地捕捉用户的个性化兴趣。
模型训练
NPA模型采用负采样的方式进行训练。对于每个正样本(用户点击的新闻),随机采样若干负样本(用户未点击的新闻)。模型的目标是最大化正样本的预测概率,同时最小化负样本的预测概率。
损失函数采用交叉熵:
$$L = -\frac{1}{N}\sum_{(u,d^+,d^-)\in \mathcal{S}} log(\sigma(\hat{y}{u,d^+})) + \sum{d^-\in\mathcal{D}^-}log(1-\sigma(\hat{y}_{u,d^-}))$$
其中$\hat{y}_{u,d}$是模型对用户$u$和新闻$d$的匹配度预测。
实验结果
研究者在MIND数据集上进行了大量实验,验证了NPA模型的有效性。主要结果包括:
下面是在MIND-demo数据集上的部分实验结果:
总结与展望
NPA模型通过深度学习和个性化注意力机制,有效地解决了新闻推荐中的关键问题。其主要优势包括:
未来的研究方向可能包括:
总的来说,NPA模型为个性化新闻推荐提供了一个强大而灵活的框架,具有广阔的应用前景。
参考文献