推荐系统(recommendation system, RS)作为缓解信息爆炸的有效工具, 在现代电子商务系统中起着至关重要的作用[1]. 传统的推荐方法(例如: 协同过滤[2,3])通常在长期历史交互中学习用户偏好. 然而在许多情况下用户存在隐私政策或未登录状态下, 数据不可用的问题导致其表现较差. 因此提出了基于会话的推荐(session-based recommendation, SBR). 基于会话的推荐不依赖用户的个人信息或历史行为数据, 而是通过分析用户的对话内容和上下文, 为用户提供相应的个性化建议或推荐. 在淘宝, 抖音, 小红书等电子商务平台和社交媒体中发挥关键作用.
目前主要分两种方法实现基于会话的推荐: 有效捕获会话中项目之间的依赖关系以及挖掘协作信号丰富单个会话信息. SR-GNN (session-based recommendation with graph neural network)[4]利用图门控神经网络来探索每个会话中远距离项目之间的依赖关系. 因为在处理短序列方面, 门控循环单元[5]比长短期记忆[6]能够更有效地捕捉和分析项目之间的复杂关联. GCE-GNN (global context enhanced graph neural network)[7]构建了一个覆盖所有会话的全局图, 以捕捉项目的潜在高阶信号. 但是由于会话内的用户行为受限, 将会话间的项目关系纳入分析用户意图中可以更为有效. 然而, 在实际应用中会话数据过于庞大, 虽然提供了丰富的价值, 但对于建模也极具挑战, 而且这些工作重点考虑建模连续项目之间的顺序转换, 会降低模型对用户偏好变化获取的敏感程度, 无法准确地捕捉用户的动态偏好变化.
现实生活中用户的偏好往往会因时间而不断变化[8,9]并且在市场营销研究[10–13]中表示, 价格对用户最终是否决定购买起着关键作用. 例如, 用户在长时间对价格高昂的手机感兴趣, 但下一个时间段可能更倾向于便宜的服饰、食物等其他类别, 但由于用户浏览价格高昂手机次数多于低廉的服饰, 系统只考虑用户行为的转换关系而忽略用户偏好的转移. 这使得充分捕捉用户多类型偏好的动态性成为一个复杂的问题.
近年来, 图神经网络在会话推荐方面取得了显著成果[14]. 例如, SR-GNN[4]通过构建会话中不同项目间的图结构, 并利用图卷积神经网络来学习项目之间的转换关系, 从而提供更精准和个性化的推荐结果. STAMP (session-based temporal attention model for personalized recommendation)[15]结合了时间注意力机制来捕捉用户在不同时间点的兴趣变化, 并根据用户的历史行为模式提供个性化的推荐服务. 尽管它们很有效但现有的方法在处理复杂的多类型关系和多跳关系时会有局限性. 在本文中, 信息之间是高阶的关系, 如<项目、类别、价格>之间的关系. 这种复杂多类型节点之间高阶依赖关系很难使用传统的图方法建模. 研究人员提出用异构超图建模高阶关系[16]用于捕捉多类型节点信息. 现有研究表明异构超图网络能够有效结合异构图在建模异构信息方面的优势以及超图在捕获复杂高阶依赖关系方面的优势来处理SBR中的异构信息. 异构超图中的节点可以与多类型节点连接, 形成丰富的关系网络. 然而在本文建立的异构超图中存在多类型节点之间的复杂关联关系和多层次的关系结构, 在多次迭代的过程中可能会信息丢失从而导致节点之间的关系丢失或模糊, 影响信息的有效传播和学习. 如何有效学习各个类型节点的信息以及关系成为一个问题.
针对上述问题, 本文提出融合双分支动态偏好的会话推荐SDBDP (session recommendation incorporating dual-branch dynamic preferences)模型. 受CoHHN (co-guided heterogeneous hypergraph network)[17]的启发, SDBDP不仅考虑用户的兴趣和类别, 还考虑了不同时间用户对类别的价格偏好, 以提高推荐性能. 利用异构超图建立多类型节点的信息并设计一种双分支聚合机制来传播各个节点嵌入, SDBDP先引入每个类型的分类树, 以确定用户各个类型的偏好嵌入, 通过使用注意力机制和聚合机制来学习各个类型节点之间的关系进行学习, 形成不同类型的超边来传播信息, 并提出价格嵌入增强器用于加强类别和价格之间的关联, 以便模型可以更好地理解它们之间的关系. 采用反向位置嵌入对位置信息进行编码, 利用软注意机制将位置嵌入和兴趣嵌入进行学习, 最终得到用户的动态兴趣偏好. 采用多尺度时序Transformer对价格动态建模获取局部的价格波动, 使模型更准确地预测动态价格变化, 提高模型对于价格变化的学习能力, 最终得到用户的动态价格偏好.
基于学习到的多类型动态偏好通过门控融合机制相互学习以丰富语义信息. 最后SDBDP根据项目特征和用户的价格和兴趣偏好进行推荐. 综上所述, 本文的工作贡献如下.
• 提出双分支聚合机制, 来有效学习异构超图中多类型节点之间的信息.
• 提出多尺度时序Transformer, 利用多尺度动态建模来获取用户价格意识的变化, 并通过Transformer来学习动态价格偏好.
• 在两个公共基准上的广泛实验证明了本文提出的SDBDP与最先进的方法相比的优越性.
1 相关工作在学术界和工业界的努力下, RS正在迅速发展来应对电子商务系统日益增长的需求和复杂性所带来的挑战. 常用的推荐方法包括传统的协同过滤方法, 基于深度学习的会话推荐方法以及基于图神经网络的推荐方法.
1.1 传统的协同过滤方法协同过滤 (collaborative filtering, CF)[2,3]是推荐系统在早期研究中的常用方法, 它根据用户历史浏览记录来预测用户的兴趣偏好. 例如, 著名的浅层方法, 矩阵分解 (matrix decomposition, MF)[18]对整个用户-项目交互矩阵进行分解, 并对每个用户和项目进行潜在表示. 神经协同滤波 (neural collaborative filtering, NCF)[3]首次引入了多层感知器来近似矩阵分解过程, 而现代商业在线系统中许多用户信息是匿名的, 导致基于协同过滤算法的失败.
1.2 基于深度学习的会话推荐传统的推荐方法往往无法有效捕捉项目或者用户的隐含特征, 因此在推荐过程中会忽略掉一些重要信息或关联关系. 近年来, 随着深度学习的发展, 神经网络模型得到广泛应用.
循环神经网络 (recurrent neural network, RNN)[5,6,19]是一种深度学习模型, 与传统神经网络不同, RNN具有循环结构, 允许信息在网络中保持持续传递, 以便有效处理序列数据中的时间依赖关系, 在推荐系统中得到广泛应用. GRU4REC (gated recurrent unit for session-based recommendations)[6]简单地将数据视为时间序列, 并应用多层门控循环单元(gated recurrent unit, GRU)进行建模, 可以帮助网络更好地获取序列数据中的长期依赖关系和时间动态模式, 相比于传统的RNN, GRU能更有效地避免梯度消失和梯度爆炸的问题, 但是无法捕捉用户的长期偏好. NARM (neural attentive session-based recommendation model)[5]堆叠GRU作为编码器提取信息, 并堆叠自注意力层为每个隐藏状态分配权重, 形成会话嵌入, 能够灵活地根据不同用户的偏好模式来调整注意力权重, 从而更好地获取用户的兴趣变化规律, 但可能面临时间序列引入的偏差问题. SSRM (streaming session-based recommendation)[20]考虑了特定用户的历史会话, 并应用注意力机制进行组合. 尽管这些方法取得了一定的成功, 但传统的注意力机制没有考虑到时间维度, 难以捕获用户随时间变化的动态偏好.
1.3 基于图神经网络的推荐方法图神经网络最初应用于对图像和视觉数据进行特征提取和处理[21]. 卷积神经网络 (convolutional neural network, CNN)可以被看作是一种特殊类型的图神经网络, 它在图像处理任务中取得了重大的突破[22]. 随着对图神经网络结构和算法的深入研究, 图神经网络被引入到推荐系统[4,23]. 在推荐系统领域, 图神经网络可以用来处理用户行为图和项目关联图, 提高推荐的精准性, 从而更好地满足用户的个性化需求.
其中, 最早将图神经网络应用于工业推荐系统的PinSage[24]模型利用图神经网络来学习用户和项目的表示向量, 以更好地获取用户兴趣和项目特征之间的关联关系. 由神经图自动编码器组成的GC-MC (graph convolutional matrix completion)[25]模型, 用于重建用户项目评级图. NGCF (neural graph collaborative filtering)[26]中提出构建一个用户-项目二分图, 并利用多个图神经层来捕捉用户和项目之间的多跳协作信号. 虽然这些方法表明优于其他方法, 但是它们更擅长处理同构信息的图结构. 在社交推荐中, 用户之间的关系可以通过社交图来建模[27]. 例如, DiffNet[28]采用图卷积网络来对用户嵌入在其社交连接之间的扩散进行建模, 具有处理异构信息的能力, 并且能够有效地学习节点表示, 但缺乏对会话推荐特殊性的考虑, 比如对于没有用户标识的短时间会话中用户顺序行为一般无法直接使用. 一些方法将超图用于会话推荐中, SHARE (session-based hypergraph attention network for recommendation)[29]是将每一个会话构建一个超图, 并在会话序列上应用多个滑动窗口来捕获上下文信息. 综合超图在会话推荐上的优越性能, 本文采用异构超图来建模多类型节点的异构信息.
2 模型研究基于超图的SRS任务一般包含超图构建, 项目嵌入学习表示关系, 目标会话的表示和生成, 预测4个模块. SDBDP模型在此基础上增加一个价格嵌入增强器, 来挖掘项目类别和价格之间潜在的关系, 为获取多类型偏好提供信息.
SDBDP通过构造异构超图进行学习, 根据会话的高阶转换关系构建异构超图来获取异构信息. 通过获取到的异构信息, 设计一种双分支聚合机制, 在同构分支和全局分支的节点间传播各种信息, 得到不同类型的初始嵌入. 为加深价格和类别的潜在关系, 设计价格嵌入增强器, 利用初始的价格和类别嵌入通过交叉注意力机制来更好地学习用户价格嵌入. 针对用户动态价格偏好, 根据价格嵌入增强器得到价格嵌入, 利用多尺度在价格嵌入上进一步捕获短时间价格动态变化, 将得到的价格感知采用Transformer动态建模, 得到用户的动态价格偏好. 针对用户动态兴趣偏好, 根据双分支聚合机制得到兴趣嵌入, 将兴趣嵌入和反向位置编码衔接后利用软注意机制进行学习, 以获得动态兴趣偏好. 最终采用门控机制融合用户的兴趣和价格的动态偏好, 结合项目特征、价格和兴趣偏好对用户的行为进行预测, 模型架构如图1所示.
2.1 问题描述
V表示项目的集合, 设
商品的价格是否合适是由商品的类别来衡量的, 为提高会话推荐的准确率, 将价格看作分类变量. 根据文献[30]提出某一类商品的价格分布更接近逻辑分布, 而不是广泛使用的均匀分布. 将价格离散为
$ {p_i} = \left\lfloor { \frac{{\Phi \left( {{x_p}} \right) - \Phi \left( {\min } \right)}}{{\Phi \left( {\max } \right) - \Phi \left( {\min } \right)}} \times \rho } \right\rfloor $ | (1) |
其中,
为了捕捉异构超图中高阶关系, 在异构超图中对以下异构节点进行了编码: 项目、项目价格和项目类别, 定义4种类型的超边用于表示节点之间的多类型关系, 如图2所示. 异构超图
异构超图使SDBDP可对高阶关系进行建模, 并且有效缓解会话推荐中数据稀疏问题, 但是很难从异构节点中获取有用的信息. 在异构超图中, 一个目标节点能够和不同类型节点相邻, 同类型节点包含的信息为同构信息, 不同类型节点包含的信息为异构信息. 因此, 在该模块中将消息聚合汇总为两个分支, 即同构分支和全局分支. 在同构分支中, 获取与目标节点相邻的同类型节点产生的信息, 在全局分支中, 获取不同类型对目标节点产生的信息.
SDBDP模型采用项目超边传播各个类型特征,
$ n_k^j = \sum\limits_{k = 1}^K {{\alpha _k}x_k^j} $ | (2) |
$ {\beta _k} = \sigma \left( {{\omega ^j}x_k^j} \right) $ | (3) |
$ {\alpha _k} = \frac{{\exp \left( {{\beta _k}} \right)}}{{\displaystyle\sum\nolimits_{x_k^j \in N_k^j} {\exp \left( {{\beta _k}} \right)} }} $ | (4) |
其中,
全局分支聚合考虑的是将同构分支学习到的不同类型嵌入
$ {\eta _k} = \sigma \left( {{W_k}\left[ {{x_k}\parallel n_k^j\parallel n_k^m} \right]} \right) + W_k^j \cdot n_k^j + W_k^m \cdot n_k^m $ | (5) |
$ {h_k} = {x_k} + {\eta _k} \cdot n_k^j + \left( {1 - {\eta _k}} \right) \cdot n_k^m $ | (6) |
其中,
$ {h_{id}} = {g_h}\left( {{x_{id}}, {g_i}\left( {N_{id}^p} \right), {g_i}\left( {N_{id}^c} \right)} \right) + N_{id}^{id} $ | (7) |
$ {h_c} = {g_h}\left( {{x_c}, {g_i}\left( {N_c^p} \right), {g_i}\left( {N_c^{id}} \right)} \right) $ | (8) |
$ {h_p} = {g_h}\left( {{x_c}, {g_i}\left( {N_p^c} \right), {g_i}\left( {N_p^{id}} \right)} \right) $ | (9) |
根据价格超边和类别超边来提取用户的价格嵌入
$ A{{ttention}}\left( {{Q^C}, {K^C}, {V^C}} \right) = {\textit{Softmax}}\left(\frac{{\left( {{Q^C}{K^C}^{^{\mathrm{T}}}} \right)}}{{\sqrt {{d_c}} }} \cdot {V^C} \right)$ | (10) |
根据兴趣超边来提取用户的兴趣嵌入
$ x_i^* = \tanh \left( {{W_f}\left[ {h_{id}^i\parallel {p_i}} \right] + {b_f}} \right) $ | (11) |
其中,
$ {\bar x^*} = \frac{1}{m}\sum\limits_{i = 1}^m {x_i^*} $ | (12) |
其中,
$ {\beta _i} = {\textit{Softmax}} _i\left( {{\varphi _i}} \right) $ | (13) |
$ {\varphi _i} = {u^{\mathrm{T}}}\sigma \left( {{W_1}x_i^* + {W_2}{{\bar x}^*} + b} \right) $ | (14) |
其中,
$ {\hat I_p} = \sum\limits_{i = 1}^{{k}} {{\beta _i}} {{h}}_{id}^i $ | (15) |
在实际应用推荐中, 用户对价格的偏好可能会随着时间的推移表现出不同的趋势. 为解决这一挑战, 采用多尺度对用户的价格偏好进行建模, 利用多头注意力机制捕获序列间项目的关系, 最终获得用户的动态价格偏好.
2.6.1 多尺度时序Transformer自注意机制擅长捕获整个序列中的项目-项目全局依赖关系. 然而自注意机制的高计算代价限制模型在实际设置中的可伸缩性[31]. 基于文献[32,33]中的Transformer结构设计, 采用基于低秩的无二次注意操作的自注意层, 以近似线性模型的复杂度, 表示低等级的自我关注如下:
$ \hat H = {\textit{Softmax}}\left(\frac{{H \cdot {W^Q}{{\left( {E \cdot H \cdot {W^K}} \right)}^{\mathrm{T}}}}}{{\sqrt d }} \cdot F \cdot H \cdot {W^V} \right)$ | (16) |
其中,
多尺度方法可捕捉价格变化在不同时间尺度上的模式和趋势, 以提供更全面和准确的价格建模. 根据价格嵌入增强器获取到的用户价格嵌入
为增强模型的多尺度学习, 采用层次结构增强低等级Transformer捕获动态价格, 如图3所示. 首先模型是按时间顺序产生的会话, 构建一个价格感知聚合器来生成特定时间段表示
$ \begin{split} {\Gamma ^t}& = \left\{ {{\gamma _1}, {\gamma _2}, \cdots, {\gamma _{\frac{m}{t}}}} \right\} \\ &=\left[ {\eta \left( {h_p^1, h_p^2, \cdots, h_p^t} \right);\cdots;\eta \left( {h_p^{{{m}} - t + 1}, \cdots, h_p^m} \right)} \right] \end{split} $ | (17) |
其中,
$ {H^t} = {\textit{Softmax}}\left(\frac{{{\Gamma ^t} \cdot W_t^Q{{\left( {{\Gamma ^t} \cdot W_t^K} \right)}^{\mathrm{T}}}}}{{\sqrt d }} \cdot {\Gamma ^t} \cdot W_t^V \right)$ | (18) |
本文中使用分层的Transformer和两组不同规模设置的
为了将多尺度动态价格偏好合并到一个共同潜在表示空间中, 模型引入一个输入投影
$ \bar H = {W_\phi } \cdot \left( {\hat H\parallel {H^{{t_1}}}\parallel {H^{{t_2}}}} \right) $ | (19) |
其中,
为了使价格偏好有共同参与多维交互学习的能力, 将H投射到h潜在表示空间, 并行执行与头部特定的注意操作, 表示如下:
$ {H_p} = \left[ {{{hea}}{{{d}}_1}, {{hea}}{{{d}}_2}, \cdots, {{hea}}{{{d}}_h}} \right] $ | (20) |
$ hea{d_i} = Attention\left( {W_{{i}}^Q{S_{{p}}}, W_{{i}}^K{S_{{p}}}, W_{{i}}^V{S_{{p}}}} \right) $ | (21) |
其中,
自注意子层主要基于线性投影, 为了赋予模型非线性和不同维度之间的相互作用, 在多尺度时序Transformer中对自注意子层的输出应用位置前馈网络. 它由两个仿射变换组成, 在一个高斯误差线性单位 (Gaussian error linear unit, GELU)激活之间表示如下:
$ {\textit{PFFN}}\left( {{H_p}} \right) = \left[ {{\textit{FFN}}{{\left( {h_1^{\left( l \right)}} \right)}^{\mathrm{T}}}, \cdots, {\textit{FFN}}{{\left( {h_p^{\left( l \right)}} \right)}^{\mathrm{T}}}} \right] $ | (22) |
$ {\textit{FFN}}\left( u \right) = {\textit{GELU}}\left( {u{W_{{f_1}}} + {b_{{f_1}}}} \right){W_{{f_2}}} + {b_{{f_2}}} $ | (23) |
$ {\textit{GELU}}\left( u \right) = u\Phi \left( u \right) $ | (24) |
其中, Φ(x)为标准高斯分布的累积分布函数,
在一个项目中, 获取用户的动态价格偏好
$ {P_p} = {\hat P_p}^{\mathrm{T}} \cdot v_p^i $ | (25) |
$ {I_p} = {\hat I_p}^{\mathrm{T}} \cdot v_{id}^i $ | (26) |
其中,
$ \psi = \sigma \left( {{W_s}\left[ {{P_p}\parallel {I_p}} \right]} \right) $ | (27) |
$ {\hat y_i} = \psi \cdot {P_p} + \left( {1 - \psi } \right) \cdot {I_p} $ | (28) |
用Softmax函数对它进行处理, 得到最终的分数表示如下:
$ {\hat y_i} = \frac{{\exp \left( {{y_i}} \right)}}{{\displaystyle\sum\nolimits_{j = 1}^n {\exp \left( {{y_i}} \right)} }} $ | (29) |
其中,
$ \mathcal{L} = - \sum\limits_{i = 1}^{\left| V \right|} {{y_i}} {\log _{{a}}}\left( {{{\hat y}_i}} \right) + \left( {1 - {y_i}} \right){\log _{{a}}}\left( {1 - {{\hat y}_i}} \right) + \lambda {\left\| \mu \right\|^{^2}} $ | (30) |
其中,
为验证SDBDP模型的有效性, 本文在两个公开数据集上进行实验. Cosmetics数据集(https://www.kaggle.com/datasets/mkechinov/ecommerce-events-history-in-cosmetics-shop)来源于kaggle上一个化妆品购买的数据集, 数据集采用的时间范围为2019年10月; Diginetica-buy数据集(https://competitions.codalab.org/competitions/1116)是来自2016年的CIKM杯, 包含了用户在电子商务平台上真实购买历史记录是典型的交易数据. 这两个数据集被广泛应用在推荐系统的会话推荐中, 均包含: 用户与项目的ID, 项目的类别和价格以及用户交互时间信息. 过滤掉两个数据集中会话长度为1, 项目出现次数少于10的会话和项目. 对于一个会话, 最后一个项目被视为标签其余的序列被用于建模用户首选项. 在两个数据集中按时间顺序选取前70%作为训练集, 20%作为验证集, 最后10%作为测试集, 实验数据集的统计如表1所示.
3.2 评价指标
实验使用Precision@K (P@K)和MRR@K两种评价指标对模型进行评价, 其中P@K是衡量基于会话的推荐系统的预测精准度的指标, 表示在推荐列表排名前K个推荐项中正确物品所占的比例, 其值越大效果越好. 平均倒数排名(mean reciprocal ranking, MRR)是正确推荐物品的平均倒数排名, 在推荐物品列表中正确推荐物品的位置越高, 则其值越大效果越好, 当正确推荐物品的排名不在前20时, 该值为0. 本次实验中, 取K=10, K=20.
3.3 实验环境和参数设置本文模型基于PyTorch框架实现, 开发语言采用Python 3.8.13, 优化模型采用Adam优化器. 实验所用硬件的操作系统为Windows 11, 处理器为Intel(R) Core(TM) i5-1135G7 @ 2.40 GHz, 显卡为NVIDIA GeForce MX450 2 GB, 运行内存为16 GB. 实验中Diginetica-buy数据集和Cosmetics数据集的参数设置如表2所示, 其中epoch表示训练次数, batch_size表示训练批次大小, learnRate表示学习率, d表示嵌入维度, L表示使用的层数.
3.4 对比实验模型
(1) GRU4Rec[6]使用GRU通过一个会话-并行的小批处理训练过程来捕获项目序列的表示.
(2) BERT4Rec[37]采用双向自注意体系结构来编码历史交互序列.
(3) NARM[5]通过将注意力纳入会话推荐的RNN中, 它改进了GRU4Rec[6].
(4) SR-GNN[4]构建会话图, 并利用图神经网络来捕获项目之间的成对转换.
(5) CoHHN[17]通过超图捕获项目之间的超成对关系, 并使用注意力层来替换之前工作中的所有RNN编码器.
3.5 对比实验结果在Diginetica-buy和Cosmetics两个数据集上对所有模型进行测试, 结果见表3, SDBDP在两个真实数据集上的结果均优于其他对比模型. NARM和BERT4Rec通过引入注意力机制捕捉会话中的主要意图而优于GRU4Rec, 注意力机制优点是它可以捕获序列项目之间的不一致依赖关系. 基于GNN的方法SR-GNN依靠对节点之间成对关系进行建模的能力获得竞争性能. 此外CoHHN虽优于单一类型建模获取用户兴趣偏好的信息, 但它没有考虑用户偏好随时间变化而产生兴趣波动, 无法自动适应数据的变化, 若用户的偏好产生变化, 模型可能会失效, 因此其性能不如所提出的SDBDP模型. 本模型相较于最优对比模型, 在Diginetica-buy数据集上, P@20和MRR@20指标上分别提升3.1%, 3.0%; 在Cosmetics数据集上P@20和MRR@20指标上分别提升2.7%, 2.4%, 这表明本文模型能够有效获取用户动态偏好数据, 提升会话推荐性能.
从表4中可以看出, SR-GNN, GRU4Rec, BERT4Rec, NARM的方法复杂度较低但性能不如CoHHN模型. SDBDP模型的方法复杂度要低于基线最优模型, 运行时间要少于CoHHN模型, 而且SDBDP模型的性能优于其他模型, 说明本文所提出的SDBDP模型的性能较高.
3.6 参数敏感性分析
为研究模型传播层数对推荐效果的影响, 继续在Diginetica-buy和Cosmetics两个数据集上进行实验, 其他的参数保持不变的情况下, 在1–5层数内调节, 实验结果如图4所示.
从图4可以看出, 随着传播层数的增加, SDBDP模型在N@20 (N表示NDCG, 可以通过给排名靠前物品的更高得分来确定命中的位置)中有所提升. 当层数不大于3层时, 更多的传播层可以获得更好的性能, 这表明额外的消息传递层将从其他邻居获得潜在的依赖关系. 而进一步使用更多的层时, 会引入噪声, 这会导致过度平滑的问题.
学习率(learnRate)是模型训练中至关重要的超参数之一, 它对于确定优化目标函数是否会收敛到局部最小值以及何时会达到最小值具有重要影响. 在本研究中, 尝试了不同的学习率设置来对模型进行训练, 实验结果如表5和表6所示.
从表5和表6中可以清晰地看出, 对于不同的n值, 当学习率learnRate设置为0.0005时, 在Cosmetics和Diginetica-buy数据集上, 模型表现出最佳性能. 因此, 我们选择将学习率设置为0.0005, 作为本研究模型的最佳参数配置.
3.7 消融实验本文采用多类型偏好对用户行为进行预测, 对不同时间段偏好进行动态学习. 为验证设置增加多类型对推荐性能的影响, 去除对价格和类别的学习, 只学习用户兴趣偏好, 将变体命名为SDBDP-I. 为研究动态偏好获取, 将多尺度时序Transformer改为用自注意学习价格嵌入, 将此变体命名为SDBDP-P. 在消融实验中参数设置和原模型一致. 结果如图5、图6所示.
从图5和图6可以看出, 本模型在两个数据集上均优于两种变体, 且SDBDP-I性能最差, 证明增加多类型偏好学习可以更精准地为用户推荐. 通过SDBDP-P比SDBDP推荐性能差, 证明自注意关注于局部上下文而缺乏全局信息的捕捉能力, 在对用户偏好进行学习时存在一些局限性, 而且自注意不擅长对时序数据中的时间相关性进行建模, 无法动态获取用户的偏好信息. 性能最优的是本文所提出的SDBDP模型. 通过多类型学习用户的偏好, 利用多尺度时序Transformer有效地捕捉用户价格, 以及整合不同时间尺度捕捉的价格信息的局部和全局关系, 还可以减轻局部噪音, 最终提升推荐性能.
3.8 实例分析
为了直观地展示SDBDP模型在Diginetica-buy数据集上的有效性和准确性, 本文从测试集中随机选择了一段会话进行实例分析. 这个会话长度为13, 其中前12个项目构成了目标会话, 而最后一个项目则是待预测项目(即真实值).
在这个实例分析中, 本文选择了两个代表性的对比方法, 分别是SR-GNN和CoHHN. SR-GNN是首个将图神经网络融入会话推荐算法的方法, 而CoHHN则是在Diginetica-buy数据集上效果最好的基线方法. 前16个推荐结果如表7所示.
从表7中可以观察到, CoHHN和SDBDP模型都成功在前16个推荐结果中预测到真实值58317号项目, 而SR-GNN模型没有准确预测出真实值, 这说明了SDBDP模型的有效性. 此外, SDBDP在正确预测项目的排名上达到第9位, 而CoHHN仅排在第13位, 这说明了SDBDP模型在准确性方面的优越性.
4 结论与展望本文通过分析动态价格和兴趣偏好在用户决策中的重要性, 提出融合双分支动态偏好的会话推荐模型, 该模型考虑用户短时间内受环境影响的价格和兴趣偏好波动, 通过多尺度时序Transformer来学习用户动态价格偏好, 在软注意机制中添加反向位置编码提取用户动态兴趣偏好, 实验结果证明, 通过双分支聚合机制获取各个节点的嵌入, 利用多尺度对价格动态建模, 在学习兴趣偏好中添加反向位置编码对提高模型推荐准确性发挥了作用. 在未来的工作中, 笔者将更深入学习价格因素动态建模, 用其他方法进行动态价格建模, 另外可以考虑使用卷积对数据嵌入进行处理, 构建更高效精准的推荐模型.
[1] |
Wang SJ, Pasi G, Hu L, et al. The era of intelligent recommendation: Editorial on intelligent recommendation with advanced AI and learning. IEEE Intelligent Systems, 2020, 35(5): 3-6. DOI:10.1109/MIS.2020.3026430 |
[2] |
Sarwar B, Karypis G, Konstan J, et al. Item-based collaborative filtering recommendation algorithms. Proceedings of the 10th International Conference on World Wide Web. Hong Kong: ACM, 2001. 285–295.
|
[3] |
He XN, Liao LZ, Zhang HW, et al. Neural collaborative filtering. Proceedings of the 26th International Conference on World Wide Web. Perth: International World Wide Web Conferences Steering Committee, 2017. 173–182.
|
[4] |
Wu S, Tang YY, Zhu YQ, et al. Session-based recommendation with graph neural networks. Proceedings of the 33rd AAAI Conference on Artificial Intelligence. Honolulu: AAAI, 2019. 346–353.
|
[5] |
Li J, Ren PJ, Chen ZM, et al. Neural attentive session-based recommendation. Proceedings of the 2017 ACM on Conference on Information and Knowledge Management. Singapore: ACM, 2017. 1419–1428.
|
[6] |
Hidasi B, Karatzoglou A, Baltrunas L, et al. Session-based recommendations with recurrent neural networks. Proceedings of the 4th International Conference on Learning Representations. San Juan, 2016.
|
[7] |
Wang ZY, Wei W, Cong G, et al. Global context enhanced graph neural networks for session-based recommendation. Proceedings of the 43rd International ACM SIGIR Conference on Research and Development in Information Retrieval. Xi’an: ACM, 2020. 169–178.
|
[8] |
Tan QY, Zhang JW, Liu NH, et al. Dynamic memory based attention network for sequential recommendation. Proceedings of the 35th AAAI Conference on Artificial Intelligence. AAAI, 2021. 4384–4392.
|
[9] |
Zhou HC, Tan QY, Huang X, et al. Temporal augmented graph neural networks for session-based recommendations. Proceedings of the 44th International ACM SIGIR Conference on Research and Development in Information Retrieval. ACM, 2021. 1798–1802.
|
[10] |
Krishnamurthi L, Mazumdar T, Raj SP. Asymmetric response to price in consumer brand choice and purchase quantity decisions. Journal of Consumer Research, 1992, 19(3): 387-400. DOI:10.1086/209309 |
[11] |
Chen SFS, Monroe KB, Lou YC. The effects of framing price promotion messages on consumers’ perceptions and purchase intentions. Journal of Retailing, 1998, 74(3): 353-372. DOI:10.1016/S0022-4359(99)80100-6 |
[12] |
Han SM, Gupta S, Lehmann DR. Consumer price sensitivity and price thresholds. Journal of Retailing, 2001, 77(4): 435-456. DOI:10.1016/S0022-4359(01)00057-4 |
[13] |
Umberto P. Developing a price-sensitive recommender system to improve accuracy and business performance of ecommerce applications. International Journal of Electronic Commerce Studies, 2015, 6(1): 1-18. |
[14] |
Wu SW, Sun F, Zhang WT, et al. Graph neural networks in recommender systems: A survey. ACM Computing Surveys, 2023, 55(5): 97. |
[15] |
Liu Q, Zeng YF, Mokhosi R, et al. STAMP: Short-term attention/memory priority model for session-based recommendation. Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. London: ACM, 2018. 1831–1839.
|
[16] |
Yadati N, Nimishakavi M, Yadav P, et al. HyperGCN: A new method of training graph convolutional networks on hypergraphs. Proceedings of the 33rd International Conference on Neural Information Processing Systems. Vancouver: Curran Associates Inc., 2019. 135.
|
[17] |
Zhang XK, Xu B, Yang L, et al. Price DOES matter!: Modeling price and interest preferences in session-based recommendation. Proceedings of the 45th International ACM SIGIR Conference on Research and Development in Information Retrieval. Madrid: ACM, 2022. 1684–1693.
|
[18] |
Koren Y, Bell R, Volinsky C. Matrix factorization techniques for recommender systems. Computer, 2009, 42(8): 30-37. DOI:10.1109/MC.2009.263 |
[19] |
高茂庭, 徐彬源. 基于循环神经网络的推荐算法. 计算机工程, 2019, 45(8): 198-202, 209. |
[20] |
Guo L, Yin HZ, Wang QY, et al. Streaming session-based recommendation. Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. Anchorage: ACM, 2019. 1569–1577.
|
[21] |
Shi WJ, Rajkumar R. Point-GNN: Graph neural network for 3D object detection in a point cloud. Proceedings of the 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020. 1708–1716.
|
[22] |
Sun PZ, Zhang RF, Jiang Y, et al. Sparse R-CNN: End-to-end object detection with learnable proposals. Proceedings of the 2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Nashville: IEEE, 2021. 14449–14458.
|
[23] |
Chen TW, Wong RCW. Handling information loss of graph neural networks for session-based recommendation. Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. ACM, 2020. 1172–1180.
|
[24] |
Ying R, He RN, Chen KF, et al. Graph convolutional neural networks for Web-scale recommender systems. Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. London: ACM, 2018. 974–983.
|
[25] |
van den Berg R, Kipf TN, Welling M. Graph convolutional matrix completion. arXiv:1706.02263, 2017.
|
[26] |
Wang X, He XN, Wang M, et al. Neural graph collaborative filtering. Proceedings of the 42nd International ACM SIGIR Conference on Research and Development in Information Retrieval. Paris: ACM, 2019. 165–174.
|
[27] |
Yu JL, Yin HZ, Li JD, et al. Self-supervised multi-channel hypergraph convolutional network for social recommendation. Proceedings of the Web Conference 2021. Ljubljana: ACM, 2021. 413–424.
|
[28] |
Wu L, Sun PJ, Fu YJ, et al. A neural influence diffusion model for social recommendation. Proceedings of the 42nd International ACM SIGIR Conference on Research and Development in Information Retrieval. Paris: ACM, 2019. 235–244.
|
[29] |
Wang JL, Ding KZ, Zhu ZW, et al. Session-based recommendation with hypergraph attention networks. Proceedings of the 2021 SIAM International Conference on Data Mining (SDM). SIAM, 2021. 82–90.
|
[30] |
Greenstein-Messica A, Rokach L. Personal price aware multi-seller recommender system: Evidence from eBay. Knowledge-based Systems, 2018, 150: 14-26. DOI:10.1016/j.knosys.2018.02.026 |
[31] |
Kitaev N, Kaiser Ł, Levskaya A. Reformer: The efficient Transformer. Proceedings of the 8th International Conference on Learning Representations. Addis Ababa: OpenReview.net, 2020.
|
[32] |
Wang SN, Li BZ, Khabsa M, et al. Linformer: Self-attention with linear complexity. arXiv:2006.04768, 2020.
|
[33] |
Yang YH, Huang C, Xia LH, et al. Multi-behavior hypergraph-enhanced Transformer for sequential recommendation. Proceedings of the 28th ACM SIGKDD Conference on Knowledge Discovery and Data Mining. Washington: ACM, 2022. 2263–2274.
|
[34] |
Radford A, Narasimhan K, Salimans T, et al. Improving language understanding by generative pre-training. https://www.mikecaptain.com/resources/pdf/GPT-1.pdf. (2023-10-19)[2023-10-25].
|
[35] |
Devlin J, Chang MW, Lee K, et al. BERT: Pre-training of deep bidirectional Transformers for language understanding. Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers). Minneapolis: Association for Computational Linguistics, 2019. 4171–4186.
|
[36] |
Hendrycks D, Gimpel K. Gaussian error linear units (GELUs). arXiv:1606.08415, 2016.
|
[37] |
Sun F, Liu J, Wu J, et al. BERT4Rec: Sequential recommendation with bidirectional encoder representations from Transformer. Proceedings of the 28th ACM International Conference on Information and Knowledge Management. Beijing: ACM, 2019. 1441–1450.
|