站在2022年回看行为序列建模

2022 年 7 月 14 日 机器学习与推荐算法

一、摘要

工业界和学术界都已经证明了,行为序列建模能有效提升模型的预估准度,比如将序列模型引入推荐领域的GRU4Rec[6]、阿里的行为兴趣建模系列(DIN[1]、DIEN[2]、MIMN[3]、SIM[4])、微软的的Sli-Rec[5]等。纷繁复杂的模型层出不穷,但是它们想要解决的核心问题是类似的:有效地聚合序列信息;在行为序列中增加更多的side info;利用更长的行为序列。本文主要是从经典的DIN模型出发,提炼其具有启发性的观点,在此模型的基础上,沿着上述三个方向改进。

DIN[1]模型是阿里的行为兴趣建模系列的开篇之作,也是一种被工业界普遍使用的序列建模方案之一,所以笔者尝试复现DIN的核心模块,并在此基础上做一些优化。代码放在了我的github(  地址如下),之后会持续复现推荐领域相关的论文,欢迎大家star。

https://github.com/Czzzzzzzz/recommendation_system

二、站在2022年回看DIN模型

我们先给出行为序列的形式化定义,代表用户集合,代表物料(可以是短视频、直播、商品等)集合,用户的一系列用户行为可以被表达为表示用户行为序列的长度, 代表用户u的第i个历史行为,可以包含多种side info信息,代表用户u的第i次行为的第k个side info信息,一般是物料的id、类目、发生行为的时间等,序列建模则是探索如何有效的使用用户行为序列对目标物料target_item评分。

1. 有效地聚合序列信息

聚合序列信息的方式有很多,比如sum-pooling、attention、gru等。比较简单的序列信息的聚合方式是sum-pooling,对于每个行为生成对应的稠密向量,也就是拼接每个side info对应的稠密向量,那么用户行为序列可以被转化为向量形式 ,然后通过sum-pooling的方式获得包含整个序列信息的向量表示 ,正如如下图中的绿框部分。

图片取自DIN[1]论文

Sum-pooling的方式简单高效,但是缺点也很明显:用户的任一行为被无差别对待。比如,在一次购物时,当推荐系统需要判断用户此次是否会购买手机壳,那么用户曾经购买过手机的行为信息,显然比购买过衣服的行为信息更重要。

DIN提供的一个启发是:不同的行为信息的重要程度不一样,可以通过Attention机制动态分配权重。DIN[1]里采用的形式如下图,它主要采用target attention的结构,利用out product和fc来生成attention score,对细节感兴趣的读者直接读原论文即可。

当然,attention的形式很多,笔者也尝试了另一种简单的target attention结构,下面的表述沿用下DIN论文里的符号,使用candidate ad和user behaviors中的goods i的內积值作为attentoin score,笔者在Amazon movies_and_TV的数据集上对比了三种聚合方式的结果(out product采用了DIN[1]中的attention结构,没有包含论文中提出的DICE等方法),从下表的实验结果来看,inner product > out product >> sum-pooling,attention结构的效果相差不大,它们都远优于sum-pooling方式,顺着这个思路延伸,我们也是可以使用transformer、bert等更复杂的attention结构,但是,工业界的部署环境可能无法承受这些复杂的结构带来的高时耗。

attention structure auc (mean±std) gauc (mean±std)
Sum-pooling 0.80759±0.002753 0.81035±0.002187
out product 0.83300±0.001928 0.83072±0.001844
inner product 0.83659±0.001220 0.83469±0.001195

除了attention的建模方式,利用序列模型来建模序列信息也是很自然的。DIEN[2]采用了GRU结合attention的方式来建模;SLI-REC[5]同样采用GRU结构,并且考虑了时间信息和长短期兴趣,微软的这篇文章解决的问题很实际,效果也不错,推荐大家阅读。

2. 在行为序列中添加更多的side info

在每个用户行为里添加合适的side info能帮助模型更好的识别不同行为的重要程度,中比较常见的信息包括物料id、物料的类别、行为距今时间;如果物料是短视频,还可以包含短视频观看时长;如果物料是商品,还可以包含商品的金额等。

笔者在实验中,令,其中“发生行为距今时间”在attention结构下是比较重要的特征,因为attention结构并不显示编码序列的位置信息,所以,“发生行为距今时间”则充当类似transformer中的positional encoder的作用,另外,这种特征是也非常符合直觉的,比如,有些用户之前用安卓手机,近期买了较多的苹果产品,可以预见他们更有可能去继续购买苹果产品。从实验结果看,有效的side info确实能提升效果。

side info auc(mean±std) gauc(mean±std)
物料id 0.82266±0.002125 0.82043±0.002143
物料id,物料类别 0.82268±0.001615 0.82070±0.001512
物料id,物料类别,发生行为距今的时间 0.84436±0.002118 0.83842±0.002642

从side info的角度,笔者提出一些供讨论的优化方向:

1. 从前文中可以看到,一般采用concat方式生成用户单个行为对应的向量表征,是否可以使用attention或者gate结构来进一步评估不同side info的重要性呢?

2. 现在还有一些工作( TGIN[8])用用户行为的相似行为来补充side info或者行为序列,这也是个不错的思路,是否可以采用物料id的“相似”id来补充行为序列呢?

3. 利用更长行为序列

更长的行为序列信息包含了更久远的用户兴趣,但是,工业界很少直接使用全量的用户行为,一是基建压根无法支持存储用户全生命周期的用户行为,二是全量的用户行为存在大量的噪音。从阿里的行为兴趣建模系列实践中可以发现,从din[1]的~10量级,到MIMN[3]的~1k量级,再到SIM[4]的~10k量级,有效的利用更长的行为序列能显著提升模型的效果。

笔者在Amazon movies_and_TV数据集上做了一个使用不同序列长度的实验,据统计,该数据集中用户的历史行为最少1个,最多2365个,平均79个,25分位点3个,50分位点11个,75分位点49个,实验结果如下,从中我们可以得出以下结论:随着序列长度增加,模型效果会逐渐增强后减弱,耗时线性增加

序列长度 auc(mean±std) gauc(mean±std) 分钟/每epoch
25 0.835440±0.001759 0.833120±0.001781 ~5.1
50 0.837190±0.001296 0.834990±0.001296 ~7.4
75 0.837620±0.001427 0.835540±0.001102 ~9.7
100 0.837130±0.001713 0.835120±0.002037 ~11.8
125 0.837870±0.001651 0.837870±0.001651 ~13.7
150 0.838940±0.001286 0.836990±0.001582 ~15.8
175 0.837467±0.000933 0.835783±0.000747 ~17.7

上述的实验结果表明我们需要一个可以充分利用更长的用户行为序列的模型,同时不会因为序列过长而导致效果下降的模型,SIM[3]则是一个比较好的利用用户超长期行为序列()的工业界解决方案,它的结构如下图,该模型分为两个主要步骤:第一步从用户超长期行为序列中检索出与target_item “相似”的候选行为序列;第二步是对候选行为序列建模。为什么说它是一个非常好的工业界解决方案呢?这是因为第一步和第二步是可以解耦的,在第一步,我们可以在公司已有的类目树体系下做“相似”检索,这比较容易优化,或者,如果我们采用向量“相似”检索,对于Maximum Inner Product Search问题,业界也有了比较成熟的解决方案,所以第一步的rt是可控,而且候选行为序列长度可以被控制到十位数的量级,这样第二步的建模过程和DIN[1]并无二样。

到SIM模型为止,我们可以利用的行为序列已经够“长”了,那我们是不是可以尝试融合更“多”的行为序列呢?在工业界,用户的行为序列远不止一种,以某音为例,用户不仅可以“观看短视频”,还可以“观看直播”,也可以“购买商品”,融合多域的行为序列数据会不会是下一个可行的突破方向?笔者知识面较窄,似乎没有找到文章探讨过如何融合多域的行为序列数据,有知道的读者可以在评论回复。

三、总结

最后对本文做一个总结,全文主要是从经典的DIN模型出发,探讨了行为序列建模的三个优化方向,也提出了一些我自己的思考,供读者讨论:

1. 有效地聚合序列信息。目前见得比较多的方法是以target attention为代表的注意力结构,或者以GRU为代表的序列结构,也见到越来越多利用contrastive learning([7])、graph来做序列推荐的论文。

2. 在行为序列中增加更多的side info。更多的side info能帮助模型识别行为的重要性,是否可以考虑通过“相似”关系引入更多的side info,或者将attention加在side info上呢?

3. 利用更长的行为序列。到SIM模型为止,我们利用了足够“长”的行为序列,是否会有新的工业界方案来考虑利用多“域”的用户行为序列?

四、参考

1. Zhou, G., Zhu, X., Song, C., Fan, Y., Zhu, H., Ma, X., Yan, Y., Jin, J., Li, H. and Gai, K., 2018, July. Deep interest network for click-through rate prediction. In *Proceedings of the 24th ACM SIGKDD international conference on knowledge discovery & data mining* (pp. 1059-1068).

2. Zhou, G., Mou, N., Fan, Y., Pi, Q., Bian, W., Zhou, C., Zhu, X. and Gai, K., 2019, July. Deep interest evolution network for click-through rate prediction. In *Proceedings of the AAAI conference on artificial intelligence* (Vol. 33, No. 01, pp. 5941-5948).

3. Pi, Q., Bian, W., Zhou, G., Zhu, X. and Gai, K., 2019, July. Practice on long sequential user behavior modeling for click-through rate prediction. In *Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining* (pp. 2671-2679).

4. Pi, Q., Zhou, G., Zhang, Y., Wang, Z., Ren, L., Fan, Y., Zhu, X. and Gai, K., 2020, October. Search-based user interest modeling with lifelong sequential behavior data for click-through rate prediction. In *Proceedings of the 29th ACM International Conference on Information & Knowledge Management* (pp. 2685-2692).

