新闻推荐论文笔记(2):Neural News Recommen

作者: 阿瑟_TJRS | 来源:发表于2019-11-05 18:33 被阅读0次
    • IJCAI 2019论文
    • 清北与微软亚研出品


      image.png
    • 本文为自己的论文阅读笔记,如有错误欢迎指正,转载请联系笔者
    • 最近在研究新闻推荐的新方法,本文为系列文章的第二篇,前文请见https://www.jianshu.com/p/2d7e261bc277

    摘要

    个性化的新闻推荐对于在线新闻平台帮助用户找到感兴趣的新闻并改善用户体验非常重要。新闻和用户表示学习对于新闻推荐至关重要.

    现有的新闻推荐方法通常基于单个新闻信息(例如标题)来学习这些表示,这可能是不够的。在本文中,我们提出了一种神经新闻推荐方法,该方法可以通过利用不同种类的新闻信息来学习用户和新闻的特征表示

    我们方法的核心是新闻编码器和用户编码器。在新闻编码器中,我们提出了一种细心的多视图学习模型(Attentive Multi-view),通过将标题,正文和主题类别视为新闻的不同视图来学习统一的新闻表示形式

    此外,我们将单词级别和视图级别的注意力机制(Word-level & View-level)应用于新闻编码器,以选择重要的单词和视图来学习信息性新闻表示。

    在用户编码器中,我们基于用户浏览的新闻来学习用户的表示,并应用注意力机制来选择信息性新闻以进行用户表示学习。在真实数据集上进行的大量实验表明,我们的方法可以有效地提高新闻推荐的效果。

    提出的方法

    背景

    工作受到以下观察的启发:

    • 首先,新闻文章通常包含不同种类的信息,例如标题,正文和主题类别,这些信息对于表示新闻都是有用的。此外,此新闻的主题类别也很有帮助,因为如果用户单击此新闻和许多具有相同类别的其他新闻文章,则可以推断她对体育非常感兴趣。
    • 因此,合并不同种类的新闻信息具有改善新闻和新闻推荐的用户表示的潜力。其次,不同种类的新闻信息具有不同的特征。例如,标题通常非常简短,而正文则更长,更详细。主题类别通常是带有很少单词的标签。从而,不同类型的新闻信息应进行不同的处理
    • 第三,不同的新闻信息对于不同的新闻可能具有不同的信息性。例如,图1中的第一个新闻的标题对于表示该新闻是准确且重要的,而第二个新闻的标题则简短,模糊且信息量较小。此外,同一新闻中的不同单词可能具有不同的重要性。例如,在图1中,对于表示第一则新闻,“ outfileder”比“ familiar”更重要。
    • 另外,同一用户浏览的不同新闻对于学习用户表示也可能具有不同的信息性。例如,如果用户浏览非常受欢迎的“超级碗”新闻和不那么受欢迎的“国际数学奥林匹克”新闻,那么第二条新闻可能比第一条新闻更能说明她的兴趣。

    作者提出的推荐算法简称为NAML方法,下面介绍其组成部分,包括新闻编码器(News Encoder)和用户编码器(User Encoder)

    新闻编码器(News Encoder)

    新闻编码器模块用于从各种新闻信息(例如标题,正文和主题类别)中学习新闻的表示形式。 由于不同类型的新闻信息具有不同的特征,因此,我们提出了一种细心的多视图学习框架,以将每种新闻信息视为特定的新闻视图,从而学习统一的新闻表示形式,而不是简单地将它们合并成长文本来表示新闻。新闻编码器有四个主要组件。

    • title encoder 标题编码
      其包含三层,第一层Embedding层:
      将title的单词序列转换成为词向量序列
      [w_1^t,w_2^t,...w_M^t]-->[e_1^t,e_2^t,...e_M^t]其中M表示title长度,此处的embedding仅仅是低维的映射转换,并未用到词嵌入工具等。
      第二层CNN特征提取层:利用CNN提取句子的上下文特征/TextCNN F_t,b_t为CNN模型的卷积核与偏置参数,窗口大小是2K+1,【注:该部分CNN具体模型为TextCNN,卷积尺寸设置为(2K+1)×D,保持宽与向量的长度一致,且仅使用了卷积层,没有池化操作】
      最后输出为一个上下文向量序列[c_1^t,c_2^t,...,c_M^t]
      第三层词级注意力网络,选取重要词汇 其中V_t,v_t为投影参数,q_t^T为注意力查询向量
      最后的输出为:r^t=\sum_{j=1}^M\alpha_j^tc_j^t
    • body encoder正文编码
      基本构成与title encoder相同,与title encoder共享embedding层,注意力机制如下
    • category encoder类别编码
      类别信息为离散数字,包括类别ID和子类别ID;编码器由embedding和Dense两层构成 使用隐藏层对类别编码进行学习表征,参数为V_c,V_s,v_c,v_s
    • 注意力池化层attentive pooling ,同上述注意力公式,其中U_v,u_v及q_v^T均为注意力参数
      最后新闻编码层的输出为:
      整体而言,将注意力机制与基本的特征学习相结合,从不同信息类别出发进行表示,具有一定的创新性

    用户编码User Encoder

    对于一个用户,根据其近期浏览的历史新闻,对其进行特征表示:

    同样采用注意力机制,利用News Encoder对历史新闻进行编码得到
    最终用户的特征表示为:

    最终描述用户对新闻的点击概率使用点积/内积inner product,点积几何意义上可以反映两个向量的夹角,是计算夹角余弦的重要部分

    模型训练

    利用负采样技术进行模型训练,用户浏览过的新闻作为正样本,并随机从未浏览过的新闻中抽取K个作为负样本,得到[\hat{y}^+,....,\hat{y}_i^-]每个用户有K+1个训练样本,得到损失函数如下:

    该部分的损失函数设计主要受制于前面的预测函数设计,前后具有一致性。
    部分实验结果如下:

    总结

    该文总体而言在算法设计上具有一定的创新性,从概念角度提出了attentive multi-view,在具体的框架选择和使用上有一定的创新,但不是特别明显。

    相关文章

      网友评论

        本文标题:新闻推荐论文笔记(2):Neural News Recommen

        本文链接:https://www.haomeiwen.com/subject/hhxjbctx.html