论文《Neural News Recommendation with Attentive Multi-View Learning》阅读

  • 论文概况
  • Introduction
    • News Encoder Module
      • title encoder
      • body encoder
      • category encoder
      • attentive pooling
    • User Encoder
    • 预测层
  • 论文总结

论文概况

今天带来的论文是发表于 IJCAI 2019 的新闻推荐作品《Neural News Recommendation with Attentive Multi-View Learning》,论文聚焦于对新闻的标题、内容、分类等文字特征进行提取和交叉影响的建模,完成对最终新闻点击结果的预测。

文章提出模型 NAML,成为新闻推荐领域引用较多的作品之一。

Introduction

模型通过文字feature进行建模,遵照模型结构图可以看到,分为三部分,news encoder模块,user encoder模块以及预测模块。

News Encoder Module

news encoder用于提取每个新闻的交叉特征。

news encoder模块又分为四部分,category encoder,title encoder, body encoder以及注意力融合模块。

title encoder

对于news title,首先是 Embedding 层,新闻 title 包含 MMM 个单词,表示为 [w1t,w2t,⋯,wMt][w_{1}^t, w_{2}^t, \cdots, w_{M}^t][w1t,w2t,,wMt], 通过check-up table We∈RV×D\mathbf{W}_e \in \mathbb{R}^{V \times D}WeRV×DVVV 表示所有语料的单词数量, DDD 表示单词向量维度),将每个单词映射成词向量 [e1t,e2t,⋯,eMt][\mathbf{e}_{1}^t, \mathbf{e}_{2}^t, \cdots, \mathbf{e}_{M}^t][e1t,e2t,,eMt] ,任意单词 wmtw_{m}^{t}wmt 对应向量为 DDD维,即 emt∈RD\mathbf{e}_{m}^t \in \mathbb{R}^{D}emtRD

然后是 Convoluton 层,通过CNN完成,窗口大小为 2K+12K+12K+1 ,卷积核是 Ft∈RNf×(2K+1)D\mathbf{F}_{t} \in \mathbb{R}^{N_f \times (2K+1)D}FtRNf×(2K+1)Dbt∈RNf\mathbf{b}_{t} \in \mathbb{R}^{N_f}btRNf 表示偏置向量,对应映射维度为 NfN_fNf。具体如下所示:

cit=ReLU⁡(Ft×e(i−K):(i+K)t+bt).(1)\mathbf{c}_{i}^{t} =\operatorname{ReLU}\left(\mathbf{F}_{t} \times \mathbf{e}_{(i-K):(i+K)}^{t}+\mathbf{b}_{t}\right). \tag{1} cit=ReLU(Ft×e(iK):(i+K)t+bt).(1)

针对title中的每个单词,最终得到所有的单词向量,即 [c1t,c2t,⋯,cMt][\mathbf{c}_{1}^t, \mathbf{c}_{2}^t, \cdots, \mathbf{c}_{M}^t][c1t,c2t,,cMt]

再然后是 Word-level Attention 层, 获取每个单词的注意力,并进行加权求和表示,具体如下:

ait=qt⊤tanh⁡(Vt×cit+vt),(2)a_{i}^{t} =\mathbf{q}_{t}^{\top} \tanh \left(\mathbf{V}_{t} \times \mathbf{c}_{i}^{t}+\mathbf{v}_{t}\right), \tag{2} ait=qttanh(Vt×cit+vt),(2)

αit=exp⁡(ait)∑j=1Mexp⁡(ajt),(3)\alpha_{i}^{t} =\frac{\exp \left(a_{i}^{t}\right)}{\sum_{j=1}^{M} \exp \left(a_{j}^{t}\right)}, \tag{3} αit=j=1Mexp(ajt)exp(ait),(3)

rt=∑j=1Mαjtcjt.(4)\mathbf{r}^{t}=\sum_{j=1}^{M} \alpha_{j}^{t} \mathbf{c}_{j}^{t}. \tag{4} rt=j=1Mαjtcjt.(4)

其中, Vt,vt,qt\mathbf{V}_t, \mathbf{v}_t, \mathbf{q}_tVt,vt,qt 分别表示映射矩阵,偏置向量以及attention query 向量。

