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

HieRec论文阅读笔记

时间:2024-06-20 09:43:13浏览次数:25  
标签:主题 mathbf 新闻 论文 用户 笔记 HieRec 表征 兴趣

HieRec: Hierarchical User Interest Modeling for Personalized News Recommendation论文阅读笔记

Abstract

现存的问题:

​ 用户兴趣建模对于个性化新闻推荐至关重要。现有的新闻推荐方法通常从每个用户以前的行为中学习一个单一的用户嵌入,以代表他们的整体兴趣。然而,用户兴趣通常是多样化和多粒度的,很难通过单一的用户嵌入来准确建模。

解决方案:

​ 我们提出了一种具有分层用户兴趣建模的新闻推荐方法,称为HieRec。在我们的方法中,每个用户都用分层兴趣树来表示,而不是单一的用户嵌入,以更好地捕捉他们对新闻的多样化和多粒度兴趣。我们使用三级层次结构来表示:

​ 1)用户的整体兴趣

​ 2)用户对粗粒度主题(如体育)的兴趣;

​ 3)用户对细粒度主题(如足球)的兴趣。此外,我们还提出了一个分层用户兴趣匹配框架,将候选新闻与不同层次的用户兴趣相匹配,以实现更准确的用户兴趣定位。

Introduction

​ 本文提出了一种分层用户兴趣建模的个性化新闻推荐方法,命名为 HieRec,它能有效捕捉多样化和多粒度的用户兴趣。我们的方法包含三个层次的用户兴趣表征,从不同方面和粒度对用户兴趣进行建模。

​ 第一个层次是子主题层次,包含多个兴趣表征,以模拟用户对不同新闻子主题的细粒度兴趣。它们是从子主题的嵌入和相应子主题的点击新闻中学习的。

​ 第二种是主题级,它包含多个兴趣表征,用于捕捉用户对主要新闻主题的粗粒度兴趣。这些兴趣表征是从新闻主题及其下属子主题级兴趣表征的嵌入中学习而来的。

​ 第三个是用户级兴趣表征,它包含一个兴趣表征来模拟用户的整体兴趣。它是从主题级兴趣表征中学习的。此外,我们还提出了一个分层用户兴趣匹配框架,将候选新闻与不同层次的兴趣表征进行匹配,从而更准确地定位用户兴趣。

Method

问题定义

​ 这里不同的是每个新闻都有标题,主题和子主题,标题是由文本序列和实体序列组成。我们假设每个用户有M个点击新闻,在HieRec中,我们根据它们的主题和子主题进一步划分这些点击,用于分层用户兴趣建模。

分层的用户兴趣建模

​ 分层的用户兴趣建模的结构图如下所示

pkBBbwt.png

​ 一般来说,用户的兴趣通常是非常多样化和多粒度的。理解用户对不同方面和粒度的兴趣,有可能更准确地建模用户的兴趣。因此,我们提出了一个分层的用户兴趣建模框架,该框架学习一个分层的兴趣树来捕获多样化和多粒度的用户兴趣。如图2所示,HieRec通过一个三层的层次结构来表示用户的兴趣。

​ 首先,我们学习多个子主题级兴趣表征,以模拟用户对不同新闻子主题(如足球和高尔夫)的细粒度兴趣。子主题 \(s_j^i\)的子主题级兴趣表征是从 \(N_j^i\)中学习的,\(N_j^i\)由用户在子主题 \(s_j^i\)中点击的新闻组成。由于点击新闻在用户兴趣建模中可能具有不同的信息量,因此我们采用子主题级注意力网络来选择信息量大的点击新闻,以建模用户对子主题\(s_j^i\) 的兴趣:

​ \(\mathbf{c}_j^i=\sum_{k=1}^l\gamma_k\mathbf{n}_k^{i,j},\gamma_k=\frac{\exp(\phi_s(\mathbf{n}_k^{i,j}))}{\sum_{p=1}^l\exp(\phi_s(\mathbf{n}_p^{i,j}))},\)

