首页 > 其他分享 >NRMG论文阅读笔记

NRMG论文阅读笔记

时间:2024-07-03 11:20:27浏览次数:19  
标签:编码器 论文 mathbf 新闻 实体 NRMG 用户 笔记 表征

NRMG: News Recommendation With Multiview Graph Convolutional Networks论文阅读笔记

Abstract

存在的问题:

​ 在学习新闻表征的过程中,目前大多数研究工作都没有充分利用新闻特征,这就很难学习到更全面的新闻表征。大多数研究工作只是从单一角度学习用户表征,这可能不足以学习多样化和动态的用户表征。

提出的方法:

​ 因此,我们提出了一个多视图卷积网络(NRMG)新闻推荐系统。它包括两个部分:新闻表征和用户表征。知识内容协作网络用于从新闻内容和实体中学习新闻表征,而多视图卷积网络(GCN)则用于从用户的点击历史中学习用户表征。

​ NRMG 系统的优势在于,我们不仅通过构建子类知识图谱(KG)扩展了可用特征,还有效提高了新闻推荐系统准确学习新闻和用户表征的能力。

Introduction

​ 为了在一定程度上解决新闻和用户建模方面的挑战,我们提出了一种具有多视图图卷积网络(NRMG)的新闻推荐系统。NRMG 系统利用一些有效的方法来准确学习新闻和用户的表征。学习新闻表征分为三个步骤。

​ 首先,我们不仅使用新闻标题、摘要和类别等特征,还在这些特征之上使用从新闻标题和摘要中提取的实体。然后,我们使用大型 KG 维基数据来构建子类别 KG(有些工作只使用标题中的实体或内容中的实体)。

​ 其次,我们利用 TransE 方法计算嵌入向量。最后,我们设计了一种知识-内容协同关注网络方法,用于新闻内容与实体的交互。主要原因是新闻中存在大量实体,但有些实体对学习新闻表征的贡献很小,我们称之为噪声实体。一方面,新闻内容与实体之间的互动可以丰富新闻表征。另一方面,这种方法可以减少噪声实体对学习新闻表征的影响。在学习用户表征方面,多视图卷积网络(GCN)可以有效地从多个子空间学习用户表征。它主要采用 GCN ,从多头注意力网络的每个子空间学习用户表征。首先,该方法可将用户行为的上下文关系转化为图结构,从而学习高阶行为关系。其次,利用多头注意力机制从多个子空间对用户行为进行建模。

​ 本文的主要贡献如下:

  • 我们利用标题和摘要中的实体以及标题和摘要的正常文本特征构建了一个子类别 KG。
  • 我们提出了一种知识-内容协同关注网络,将实体与新闻内容高度关联起来,以减少噪声实体的干扰。
  • 我们提出了一种多视角 GCN,用于从用户的历史点击序列中学习用户表征。

Method

​ NRMG 模型的整体结构如图 1 所示。新闻建模用于学习新闻表征。用户建模用于学习用户表征。点击预测模块用于计算候选新闻与用户表征之间的相似度。

pkg1Nex.png

新闻建模

​ 新闻建模是新闻推荐系统中的一项重要任务。我们提出了一种高效的新闻表征学习方法,称为知识-内容协同编码器。如图 2 所示,它由内容协同编码器和知识协同编码器部分组成。它旨在从新闻内容和实体中学习新闻表征。

pkg38N8.png

内容共编码器

​ 如图 3 所示,本方法使用了新闻的标题、摘要和类别特征。考虑到它们具有不同的结构,我们采用了不同的方法来捕捉新闻表征。

pkg3DEV.png

​ 首先是标题编码器,这里首先获取标题单词的嵌入,然后使用CNN来学习单词的上下文表示,最终获取的表示为:\([c_1^t,c_2^t,\ldots,c_n^t]\)。然后使用单词级注意力网络来给每个单词分配权重,最后按权重进行聚合。

​ 之后是摘要编码器。摘要编码器用于从新闻摘要中学习新闻表征,跟标题编码器类似,也是先通过Glove获取单词的嵌入,不过后面是使用多头注意力网络来学习多个子空间的摘要表示,最后也经过一个注意力网络进行聚合。

