查看原文
其他

ACM TOIS | 基于对偶视图的序列推荐方法

PaperWeekly 2023-04-06

The following article is from 知识工场 Author 薛吕欣、李煜新


©作者 | 薛吕欣、李煜新

单位 | 复旦大学硕士生

来源 | 知识工场


序列化推荐的目标是基于用户的历史交互信息,给用户推荐下一个物品。以往的序列化推荐模型大多仅仅从物品的层面学习物品之间的转移关系,比如基于马尔科夫链的模型、RNN 模型,以及序列图模型等等。这些方法有两个缺点:

1. 以往的序列图模型是一种细粒度的图,捕捉全局结构特征的能力不如粗粒度的图;

2. 由于用户偏好的不同,物品层面的建模难以表示用户偏好中的不同因素。这些问题在交互数据稀疏、交互噪声大的情况下格外突出。因此,我们希望从更高的粗粒度的层面对用户偏好进行建模。 

为了解决这些问题,本文提出了一个新的序列化推荐模型 DUVRec,分别从物品的层面和偏好因子的层面对用户的交互历史进行建模,并分别用图模型学习这两个视图下用户的表示。我们采用对比学习方法使得这两个不同视图下的用户表示能够相互增强,从而提升序列化推荐的效果。 



论文标题:
Learning Dual-view User Representation for Enhanced Sequential Recommendation

论文来源:

ACM Transactions on Information Systems (TOIS)

作者单位:

复旦大学知识工场实验室

论文链接:

https://dl.acm.org/doi/10.1145/3572028

代码链接:

https://github.com/s-yudi/DUVRec




模型框架


已知目标用户 u 的历史交互序列  以及商品所属的类别 P,我们的目标是预测用户在下一个时间点 与候选商品v进行交互的概率 并把得分最高的商品推荐给用户。以下是 DUVRec 模型的总体框架。

▲ 图1. DUVRec模型的总体框架

1.1 构建序列图


对于目标用户 u 以及相应的 Q 和 P,我们分别构造 timespan-aware sequence graph 以及 attribute-augmented graph
下图展示了由用户的交互序列得到 的过程。考虑到不同用户对时间差的感知不同,我们使用经过标准化后的时间差构建 ,有向边的权重与标准化后的时间差成反比,并且只连接时间差小于 T 的商品。

▲ 图2: 的构建
了从偏好因子的层面学习用户的表示,我们引入了商品的类别节点并且用无向图表示

1.2 预测得分

在构建了 以及 之后,我们分别用图神经网络学习用户的表示。
对于 ,我们将图注意力层编码后的输出进行加权求和后作为物品视图下用户的表示


对于 ,我们先采用 HGNN 的方法得到粗粒度的因子图 ,然后得到因子视图下用户的表示。

▲ 图3. 因子视图的学习

我们先对 计算分配矩阵 S,表示商品节点和类别节点属于因子节点的概率。


基于分配矩阵 S,我们构造因子图 ,再经过一个图注意力层进行编码,并最终得到因子视图下用户的表示。


将两个视图下用户的表示进行拼接,再经过线性变换后得到用户的最终表示,用于计算商品 v 的得分。


1.3 构建损失

物品视图与因子视图分别从两个不同的角度对用户进行了描述,为了让这两个不同视图下用户的表示能够相互增强,我们采用了对比学习的策略,具体方法如下。

为了用物品视图下用户的表示增强因子视图下用户的表示,我们首先用物品视图下用户的表示来计算候选物品 v 的得分,即:

我们把得分最高物品作为正样本,其余物品中得分排前 C 位的物品作为负样本,我们希望因子视图下用户的表示与正样本的表示相互接近,与负样本的表示相互远离。我们采用 InfoNCE 计算对比学习的损失:

我们采用同样的方法用因子视图下用户的表示增强物品视图下用户的表示,求和后作为最终的对比学习损失。 
在训练模型时,模型的损失由三部分构成,其中 BPR loss 是模型的主要损失,使得模型对用户有过交互的物品的得分高于没有交互过的物品的得分;Entropy loss 要求分配矩阵 S 的熵尽可能小,也就是要尽可能地把物品节点或者类别节点明确地分配到某一个因子节点上;ssl loss 也就是对比学习损失要求两个视图下用户的表示能相互接近。再加上对参数的正则化项构成了模型的损失函数。



实验


我们在 Steam、MovieLens 和 Amazon Toys&Games 三个数据集下评估模型的表现。我们的模型在所有的指标上都达到了 SOTA 的结果。通过消融实验,我们验证了对比学习策略对于模型性能的提升。



我们对比了 DUVRec 模型以及去除了对比学习模块的 DUVRec-base 模型在不同的训练噪声干扰下的表现。在三个数据集下,随着训练集中的噪声样本的比例增加,两个模型的指标都有所下降,但是 DUVRec 模型下降的比例明显低于 DUVRec-base 模型。对比学习策略使得两个视图下用户的表示相互增强,提升了模型的鲁棒性。





案例分析


我们通过具体的样本来研究 DUVRec 模型良好的可解释性以及鲁棒性。 


下图展示了一个来自 MovieLens 数据集中的样本。左侧是用户观看过的电影以及电影所属的类别,我们的因子视图下的学习能够将电影节点以及类别节点聚类到相应的因子节点,我们用相同的颜色来表示这种分配关系。Army of Darkness 是模型准确预测的用户观看的下一部电影,模型在预测它的得分时计算得到它与蓝色因子的相似度更高,这与蓝色的电影节点和类别节点是一致的。DUVRec 的架构为推荐结果提供了良好的可解释性。



为了通过案例研究 DUVRec 的鲁棒性,我们通过删除一条电影与类别之间的边来引入噪声。如左图所示,DUVRec 依然能够将该电影准确地分配到对应的蓝色的因子节点,而 DUVRec-base 模型则错误地将电影分配到了红色的因子节点,并降低了下一部电影 Army of Darkness 预测的得分,从而降低了模型的表现。对比学习策略要求 DUVRec 对正样本以及强负样本有足够的分辨能力,从而使得模型进一步学习物品的潜在特征,增强了鲁棒性。





总结


在本文中,我们分别从物品的层面和因子的层面通过图神经网络得到两个不同视图下用户的表示,并且采用对比学习的策略使得这两个不同视图下的用户表示能够相互增强。实验结果以及案例分析验证了我们提出的模型对于序列化推荐的提升。



关于作者







更多阅读



#投 稿 通 道#

 让你的文字被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。


📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算


📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿


△长按添加PaperWeekly小编



🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·
·

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存