​ 此外,我们还采用了一个子主题嵌入层来捕获不同子主题的语义信息,从中我们可以得到子主题 \(s_j^i\)的嵌入向量。

​ 最后,我们根据 \(c_j^i\)和\(s_j^i\)的组合学习子主题级用户兴趣表示 \(u_{i,j}^s\),即 \(\mathbf{u}_{i,j}^s=\mathbf{c}_j^i+\mathbf{s}_j^i\)。同样,我们也会学习用户点击的其他子主题的子主题级兴趣表征。

​ 其次,我们学习多种主题级别的兴趣表示,以模拟主要新闻主题(如体育和金融)中的粗粒度用户兴趣。所点击的主题ti的主题级兴趣表示是从子主题\(\{s_{i,j}^s|j=1,...,d\}\)的子主题级兴趣表示\(\{\mathbf{u}_{i,j}^s|j=1,...,d\}\)中学习出来的。

​ 更具体地说,用户对不同子话题的兴趣可能对特定话题的用户兴趣建模具有不同的重要性。此外,一个子话题的新闻点击量也可能反映出其在主题级用户兴趣建模中的重要性。因此,我们利用话题级注意力网络来选择重要的子话题级用户兴趣表征,以模拟用户对话题 ti 的兴趣:

​ \(\mathbf{z}_i=\sum_{j=1}^d\beta_j\mathbf{u}_{i,j}^s,\beta_j=\frac{\exp(\phi_t(\mathbf{v}_{i,j}^s))}{\sum_{k=1}^d\exp(\phi_t(\mathbf{v}_{i,k}^s))},\)

​ 其中:\(\mathbf{v}_{i,j}^s=[\mathbf{u}_{i,j}^s;\mathbf{r}_j^i]\)。\(r_j^i\)是子主题\(s_j^i\)上点击新闻次数的嵌入向量。此外,我们还使用话题嵌入层对不同话题的语义信息进行建模,并驱动话题\(t_i\)的嵌入向量 。最后,我们汇总 zi 和 ti,学习主题 ti 中的主题级用户兴趣表征\(\mathbf{u}_i^t=\mathbf{z}_i+\mathbf{t}_i\)。同样,我们也会学习其他点击主题的主题级兴趣表征。

​ 第三,我们学习用户级兴趣表征 u g 来模拟用户的整体兴趣。它是从主题级兴趣表征中学习的。同样,我们采用用户级注意力网络来模拟主题级用户兴趣的相对重要性,从而学习用户级兴趣表征:

\(\mathbf{u}^g=\sum_{i=1}^m\alpha_i\mathbf{u}_i^t,\alpha_i=\frac{\exp(\phi_g(\mathbf{v}_i^t))}{\sum_{j=1}^m\exp(\phi_g(\mathbf{v}_j^t))},\)

层次的用户匹配

​ 候选新闻与用户兴趣在不同粒度上的匹配可以为用户兴趣定位提供各种线索。候选新闻与用户细粒度兴趣之间的匹配有助于个性化新闻推荐。此外,并非所有候选新闻都能与细粒度用户兴趣相匹配。候选新闻与粗粒度的用户兴趣和整体用户兴趣进行匹配也很重要。因此,我们提出了一个分层用户兴趣匹配框架,它对用户对不同兴趣粒度的候选新闻的兴趣建模。

​ 层次的用户匹配框架如下:

pkBfCgx.png

​ 它以候选新闻(包括其表示 nc、主题 tc 和子主题 sc)和分层用户兴趣表示为输入。首先,我们将候选新闻与用户总体兴趣相匹配,并根据 nc 和 ug 之间的相关性计算出用户级兴趣得分 og:\(o_g=\mathbf{n}_c\cdot\mathbf{u}^g.\)其中\(u^g\)是上一步学习到的用户级兴趣表征。