​ 最后是类别编码器,考虑到类别中单词的数量,我们使用密集层来捕捉类别表示。最后,类别表示如下:

\(\mathbf{r}^c=\mathrm{Relu}\big(\mathbf{V}_c\times\mathbf{e}^c+\mathbf{v}_c\big)\)

​ 感觉这个比较像NAML论文的方法

知识共编码器

知识共编码器的结构如下:

pkgJIU0.png

​ 该模块的目的是将知识图谱与新闻内容相结合。一方面,它可以增加可学习新闻特征的数量。另一方面,它可以减少噪声实体对学习新闻表征的影响。下面将介绍构建子类 KG 和减少噪声实体影响的方法。

知识图谱

​ 第一步是从标题和摘要中提取相应的实体。第二步是从公开的大规模 KG Wikidata中获取其一阶实体,从而构建一个小型 KG \(G_s\)。最后,使用 TransE计算每个实体的嵌入表示

协同注意力网络

​ 如图 4 所示,将标题和摘要的嵌入向量\(E_{1:N}^t\mathrm{~and~}E_{1:M}^a\)连接成一个新的向量\(E_{1:N+M}^{ta}\)。最后,我们采用多头自关注机制(Multihead)得到新闻信息表示\(r^{ta}\),计算过程如下:

\(\begin{aligned} E_{1:N+M}^{ta}& =\mathrm{Concat}\big(E_{1:N}^t,E_{1:M}^a\big)W^{ta} \\ \text{rta}& =\text{Multihead}\big(E_{1:N+M}^{ta},E_{1:N+M}^{ta},E_{1:N+M}^{ta}\big). \end{aligned}\)

KIEN

​ 下文将介绍知识信息提取网络(KIEN)。如图 4 所示,该方法的目的是去除 KG \(G_s\) 中的噪声实体。首先,从新闻标题和摘要中获取的实体称为零层实体。这些实体是新闻中的重要信息。从大型 KG 中获得的相邻实体称为单层实体,例如\(r_0^t\)和 \(r_0^a\)。它们通常与零层实体有很强的相关性,但与新闻内容的联系较弱。它们都有噪声实体(噪声实体通常对学习新闻表征有负面影响)。众所周知,新闻内容是新闻主题最相关的特征。通过新闻内容过滤噪声实体特征更为有效。 因此,我们提出了一种有效的解决方案,利用新闻内容与 KG \(G_s\) 交互,选择重要的实体。我们将说明如何从标题和实体中学习新闻表征。

​ 首先,KG Gs 中零层实体之间的关系 z 由多头自注意力网络捕捉。接着,我们将实体和标题的表示对齐。最后,零层实体的注意力查询向量 Q 与\(r_0^t\)和\(r^{ta}\)交互作用。新闻表示\(r_0^{te}\) 的计算方法如下:

\[\begin{aligned} &z=\text{Multihead}\big(r_0^t,r_0^t,r_0^t\big) \\ &Q=q^{T}\operatorname{tanh}(W_{t}r^{ta}z+b) \\ &E=\mathrm{Softmax}(Q)r_0^t \\ &T=\mathrm{Softmax}(Q^T)r^{ta} \\ r_0^{te}& =\text{Concat}(E,T)W^0. \end{aligned} \]

​ 接下来,我们重复与第一步类似的操作。我们将\(r_0^{te}\)与一级实体交互。最后,内容和标题实体之间的信息交互结果用\(r_1^{te}\)表示。接下来我们重复这两个步骤。如图 4 左半部分所示,我们使用 KIEN 与内容表示和摘要实体进行交互。最后,交互结果用 \(r_1^{ae}\)表示。

聚合

​ 如图 2 所示,我们利用注意力机制汇总所有新闻表征。注意力权重表示为 α。

\(\alpha=[\alpha^t,\alpha^b,\alpha^c,\alpha^{te},\alpha^{ae}].\)

​ 标题的注意权重αt计算如下:

\(\begin{aligned}&\alpha^t=\mathbf{q}_v^T\tanh(\mathbf{U}_v\times\mathbf{r}_t+\mathbf{u}_v)\\&\alpha^t=\frac{\exp(\alpha_t)}{\sum_i^w\exp(a_i)}\end{aligned}\)

