论文阅读《Towards Universal Sequence Representation Learning for Recommender Systems》

论文阅读《Towards Universal Sequence Representation Learning for Recommender Systems》

这是一篇由中国人民大学和阿里合作,发表在KDD 2022的文章。作者侯宇蓬是加州福利亚大学·圣迭戈的博士,本科和研究生就读于中国人民大学。他的主要研究方向主要是围绕着大语言模型和推荐系统展开。他的导师Wayne Xin Zhao,赵鑫是中国人大 AI box实验室的负责人。

摘要

以往的序列推荐都是通过显示的item id来进行序列表征学习,以此来进行用户偏好的捕获。虽然这样的方法已经取得了相当优秀的表现, 但是由于显示建模item id的限制,这些方法很难转移到新的场景中去。此外,已有的序列表征学习方法往往很难处理交互很少的冷启动物品。为了解决这样的问题,作者提出了UniSRec。该方法利用item的相关描述文本来学习跨不同推荐场景的可转移item表示。

  • 为了学习通用的item表示,设计了一个基于参数化白化(parametric whitening)和专家混合增强适配器(mixture-of-experts enchanced adopter)的轻量级项目编码体系结构。
  • 为了学习通用sequence表示,通过采样多域负样本来引入两个对比预训练任务。
问题形式化

一个用户的历史行为序列: s = { i 1 , i 2 , ⋯   , i n } s = \{i_1,i_2,\cdots,i_n\} s={ i1,i2,,in},并且历史行为序列中的每个物品关联唯一的物品id,且都有对应的描述文本: t i = { w 1 , w 2 , ⋯   , w c } t_i = \{w_1,w_2,\cdots,w_c\} ti={ w1,w2,,wc} w j w_j wj是共享词汇表中的单词, c c c表示描述文本的截断长度。

在这里,每个序列包含了用户在某个特定领域的所有交互行为,用户可以在不同的领域或平台上生成多个行为序列。由于不同领域之间存在很大的语义差距,我们不能简单地混合用户的行为数据。相反,我们将用户的多个交互序列视为不同的序列,而不显式地维护每个序列的用户id。注意,与其他基于预训练的推荐方法不同,在我们的方法中,item id只是辅助信息,我们主要利用项目文本来派生可推广的id表示。除非指定,否则项目id不会用作我们方法的输入。任务的输入就是用户的历史序列和物品的描述文本信息,输出的是通用的物品表示和通用序列表示,并以此来进行推荐任务预测。

具体的来说:

  1. 首先根据物品id输入对应的描述文本信息 t i = { w 1 , w 2 , ⋯   , w c } t_i = \{w_1,w_2,\cdots,w_c\} ti={ w1,w2,,wc}至大语言模型,经过处理得到通用的物品表示。
  2. 根据用户序列 s = { i 1 , i 2 , ⋯   , i n } s = \{i_1,i_2,\cdots,i_n\} s={ i1,i2,,in},输入对应的物品表示至对比学习任务中,输出通用的序列表示,并以此进行推荐任务。
方法论

UniSRec框架图如下:

在这里插入图片描述

通用物品表示学习
  1. 基于预训练语言模型的文本项目编码
    作者利用Bert模型利用项目的文本描述信息来学习通用的文本表示来表示项目,参考代码实际是用的hugging face中的bert-base-uncased这个模型。具体地,如下: x i = B E R T ( [ [ C L S ] ; w 1 , ⋯   , w c ] ) (1) x_i = BERT([[CLS];w_1,\cdots,w_c])\tag{1} xi=BERT([[CLS];w1,,wc])(1)
    其中 x i x_i xi是第一个输入的token([CLS])的最终隐藏向量,“[;]”符号表示连接操作。

  2. 基于参数白化的语义转换
    作者认为直接从PLM中获得的语义表示并不能直接应用于推荐任务。已有的研究发现BERT在一般文本中诱导出非光滑的各向异性语义空间,当将多个领域的项目文本描述信息混合在一起,并且各领域之间语义差距很大时,这种情况会变得更加严重。
    受基于白化方法的研究的启发,作者对原始BERT表示进行了简单的线性变换,以获得各向同性的语义表示。具体地、如下: x i ~ = ( x i − b ) ⋅ W 1 (2) \tilde{x_i} = (x_i - b) \cdot \mathbf{W}_1\tag{2} xi~=

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值