​ 其次,主题级兴趣表示\(u_{t_c}^t\)模拟用户对候选新闻主题 tc 的粗粒度兴趣。它可以提供粗粒度信息,以了解用户对候选新闻的兴趣。因此,我们将话题级兴趣表征 \(u_{t_c}^t\) 与候选新闻 nc 匹配为\(\hat{o}_t=\mathbf{n}_c\cdot\mathbf{u}_{t_c}^t\)。此外,我们还可以推断用户可能对他们点击次数较多的话题更感兴趣。因此,我们根据话题 tc 在历史点击新闻中的比例\(w_{t_c}\)对\(\hat{o}_t\)进行加权,得到话题级兴趣得分 ot : \(o_t=\hat{o}_t*w_{t_c}\)。此外,如果候选新闻不属于任何用户点击过的主题,则直接将 ot 设为 0。

​ 第三,子主题级兴趣表征 \(u_{s_c}^s\)模拟了用户对候选新闻子主题 sc的细粒度兴趣,可用于捕捉用户对候选新闻的细粒度兴趣。因此,我们将子主题级兴趣表征\(u_{s_c}^s\)与候选新闻 nc 匹配为\(\hat{o}_s=\mathbf{n}_c\cdot\mathbf{u}_{s_c}^s\).同样,我们根据用户点击新闻中子主题 sc 的比例 \(w_{s_c}\)对 \(\hat{o}_s\)进行加权,得到子主题级兴趣得分:\(o_s=\hat{o}_s*w_{s_c}\)。

​ 最后,将三个不同级别的兴趣分数汇总为一个总体兴趣分数o:

新闻表示

​ 我们将介绍了如何从文本和新闻标题的实体中获取新闻表示,学习新闻表示的框架如下所示。

pkBfgi9.png

​ 我们首先使用文本编码器对新闻文本进行建模。它首先应用单词嵌入层来丰富模型的语义信息。接着,它采用文本自注意力网络从新闻文本的上下文中学习单词表征。然后,它采用文本注意力网络,通过聚合词表征来学习文本表征 nt。除了文本,知识图谱也能通过新闻中的实体为理解新闻内容提供丰富的信息因此,我们采用实体编码器来学习新闻的实体表征。我们首先使用实体嵌入层将知识图谱中的信息纳入我们的模型。我们进一步应用实体自我关注网络来捕捉实体间的相关性。接下来,我们利用实体关注网络,通过聚合实体来学习新闻的实体表示。最后,我们建立了新闻的表示n为\(\mathbf{n}=\mathbf{W}_t\mathbf{n}_t+\mathbf{W}_e\mathbf{n}_e\)

模型训练

​ 在训练数据集中O中给定一个正样本\(n_i^+\)(一个已被点击的新闻),我们从显示给用户u的相同新闻印象中随机选择K个负样本\([n_i^1,...,n_i^K]\)(未被点击的新闻)。NCE损失L要求阳性样本\(o_i^+\)应比其他阴性样本\([o_i^1,...,o_i^K]\)分配更高的兴趣评分,并表述为:

\(\mathcal{L}=-\sum_{i=1}^{|O|}\log\frac{\exp(o_i^+)}{\exp(o_i^+)+\sum_{j=1}^K\exp(o_i^j)}.\)

总结

​ 这篇文章感觉讲的非常清晰,就不总结了。贴一下论文的conclusion

​ 本文针对分层用户兴趣建模提出了一种名为 HieRec 的个性化新闻推荐方法,它能有效地对多样化和多粒度的用户兴趣进行建模。HieRec 通过学习三层层次结构,从不同方面和粒度来表示用户兴趣。首先,我们学习多个子主题级兴趣表征,对不同新闻子主题中的细粒度用户兴趣进行建模。其次,我们学习多个主题级兴趣表征,以模拟用户对几个主要新闻主题的粗粒度兴趣。第三,我们学习一个用户级兴趣表征来模拟用户的整体兴趣。此外,我们还提出了一个分层用户兴趣匹配框架,将候选新闻与不同粒度的用户兴趣进行匹配,从而实现更准确的用户兴趣定位。

标签:主题,mathbf,新闻,论文,用户,笔记,HieRec,表征,兴趣
From: https://www.cnblogs.com/anewpro-techshare/p/18258082

