本文档是Sunhao Dai、Changle Qu、Sirui Chen、Xiao Zhang和Jun Xu等研究者于2024年在第47届国际ACM SIGIR会议(SIGIR ‘24)上发表的一篇原创性研究论文。论文题为“RECODE: Modeling Repeat Consumption with Neural ODE”。该研究隶属于信息检索与推荐系统领域,旨在解决推荐系统中一个普遍但具有挑战性的问题:如何有效建模用户的重复消费行为。
在当今的在线服务平台中,推荐系统已成为应对信息过载不可或缺的工具。传统推荐系统主要关注于向用户推荐其未曾消费过的新颖物品,然而,在许多实际场景中,尤其是在音乐、视频等领域,重复消费是一种非常普遍的现象。用户常常会反复聆听同一首歌曲或观看同一部电影。因此,准确建模用户的重复消费意图对于提升推荐系统的用户体验和效果至关重要。
建模重复消费的关键在于捕捉用户对同一物品进行两次消费之间的时间间隔所呈现出的动态模式。现有研究通常依赖于启发式假设,例如假设时间间隔服从指数分布或混合分布(如SLRC模型结合指数分布和高斯分布)。然而,现实世界中的用户行为极其复杂。论文通过图1的实证分析指出,不同用户对同一物品的重复消费时间间隔分布不同,同一用户对不同物品的分布也不同。这种复杂的动态模式很难用单一或简单的预设分布来完美刻画。这些预定义分布的局限性导致现有方法难以捕捉细粒度的用户动态属性,从而可能产生次优的推荐性能。
受到神经常微分方程(Neural Ordinary Differential Equations, Neural ODE)在捕捉复杂系统动态性方面灵活性的启发,本研究提出了一个名为RECODE的新型模型无关框架。其核心目标是利用Neural ODE来建模重复消费,避免对时间间隔分布做出任何先验假设,从而更灵活、更准确地学习用户重复意图的演化动态。RECODE旨在通过结合用户的静态偏好和动态重复意图,为用户在目标情境下的偏好提供一个全面的建模方案。
详细工作流程:
RECODE被设计为一个模型无关的框架,可以灵活地集成到各种现有的推荐模型之上。其整体架构如图2所示,主要包含两个核心模块:静态推荐模块和动态重复感知模块。
1. 静态推荐模块: 此模块负责捕捉用户对物品的基本静态偏好。它可以是任何现有的推荐模型,例如基于协同过滤的模型(如矩阵分解MF、神经协同过滤NCF)或基于序列的模型(如GRU4Rec、SASRec)。该模块接收用户u(或其历史交互序列S_u)和候选物品i作为输入,通过其内部的用户建模和物品建模组件,生成用户表示e_u和物品表示e_i。随后,一个预测层f_pred(例如点积或全连接层)根据这些表示计算出一个基础的静态偏好分数R_sta_u,i。这个分数反映了在不考虑特定重复历史模式的情况下,用户对物品的长期或一般性兴趣。
2. 动态重复感知模块: 这是RECODE的创新核心,专门用于建模用户对特定物品的动态重复消费意图。该模块完全基于神经ODE构建,无需预设时间间隔的分布形式。它包含三个子组件: * 编码器(Encoder): 首先,将来自静态推荐模块的用户表示e_u和物品表示e_i进行拼接,然后通过一个多层感知机(MLP)编码器,生成一个初始的潜在状态h^0_u,i。这个初始状态融合了用户和物品的特定信息,为后续的动态演化过程设定起点。 * 神经ODE求解(Neural ODE Solver): 这是模块的核心部分。给定初始状态h^0_u,i和用户u对物品i的历史重复消费时间间隔列表(δt1, δt2, …, δtn),该组件利用一个ODE函数f_ode(由另一个MLP参数化)来描述潜在状态随时间的连续变化。具体而言,通过数值ODE求解器(论文中采用了欧拉ODE求解器),可以计算出在每个历史时间间隔点上的重复感知表示(h^1_u,i, …, h^n_u,i)。这个过程可以形式化地表示为:h^k_u,i = ODESolve(f_ode, h^0_u,i, δtk)。神经ODE的强大之处在于,它通过一个可学习的神经网络f_ode来定义状态的导数,从而能够从数据中自动学习复杂的动态模式,无论是指数衰减、周期性波动还是其他任何未预定义的形态。 * 解码器(Decoder): 获得每个时间点的重复感知表示后,使用另一个MLP作为解码器,将每个表示映射为一个标量分数,然后将所有历史时间点对应的分数求和,得到最终的动态重复意图分数R_rep_u,i。
最后,将静态偏好分数和动态重复意图分数相加,得到用户u对物品i的最终预测评分:R_u,i = R_sta_u,i + R_rep_u,i。模型采用成对排序损失(Pairwise Ranking Loss)进行优化,鼓励模型对用户真实消费过的物品给出比随机采样的未消费物品更高的分数。
主要实验结果:
研究在两个真实的音乐推荐数据集(MMTD和Nowplaying-rs)上进行了广泛的实验,以验证RECODE的有效性、通用性和鲁棒性。
1. 整体性能: 如表2所示,即使RECODE仅使用简单的矩阵分解(MF)作为其静态推荐模块,它在所有评估指标(Recall@50/100, NDCG@50/100)上均显著超越了包括GRU4Rec、Caser、NARM、SASRec和ContraRec在内的先进序列推荐模型。这一结果强烈表明,在重复消费率较高的场景中,显式且精准地建模重复行为比单纯依赖复杂的序列建模架构更为关键。
2. 模型无关性验证: 如表3所示,作者将RECODE与另一个模型无关的重复消费模型SLRC进行了对比,并将它们分别应用到四种不同的基础模型上:协同过滤类(MF, NCF)和序列类(GRU4Rec, SASRec)。实验结果表明: * 在所有基础模型上,集成RECODE后,模型性能都获得了显著且一致的提升。 * 在所有案例中,RECODE的性能都优于集成SLRC的版本。这证明了RECODE利用神经ODE学习动态模式的方法,比基于固定分布假设的SLRC更具优势,能更灵活地适应真实数据中复杂的重复消费模式。
3. 不同重复率下的性能分析: 为了进一步探究数据集重复消费比例对模型效果的影响,研究者将用户按历史重复率分组进行实验。如图3所示,随着用户重复率的升高,RECODE(无论基于MF还是GRU4Rec)相较于基础模型和SLRC的改进幅度也越大。这清楚地表明,RECODE在捕捉重复消费动态模式方面的能力,在重复行为频繁的场景中能带来更大的性能增益,凸显了其解决核心问题的有效性。
结论:
本研究提出了一种新颖的、基于神经ODE的重复消费建模框架RECODE。其主要贡献和价值在于: 1. 方法创新: 首次将神经ODE引入推荐系统的重复消费建模中,通过数据驱动的方式学习时间间隔的动态模式,摆脱了对预定义分布形式的依赖,从而能够更灵活、更准确地捕捉现实世界中复杂多样的用户重复行为。 2. 框架通用: RECODE被设计为模型无关的框架,可以无缝集成到各种现有的协同过滤或序列推荐模型中,具有良好的可扩展性和实用性。 3. 性能卓越: 在多个真实数据集和不同基础模型上的实验充分证明,RECODE能稳定且显著地提升基础模型的推荐性能,并且在重复消费场景下优于现有的基线方法。 4. 理论包容性: 论文指出,现有基于指数分布或高斯分布的方法可以视为神经ODE所涵盖的特例(对应特定的ODE形式)。因此,RECODE提供了一个更通用、更强大的建模范式。
研究亮点:
这项研究为推荐系统中重复消费行为的建模提供了更先进、更灵活的解决方案,在理论和实践层面均具有重要价值。