body encoder

同理,针对新闻主体内容(news body),同样使用上述方法。这里简要介绍符号。

对于news body,新闻 body 包含 PPP 个单词,表示为 [w1b,w2b,⋯,wPb][w_{1}^b, w_{2}^b, \cdots, w_{P}^b][w1b,w2b,,wPb], 通过check-up table We∈RV×D\mathbf{W}_e \in \mathbb{R}^{V \times D}WeRV×DVVV 表示所有语料的单词数量, DDD 表示单词向量维度),将每个单词映射成词向量 [e1b,e2b,⋯,ePb][\mathbf{e}_{1}^b, \mathbf{e}_{2}^b, \cdots, \mathbf{e}_{P}^b][e1b,e2b,,ePb]

卷积之后通过注意力层及加权求和得到最终的body向量 rb\mathbf{r}^brb ,具体如下:

aib=qb⊤tanh⁡(Vb×cib+vb),(5)a_{i}^{b}= \mathbf{q}_{b}^{\top} \tanh \left(\mathbf{V}_{b} \times \mathbf{c}_{i}^{b}+\mathbf{v}_{b}\right), \tag{5} aib=qbtanh(Vb×cib+vb),(5)

αib=exp⁡(aib)∑j=1Pexp⁡(ajb),rb=∑j=1Pαjbcjb.(6)\begin{aligned} \alpha_{i}^{b}&=\frac{\exp \left(a_{i}^{b}\right)}{\sum_{j=1}^{P} \exp \left(a_{j}^{b}\right)} ,\\ \mathbf{r}^{b}&=\sum_{j=1}^{P} \alpha_{j}^{b} \mathbf{c}_{j}^{b}. \end{aligned} \tag{6} αibrb=j=1Pexp(ajb)exp(aib),=j=1Pαjbcjb.(6)

category encoder

分类分为主分类(topic categories)和子分类(subcategories),分别通过 cccscscsc 进行表示。

映射层将分类信息从one-hot 分类向量转化为 ec\mathbf{e}^{c}ecesc\mathbf{e}^{sc}esc 。通过一个单层MLP单元得到对应分类和子分类的向量表示 rc\mathbf{r}^{c}rcrsc\mathbf{r}^{sc}rsc 。具体如下:

rc=ReLU⁡(Vc×ec+vc).(7)\mathbf{r}^{c}=\operatorname{ReLU}\left(\mathbf{V}_{c} \times \mathbf{e}^{c}+\mathbf{v}_{c}\right) . \tag{7} rc=ReLU(Vc×ec+vc).(7)

rsc=ReLU⁡(Vs×esc+vs).(8)\mathbf{r}^{s c}=\operatorname{ReLU}\left(\mathbf{V}_{s} \times \mathbf{e}^{s c}+\mathbf{v}_{s}\right) . \tag{8} rsc=ReLU(Vs×esc+vs).(8)

attentive pooling

通过一层 单层的MLP 以及 一个共同的询问向量 qv\mathbf{q}_vqv 完成,对 title 的注意力 αt\alpha_{t}αt 计算具体如下,其余类似,分别得到 αt,αb,αc,αsc\alpha_{t}, \alpha_{b}, \alpha_{c}, \alpha_{sc}αt,αb,αc,αsc

at=qv⊤tanh⁡(Uv×rt+uv),(9)a_{t}=\mathbf{q}_{v}^{\top} \tanh \left(\mathbf{U}_{v} \times \mathbf{r}^{t}+\mathbf{u}_{v}\right) , \tag{9} at=qvtanh(Uv×rt+uv),(9)

αt=exp⁡(at)exp⁡(at)+exp⁡(ab)+exp⁡(ac)+exp⁡(asc).(10)\alpha_{t}=\frac{\exp \left(a_{t}\right)}{\exp \left(a_{t}\right)+\exp \left(a_{b}\right)+\exp \left(a_{c}\right)+\exp \left(a_{s c}\right)} . \tag{10} αt=exp(at)+exp(ab)+exp(ac)+exp(asc)exp(at).(10)

