Time-LSTM:使用RNN来处理用户行为时间间隔不均等的问题

What to Do Next: Modeling User Behaviors by Time-LSTM

这是IJCAI 2017的一篇文章,提出了Time-LSTM用于推荐系统,被多篇时间序列论文引用。其中利用行为时间间隔的方法值得我们思考。

1.背景问题

推荐系统一般是应用于电子商务等场景:给定用户的一系列历史交易记录,预测用户在未来某个时间点可能会购买的某些商品。

  • 用户集合
    在这里插入图片描述

  • 商品集合

在这里插入图片描述

  • 用户 u 的历史交易记录
    在这里插入图片描述

2.过去方法缺陷

近年来的研究发现RNN可以很好地捕捉用户行为序列的一些模式,但是这些RNN方法都没有考虑时间间隔(time interval),而且这些时间信息对揭示用户行为的关系有很大的作用。

以Phased LSTM为例:
  • 只对时间戳建模,针对单个行为
  • 用户的行为比较稀疏,该模型可能会忽略过去的信息
  • 没有明确区分和利用short term和long term兴趣。

因此,从解决上面的问题并利用好time interval入手,可以提高预测模型性能。

3.相关研究

  • LSTM和其变体
    简单地列一下原始LSTM的公式。
    Input:
    在这里插入图片描述
    在本文方法中,代表用户 u 购买的第 m 个商品:
    在这里插入图片描述
    Output:
    在这里插入图片描述
    过程:
    在这里插入图片描述

  • 推荐系统的RNN算法

  • 长短期兴趣:BPR, SMP, MRP

4.Time-LSTM

使用Time Gate来控制最后购买的商品对当前推荐的影响,并且还能保存time interval以反映长期的兴趣。共有3种版本。
在这里插入图片描述
基本公式是在上面的原始LSTM上改动,并且加入了时间间隔
在这里插入图片描述
在这里插入图片描述

  • Time-LSTM 1
    在原始LSTM上 增加了T,并且改写了(3)(4)。
    在这里插入图片描述
    在这里插入图片描述

T的作用有2个:

  1. 可以对于输入信息进行过滤;
  2. 时间间隔首先被存储在了T​之中,然后该信息会被传递到Cm中,接下来就会被一次传递到Cm+1​,Cm+2​…之中,因此会帮助对用户的长期兴趣进行建模。
  • Time-LSTM 2
    在原始LSTM上增加了T1 and T2,修改了(3)-(5)。
    在这里插入图片描述在这里插入图片描述

之所以有W<=0的限制,是因为为了保证当最近一次的时间间隔比较小的时候T会输出比较大的值,比较大的时候T会输出比较小的值,也是为了把最近的时间间隔​信息进行编码。

  • Time-LSTM 3
    在Time-LSTM 2的基础上去掉了fm,改为耦合输入和遗忘门。
    在这里插入图片描述

5.实验

优化器: AdaGrad
数据集
  • LastFM,收听音乐类
    http://www.dtic.upf.edu/∼ocelma/MusicRecommendationDataset/lastfm-1K.html
    事件:<user id, song id, timestamp>
  • CiteULike,论文引用类
    http://www.citeulike.org/faq/data.adp
    事件:<user id, paper id, timestamp>

80%数据用于训练集,20%作为测试集。

本文代码:Github
Baseline

CoOccur+BP,Session-RNN,LSTM,LSTM+time,Phased LSTM

评价指标

Recall@10,MRR@10

实验结果

可以看出Time-LSTM比以往的RNN方法效果好。
在这里插入图片描述

5.工作贡献

通过LSTM结合时间间隔的方法,对用户短期行为和长期行为进行了建模,这在我们以太坊交易上也可以进行类似的行为研究。

6.下一步工作

论文中作者未来的研究方向包括:

  • 当一个用户没有历史交易记录时,如何推荐商品?(从好友或者浏览记录?)
  • 更多的行为模式,如点击、收藏、加入购物车等等?
  • 3
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值