​ 其余的几个权重的计算方式也是类似的,最终新闻的表示计算如下:

​ \(\mathbf{r}^\mathrm{new}=\alpha^t\mathbf{r}^t+\alpha^b\mathbf{r}^b+\alpha^c\mathbf{r}^c+\alpha^{te}\mathbf{r}^{te}+\alpha^{ae}\mathbf{r}^{ae}.\)

用户建模

​ 该模块的目的是从用户的历史点击记录中学习用户兴趣表征。记录表示为\(u_n\),其中 k 为新闻数量。通过新闻建模获得的新闻表示为 u。为了更全面地学习用户兴趣表征,我们提出了多视图 GCN。它的重要组成部分分别是多头自关注机制和 GCN。多头自关注机制可以通过词与词之间的交互来建立序列中词与词之间的关系。这将有助于模型更好地理解文本中的每个单词。

​ 本文提出了一种多视角 GCN。首先,输入向量 u 与矩阵 W Q 和 W K 相乘。这一步与多头自注意网络的 Q 和 K 的计算过程类似。然后,将其划分为多个子空间,得到 h 子空间下 u 中每个向量的注意力权重值 Ah

​ \(A_h=\mathrm{Softmax}\bigg[u\mathbf{W}_h^Q\cdot\big(u\mathbf{W}_h^K\big)^T/\sqrt{d_h}\bigg].\)

​ Ah 用作邻接矩阵,GCN 网络用于获取每个子空间下的用户表示 Zh。所有子空间通过注意力机制网络有选择地加权,得到最终的用户表示\(r^{user}\)

\[\begin{aligned} u_{h}^{l+1}& =\text{Relu}\bigg(D_h^{-1/2}A_hD_h^{-1/2}u_h^lW_h^l\bigg) \\ Z_{h}& =\mathrm{Softmax}(u_h^LW_h) \\ \text{Z}& =\mathrm{Concat}(Z_1,Z_2,\ldots,Z_K) \end{aligned} \]

​ 预测和模型训练都是传统的方法,这里就不多讲解了。

​ NRMG算法的整体结构如下:

pkgBo5j.png

总结

​ 最后整理一下,这篇文章第一篇看不是非常好懂,还是按照框架图来总结一下。

​ 第一个部分是新闻建模,在新闻建模的过程中,新闻需要经过知识-内容共编码器,这个编码器包含两个部分,一个是知识编码器,另一个是内容编码器。

​ 首先来说一下内容共编码器,也就是分别建模新闻的标题、摘要和类别。对于标题,因为比较短,就采用CNN来进行建模。对于摘要,因为文本较长,采用的是多头自注意力。前面两个建模了上下文之后还有经过一个注意力层。而类别就比较简单,直接经过一个dense层。

​ 然后说一下知识共编码器。这部分是要将知识图谱和新闻内容结合,首先是先创建一个知识图谱。然后是用标题和摘要的嵌入表示进行连接,通过多头自注意力获取新闻的信息表示。然后是个人认为比较难理解的一部分,KIEN,这个部分是首先从新闻的标题和摘要中获取实体,称为第0层实体,然后从刚刚构建的知识图谱中获取这些实体的相邻实体。之后就按照图中那样进行多头自注意力网络获取标题的表示和摘要的表示。

​ 从知识-内容共编码器中获取到这些表示后,我们就需要对这些表示来进行聚合,聚合也是根据这些表示进行一层注意力层之后获取到的权重来进行聚合的。

​ 第二个重点就是用户建模,这里是提出了一个多视角的GCN,在构造邻接矩阵的过程中,使用了多头自关注机制,获取新闻表示中每个向量(也就是交互过的新闻中的单独一条新闻,每条新闻是一个向量)的注意力权重,然后用这个注意力权重来作为图卷积的邻接矩阵。(这个确实是一个比较新颖的想法),最后获取了用户表示。

标签:编码器,论文,mathbf,新闻,实体,NRMG,用户,笔记,表征
From: https://www.cnblogs.com/anewpro-techshare/p/18281249

