CTR 预测理论(二十四):推荐系统中序列(Sequence)与会话(Session)区别

18-19 年出现了很多建模用户行为序列的文章,代表论文有 DIN、DIEN、DSEN和BST(Behavior Sequence Transformer),其中 DIN、DIEN、BST 旨在建模用户行为序列,DSEN 则进一步深入到会话(Session)层次。本博文旨在对序列建模中遇到的 Sequence 和 Session 做分析介绍。

1. Sequence 和 Session 区别

结论: Session 和 Sequence 本质上都是由 user behaviors 组成, Session 只是根据一定时间规则对 sequence 进行划分的结果(一个 sequence 由 k 个 session 组成 )。

2. 划分 Session 原因

将 Sequence 进一步细化到 Session 原因: 同一 Session 内部用户行为高度相关(同构),不同 Session 间用户行为差异比较大(异构)。

如下图,将用户的点击行为按照时间排序,判断每两个行为之间的时间间隔,前后的时间间隔大于 30min(DSEN论文所取时间,可修改),就进行切分。可以看到,第一个session中,用户查看的都是跟裤子相关的物品,第二个session中,查看的是戒指相关的物品,第三个则是上衣相关。从中可以观察到用户的行为在每一个session中行为是高度相近的(同构),在不同session间行为是差别较大的(异构)。

Alt
这说明用户在同一个 session 下对购买商品有一个明确的、单独的需求,但是一旦开启一个新的 session ,用户的兴趣将会发生很大的变化。正是基于该观察,阿里提出 Deep Session Interest Network(DSIN)尝试更细致建模用户历史行为中的 Session 信息。

3. 如何划分会话(Session)

将用户的历史点击行为序列 S 进行切分:首先将用户的点击行为按照时间排序,判断每两个行为之间的时间间隔,如果前后的时间间隔大于 30min,就进行切分。切分后,我们可以将用户的行为序列 S 转换成会话序列 Q。第 k 个会话 Q k = [ b 1 , b 2 , … , b i , … , b T ] Q_k = [b_1, b_2, \dots, b_i, \dots, b_T] Qk=[b1,b2,,bi,,bT] , 其中,T 是会话的长度, b i b_i bi 是会话中第 i 个行为。

分解的方式可以视实际情况,DSEN 论文中作者是按间隔时间 30 分钟来分解的。

  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值