相关文章

  • STM32学习笔记(十)--I2C、IIC总线协议详解
    概述:InterIntegratedCircuit,一组多从多组多从有应答是一种同步(具有时钟线需要同步时钟SCL)、串行(一位一位的往一个方向发送)、半双工(发送接收存在一种)通信总线。(1)硬件电路所有I2C设备的SCL连接在一起,SDA连在一起            设备的SCL和SDA均要......
  • Vitis Accelerated Libraries 学习笔记--OpenCV 安装指南
    目录1.简介2.安装过程2.1安装准备2.2常见错误2.2.1核心共享库报错3.通过实例测试 4.总结1.简介使用VitisVisionLibraryVitis视觉库,为什么要安装opencv库?在使用VitisVisionLibrary时,安装OpenCV库是因为许多视觉库的功能都提供了示例设计测试平台,使用......
  • Web之http学习笔记
    目录HTTPurlhttp请求请求行请求方法请求头请求正文http响应响应行状态码响应头响应正文Cookie定义:内容:用途:生命周期:隐私和安全性:Session实现原理组成:PHP中的Session设置函数session传输HTTPhttp文本传输协议(HyperTextTransferProtocol),遵循请求/响应(request/response)模型url......
  • 电路分析期末总结笔记上
    电流,电压定义及单位电流(Current)的定义是单位时间内通过导体横截面的电荷量。电压(Voltage),又称作电势差或电位差,是衡量单位电荷在静电场中由于电势不同而产生的能量差的物理量。 参考方向,关联参考概念U,I采用相同的参考方向,为正U,I采用不相同的参考方向,为负功率的计算......
  • 学习笔记STMF4 TIMER定时器(使用开发板立创天空星STMF4)
    目录                                                #定时器的介绍             #怎么去理解定时器的预分频系数                                        ......
  • [模式识别复习笔记] 第1-2章 基本概念
    1.模式识别系统的各个设计环节模式采集:借助物理设备(传感器、摄像头)进行数据的采集和存储。预处理:数据清洗、降噪,增强数据中有用的信息。特征提取:提取数据中对识别有用的特征。分类器学习:根据训练数据特点,选择何时的分类器模型,利用训练集学习得到参数。2.模式......
  • [模式识别复习笔记] 第3章 线性判别函数
    1.线性判别函数1.1定义在\(d\)维特征空间中,有线性判别函数:\[G(x)=w^{\text{T}}x+b\]其中,\(w=[w_1,w_2,\ldots,w_d]^T\)称为权值向量,\(b\)称为偏置,都是需要学习的参数。\(G(x)=0\)为决策边界方程。PS:只能解决二分类问题。1.2几何意义\(w\)为超......
  • [模式识别复习笔记] 第4章 SVM
    1.SVM简介1.1SVM支持向量机给定如图所示的线性可分训练集,能够将两类样本正确分开的直线很多。感知机算法可以找到一条直线,且找到的直线不唯一。然而感知机无法确定哪一条直线最优,但是\(\text{SVM}\)可以。\(\text{SVM}\)可以找到能够将训练样本正确分类的直线中具有......
  • C语言期末复习笔记
    目录一,基础介绍。二,标识符起名规范。三,数据类型。四,变量。五,运算符和表达式1,加减乘除​编辑  /为整除,%为余数,*为乘号2,关系运算符3,逻辑运算符4,运算符优先级5,前自增,后自增6,三目运算符。7,符合运算符。六,控制语句。1,if判断2,多重判断。3,for循环4,while循环5,d......
  • 人月神话阅读笔记06
    《计划丢弃一个》一章探讨了在软件开发项目中采用迭代开发和原型设计的重要性。布鲁克斯建议团队在项目早期阶段不要试图一次性实现一个完美的系统,而是通过逐步迭代和快速反馈的方式,发现和修正设计中的问题。在实践中,这种渐进式的开发方法能够显著降低项目失败的风险,并且有助于团......