8篇论文详解用户历史行为序列建模方法

如果觉得我的算法分享对你有帮助,欢迎关注我的微信公众号“圆圆的算法笔记”,更多算法笔记和世间万物的学习记录~

在推荐系统中,经常需要进行用户对某商品的点击率预测,来给用户推荐最有可能感兴趣商品。这其中需要用到很多特征,例如商品特征、用户特征、上下文特征等。这其中,用户历史行为序列是一个重要特征,经过很多场景的验证,用户历史行为序列会对模型效果带来较大提升。用户历史行为序列,指的是用户历史曾经点击过的商品,按照点击的时间顺序组成的序列。本文汇总了8篇推荐系统中对用户历史行为序列建模的方法,包括DIN、DIEN等经典模型。

1. DIN系列

在CTR预估任务中,用户的历史行为序列(例如电商中场景中,一个用户在历史浏览中点击了哪些商品)对于提升预估效果有很大帮助。一种简单的引入用户历史行为的方法为,将用户历史浏览过的商品的embedding进行pooling(例如历史浏览过10个商品,求这10个商品对应embdding的均值)作为特征输入到模型中。Deep Interest Network for Click-Through Rate Prediction(KDD 2018)提出一种基于Attention的用户历史行为序列引入方法,利用当前候选广告去历史浏览过的中查找相关的兴趣商品。具体方法为,利用当前ad的特征和历史每个浏览item的特征做attention计算得分,再用该得分对历史每个浏览item的embedding进行带权重的pooling。相比直接pooling,这种基于attention的pooling方式能够根据当前广告激活历史相关的用户行为,效率更高,且相比pooling每个广告下用户历史行为这一维特征都相同,DIN的方法使每个广告对应生成不同的用户历史行为特征。相比以往的模型需要用一个固定的向量表达用户所有的兴趣,DIN通过兴趣激活模块根据具体的候选广告表达用户与此次预测相关的兴趣,这样的设计降低了模型表达用户兴趣的难度。此外,文中提出DIN的attention不使用softmax归一化,而是用非归一化的值代表用户对当前广告的兴趣大小,因为如果一个用户历史行为90%都是衣服,10%是电子产品,那么如果当前广告是和衣服相关的,激活的信息就多,对应的兴趣绝对值也应该更大。

Deep Interest Evolution Network for Click-Through Rate Prediction(AAAI 2019)提出DIEN,对DIN的不足进行了改进。首先,DIN中直接利用历史行为的商品ID作为全部信息输入,但是商品ID只是表象,背后蕴含着品牌、类目等隐性信息,只用商品ID的表象信息是不足的,需要提取内在的隐性信息更充分理解用户历史行为。其次,DIN中提出序列建模(如RNN建模历史行为序列)效果不好,这其实是因为历史行为序列的随机性较大,消费者在电商平台看到的东西同时属于多种类型,序列中不同类型的节点跳变随机性强。而如果能直接筛选出和当前待预测点击率的广告相关的历史行为组成新的序列,那么就能更清晰的描述出用户在这个类型兴趣下的行为演变。

本文的整体结果为采用GRU对用户的历史行为进行编码,每个时间步会产生该消费者对应时间点的兴趣隐状态表示。针对第一个问题,文中引入了一个辅助loss来更好的学习每个时刻的隐状态表示。由于模型预估的是ctr任务,所以在生成每个时间步的状态的时候很难让这个状态表示完全反映用户兴趣。因此DIEN让每个时间步的状态预测下一个时间步会点击哪个商品,

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值