通过加权求和得到最终的新闻向量表示 r\mathbf{r}r

r=αcrc+αscrsc+αtrt+αbrb,(11)\mathbf{r}=\alpha_{c} \mathbf{r}^{c}+\alpha_{s c} \mathbf{r}^{s c}+\alpha_{t} \mathbf{r}^{t}+\alpha_{b} \mathbf{r}^{b}, \tag{11} r=αcrc+αscrsc+αtrt+αbrb,(11)

User Encoder

一个用户的交互历史是由多个新闻组成的,通过对多个新闻计算注意力及加权组成最后的用户表示,就可以完成用户模块的建模,具体如下:

ain=qn⊤tanh⁡(Wn×ri+bn),(12)a_{i}^{n} =\mathbf{q}_{n}^{\top} \tanh \left(\mathbf{W}_{n} \times \mathbf{r}_{i}+\mathbf{b}_{n}\right), \tag{12} ain=qntanh(Wn×ri+bn),(12)

αin=exp⁡(ain)∑j=1Nexp⁡(ajn),(13)\alpha_{i}^{n} =\frac{\exp \left(a_{i}^{n}\right)}{\sum_{j=1}^{N} \exp \left(a_{j}^{n}\right)}, \tag{13} αin=j=1Nexp(ajn)exp(ain),(13)

u=∑i=1Nαinri.(14)\mathbf{u} =\sum_{i=1}^{N} \alpha_{i}^{n} \mathbf{r}_{i} . \tag{14} u=i=1Nαinri.(14)

预测层

y^=u⊤r.(15)\hat{y} = \mathbf{u}^{\top} \mathbf{r}. \tag{15} y^=ur.(15)

通过 KKK 个负例(randomly sampled)及数据集中的正例组成一个 K+1K+1K+1 - 路 二分类 数据元组,采用 softmax 进行预测唯一正例,如下:
pi=exp⁡(y^i+)exp⁡(y^i+)+∑j=1Kexp⁡(y^i,j−),(16)p_{i} =\frac{\exp \left(\hat{y}_{i}^{+}\right)}{\exp \left(\hat{y}_{i}^{+}\right)+\sum_{j=1}^{K} \exp \left(\hat{y}_{i, j}^{-}\right)}, \tag{16} pi=exp(y^i+)+j=1Kexp(y^i,j)exp(y^i+),(16)

L=−∑i∈Slog⁡(pi).(17)\mathcal{L} =-\sum_{i \in \mathcal{S}} \log \left(p_{i}\right). \tag{17} L=iSlog(pi).(17)

论文总结

本文通过结合注意力机制处理tile、body、category 三类 文本信息完成了新闻推荐,是引用较多的 fundation 类作品。

