会话推荐是推荐领域的一个子分支, 美团平台增长技术部也在该领域不断地进行探索。不久前,该部门提出的跨会话信息感知的时间卷积神经网络模型CA-TCN被国际会议ICDM NeuRec Workshop 2020接收。本文会对论文中的CA-TCN模型进行介绍,希望能对从事相关工作的同学有所帮助或者启发。
ICDM的全称International Conference on Data Mining,是由IEEE举办的世界顶级数据挖掘研究会议,该会议涵盖了统计、机器学习、模式识别、数据库、数据仓库、数据可视化、基于知识的系统和高性能计算等数据挖掘相关领域。其中ICDM NeuRec Workshop旨在从应用和理论角度系统地讨论推荐系统的浅层和深层神经算法的最新进展,该Workshop征集了有关开发和应用神经算法和理论以构建智能推荐系统的最新且重要的贡献。
背景
在大数据时代,推荐系统作为系统中的基础架构,开始扮演着越来越重要的角色,推荐系统可以为用户挑选出自己感兴趣的商品或者内容,从而来减少因信息爆炸带来的一些影响。目前,业界提出的很多推荐模型取得了巨大的成功, 但是大部分推荐方法常常是需要根据明确的用户画像信息进行推荐,然而在一些特定的领域,用户画像的信息有可能无法被利用。
为了解决这个问题, 会话推荐(Session-based Recommendation)任务被提了出来,会话推荐任务是根据用户在当前会话的行为序列去预测用户的下一个行为,而不需要依赖任何的用户画像信息[1]。目前,会话推荐任务已广泛应用于多个领域,例如下一个网页推荐、下一个POI推荐、下一个商品推荐等等。为了覆盖多个领域,所以“会话”的概念不仅限于交易,而是指一次或者一定时期内的消费或者访问的元素集合。
每一个会话(Session)都是一个item的转移序列,所以会话推荐任务可以很自然地被视为序列推荐任务,基于循环神经网络(RNN)的会话推荐模型[2]是应用的主流模型。但是基于RNN模型只对item之间的连续单向转移关系进行建模,而忽略了会话中其他item之间的转移关系。随着图神经网络的热点爆发,基于图结构的会话推荐模型如SR-GNN[3]、GC-SAN[4]被提出来,希望能够克服该点不足。基于图结构的会话推荐模型将会话的item转移序列构建成一个图结构,然后应用图神经网络模型来探索多个item之间复杂的转移关系。目前,基于图结构的会话推荐模型已经成为了State-of-the-art的解决方法,但它们仍然具有一定的限制, 观察如下:
图1 跨会话item的Toy样例
图2 图结构对于序列数据的建模示意图
相关工作介绍
现有的会话推荐方法大致可以分为两类, 分别是基于协同过滤方法和基于深度学习方法:
CA-TCN模型与现有方法都存在着明显的差异。一方面,CA-TCN探索Item-Level和Session-Level的跨会话影响,以提高推荐性能,与其他的协同过滤方法的区别有两个:1. CA-TCN同时考虑了跨会话信息对item和Session不同层次的影响,而CSRM仅仅考虑了Session层次。2. CA-TCN构建了跨会话的全局Cross-Session item图和Session-Context图,通过GNN来探索复杂的跨会话影响。另一方面,与基于RNN和基于GNN的模型相比,CA-TCN模型克服了RNN模型无法并行以及图结构缺失位置和长期依赖信息的不足。
跨会话感知的时间卷积神经网络模型(CA-TCN)
1. 模型整体框架
网络的整体框架如下图3所示。给定会话序列数据,首先,我们构造一个Cross-Session Item-Graph来链接出现在不同会话中且有关系的items, 然后经过图神经网络输出包含全局信息的item向量。将得到的item向量输入到TCN模型中输出蕴含会话序列信息的item表示,根据Item-Level Attention机制来整合item的表示进而获得Session表示。此后,根据Session表示之间的相似度构建Session-Context Graph图以对Session层次的跨会话关系进行建模。最后,根据Session的表示以及item的表示进行预测。
图3 CA-TCN模型总体框架图
2. 跨会话Item图(Cross-Session Item-Graph)
在第一阶段,我们构建Cross-Session Item-Graph有向图G_ item,其中图中的每个节点代表一个item,(v_s_i, v_s_i+1)作为一条边,代表在会话s中用户在v_s_i之后点击了v_s_i+1。与现有方法相比,跨会话的G_item图能够在所有的会话中出现的item之间建立链接, 因此G_item不仅可以获取会话的内部信息,同时可以得到非当前会话的外部信息。G_item的图的核心在于将所有的item放在了一起通盘考虑,然后用各个会话中的点击行为给item之间建立链接,不同会话的点击信息汇总在一起使得item之间的关系连接更加丰富。
为了充分利用G_item图结构中的信息,CA-TCN将item的点击顺序和共现次数考虑在内。对于点击顺序,建立带有方向的邻接矩阵A_in和A_out来建模输入和输出方向。在邻接矩阵的基础上,根据item之间的共现次数为不同的边设置不同的权重,得到权重矩阵Weight_in和Weight_out。通过分配不同的权重,具有更多共现次数的item将发挥更大的作用,反之亦然,从而避免了噪音影响。
接下来,我们开发GNN模型来捕捉复杂的跨会话信息在item__level的影响,GNN将每一个item映射为一个d维的embedding v∈R^d,得到包含跨会话信息的全局item向量(item_vector)。
3. 时间卷积神经网络模型(TCN Model)
在第二阶段,我们采用时间卷积神经网络TCN来对会话序列进行建模,获取会话s的全局和局部表示。每一个会话s由多个item组成,输入会话s包含的item全局向量化表示(item_vector)到时间卷积神经网络(TCN)模型中。对于会话中的每一个item进行因果和膨胀卷积的计算,进行会话序列信息的抽取。
采用会话中最后一个item的TCN输出作为会话s的局部(local)信息,以正确获取用户的当前兴趣:
此外,采用会话s包含的items的表示以加权求和的方式得到会话的全局(global)表示(session_vector),捕捉用户的全局信息。其中为了区分不同的item对于会话的影响程度不同,采用item层次注意力机制,使得会话表示更加专注于重要程度高的items。
4. 会话上下文感知图(Session-Context-Graph)
会话的local表示和global表示只专注于当前的会话,而忽略了会话间的影响。为了克服该不足,我们构建一个上下文感知的会话图结构(Session-Context-Graph)来考虑不同会话之间复杂的关系。
在会话图中,每一个节点代表一个会话s, 边的链接代表两个会话之间具有相似性。我们需要考虑的一个重要问题是如何决定一条边是否存在。对于每一对会话,我们计算其二者表示的相似度,然后采用根据相似度值的KNN-Graph[9] 模型来决定一个会话节点的邻居。在构建会话图结构之后,我们采用会话层的注意力机制以及图神经网络模型[10]来整合会话邻居节点对其自身的影响,同时会话层的注意力将会话之间的相似度也考虑在内,最终得到基于会话上下文敏感的会话表示。
5. 点击预测
为了更好地预测用户的下一个行为,我们采用融合函数将会话的局部表示,全局表示以及基于跨会话信息的表示进行融合,得到最终的会话表示:
最后,我们根据item和session的表示去预测每一个候选item成为用户下一个点击的概率,根据概率进行逆序排序,筛选出概率值排在前预设位数对应的商品,作为用户偏好商品并进行推荐。
实验评估
为了评估所提出的CA-TCN的性能,我们使用了两个广泛应用的基准数据集,即Yoochoose和Diginetica, 模型性能评估结果如下表所示,CA-TCN优于目前的基于RNN以及图结构的State-of-the-art解决方法。
表1 会话推荐任务的性能比较
此外,我们进行消融实验以评估CA-TCN中每个组成部分的影响,组成部分包括TCN模型,Cross-Session Item-Graph和Session-Context graph。下图的实验结果证明了CA-TCN通过利用TCN模型和跨会话信息在会话推荐任务上都实现了性能的逐步提升。
图4 CA-TCN模型不同组成部分的实验结果
未来工作
目前该论文已经申请了专利,后续我们将在美团多个业务线的会话推荐和序列推荐任务上进行探索落地。特别地, CA-TCN模型在电商数据集Yoochoose上进行了性能验证,证明CA-TCN模型适用于具有商品属性的电商场景,未来在“团好货”和“美团优选”等具有商品属性的业务线中都可以尝试应用。
参考文献
[1]. S. Wang, L. Cao, and Y. Wang, “A survey on session-based recommender systems,”arXiv preprint arXiv:1902.04864, 2019.
[2]. B. Hidasi, A. Karatzoglou, L. Baltrunas, and D. Tikk, “Session-based recommendations with recurrent neural networks,”arXiv preprintarXiv:1511.06939, 2015.
[3].S. Wu, Y. Tang, Y. Zhu, L. Wang, X. Xie, and T. Tan, “Session-based recommendation with graph neural networks,” in Proceedings of the AAAI Conference on Artificial Intelligence, vol. 33, 2019, pp. 346–353.
[4]. C. Xu, P. Zhao, Y. Liu, V. S. Sheng, J. Xu, F. Zhuang, J. Fang, and X. Zhou, “Graph contextualized self-attention network for session-based recommendation.” inIJCAI, 2019, pp. 3940–3946.
[5]. S. Bai, J. Z. Kolter, and V. Koltun, “An empirical evaluation of generic convolutional and recurrent networks for sequence modeling,”arXivpreprint arXiv:1803.01271, 2018.
[6]. D. Jannach and M. Ludewig, “When recurrent neural networks meet the neighborhood for session-based recommendation,” inRecSys ’17, 2017.
[7]. M. Wang, P. Ren, L. Mei, Z. Chen, J. Ma, and M. de Rijke, “A collaborative session-based recommendation approach with parallel memory modules,” in Proceedings of the 42nd International ACM SIGIR Conference on Research and Development in Information Retrieval, 2019, pp. 345–354.
[8].J. Li, P. Ren, Z. Chen, Z. Ren, T. Lian, and J. Ma, “Neural attentive session-based recommendation,” in Proceedings of the 2017 ACM on Conference on Information and Knowledge Management, 2017, pp. 1419–1428.
[9]. W. Dong, C. Moses, and K. Li, “Efficient k-nearest neighbor graph construction for generic similarity measures,” in Proceedings of the 20thinternational conference on World wide web, 2011, pp. 577–586.
[10].P. Veliˇckovi ́c, G. Cucurull, A. Casanova, A. Romero, P. Lio, and Y. Bengio, “Graph attention networks,”arXiv preprint arXiv:1710.10903, 2017.
作者信息
本文作者叶蕊、张庆、恒亮,均来自美团平台增长技术部。
---------- END ----------