前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >UniRec:考虑序列时间间隔和item交互频率的序列推荐方法

UniRec:考虑序列时间间隔和item交互频率的序列推荐方法

作者头像
秋枫学习笔记
发布2024-07-02 16:18:12
700
发布2024-07-02 16:18:12
举报
文章被收录于专栏:秋枫学习笔记秋枫学习笔记
关注我们,一起学习

标题: UniRec: A Dual Enhancement of Uniformity and Frequency in Sequential Recommendations 地址:https://arxiv.org/pdf/2406.18470 学校:复旦 代码:https://github.com/Linxi000/UniRec

1. 导读

本文主要关注序列推荐中的用户交互行为之间的时间间隔和item频率,以此来提升序列推荐模型的性能。时间间隔更均匀的序列和频率更高的item都能产生更好的预测性能。相反,非均匀序列加剧了用户兴趣漂移,并且由于样本稀疏,低频的item很难建模。本文提出了UniRec,利用序列均匀性和item频率来提高性能,改进非均匀序列和低频item的表征。考虑不同类型的序列对时间的依赖程度不同,采用多维时间建模将时间信息,时间间隔信息融入序列表征之中

2.方法

alt text

2.1 序列增强

时间间隔方差较小的序列是更均匀的序列,并且基于时间方差阈值(超参数)将所有序列可以被分为两个子集:,分别表示均匀/不均匀。同时,item基于在交互序列中出现的频率分类两类分别表示在时间t这个item是高频还是低频。

对于每个均匀序列,生成相应的非均匀子序列模拟在真实场景中的不规则行为模式,从而增强对复杂用户行为建模的能力。生成方式:在中保留低频item,如果在序列中低频item的个数少于M(超参数)个,则再从中随机采样额外的高频item。可以表示为下式,

和对应emb为,然后经过编码器得到行为序列编码

然后使和的表征尽可能接近,以增强模型处理非均匀序列的时间动态的能力,从而通过生成模型(FFN)最小化:

采用课程学习策略:从简单到复杂。逐渐增加了训练样本的复杂性。最初主要从更均匀的序列中学习,随着训练的进行,不断引入具有更复杂的用户兴趣漂移的序列。由动态加权损失函数控制:

其中表示动态权重系数,e表示当前epoch,表示该损失函数起作用的epoch,表示总epoch。对于每个均匀序列,时间间隔的方差为。是所有序列中时间间隔方差的最大值,同理。

2.2 item增强

生成的主要由低频item组成,并且再非均匀序列中也主要是低频item,因此增强模型在低频item上的性能是很重要的。本节从两个方面来增强item表达:候选邻居生成和表征聚合

  • 对每个item进行候选邻居生成。对于每个中心item,识别一个潜在的候选邻居集合。针对每一个其他item j,为中心item计算一组分数。基于打分排序后选择候选邻居集合。打分包含三个部分:和j之间的时间间隔T、item j的流行度H和和j的相似性S。H和s都被归一化,以确保评分机制的一致性。表达为下式,

其中,和是常数,根据数据集的具体情况而定。在每个batch训练时,从邻居集合中随机采样K个邻居,其中K是超参数。

  • 用注意力机制来聚合这K个候选邻居。的emb表示为,K个邻居为。(文中应该是漏乘了)

将聚合的emb和拼接得到,这部分是总体的,细化到低频和高频的item邻居信息上有一定差异

为了使低频item能够更好地利用邻居item的信息,将高频item学习到的邻居聚合信息迁移到低频item。高频item的emb为,聚合了邻居信息的emb表示为,高频item的聚合训练如下,L2来约束聚合前后的信息,其中为全连接层,w还是一样是用于课程学习的权重(在训练初期,高频item优先训练,在后期逐渐转向低频的item),F表示的是item在交互中出现的频率分。

最后,通过最小化以下损失,在训练的某个epoch之后更新所有低频item的emb,这里的是已经经过次高频item训练的全连接层。

2.3 多维度时间建模

均匀序列对时间的依赖性较低,而需要非均匀序列需要更丰富的时间细节,本节提出了一个多维时间建模模块。

对于每个序列,对应的时间戳序列定义为。相应的时间间隔序列定义为,。由emb矩阵编码,得到时间间隔的emb。对于时间上下文建模,使用基于时间表征学习的自注意机制,并分别对年、月和日等时间信息进行建模。通过线性层聚合这些信息,以形成每个交互i的最终时间上下文emb 。对于每个序列,可以获得item序列emb,时间上下文表示,时间间隔emb,0表示1×d的零向量。

正如前面所说,不同类型的序列需要不同水平的时间信息,本节使用混合注意力机制分别将与和积分,将会时间信息融入序列中。这作为序列编码器(就是序列增强中用到的编码器)。以混合注意力在和上的应用为例,同理也可以得到考虑时间间隔的处理方式。

  • 拼接和,得到序列的初始emb为$e_u=h_u|C_t。
  • 对输入X进行混合注意力预处理,,P是位置编码矩阵。混合注意力机制表示如下,

参考这篇文章https://mp.weixin.qq.com/s/hBHYfJVnyoAhV1Xw04N5rg, H_j由计算得到,是注意力分数矩阵,结合高斯分布来混合两种类型的输入数据。。非负混合权重(和为1),表示每个上下文类型的贡献。是输入经过权重来投影后的输出。高斯分布的方差参数为σ2,I为单位矩阵。损失函数如下,

其中,是FFL的输出也就是序列的表征,,拼接item的emb和时间的emb。

3 实验

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 秋枫学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 导读
  • 2.方法
    • 2.1 序列增强
      • 2.2 item增强
        • 2.3 多维度时间建模
        • 3 实验
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档