【行为序列建模发展路线梳理】

按时间线来看,用户行为序列建模的模型经历了polling, attention, RNN, Capsule,Transformer的发展路线。

一、Pooling

基于Pooling的方法建模行为序列的工作,通常采用mean, sum 或 max pooling的方法聚合用户的行为序列。如YoutubeNet 通过平均池化将用户观看列表的嵌入转换为固定长度的向量。

缺点:这种方法将行为序列中的每个物品的重要性看作是相同的,无法区分历史行为中每个物品的重要性。即使对于不同的待排序物品,用户的兴趣向量也是相同的,无法建模多兴趣。

二、Attention

比如在某一推荐场景下,需要判断用户此次是否会购买手机壳,那么用户曾经购买过手机的行为信息,显然比购买过衣服的行为信息更重要。

所以以上问题提供的一个启发是:不同的行为信息的重要程度不一样,可以通过Attention机制动态分配权重

那么也有一些基于Attention的方法建模行为序列,主要包括 DIN ,DSTN 等。它们通过attention机制建模行为序列中的物品和候选物品的attention score (即关联程度),作为每个行为的权重,然后再将它们聚合起来。

以DIN模型为例,它主要采用target attention的结构,对于每个候选物品,利用out product和fc来计算出每个历史点击的商品和候选物品的attention score,作为这个历史行为的权重,然后基于这些权重,将历史行为序列物品的embedding,聚合成一个用户兴趣向量。

在计算attention scores时,作者没有使用softmax函数,来保证灵活性,例如行为序列可能和当前待排序广告的关系都很弱。对于不同的待排序广告,attention scores的分布也不相同,对应的用户的兴趣向量也不相同,从而建模用户的多个兴趣。

三、RNN

基于pooling和attention的方法,不能建模用户行为序列的时间顺序特性,无法有效建模用户兴趣的不断演化。

为了解决这些问题,研究者们提出了基于RNN建模行为序列,主要包括 GRU4Rec,DIEN, DUPN,HUP,DHAN等。它们通过RNN建模行为序列的时间顺序特性,能更好地建模用户实时兴趣的变化。

深度兴趣进化网络(DIEN)利用辅助损失调整当前行为的表达,然后利用AUGRU对不同目标项目的特定兴趣演化过程进行建模。

四、Capsule

在召回阶段,基于pooling, attention, RNN等序列模型建模行为序列得到一个用户兴趣向量,然后通过Faiss查找最近的邻居商品,通常召回的商品都很相似,无法满足搜索推荐多样性的需求。

为了解决这些问题,研究者们提出了基于Capsule建模行为序列,主要包括 MIND,ComiRec等。它们通过Capsule建模行为序列,通过隐式聚类用户行为序列,得到多个用户兴趣向量,从而实现召回多个类目的物品的目的。

以MIND模型为例,它基于Capsule建模用户的行为序列向量,应用在天猫推荐的召回模块中。

五、Transformer

基于RNN的序列建模模型,无法有效建模长序列、长依赖,以及行为序列内多个行为彼此间的关联关系。而且它的顺序学习的方法不利于线上并行,导致速度很慢;而且在推荐场景中,可能用户的兴趣是跳跃的,比如先买了键盘后,买了一件衣服,才回来买鼠标,RNN顺序学习的模式也难以学习到这种跳跃情况。

为了解决这些问题,研究者们提出了基于Transformer建模行为序列,主要包括 ATRank、BST 、 DSIN、TISSA、SDM、KFAtt、DFN、SIM 、DMT、AliSearch、等。通过Transformer建模用户行为序列,逐步成为工业界搜索推荐 (淘宝、京东、美团、快手等)用户行为序列建模的主流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值