相关文章

  • (分享笔记)算法 第四版 (塞奇威克(Sedgewick, R.))
    书:pan.baidu.com/s/1UtoEsfQDHJqcL7zpdvFP-Q提取码:oq5x我的阅读笔记:算法基础: 介绍基本的算法概念,如排序、查找、数据结构等。数据结构: 涵盖各种常见的数据结构,如数组、链表、树、图等,以及它们的应用和实现。排序和搜索算法: 详细介绍各种排序算法,如快速排序、归并排序,以及......
  • 海思3559 yolov5模型转wk详细笔记
    文章目录   前言   1.编译caffer       1.1安装虚拟机       1.2安装caffer       1.3编译python接口   2.适应wk的yolov5模型训练       2.1下载yolov5-6.0项目源码       2.2安装yolov5-6.0运行环境       2.3修改......
  • 深入Linux内核架构 (莫尔勒(Wolfgang Mauerer))-学习笔记
    书:pan.baidu.com/s/1qLSqtZPkRpflXrwcBOeUAQ?pwd=b2y3我的阅读笔记:Linux内核概述: 介绍Linux内核的基本结构、组成部分以及内核的主要功能。涵盖内核空间和用户空间之间的界限,以及内核如何管理系统资源。进程管理: 探讨Linux中进程的创建、调度、执行和终止。包括进程控制块......
  • 基于Java中的SSM框架实现口腔护理网站系统项目【项目源码+论文说明】计算机毕业设计
    基于Java中的SSM框架实现口腔护理网站系统演示摘要本文主要讲述了是使用Jsp与Mysql数据库实现基于SSM框架的口腔护理网站的详细过程。这里所谓的口腔护理网站是建立一个类似于医院的医疗系统使得所有的患者人员有一个更方便的工具,从而可以随时预约自己的口腔护理。口腔护......
  • 笔记
    一、JAVA中非阻塞IO同步:指的是用户进程触发IO操作并等待或者轮询地去查看IO操作是否就绪。异步:是指用户进程触发IO操作以后便开始做自己的事情,而当IO操作已经完成的时候会得到IO完成的通知。阻塞:指当试图对该文件描述符进行读写时,如果当时没有东西可读,或者暂时不可写,线......
  • ThreadLoop实践学习笔记
    背景在日常工作和学习源码过程中,经常可以看到ThreadLoop的运用,发现ThreadLoop作为一个基础工具,在具体项目中有不同而又十分相似的实现,虽然核心的机制万变不离其宗(IO多路复用),但面向的业务场景不同导致了不同的实践结果,目前见过有几种ThreadLoop的实践,本文做一个分析记录和知识点的......
  • Linux源码阅读笔记08-进程调度API系统调用案例分析
    kthread_create_on_nodekthread_create_on_node函数功能:指定存储节点创建新内核线程。源码如下:操作实战#include<linux/module.h>#include<linux/pid.h>#include<linux/sched.h>#include<linux/kthread.h>#include<linux/wait.h>intMyThreadFunc(void*......
  • 维克日记 v0.4.2:开发者友好的数字化笔记工具
     维克日记,专为技术开发者和笔记爱好者设计的数字化笔记工具,以其强大的功能和灵活的配置赢得了用户的好评。软件采用Markdown语法,提供实时预览功能,让您的笔记编辑更加高效和直观。维克日记的用户界面简洁而功能齐全,无需复杂的设置,即可开始记录您的思路和创意。它支持表格可视化......
  • 江协科技51单片机-学习笔记(1)-课程简介
    1、声明本人最近在学习b站up主“江协科技”制件的“51单片机入门教程”,为了便于自己以后复习51单片机的相关知识,遂将自己学习过程中认为重要的知识点进行了笔记记录。本人将学习笔记发布在CSDN上,目的是方便小伙伴们一起学习和交流单片机相关知识,共同进步。本人所写的笔记和up......
  • DApp设计与开发 课程笔记(六):NFT交易市场后端开发
    笔记对应课程内容为成都信息工程大学区块链产业学院老师梁培利的DApp设计与开发17-18课笔记中提到的名词不做过多解释不懂就搜!tokenuri对应一个metadata的json数据上传一个图片,将图片上传到IPFS,获得一个cid,然后将json格式的metadata上传到IPFS,然后给用户发送一个NFT......