5. Yu, Z., Lian, J., Mahmoody, A., Liu, G. and Xie, X., 2019, August. Adaptive User Modeling with Long and Short-Term Preferences for Personalized Recommendation. In *IJCAI* (pp. 4213-4219).

6. Hidasi, B., Karatzoglou, A., Baltrunas, L. and Tikk, D., 2015. Session-based recommendations with recurrent neural networks. *arXiv preprint arXiv:1511.06939*.

7. Xie, X., Sun, F., Liu, Z., Wu, S., Gao, J., Ding, B. and Cui, B., 2020. Contrastive learning for sequential recommendation. *arXiv preprint arXiv:2010.14395*.

8. Jiang, W., Jiao, Y., Wang, Q., Liang, C., Guo, L., Zhang, Y., Sun, Z., Xiong, Y. and Zhu, Y., 2022, February. Triangle Graph Interest Network for Click-through Rate Prediction. In *Proceedings of the Fifteenth ACM International Conference on Web Search and Data Mining* (pp. 401-409).

欢迎干货投稿 \ 论文宣传 \ 合作交流

推荐阅读

TransRec: 基于混合模态反馈的可迁移推荐系统
论文周报 | 推荐系统领域最新研究进展
RecSys2022推荐系统论文集锦

由于公众号试行乱序推送,您可能不再准时收到机器学习与推荐算法的推送。为了第一时间收到本号的干货内容, 请将本号设为星标,以及常点文末右下角的“在看”。

喜欢的话点个在看吧👇
登录查看更多
4

相关内容

IJCAI2022 | 求同存异:多行为推荐的自监督图神经网络
专知会员服务
18+阅读 · 2022年6月19日
对话推荐算法研究综述
专知会员服务
48+阅读 · 2022年2月18日
WSDM'22「京东」个性化会话推荐:异构全局图神经网络
专知会员服务
22+阅读 · 2022年1月7日
【AAAI2021】预训练用户表示提升推荐
专知会员服务
43+阅读 · 2021年2月8日
专知会员服务
22+阅读 · 2020年9月8日
【KDD2020-阿里】可调控的多兴趣推荐框架
专知会员服务
28+阅读 · 2020年8月11日
【SIGIR 2020】 基于协同注意力机制的知识增强推荐模型
专知会员服务
89+阅读 · 2020年7月23日
再见Attention: 建模用户长期兴趣的新范式
机器学习与推荐算法
2+阅读 · 2022年7月15日
2022推荐系统序列建模的趋势总结
机器学习与推荐算法
2+阅读 · 2022年6月15日
SIGIR2022 | 用于序列推荐的多粒度多兴趣神经模型
机器学习与推荐算法
1+阅读 · 2022年6月14日
SIGIR 2021 | 推荐系统中的多行为建模
PaperWeekly
1+阅读 · 2021年10月9日
SIGIR20 | 基于用户行为检索的点击率预估模型
机器学习与推荐算法
1+阅读 · 2021年9月28日
国家自然科学基金
5+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
Cold-start Sequential Recommendation via Meta Learner
Arxiv
15+阅读 · 2020年12月10日
Arxiv
14+阅读 · 2019年11月26日
Arxiv
27+阅读 · 2017年12月6日
VIP会员
相关VIP内容
IJCAI2022 | 求同存异:多行为推荐的自监督图神经网络
专知会员服务
18+阅读 · 2022年6月19日
对话推荐算法研究综述
专知会员服务
48+阅读 · 2022年2月18日
WSDM'22「京东」个性化会话推荐:异构全局图神经网络
专知会员服务
22+阅读 · 2022年1月7日
【AAAI2021】预训练用户表示提升推荐
专知会员服务
43+阅读 · 2021年2月8日
专知会员服务
22+阅读 · 2020年9月8日
【KDD2020-阿里】可调控的多兴趣推荐框架
专知会员服务
28+阅读 · 2020年8月11日
【SIGIR 2020】 基于协同注意力机制的知识增强推荐模型
专知会员服务
89+阅读 · 2020年7月23日
相关资讯
再见Attention: 建模用户长期兴趣的新范式
机器学习与推荐算法
2+阅读 · 2022年7月15日
2022推荐系统序列建模的趋势总结
机器学习与推荐算法
2+阅读 · 2022年6月15日
SIGIR2022 | 用于序列推荐的多粒度多兴趣神经模型
机器学习与推荐算法
1+阅读 · 2022年6月14日
SIGIR 2021 | 推荐系统中的多行为建模
PaperWeekly
1+阅读 · 2021年10月9日
SIGIR20 | 基于用户行为检索的点击率预估模型
机器学习与推荐算法
1+阅读 · 2021年9月28日
相关基金
国家自然科学基金
5+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
Top
微信扫码咨询专知VIP会员