论文《Neural News Recommendation with Attentive Multi-View Learning》阅读相关推荐

  1. 《基于卷积神经网络的深度迁移学习,用于燃气轮机燃烧室的故障检测》论文阅读

    目录 突出 抽象 引言 1.1动机 1.2文献综述获得的结论 1.3贡献 1.4组织 2方法 2.1燃汽轮机组故障知识共享 2.2迁移学习 2.3 基于卷积神经网络的深度迁移学习 2.4用于燃气轮机燃 ...

  2. 基于卷积神经网络和投票机制的三维模型分类与检索 2019 论文笔记

    作者:白静 计算机辅助设计与图形学学报 1.解决的问题 由于三维模型投影得到的视图是由不同视点得到,具有相对独立性,这种像素级的融合运算并没有直接的物理或者几何意义,更有可能造成图像有益信息淹没和混淆 ...

  3. TextCNN——基于卷积神经网络的文本分类学习

    1.CNN基础内容 CNN的全称是Convolutional Neural Network,是一种前馈神经网络.由一个或多个卷积层.池化层以及顶部的全连接层组成,在图像处理领域表现出色. 本文主要学习 ...

  4. 读懂深度迁移学习,看这文就够了 | 赠书

    百度前首席科学家.斯坦福大学副教授吴恩达(Andrew Ng)曾经说过:迁移学习将是继监督学习之后的下一个促使机器学习成功商业化的驱动力. 本文选自<深度学习500问:AI工程师面试宝典> ...

  5. 一种基于卷积神经网络的图像去雾研究-含matlab代码

    目录 一.绪论 二.去雾卷积网络 2.1 特征提取 2.2 多尺度映射 2.3 局部均值 2.4 非线性回归 三.实验与分析 四.Matlab代码获取 一.绪论 雾是一种常见的大气现象,空气中悬浮的水 ...

  6. 机械臂论文笔记(一)【基于卷积神经网络的二指机械手 抓取姿态生成研究 】

    基于卷积神经网络的二指机械手 抓取姿态生成研究 论文下载 摘要 第1章 绪论 1.1 抓取生成国内外研究现状 1.1.1已知物体抓取生成 1.1.2相似物体抓取生成 1.1.3 未知物体抓取生成 1. ...

  7. 毕业设计 - 基于卷积神经网络的乳腺癌分类 深度学习 医学图像

    文章目录 1 前言 2 前言 3 数据集 3.1 良性样本 3.2 病变样本 4 开发环境 5 代码实现 5.1 实现流程 5.2 部分代码实现 5.2.1 导入库 5.2.2 图像加载 5.2.3 ...

  8. 基于卷积神经网络与迁移学习的油茶病害图像识别

    基于卷积神经网络与迁移学习的油茶病害图像识别 1.研究思路 利用深度卷积神经网络强大的特征学习和特征表达能力来自动学习油茶病害特征,并借助迁移学习方法将AlexNet模型在ImageNet图像数据集上 ...

  9. Python深度学习实例--基于卷积神经网络的小型数据处理(猫狗分类)

    Python深度学习实例--基于卷积神经网络的小型数据处理(猫狗分类) 1.卷积神经网络 1.1卷积神经网络简介 1.2卷积运算 1.3 深度学习与小数据问题的相关性 2.下载数据 2.1下载原始数据 ...

  10. 基于卷积神经网络实现图片风格的迁移 1

    卷积神经网络详解 一.实验介绍 1.1 实验内容 Prisma 是最近很火的一款APP,它能够将一张普通的图像转换成各种艺术风格的图像.本课程基于卷积神经网络,使用Caffe框架,探讨图片风格迁移背后 ...

最新文章

  1. SpringCloud_项目搭建以及Eureka
  2. Maven项目依赖管理工具
  3. jQuery——给元素添加父级的方法
  4. activiti 部署流程图后中文乱码
  5. mysql 8.0远程连接_安装mysql 8.0.17并配置远程访问的方法
  6. 数据结构(C语言版)顺序栈相关算法的代码实现
  7. 60 岁的 COBOL 凭什么活到现在?
  8. 案例-分页按钮(CSS3)
  9. MySQL Study之--MySQL schema_information数据库
  10. python中home定义是什么_搞清楚Python中self的含义
  11. SQL注入漏洞-SQL注入中information_schema的作用
  12. 163-H桥电机驱动电路
  13. 某医院门诊预约系统/医院预约挂号系统
  14. Android学习计划 Android学习总结
  15. 字母c代表什么数字_字母C
  16. 排序二叉树(BST)
  17. ETL DataStage实现
  18. linux 搜索关键字
  19. verilog符号 与或非 异或_在Verilog HDL设计中用什么表示异或
  20. mysql 密码 enc_配置文件的属性ENC加密

热门文章

  1. Windows系统命令行大汇总+骚操作合集
  2. 简单的java猜拳小游戏
  3. 用JAVA编写一个Book类_Java编程:创建一个Book类包含两个String类型私有属性name(书名)和publish(...
  4. javaScript 数字转为英文
  5. 计算机java毕业设计 JavaWeb大学实验室设备资产管理系统
  6. 企业数字化转型选对免费OA是关键
  7. [深度学习]动手学深度学习笔记-14
  8. 网络爬虫day1:python中的request模块基本使用
  9. 账号密码连接远程阿里云mongodb服务,报错 AuthenticationFailed,code:18
  10. 记一次线上应用数据库连接池满的处理