软件学报  2024, Vol. 35 Issue (5): 2446-2465   PDF    
基于两阶段学习的多行为推荐
严明时1 , 程志勇2 , 孙静1 , 王法胜1 , 孙福明1     
1. 大连民族大学 信息与通信工程学院, 辽宁 大连 116600;
2. 山东省人工智能研究院, 山东 济南 250014
摘要: 多行为推荐系统旨在利用用户多种行为的交互数据来提升系统的推荐性能. 现有的多行为推荐方法通常将多行为数据直接作用于共享的初始化用户表征上, 并在任务中糅合了对用户偏好的挖掘和对不同行为间联系的建模. 然而, 这些算法忽视了不同交互行为中存在的数据不平衡问题(不同行为交互数据量差别较大)以及适配上述两种任务而引起的信息损失问题. 事实上, 用户偏好是指用户在不同行为中表现出来的喜好(例如, 浏览的喜好), 而各行为间的联系表现为用户偏好在不同行为间潜在的转化关系(例如, 浏览转换为购买). 在多行为推荐中, 对用户偏好的挖掘和对行为间联系的建模可以看作两个阶段的任务. 基于上述讨论, 提出基于两阶段学习的多行为推荐. 两阶段策略设计的优势是解耦了前述两种任务. 两阶段策略采取固定参数交替训练的方式实现, 并同时保留了模型端到端的结构. 1)第1阶段专注于不同行为下的用户偏好建模: 先利用所有交互数据(不区分行为类别)对用户的全局喜好进行建模, 以最大程度缓解数据稀疏性问题, 再分别利用各行为的交互数据细化该特定行为下的用户偏好(局部偏好), 以减轻不同行为之间的数据不平衡问题造成的影响. 2)第2阶段专注于对不同行为间联系的建模, 通过解耦对用户偏好的挖掘和对不同行为间联系的建模, 以缓解因适配两种任务而引起的信息损失问题. 这种两阶段模式能够显著提升系统对目标行为的预测能力. 大量实验结果表明, 所提模型在性能上远优于最先进的基线模型, 在Tmall和Beibei两个真实基准数据集上的性能提升平均可以达到103.01%和33.87%.
关键词: 多行为推荐    协同过滤    两阶段策略    图卷积网络    多任务学习    
Two-stage Learning for Multi-behavior Recommendation
YAN Ming-Shi1 , CHENG Zhi-Yong2 , SUN Jing1 , WANG Fa-Sheng1 , SUN Fu-Ming1     
1. School of Information and Communication Engineering, Dalian Minzu University, Dalian 116600, China;
2. Shandong Artificial Intelligence Institute, Jinan 250014, China
Abstract: Multi-behavior recommendation aims to utilize interactive data from multiple behaviors of users to improve recommendation performance. Existing multi-behavior recommendation methods generally directly exploit the multi-behavior data for the shared initialized user representations and involve the mining of user preferences and modeling of relationships among different behaviors in the tasks. However, these methods ignore the data imbalance under different interactive behaviors (the amount of interactive data varies greatly among different behaviors) and the information loss caused by the adaptation to the above two tasks. User preferences refer to the interests that users exhibit in different behaviors (e.g., browsing preferences), and the relationship among behaviors indicates a potential conversion from one behavior to another behavior (e.g., the conversion from browsing to purchasing). In multi-behavior recommendation, the mining of user preferences and the modeling of relationships among different behaviors can be regarded as a two-stage task. On the basis of the above considerations, the model of two-stage learning for multi-behavior recommendation (TSL-MBR for short) is proposed, which decouples the above two tasks with a two-stage strategy. In particular, the model retains the end-to-end structure and learns the two tasks by alternating training with fixed parameters. The first stage is to model user preferences under different behaviors. In this stage, the interactive data from all behaviors (without distinction as to behavior type) are first used to model the global preferences of users to alleviate the problem of data sparsity to the greatest extent. Then, the interactive data of each behavior are used to refine the behavior-specific user preference (local preference) and thus lessen the influence of the data imbalance among different behaviors. The second stage is to model the relationships among different behaviors. In this stage, the mining of user preferences and modeling of relationships among different behaviors are decoupled to relieve the information loss problem caused by adaptation to the two tasks. This two-stage model significantly improves the system’s ability to predict target behaviors. Extensive experimental results show that TSL-MBR can substantially outperform the state-of-the-art baseline models, achieving 103.01% and 33.87% of relative gains on average over the best baseline on the Tmall and Beibei datasets, respectively.
Key words: multi-behavior recommendation    collaborative filtering    two-stage strategy    graph convolutional network (GCN)    multi-task learning    

个性化推荐算法旨在利用用户与系统的交互记录来向用户推荐感兴趣的物品, 从而满足用户的个性化需求. 它极大地缓解了在线信息系统(例如电商平台、音乐网站等)中面临的信息过载问题. 作为一种经典的个性化推荐算法, 协同过滤(collaborative filtering, CF)[1-7] 基于大量用户与物品的交互信息来预测用户的兴趣, 其基本假设是同时喜欢某个物品的用户也可能喜欢其他相同的物品. 主流CF算法主要有基于矩阵分解的方法[8, 9]、与深度神经网络相结合的方法[10, 11]以及近期提出的基于图神经网络的方法[12-15]. 大多数基于CF的模型只考虑了用户单一类型行为的数据, 例如电商平台中的购买行为, 在实际应用中, 依赖单一行为数据将面临严重的数据稀疏性问题. 用户购买过的物品很少(可能是几十甚至几个), 而系统中的物品数量则有几千万甚至上亿. 因此, 这种仅考虑单一行为的CF模型无法根据有限的交互数据来准确挖掘用户偏好, 导致无法为用户进行很好的推荐. 实际上, 在用户与系统的交互过程中, 除了最终的目标行为(购买)外(目标行为一般指系统中最受关注的行为, 大多数情况与业务的KPI相关, 比如, 电商平台中的购买行为), 系统还能够获取到用户的其他行为(例如浏览、加购物车、收藏等)的记录, 这些行为也通常被称为辅助行为. 辅助行为的交互记录同样蕴含着大量的用户偏好信息, 并且相比于购买记录而言更加丰富, 因而可以用来辅助学习更加全面的用户偏好. 为了应对数据稀疏性这一挑战, 一些基于多行为的推荐算法[16-20]相继被提出, 其基本原理是通过充分地挖掘信息系统中其他更丰富的交互数据来更准确地挖掘用户偏好.

现有的多行为推荐算法[2123], 大多是先根据用户(物品) ID得到其对应的表征并在多个行为中共享, 然后利用不同行为的交互数据共同对表征进行更新, 以达到挖掘用户偏好的目的. 例如, 协同矩阵分解(collective matrix factorization, CMF)模型[21]同时对由多行为数据构造的矩阵进行分解, 以训练共享的用户和物品的表征. 这类工作虽然利用了多行为数据, 但并没有考虑不同行为间的联系. 为了挖掘更丰富的用户偏好, 一些精心设计的模型[22, 23]开始探索不同行为的作用及它们之间的依赖关系. 例如, 基于Transformer的MATN (multiplex augmented Transformer network)[22]将共享的用户表征投影到代表不同行为的隐空间中来挖掘不同行为表现出来的特征; 基于深度神经网络的NMTR (neural multi-task recommendation)[23]通过网络从共享的用户表征中挖掘不同行为表现出来的用户偏好, 并对这些行为进行顺序建模, 从而挖掘不同行为之间的依赖关系.

尽管上述相关工作已经取得了较大的进展, 但仍然存在着一定的局限性.

(1) 现有方法大多是通过利用多种行为的数据来直接更新共享的用户表征. 然而在学习过程中, 用户在不同行为下的交互数据量差别较大, 因此最终获得的用户偏好更容易受到具有更多交互数据行为(比如浏览行为)的影响, 这种数据不平衡问题会使用户表征向数据量更大的行为预测方向进行优化, 最终得到系统对目标行为次优的预测能力.

(2) 现有方法通常将对用户偏好的挖掘以及对行为间联系的建模这两种任务耦合在一起. 然而, 对用户表征的学习关注的是用户对物品的偏好, 而对行为间关系的建模关注的则是不同行为表现出的偏好之间的依赖或联系, 这属于两个阶段的任务. 因此, 在模型的训练过程中, 同时学习两种任务可能会导致部分有价值信息的损失, 这类似于多任务学习模型中的“跷跷板”现象[24].

基于上述思考, 本文提出了一种新的基于两阶段学习的多行为推荐(two-stage learning for multi-behavior recommendation, TSL-MBR). 该算法将多行为推荐划分成两个阶段的任务, 分别用来挖掘用户偏好以及建模不同行为间的联系. 具体来说, 用户在不同行为中表现出来的偏好反映了该用户某方面的喜好, 并且用户在单一行为中表现出来的偏好包含于用户整体偏好之中. 例如, 某用户在电商平台购买衣服, 平台记录了该用户的浏览、收藏以及购买行为的交互数据, 浏览行为的数据可能反映出了该用户对衣服颜色、款式的偏好, 从收藏记录中可以得知该用户对衣服款式、面料的偏好, 而购买行为中可能包含了该用户对衣服颜色、面料与价格的偏好. 由于所有交互的动机都能够视为用户对物品有着某方面的兴趣, 在不考虑行为类别的情况下, 可以从这些交互数据中得到用户对衣服颜色、款式以及面料的偏好, 本文将这种从不考虑行为类别的所有交互记录中得到的总的偏好定义为全局偏好. 在此基础上继续深挖用户购买行为后, 可能学习到用户对衣服面料更加具体的偏好(例如, 衣服的含棉量等), 将这种从单个行为的交互数据中挖掘的具体偏好定义为局部偏好.

从上述简单例子中可以看出, 不同行为交互记录中所蕴含的用户偏好中既包含相同内容又存在差异信息. 对用户而言, 不同的偏好可能引发用户对商品不同的交互行为, 相对容易获取到的交互数据(例如, 浏览)中包含的用户偏好可能并不足以引发用户和物品在目标行为下的交互(即, 购买). 在引入这类辅助行为进行建模时, 会使用户表征向数据量更大的行为预测方向进行优化, 最终导致学习到的用户表征对数据量更大的行为预测效果更好(例如, 浏览), 而对数据量较少的行为的预测效果稍差(例如, 购买). 这类似于多分类任务中模型往往会对训练数据更多的类别预测更准确, 本文称之为多行为间的数据不平衡问题. 为缓解这一问题, 本文先在由所有交互数据(不区分行为)构造的图中学习用户的表示, 用以抓取用户尽可能全面的偏好, 然后在此基础上, 再利用不同行为交互数据分别构成的图中对其进行局部优化, 以此实现在保留用户全局偏好的同时增强用户在相应行为下所表现出的局部偏好, 从而保证在实现对多行为数据的充分利用的同时尽可能减轻由数据不平衡所造成的影响. 此外, 用户在其他行为中表现出来的偏好同样可能导致目标行为的发生. 例如, 用户因为对某件衣服的款式与面料十分喜爱而多次浏览该商品, 但由于价格原因可能暂时没有购买, 然而该用户仍然有极大的可能性购买该商品或其他与该商品相似的商品. 因此, 探索不同行为间的联系同样能够提升对目标行为的预测能力, 对行为间联系的探索实质上是对不同行为偏好之间转换的一种探索. 例如, 针对上述例子中衣服的特征进行某种线性变换, 可能就得到与之类似的并且用户能够接受其价格的另一件衣服. 因此, 本文设计了两级线性变换模块对不同行为偏好的转换进行了探索. 然而, 值得注意的是这种对行为间转化的探索是建立在已经学习到各行为下表现出来的准确偏好的基础之上, 倘若同时对二者进行训练, 很容易导致在训练过程中模型无法同时保证两个任务(用户偏好的建模和行为间联系的探索)均为最优而做出妥协, 从而损失部分性能, 这一现象在多任务学习相关研究中被称之为“跷跷板”现象[24], 本文称之为信息损失问题. 针对这一现象, 本文模型针对两个任务的依赖关系将其分割为两个学习阶段, 第1阶段关注于对用户偏好的挖掘, 第2阶段用以探索不同行为间的联系. 通过对两阶段任务的交替学习, 实现了挖掘用户偏好和建模行为间联系的解耦, 缓解了为适配不同任务而引起的信息损失问题.

为了评估本文所提模型的有效性, 我们在Tmall和Beibei两个真实的基准数据集上进行了广泛的实验. 结果表明, 本文所提模型的性能显著优于最优基准推荐模型. 与最优基准算法相比, 推荐准确性在两个数据集上的平均提升分别达到了103.01%和33.87%.

综上所述, 本文的主要贡献如下.

(1)为了降低不同行为中存在的数据不平衡问题对目标行为预测造成的影响, 本文提出了一种利用多行为数据来挖掘用户偏好的新方法, 即先利用所有行为的交互数据来学习用户的全局偏好, 再分别利用各行为数据得到不同行为下的局部偏好. 该方法采用先整体再局部的方式利用所有数据更加全面的学习用户的全局喜好并在此基础上使用具体行为数据进一步精细化学习用户特定行为下的偏好, 从而减轻由不同行为的数据不平衡问题带来的影响.

(2)本文构建了一个新的基于两阶段学习的多行为推荐, 能有效缓解为适配不同任务而引起的信息损失问题. 该模型将多行为推荐划分为两阶段独立学习的任务, 即第1阶段挖掘用户偏好, 第2阶段探索不同行为间的联系. 此外, 本文针对两阶段任务采取固定参数交替训练, 并同时保留了模型端到端的结构, 实现了挖掘用户偏好和建模行为间联系的解耦.

(3)在两个真实数据集上开展了大量实验以验证本文提出模型的有效性. 实验结果表明, 本文所提模型显著提升了推荐性能, 与最优基线算法相比, 本文模型的推荐准确性在Tmall和Beibei两个真实的基准数据集上的平均提升分别达到了103.01%和33.87%.

本文第1节简要介绍了相关的工作. 第2节详细描述了本文所提出的模型. 第3节介绍了实验设置, 并报告了实验结果. 最后, 第4节对本文进行了总结.

1 相关工作 1.1 基于多行为的推荐算法

基于多行为的推荐算法旨在利用用户和物品的多种历史交互记录来缓解数据稀疏性问题以提高系统的推荐性能[25, 26]. 一般来说, 它可以通过从其他类型的行为中提取有价值的信息来提高对目标行为的预测能力. 现有的基于多行为的推荐工作大致可以分为浅层模型和基于神经网络的深层模型两类.

浅层模型大多是基于传统的机器学习方法, 主要关注于对用户和物品表征的学习. 早期的工作通过矩阵分解技术[8]对多行为数据加以利用. 例如, Singh等人[21]提出了一种协同矩阵分解模型(CMF)来同时分解多个矩阵并共享实体参数. Zhao等人[27]进一步扩展了CMF, 通过共享物品的表示对不同行为进行矩阵分解. 随后, 一些研究者从采样的角度出发, 通过设计新的采样策略来利用多种行为的数据[18, 28-30]. Loni等人[30]通过设计负采样策略对BPR (Bayesian personalized ranking)[4]进行了扩展, 针对用户和物品在不同行为下的交互数据进行采样. 为了更好地对交互数据加以利用, Ding等人[28]在此基础上进一步改进了负采样策略. Guo等人[29]根据物品之间的相似性从多个辅助行为中生成样本来帮助模型进行训练. Qiu等人[18]提出了一种自适应采样策略来解决不同行为之间的相关性不平衡问题. 此外, 一些研究[17, 31, 32]通过考虑时间因素来探索多行为推荐. 这些方法的不足之处在于忽视了不同行为之间关系所蕴含的信息.

深层模型大多是基于神经网络框架, 致力于从不同行为间的关系或依赖中挖掘有价值的信息. 近年来, 深度学习展现出了强大的表示学习能力, 并且在多行为推荐任务中也得到了广泛应用. Gao等人[23]构建了多个神经协同过滤(neural collaborative filtering, NCF)单元来捕捉每种行为中复杂的、多种类型的交互信息, 通过级联结构将前一个行为的交互得分纳入后一个行为的交互中来考虑行为之间的影响. Jin等人[16]构建了一个统一的异构图用来表示多行为数据, 并分别通过用户-物品和物品-物品的传播层来学习不同行为的强度和语义. Xia等人[33]提出了一个带有图元网络的多行为推荐框架, 将对多行为的建模结合到元学习范式中, 用于探索不同类型的用户-物品交互之间的复杂依赖关系. 尽管这些方法取得了很大进展, 但它们忽略了不同行为数据分布和数据规模的差异(即数据不平衡问题)而带来的影响, 并且可能会导致“跷跷板”[24]现象.

本文将多行为推荐分成两阶段任务来处理, 解耦了对用户偏好的挖掘和不同行为间关系的建模, 这不仅减轻了数据不平衡造成的影响, 而且也缓解了“跷跷板”现象, 从而提升了模型的推荐性能.

1.2 基于图卷积网络的协同过滤

图卷积网络(graph convolutional network, GCN)模型在许多应用中取得了巨大成功[34]. GCN的基本思想是通过迭代聚合其邻居的信息来更新目标节点的嵌入. 由于其在非结构化数据上表现出了强大的表示学习能力, 因此GCN 也被广泛地应用于推荐系统中[35-37].

作为推荐系统中最基础且应用最广泛的协同过滤技术, 许多研究者将其与GCN相结合, 提出了基于GCN的协同过滤模型, 该类模型展现出了强大的推荐性能[12, 14, 38]. Wang等人[14]提出了神经图协同过滤模型(neural graph collaborative filtering, NGCF), 对高阶连接信息进行建模, 并在图上非线性地递归传播嵌入. NGCF保留了较多标准GCN的设计, 比如特征变换与非线性激活. 然而这部分设计并不适用于协同过滤, He等人[12]对特征变换和非线性激活的效果进行了深入分析, 进一步提出用线性传播代替非线性传播, 只保留最基本的邻域聚合成分, 该设计不仅简化了模型结构, 而且模型更容易实现和训练. Wang等人[38]将用户-项目交互图视为异构信息的纠缠模型, 在图中对多个用户和物品的表征片段进行传播, 从而获得用户不同意图的表示. 上述在单行为协同过滤中引入GCN的模型, 主要关注于提升所学习到的用户偏好的准确性. 此外, 基于GCN的协同过滤模型也广泛地应用于多行为推荐任务中[16, 19, 33]. 例如, Jin等人[16]将多行为数据构建成统一的异构图, 然后使用GCN学习行为强度和用户偏好. Zhang等人[20]为各种行为分别建模了不同的图网络进行图卷积操作, 以探索不同行为中用户偏好的共性和个性. Xia等人[19]通过异构图上的消息传播来捕获类型感知行为协作信号. 与单行为推荐算法不同的是, 在多行为算法的训练过程中, 由于训练数据的复杂性, GCN同时参与了不同行为下用户偏好的挖掘与各行为偏好融合这两个阶段的任务, 这有可能会导致部分有价值信息的丢失.

本文利用GCN最核心的邻域聚合特性在多个图中对用户偏好进行从整体到局部的挖掘. 值得注意的是, 得益于两阶段策略的设计, 保证了GCN只关注于对用户偏好的挖掘, 从而提升了学习到的用户偏好的准确性.

2 本文算法 2.1 问题定义

在真实推荐场景中, 用户和物品之间存在多种交互行为. 传统的推荐方法通常只考虑一种用户-物品的特定交互, 即目标行为[16, 23], 却忽略了其他类型行为(如浏览、添加到购物车、收藏等)的交互数据. 实际上, 这些交互数据同样蕴含着丰富的用户偏好信息. 若能充分利用这些数据则可以更好地挖掘用户的偏好, 同时有助于缓解数据稀疏性问题, 从而提高算法的推荐性能. 在介绍模型之前, 先详细介绍一下本文一些关键符号和问题设置.

定义UI分别代表用户和物品的集合, 其中u(i)代表集合U(I)中第i个用户(物品). R={R1,,Rk,,RK}表示所有K种行为下的用户-物品的交互矩阵的集合, 其中RK为目标行为的交互矩阵. 总的交互矩阵RG=R1RK. 具体来说, 交互矩阵是二值矩阵, 若用户u和物品i发生过交互, Rkui=1, 否则Rkui=0, 其中Rkui是第k个行为的交互矩阵的第ui列元素.

本文所研究的问题可以表述为: 利用已知的用户集合U, 物品集合I, 不同行为交互矩阵集合R, 以及总交互矩阵RG, 对用户u在目标行为下与物品i发生交互的可能性进行预测.

2.2 TSL-MBR模型

为了缓解现有多行为推荐算法中存在的数据不平衡以及信息损失问题, 本文提出了基于两阶段学习的多行为推荐(TSL-MBR). 事实上, 不同行为的交互数据中蕴含的用户信息结合在一起可以构成更加完整和全面的用户偏好, 而单一行为表现出来的偏好则是这种相对完整偏好的局部细粒度表现. 例如, 某用户在电商平台浏览了A、B、C这3个品牌的手机后, 将A和B手机加入了购物车进行价格对比, 并将A手机加入了收藏. 若不考虑行为类型, 仅从交互数据上可以得知, 该用户在品牌上对A、B、C这3种品牌的手机比较感兴趣, 但价格上可能会有上限预期. 实际上, 这反映的是一种用户的全局偏好. 若考虑行为类型, 该用户在品牌上可能对A品牌更感兴趣. 这是对用户全局偏好的一种局部细化. 假设该用户某一天发现收藏夹中的A手机有折扣且达到了该用户的价格预期, 则该用户可能会有较大的概率购买该A手机. 从这个例子中, 我们能够得到以下3点结论: (1)从所有行为的总交互记录中可以更好地预测用户的全局偏好. (2)用户与物品在不同行为下的交互中反映了对用户全局偏好在某方面更细粒度的刻画. (3)不同行为在一定条件下可能发生转化(比如收藏转化为购买), 这种转化并不会影响用户对物品的偏好. 比如该用户对收藏夹中A手机的购买是建立在折扣的基础上的, 并不代表用户对手机价格偏好的改变, 而是体现出了不同偏好之间的组合, 即品牌偏好和价格偏好的组合导致了购买行为的发生.

基于上述分析, 本文通过充分利用所有交互数据来设计模型, 以对用户偏好进行由整体到局部的建模, 从而挖掘不同行为间的联系, 进而提升推荐系统的性能. TSL-MBR模型总体设计如图1所示, 该模型分为两个学习阶段. 第1阶段用于获取不同行为下局部细化后的用户偏好, 第2阶段用于探索不同行为间的联系. 在第1阶段中, 先利用所有行为的交互数据构建一个统一的二分图(即RG), 用于学习用户的全局偏好; 然后再利用各个单独行为的交互数据组成的该行为二分图(即Rk)来对用户全局偏好进行局部细化, 以得到不同行为中反映出来的局部细化后的用户偏好. 在第2阶段中, 先针对辅助行为的用户偏好分别作线性变换以提取所有可能导致目标行为发生的有用信息, 然后将其与目标行为的偏好进行拼接融合, 从而提升对目标行为的预测能力.

图 1 TSL-MBR总体模型图

2.3 表征向量初始化

遵循现有推荐算法[12, 16, 23]中通用的策略, 本文同样将每个用户和物品的ID与其表征向量相关联. 具体来说, 令PRM×dQRN×d分别作为用户和物品的初始化嵌入矩阵, 其中M (N)表示用户(物品)的总数, d为表征向量的长度. 给定用户以及物品ID的one-hot编码矩阵IDUIDI, 用户u和物品i表示为:

eu=PIDUu,ei=QIDIi (1)

其中, eu(ei)为用户u (物品i)的向量表示, IDUu (IDIi)为用户u (物品i)的one-hot编码.

2.4 对于各行为下用户偏好的建模

本节将详细描述如何获取各行为下局部细化的用户偏好. 前文讨论了由于不同行为交互数据的规模存在差异. 在引入多行为交互记录来缓解数据稀疏性问题时可能引发不同行为之间存在的数据不平衡问题, 其本质在于利用多行为数据来获取用户偏好的过程中, 受到数据量更大的行为的影响, 容易使得最终的模型对该行为的预测更准确而不利于对目标行为的预测. 例如, 用户在平台购买羽绒服的过程中, 浏览记录中绝大多数是对黑色羽绒服的浏览记录, 少数是对白色羽绒服的浏览记录, 而用户最终购买的是白色且充绒量多的羽绒服. 从购买记录中可能反映出羽绒服的含绒量更能决定用户是否购买. 在引入浏览行为进行建模时, 容易受到数据量的影响而导致最终学习到的用户对黑色的偏好大于用户对含绒量的偏好. 在不考虑行为类别的情况下, 从所有交互记录中可以获得用户对黑色、白色和含绒量的偏好. 由于数据量的原因, 可能获得的用户对黑色的偏好更强. 在此基础之上, 单独考虑购买行为, 能够提升对白色与充绒量的偏好强度, 最终能够得到更准确反映用户购买羽绒服的偏好, 即用户对黑色充绒量高的羽绒服更感兴趣.

从上述例子中可以看出: (1)用户与物品的所有交互均能够反映出用户某方面的偏好(与行为类别无关). (2)用户不同偏好的强度容易受交互数据量的影响. (3)在已知所有偏好的基础上考虑行为类别, 能够增强用户在该行为下优先考虑的部分偏好的强度, 从而更准确地学到能够反映该行为的偏好. 基于以上讨论, 为了保证既充分利用所有行为的交互数据, 又起到缓解数据不平衡问题的作用, 本文针对第1阶段对用户偏好的学习设计了一个两级模块, 如图1所示, 第1级是利用所有行为的交互记录构造成二分图来学习用户的全局偏好; 第2级是在由不同行为交互数据分别组成的二分图中对用户全局偏好进一步细化, 从而得到用户在某个具体行为下更加精准与细化的用户偏好.

图卷积网络(GCN)[39-42]因在处理图结构数据上表现出较强的表示学习能力而在推荐系统中得以广泛应用. 因此, 本文通过引入GCN来挖掘交互数据中所蕴含的有价值的信息. 具体来说, 本文方法去掉了GCN中的非线性变换模块[12], 只利用领域聚合模块来聚合邻居节点的信息. 此外, 为了提升本文模型的计算速度, 本文只考虑了一阶连通性, 基于高阶连通性的模型将在以后的工作中讨论. 用于更新用户节点的邻域聚合公式如下:

eu=AGG({ei:iNu}) (2)

其中, AGG表示聚合函数, 用于聚合与用户u相邻节点的信息; ei表示二分图中与用户u相邻物品的表示; eu是通过邻域聚合得到的用户表示; Nu表示图中与用户u有过交互的物品集合. 类似地, 我们同样也能得到聚合后的物品的表示ei. 本文中的聚合函数采用的是标准邻域聚合[12].

{ˆeu=iNu1|Nu||Ni|eiˆei=uNi1|Ni||Nu|eu (3)

其中, 1|Nu||Ni|是对称归一化系数, 遵循了标准GCN[34]的设计; ˆeuˆei分别表示聚合后的用户和物品的表示; |Nu|(|Ni|)定义为用户u (物品i)在二分图中所代表的节点的度.

在第1级中, 首先将总的交互矩阵RG构造成用户和物品总的二分图; 然后根据公式(3)计算得到聚合(不包含自连接)后的用户和物品表示ˆeuˆei; 最后, 将其与聚合之前的euei相融合, 以保留原有的特征信息. 为了降低由邻域聚合导致的某些特征数量级的变化而带来的影响, 本文对ˆeuˆei进行了L2正则化处理, 融合后的表示分别为:

eGu=euˆeuˆeu2,eGi=eiˆeiˆei2 (4)

其中, 表示逐元素相加, 2L2正则化, eGueGi分别表示第1级输出的用户和物品的表示.

在第2级中, 首先将第1级得到的eGueGi作为各行为二分图的共享输入, 这些二分图是根据各行为的交互矩阵{R1,,Rk,,RK}所构成的; 然后采用与第1级相同的方法, 即根据公式(3)和公式(4)可以得到各个行为细化后的用户以及物品的表示{e1u,e2u,,eKu}{e1i,e2i,,eKi}.

值得注意的是, 本文通过两次先后使用GCN中的邻域聚合实现了对用户和物品表示从全局到局部的学习, 从而保证了最终得到的各行为下的用户偏好中不仅包含该用户的全局偏好信息, 同时增强了该行为下的特定偏好信息.

2.5 对不同行为间联系的挖掘

本节将详细地阐述在第2阶段中如何利用各行为局部细化后的表征向量来挖掘不同行为间的联系, 即将从各行为下学到的用户偏好向量进行拼接融合, 用于目标行为的推荐. 如前文所述, 用户的行为在一定条件下能够转化为另一种行为, 这种转化并不会影响用户偏好本身, 而是反映了不同偏好的组合. 各行为表现出的具有行为特征的特定用户偏好所强调的信息更适用于该行为本身. 为了将其他行为(除目标行为外)的特定的用户偏好用于目标行为的预测, 首先针对这些偏好进行过滤, 提取出可能导致目标行为发生的有用信息, 然后再将这些偏好融合起来实现不同偏好的组合, 从而提升目标行为的预测能力. 如第2.4节示例中所示, 在第1阶段的学习中, 在构建的统一的交互图中能够学习到用户对黑色、白色、充绒量的偏好. 针对不同行为继续细化后, 得到的各个行为下用户偏好中均包含用户的全局偏好信息, 即用户对黑色、白色、充绒量均较为关注. 区别在于浏览行为下用户对黑色更感兴趣, 而购买行为下用户则更看重充绒量. 实际上, 一件黑色且充绒量高的羽绒服可能更符合用户的口味. 因此, 本文认为不同行为间的偏好存在着某种线性关系, 以上述浏览行为为例, 减弱白色偏好的强度, 增强充绒量偏好的强度, 则有可能更能够引起用户的兴趣. 假如对浏览行为上述偏好做线性变换使其映射到购买行为的空间中, 则可能会出现代表白色偏好的分量被压缩, 而代表充绒量的分量被拉伸, 导致变换后的用户偏好为对黑色且充绒量高的羽绒服更感兴趣, 该变换后的偏好更能代表用户的真实喜好.

基于上述讨论, 第2阶段采用线性变换的形式将第1阶段中学习到的所有行为的用户偏好映射到目标行为中, 然后与目标行为进行融合. 此过程同样分两步来实现, 如图1所示. 第1级先对细化后的不同行为的表示进行线性变换, 提取出可能导致目标行为发生的偏好. 具体实现如下:

{˜eu=(WU1)Te1u+BU1˜ei=(WI1)Te1i+BI1 (5)

其中, WU1Rd×dWI1Rd×d为行为1的参数矩阵, BU1Rd×1BI1Rd×1是行为1的偏置, d表示特征向量的长度. 根据公式(5), 最终可以得到从不同行为中过滤出的用户与物品的表示{˜e1u,˜e2u,,˜eK1u}{˜e1i,˜e2i,,˜eK1i}. 由于是对目标行为K进行预测, 因此, 不对K中表现出来的偏好进行过滤.

第2级将各行为过滤后得到的表示与目标行为的表示进行拼接融合. 现有不同的特征融合方法都可以采用, 比如广泛使用的线性融合方法(求和、求均值或线性变换等), 以及基于神经网络的非线性融合方法(多层感知机)等. 为了保留更丰富的信息, 本文直接采用线性变换方法进行融合. 首先, 对第1级得到的过滤后的偏好进行拼接:

{eu=˜e1u||˜e2u||||˜eK1u||eKuei=˜e1i||˜e2i||||˜eK1i||eKi (6)

其中, ||表示拼接操作.

然后经过线性变换得到融合后的最终用户和物品的表示:

{eou=(WU)Teu+BUeoi=(WI)Tei+BI (7)

其中, WUR(Kd)×dWIR(Kd)×d表示参数矩阵, BUR(Kd)×1BIR(Kd)×1表示偏置, K为行为的数量.

通过第2阶段的设计, 本文有机地融合了从不同行为中学到的用户和物品特征, 并获得用户和物品的最终特征向量eoueoi, 用于目标行为的预测.

2.6 目标函数与模型训练

本节将详细介绍在本文模型中是如何实现两阶段独立训练的. 为了实现各阶段的独立训练, 我们单独为每个阶段设计目标函数用来监督模型的训练. 由于本文的最终目标是生成物品的列表来为用户进行推荐, 因此只需要保证列表靠前的物品有更大的交互可能性即可. 本文采用计算内积的方法[12, 14, 16]来获得交互得分:

y(u,i)=eTuei (8)

在本文训练过程中, 需要保证实际观测到的用户和物品交互的得分高于未被观测到的用户和物品交互得分[14, 43], 即:

L=(u,i,j)Olnσ(y(u,i)y(u,j)) (9)

其中, σ()表示Sigmoid函数; O={(u,i,j)|(u,i)R+,(u,j)R}表示正负样本对; R+ (R)代表在训练集中观测(未观测)到的用户-物品交互记录的集合. 即交互矩阵中对应位置为1的用户u (物品i)的表示eu (ei), 交互矩阵中对应位置为0的用户u (物品j)的表示eu (ej). 基于以上讨论, 可以分别得到两个阶段的目标函数.

经过第1阶段的学习得到各行为下用户和物品表示的集合{e1u,e2u,,eKu}{e1i,e2i,,eKi}. 以行为1为例, 利用其交互矩阵R1作为训练集, 其目标函数为:

L1(1)=(u,i,j)Olnσ(y(u(1),i(1))y(u(1),j(1))) (10)

同理可得其他行为下的目标函数. 由于第1阶段的目标是细化用户和物品的表示, 因此本文不要考虑不同行为的重要程度. 最终, 第1阶段总的目标函数为:

L1=k(0,K)L1(k)+βΘ12 (11)

其中, β为超参数; Θ1是第1阶段学习中模型所涉及的参数.

通过利用目标行为的交互矩阵RK进行第2阶段的学习, 得到最终用户与物品的表示eoueoi, 其目标函数为:

L2=(u,i,j)Olnσ(y(u(K),i(K))y(u(K),j(K)))+βΘ22 (12)

其中, Θ2代表第2阶段学习过程中模型所涉及的参数.

本文采用PyTorch框架(https://pytorch.org/)来实现TSL-MBR模型, 同时采用Adam[44]对其进行优化. 为了加快训练过程, 采取了批量训练的策略. 在每个批次中, 我们逐个用户对每个行为的交互进行采样组成训练数据, 以确保每个用户都能得到训练. 具体来说, 给定一个批次的用户, 对每个行为进行正-负样本对的抽样, 结果以三元组(u, i, j)的形式进行返回, 其中u表示用户, i表示训练集中观测到的物品, j表示训练集中未观测到的物品. 当在某一行为下, 用户u没有对应观测到的物品时, 将返回一个默认的三元组, 即(0, 0, 0)用于占位, 以确保训练正常进行. 对两个阶段的训练采取固定参数交替进行. 以一个批次为例, 对第1阶段的训练采用L1用于指导该部分参数的更新, 然后固定该部分参数, 切换L2用于指导对第2阶段的参数进行更新. 通过这样交替训练的设计, 不仅实现了对模型每个阶段的独立训练, 而且还保留了模型端到端的结构.

3 实验分析

为了评估本文提出的TSL-MBR模型的有效性, 我们在两个常用于评估多行为推荐模型的真实数据集上进行了系统性的实验. 本节旨在回答以下研究问题.

● RQ1: 与当前推荐性能最好的几个多行为基线模型相比, 本文TSL-MBR模型表现如何?

● RQ2: 本文提出的两阶段学习策略是否有效?

● RQ3: 本文提出的TSL-MBR模型中各组成模块对模型的推荐有何影响?

● RQ4: 不同交互行为中存在的数据不平衡问题如何影响目标行为的推荐?

● RQ5: 引入高阶连接信息对模型的性能有何影响?

3.1 实验设置 3.1.1 数据集

本文通过在Tmall (https://tianchi.aliyun.com/dataset/dataDetail?dataId=649)和Beibei (https://www.beibei.com)两个真实数据集上进行实验来验证模型的有效性.

● Tmall[23]: 该数据集收集自中国最大的电子商务平台之一的天猫平台. 它包含41 738名用户和11 953个物品, 其中包含浏览、收藏、添加到购物车以及购买这4种行为. 在天猫平台上, 用户可以在浏览商品后直接购买, 也可以将其添加到购物车中. 此外, 还可以仅点击收藏.

● Beibei[16]: 该数据集收集自中国最大的婴儿产品电子商务零售平台贝贝. 该数据集包含21 716名用户和7 977个物品, 收集了2017年6月1日–2017年6月30日期间的浏览、添加到购物车以及购买3种行为类型的数据. 在贝贝平台上, 用户的购物过程是严格按照特定顺序进行的, 即浏览→添加到购物车→购买.

对这两个数据集的处理, 本文遵循了之前一些工作[16,23]中采取的策略, 即保留最早一个用户和物品的交互记录, 删除重复的数据. 两个数据集的统计汇总信息见表1.

表 1 实验数据集

3.1.2 评价指标

本文采用广泛使用的留一法评估策略来进行评估[10, 12, 23]. 在训练阶段, 针对每个用户, 选取交互集中最后一个物品构成验证集用于对超参数进行调优. 在评估阶段, 根据模型的预测分数对测试集中的所有物品进行排序. 具体来说, 我们通过预测用户对所有在训练集中从未出现过的物品的偏好来对物品进行排序, 并将排名最靠前的K个物品(top@K)推荐给用户. 本文采用推荐领域中比较流行的HR@KNDCG@K两个评价指标来评估模型的推荐性能:

HR@K[43]: 命中率(hits ratio, HR), 用来衡量推荐列表的前K项中是否包含测试集中的正样本. 其计算公式为:

HR@K=NumberOfHits@KGT (13)

其中, 分母是所有的测试集合, 分子表示每个用户top@K列表中属于测试集合的个数的总和.

NDCG@K[12]: 归一化折损累计增益(normalized discounted cumulative gain, NDCG), 通过将较高的分数分配给较靠前的位置来衡量所推荐物品的排列顺序是否正确. 其计算公式为:

DCG@K=Ki=12reli1log2(i+1) (14)
IDCG@K=Ki=11log2(i+1) (15)
NDCGu@K=DCGu@KIDCGu@K (16)
NDCG@K=uUteNDCGu@K|Ute| (17)

其中, Ute表示测试集中的所有用户, reli代表推荐列表中物品i位置的相关性, 当i所在位置与真实值相同时为1否则为0.

3.1.3 基线模型

本文将TSL-MBR与几个具有代表性的基线模型进行了对比, 其中包含2个单行为模型与4个多行为模型, 以下是对几个基线模型的简单介绍.

3.1.3.1 单行为模型

● MF-BPR[4]: MF-BPR基于单一行为交互记录进行推荐, 并被广泛用于基线模型以检验新提出模型的性能. BPR是一种被广泛使用的优化策略, 它假设正样本的预测得分高于负样本.

● LightGCN[12]: 该模型通过利用单个用户-物品交互行为进行推荐, 它已成为当前基于CF模型的一个新的标准. LightGCN利用GCN技术对用户-物品二分图中的高阶信息进行建模. 它去掉了传统GCN模型中的特征变换和非线性激活组件, 简化了模型结构, 显著提升了推荐性能.

3.1.3.2 多行为模型

● R-GCN[13]: R-GCN通过图中边的类型来区分节点之间的关系, 并为不同类型的边设计不同的传播层用以建模关系信息. 该模型虽然能够适用于多行为推荐任务, 但并非针对多行为推荐所设计.

● NMTR[23]: 该模型是一种用于多行为推荐的深度学习模型. NMTR通过设计多个神经网络单元用以捕捉用户和物品之间复杂、多种类型的交互, 将当前行为下的交互得分依次传递给下一个行为, 并采用多任务学习来共同优化共享参数.

● MBGCN[16]: 该模型构建了一个统一的多行为异构图, 通过用户-物品的传播层学习用户偏好, 并且在聚合过程中使用可学习参数为不同行为分配权重. 此外, MBGCN还利用高阶物品-物品关系来增强物品表征的学习.

● GNMR[19]: 该模型通过设计一个关系聚合网络来建模交互作用的异构性. GNMR试图通过在多行为交互图上的递归嵌入传播来探索不同类型行为之间的依赖关系, 并采用注意力机制对不同类型行为特征进行融合.

3.1.4 超参数设置

本文TSL-MBR模型采用PyTorch框架实现, 现已开源在GitHub中(源代码访问地址: https://github.com/MingshiYan/TSL-MBR). 在本文实验中, 所有模型批量大小均设置为1 024, 表征向量长度设置为64[12]. 针对所有使用成对学习损失的模型, 我们为每个正样本随机抽取4个负样本[10, 23]. 此外, 我们在[1E2,1E3,5E3,1E4]范围内使用网格搜索对学习率进行调整, 并在[1E2,1E3,3E4,1E4]范围内调整正则化权重β. 针对基线模型中涉及的其他超参数, 本文根据对应的原始论文进行了仔细地调整.

3.2 模型整体性能评估(RQ1)

本文TSL-MBR模型和基线模型在两个数据集上的实验结果如表2表3所示(加粗表示最优结果,下划线表示次优结果), 其结果显示TSL-MBR在两个数据集上均取得了最好的性能. HR@KNDCG@K两个指标的前K项(K=[10, 20, 50, 80])的平均性能与性能最好的基线模型相比, 在Tmall数据集上分别提升了93.33%和112.70%, 在Beibei数据集上则分别提升了39.64%和28.11%. 以上性能的提升强有力地证明了TSL-MBR模型的有效性.

表 2 Tmall数据集上整体性能比较

表 3 Beibei数据集上整体性能比较

表2表3可以看出, 采用单个行为数据进行建模的模型中, LightGCN在各个指标上的表现明显优于MF-BPR, 这得益于图卷积网络对高阶信息的捕获, 图神经网络能够应对复杂关系的建模, 因而能够很好地对用户和物品间复杂的交互进行建模. 与单行为基线模型相比, 针对多个行为进行建模的模型在性能上均有大幅提升, 这是由于多行为数据的引入能够更好地学习用户的偏好, 从而极大缓解单行为模型中存在的数据稀疏性问题. 同时也证明了辅助行为的交互数据中同样蕴含着能够更好预测目标行为的信息.

R-GCN在两个数据集上表现均不佳. 这是由于R-GCN单独对每种行为进行建模, 将来自不同行为的特征进行简单的融合, 缺乏对不同行为间联系与不同行为重要程度的考虑, 从而导致R-GCN对目标行为的预测性能相对较差. MBGCN在融合来自不同行为的特征前考虑了不同行为对目标行为的贡献程度, 取得了比R-GCN更好的性能, 这揭示了考虑不同行为间的关系对推荐模型的重要性. GNMR试图采用注意力机制来捕捉目标行为对其他行为的依赖关系. 从实验数据中可以发现, GNMR在Beibei数据集上取得了次优的结果, 但在Tmall数据集上表现不佳, 造成这一现象的原因是Beibei数据集对行为顺序有严格的要求, 这一规则导致不同行为之间具有较强的依赖关系, 因此采用注意力机制能够获得较多的信息. 相比之下, Tmall数据集对不同行为的顺序没有严格限制, 因此会出现不同行为中表现出来的信息相关性较弱的现象, 这限制了GNMR的性能. 与之相反, NMTR分别采用多个全连接网络在不同行为下对共享的用户表征进行学习, 然后在级联结构中以交互得分的形式向目标行为传递影响. 这种设计使得NMTR对不同行为中表现出来的多样性偏好的学习能力更强, 在Tmall数据集上能够挖掘到更丰富的信息. 因此NMTR在Tmall数据集上的表现较好, 而在Beibei数据集上的表现较差.

通过与GNMR模型相比可以发现, 虽然TSL-MBR在挖掘不同行为间联系上只进行了简单的线性过滤与融合, 但在性能上要远远优于具有复杂网络结构的GNMR. 这得益于两阶段学习策略的设计, 该设计实现了对用户偏好的挖掘以及对不同行为间联系建模这两个任务的解耦, 如前文所述, 挖掘用户偏好及建模不同行为间的联系被视为两种不同类型的任务, 后者是建立在前者获取到准确用户偏好的基础之上的, 若采用一阶段设计, 模型同时对两个任务进行多任务学习, 对行为间联系进行学习时, 模型经过反向传播对参数的更新会影响到对用户偏好的挖掘. 相比于单任务模型而言, 这种多个任务同时训练无法同时提升所有任务的性能, 该现象被称之为“跷跷板”现象[24]. 本文两阶段策略的设计解耦了上述两个不同类型的任务, 对两个任务分别单独训练, 消除了后一个任务在更新参数时对前一个任务造成的影响, 从而消除了适配不同任务所引起的“跷跷板”现象. 本文将在后面小节中对两阶段设计的有效性进行进一步评估.

除R-GCN外, 其他几个基线模型分别从多个角度对不同行为之间的联系进行了探索. 与之相比, 本文提出的TSL-MBR最大的区别在于本文分两步对用户偏好实现了由全局到局部的挖掘, 实现了在保留用户全局偏好的同时增强用户在特定行为下所表现出的局部偏好, 该设计能够有效缓解数据不平衡问题; 而其他几个基线模型则直接对初始化用户表征进行更新, 这导致模型容易受到数据不平衡的影响. 在模型结构有效性分析中, 我们将对此观点进行进一步验证.

总之, 基于上述所有方法之间的性能比较, 我们可以得出以下结论: (1)在个性化推荐中, 对多行为之间的联系进行建模能够帮助模型做出更准确的预测. (2)解耦不同任务可以缓解有价值信息的丢失问题, 这对于模型结构设计十分重要. (3)降低数据不平衡带来的影响, 能够大幅提升模型的推荐性能.

3.3 两阶段学习策略有效性评估(RQ2)

为了评估本文提出的两阶段学习策略的有效性, 本文开展了以下3组实验. (1)取消两阶段训练切换时对参数的固定, 使得在第2阶段训练的同时对第1阶段的参数进行更新, 记为TSL-MBR-1; (2)取消两阶段学习, 将L1L2两个目标函数合并, 利用多任务学习对模型进行训练, 记为TSL-MBR-2; (3)去掉第1阶段的目标函数L1, 只保留目标函数L2用于指导模型整体的训练, 记为TSL-MBR-3. 实验结果如图2所示.

图 2 TSL-MBR两阶段策略有效性评估

图2中可以看出, 与TSL-MBR相比, 取消了固定参数操作的TSL-MBR-1模型各指标性能均有明显下降. 其原因在于第2阶段的训练过程中, 反向传播将信息传递到了第1阶段对应的模块中, 并对其参数进行了更新. 由于两阶段学习是针对用户偏好的挖掘和不同行为间联系的建模这两个不同类型的任务而设计的, 这使得模型参数在适配两个阶段任务时出现了信息的损失. 与TSL-MBR-1相比, TSL-MBR-2合并了两个阶段学习的目标函数, 模型整体变为对L1L2两个目标函数同时优化的多任务学习, 多任务学习模型存在“跷跷板”现象[24], 即模型参数的学习受多个目标函数的指导而引发冲突而无法同时保证对所有任务的预测达到最优, 从而可能导致模型整体性能的下降. 这进一步验证了解耦不同阶段任务的必要性, 同时也验证了本文提出的分阶段训练策略在应对多任务学习中“跷跷板”现象的有效性. 本文模型有效的具体原因有两点: (1)本文提出的两个任务为两种不同类型的任务, 因此不存在类似于多任务学习中的单个任务性能有所损失反而整体任务性能提升的情况. 本文所提模型每个子任务性能越好则模型整体性能越好. (2)本文两个阶段的任务是前后依赖的, 后一阶段的任务是建立在前一阶段任务基础之上(即第1阶段学习到的用户偏好信息越准确, 第2阶段的训练效果越好). 综上所述, 两阶段的学习解耦了两个任务, 保证了训练后两个任务均达到最优效果, 从而实现了模型最终性能的提升. TSL-MBR-3去掉了对用户偏好学习部分的监督, 模型退化成由目标函数L2指导模型整体的训练, 导致模型在各指标上的性能急剧下降. 该实验结果说明在训练过程中, 增加目标函数用以监督训练不同任务的必要性, 同时也进一步验证了本文TSL-MBR模型两阶段策略的有效性.

3.4 模型结构有效性评估(RQ3)

为了研究TSL-MBR模型结构设计的有效性, 本文分别针对模型两个阶段的组成模块进行了消融实验, 以验证各模块对模型性能的影响. 具体实验如下: (1)去掉第1阶段对用户全局偏好学习的模块, 在各行为下直接共享用户与物品的初始化表征, 记为TSL-MBR-G; (2)去掉第2阶段对不同行为间联系的建模, 只保留第1阶段的学习, 直接用目标行为学习到的用户偏好进行推荐, 记为TSL-MBR-O; (3)为了更进一步验证第1阶段学习用户全局偏好的有效性, 我们在TSL-MBR-O的基础上去掉了对用户全局偏好学习的模块, 记为TSL-MBR-M. 实验结果如图3所示.

图 3 TSL-MBR模型结构有效性评估

图3中可以看出, 去掉第1阶段对全局偏好学习的模块后, TSL-MBR-G在两个数据集上的性能急剧下降. 这一结果充分证明, 本文提出的采用先整体再局部的方式学习用户偏的有效性. 该设计不仅对所有数据加以利用以缓解数据稀疏性问题, 更加全面的学习用户的全局喜好, 在此基础上使用具体行为数据进一步精细化学习用户特别行为下的偏好, 起到了缓解多行为间的数据不平衡造成影响. 与TSL-MBR相比, TSL-MBR-O性能也有较大幅度下降, 这说明在第2阶段中挖掘不同行为间联系的有效性. 但同时也发现该部分的设计对模型性能的提升不如第1阶段中学习用全局偏好高, 这说明TSL-MBR模型在探索不同行为间联系上还有较大的提升空间. 与直接更新共享表征的TSL-MBR-M相比, 仅增加了学习用户全局偏好的TSL-MBR-O的推荐性能有着显著的提升, 这进一步验证了本文提出的采用先整体再局部的方式学习用户偏好的有效性.

为了进一步验证本文所提出的对用户全局偏好学习的有效性, 本文继续进行了以下实验: 去掉模型第1阶段对用户全局偏好的学习, 基于每个行为单独初始化用户和物品的表征, 记为TSL-MBR-sep. 实验结果如图4所示.

图 4 全局偏好挖掘模块的设计有效性评估

图4结果中可以看出, TSL-MBR模型在两个数据集上的表现均优于TSL-MBR-sep. 经分析可知, 造成此现象的原因有两点: (1)不同行为下的交互数据中所蕴含的用户偏好可能产生某种互补. 例如, 对某用户浏览行为和收藏行为进行单独挖掘, 均得到该用户对白色短款羽绒服有较弱的兴趣. 若将两种行为的交互数据合并考虑, 不区分行为类别, 或许就能够得到该用户对白色短款羽绒服有较强的兴趣. TSL-MBR利用所有数据更加全面地学习用户的全局喜好, 并在此基础上使用具体行为数据进一步精细化学习用户特定行为下的偏好, 通过该方式得到的各行为的偏好包含的信息更加全面且对该行为下某方面的信息进行了增强. 这更符合实际生活中用户具有多方面喜好, 但在不同行为下更加侧重于某方面喜好这一事实. (2)基于不同行为单独进行初始化表征的TSL-MBR-sep模型在第1阶段学习到的各行为用户偏好较为片面, 不利于第2阶段对不同行为之间联系的挖掘.

3.5 数据不平衡影响分析(RQ4)

为了分析不同交互行为中存在的数据不平衡所带来的影响, 本文开展了进一步的验证实验. 由表1可知, 两个数据集中浏览行为的数据量要远大于其他行为的数据量. 因此, 我们以是否包含浏览行为作为变量来研究由数据不平衡问题所造成的影响. 实验设置如下: 直接去掉第2阶段对不同行为间联系的建模以及第1阶段中对用户全局偏好的学习模块, 只保留第1阶段中的局部偏好细化模块, 用目标行为下学习的用户偏好进行预测. 将包含所有行为的模型记为M, 去掉浏览行为的模型记为M-v, 实验结果如图5(a)所示. 此外, 为了更清晰地验证不同交互行为中存在的数据不平衡的影响, 本文做了另外一组实验, 将只包含购买行为的模型记为BASE, 将同时包含购买和浏览行为的模型记为BASE_vb, 实验结果如图5(b)所示.

图 5 数据不平衡影响分析

对比图5(a)中的M与M-v可以看出, 去掉浏览行为的M-v模型表现出更好的性能, 这是因为浏览行为与其他行为的数据规模不在同一量级, 导致了在对共享用户表征的学习上, 浏览行为占据主导地位, 从而降低了模型对目标行为的预测能力, 这进一步说明了不同行为数据规模差异较大时会引起数据不平衡问题. 从图5(b)中的BASE和BASE_vb的结果可以看出, 在对购买行为建模的基础之上增加对浏览行为的建模能够提升模型对购买行为的推荐性能, 这是由于引入了辅助行为(浏览行为)的数据缓解了目标行为(购买行为)的数据稀疏性问题. 这验证了对多行为进行建模在缓解数据稀疏性问题上的有效性.

最后, 为了进一步分析本文提出的学习用户偏好的方式在缓解数据不平衡问题上的效果, 我们去掉模型第2阶段对不同行为间联系的建模, 仅用第1阶段中学习到的目标行为的用户偏好进行预测, 将建模所有行为的模型记为TSL-MBR_s1, 去掉对浏览行为建模的模型记为TSL-MBR_s1-v, 实验结果如图5(c)所示.

经观察发现, 去掉浏览行为后, Tmall数据集上的各项指标均出现了明显下降. 这不仅说明加入浏览行为的交互数据能够有效缓解数据的稀疏性问题(与图5(b)中实验进行对照), 同时也验证了本文所提方法的有效性, 即在用户全局偏好的基础上进行局部细化能够精细化学习用户特定行为下的偏好, 从而减轻数据不平衡所带来的影响(与图5(a)中实验进行对照). 从Beibei数据集中我们观察到, 在去掉浏览行为后, 模型的各项指标反而有提升, 这与其数据结构有关. 我们在对Beibei数据集的介绍中提到, 该数据集的行为是严格按浏览→加购物车→购买的顺序发生的, 所以这3种行为的交互数据是包含关系, 即购买加购物车浏览. 因此, Beibei数据集对数据不平衡问题更敏感. 此外, TSL-MBR_s1表现出的性能低于TSL-MBR-s1-v, 这说明TSL-MBR-s1受浏览行为数据的影响较大而导致了性能的下降, 这也进一步验证了本文观点的正确性, 即数据不平衡问题会严重影响对用户偏好的挖掘.

通过上述实验, 我们得到以下结论: (1)对多行为数据建模能够有效缓解单一行为的数据稀疏性问题; (2)数据稀疏性问题缓解到一定程度后, 就会表现出受到不同交互行为中存在的数据不平衡带来的影响而导致推荐性能的下降; (3)本文提出的以先整体再局部的方式来挖掘用户偏好能够有效缓解数据不平衡所带来的影响, 但仍存在较大的提升空间.

3.6 高阶连接信息对模型性能的影响(RQ5)

本节对本文所提模型GCN结构所包含的层数做了不同设置, 以分析建模高阶连接信息对模型性能的影响. 具体来说, 统一对模型中GCN模块层数进行了1–4层的改变, GCN的输出为每层聚合后向量表征的均值, 实验结果如图6 所示.

图 6 包含不同层数GCN模型推荐性能比较

图6中的实验结果可看出, 包含1层GCN的模型在两个数据集上均有着最优的表现. 这一现象看似与现有GCN相关研究[12, 14]结论不符, 即对高阶连接信息进行挖掘能够提升模型的推荐性能. 经分析可知, 出现这一现象的原因是本文利用GCN对用户偏好的学习分为全局和局部两级, 对全局偏好的学习是在一张由所有交互数据(不区分行为)组成的图上进行, 对局部偏好的学习在各行为交互数据组成的图上分别进行, 后者所采用的图相当于前者所采用图的剪枝. 因此, 当GCN设置为1层时, 模型第1阶段的输出实际相当于经过了2层GCN的学习, 类似地, 图6所示的结果的实际GCN层数分别为设置值的2倍, 即[2, 4, 6, 8]层. 这与LightGCN中所得结论一致, 即在大多数场景中用一阶和二阶邻居平滑节点的嵌入有助于协同过滤, 但当使用高阶邻居时, 会出现过度平滑问题.

4 总 结

本文提出了一种新的多行为推荐模型, 即基于两阶段学习的多行为推荐. 该模型通过两阶段交替训练来解耦用户偏好的挖掘以及行为间联系的建模, 缓解了模型在学习过程中为了适配不同任务而引起的信息损失问题, 从而提升了模型的推荐性能. 此外, 本文采用先整体再局部的方式来学习用户的偏好, 该方式降低了不同交互行为中存在的数据不平衡问题所造成的影响. 在Tmall和Beibei两个真实基准数据集上进行了大量的实验, 结果表明了本文TSL-MBR模型的优越性能. 进一步的有效性分析与消融研究验证了包括训练方式以及模块设计在内的各子模块的有效性. 以上研究证实了TSL-MBR模型在真实场景中存在较高的应用价值.

在未来的工作中, 我们将继续深入探索如何进一步缓解不同交互行为中存在的数据不平衡所造成的推荐性能下降; 同时将结合深度神经网络技术对不同行为间联系进行更加深入的探索, 从而进一步提高个性化推荐系统的性能.

参考文献
[1]
Chen BY, Huang L, Wang CD, Jing LP. Explicit and implicit feedback based collaborative filtering algorithm. Ruan Jian Xue Bao/Journal of Software, 2020, 31(3): 794−805 (in Chinese with English abstract). http://www.jos.org.cn/1000-9825/5897.htm
[2]
Tian Z, Pan LM, Yin P, Wang R. Deep matrix factorization recommendation algorithm. Ruan Jian Xue Bao/Journal of Software, 2021, 32(12): 3917−3928 (in Chinese with English abstract). http://www.jos.org.cn/1000-9825/6141.htm
[3]
Kabbur S, Ning X, Karypis G. FISM: Factored item similarity models for top-N recommender systems. In: Proc. of the 19th ACM SIGKDD Int’l Conf. on Knowledge Discovery and Data Mining. Chicago: ACM, 2013. 659−667.
[4]
Rendle S, Freudenthaler C, Gantner Z, Schmidt-Thieme L. BPR: Bayesian personalized ranking from implicit feedback. In: Proc. of the 25th Int’l Conf. on Uncertainty in Artificial Intelligence. Montreal: ACM, 2009. 452−461.
[5]
Sarwar B, Karypis G, Konstan J, Riedl J. Item-based collaborative filtering recommendation algorithms. In: Proc. of the 10th Int’l Conf. on World Wide Web. Hong Kong: ACM, 2001. 285−295.
[6]
Ning X, Karypis G. SLIM: Sparse linear methods for top-N recommender systems. In: Proc. of the 11th IEEE Int’l Conf. on Data Mining. Vancouver: IEEE, 2011. 497−506.
[7]
Koren Y. Factorization meets the neighborhood: A multifaceted collaborative filtering model. In: Proc. of the 14th ACM SIGKDD Int’l Conf. on Knowledge Discovery and Data Mining. Las Vegas: ACM, 2008. 426−434.
[8]
Koren Y, Bell R, Volinsky C. Matrix factorization techniques for recommender systems. Computer, 2009, 42(8): 30-37. [doi:10.1109/MC.2009.263]
[9]
Salakhutdinov R, Mnih A. Probabilistic matrix factorization. In: Proc. of the 20th Int’l Conf. on Neural Information Processing Systems. Vancouver: ACM, 2007. 1257−1264.
[10]
He XN, Liao LZ, Zhang HW, Nie LQ, Hu X, Chua TS. Neural collaborative filtering. In: Proc. of the 26th Int’l Conf. on World Wide Web. Perth: ACM, 2017. 173−182.
[11]
Chen WY, Cai F, Chen HH, De Rijke M. Joint neural collaborative filtering for recommender systems. ACM Trans. on Information Systems, 2019, 37(4): 39. [doi:10.1145/3343117]
[12]
He XN, Deng K, Wang X, Li Y, Zhang YD, Wang M. LightGCN: Simplifying and powering graph convolution network for recommendation. In: Proc. of the 43rd Int’l ACM SIGIR Conf. on Research and Development in Information Retrieval. ACM, 2020. 639−648.
[13]
Schlichtkrull MS, Kipf TN, Bloem P, van Den Berg R, Titov I, Welling M. Modeling relational data with graph convolutional networks. In: Proc. of the 15th European Int’l Conf. on the Semantic Web. Heraklion: Springer, 2018. 593−607.
[14]
Wang X, He XN, Wang M, Feng FL, Chua TS. Neural graph collaborative filtering. In: Proc. of the 42nd Int’l ACM SIGIR Conf. on Research and Development in Information Retrieval. Paris: ACM, 2019. 165−174.
[15]
Ge Y, Chen SC. Graph convolutional network for recommender systems. Ruan Jian Xue Bao/Journal of Software, 2020, 31(4): 1101−1112 (in Chinese with English abstract). http://www.jos.org.cn/1000-9825/5928.htm
[16]
Jin BW, Gao C, He XN, Jin DP, Li Y. Multi-behavior recommendation with graph convolutional networks. In: Proc. of the 43rd Int’l ACM SIGIR Conf. on Research and Development in Information Retrieval. ACM, 2020. 659−668.
[17]
Lee M, Ha T, Han J, Rha JY, Kwon TT. Online footsteps to purchase: Exploring consumer behaviors on online shopping sites. In: Proc. of the 7th ACM Web Science Conf. Oxford: ACM, 2015. 15.
[18]
Qiu HH, Liu Y, Guo GB, Sun Z, Zhang J, Nguyen HT. BPRH: Bayesian personalized ranking for heterogeneous implicit feedback. Information Sciences, 2018, 453: 80-98. [doi:10.1016/j.ins.2018.04.027]
[19]
Xia LH, Huang C, Xu Y, Dai P, Lu MY, Bo LF. Multi-behavior enhanced recommendation with cross-interaction collaborative relation modeling. In: Proc. of the 37th IEEE Int’l Conf. on Data Engineering. Chania: IEEE, 2021. 1931−1936.
[20]
Zhang WF, Mao JW, Cao Y, Xu CF. Multiplex graph neural networks for multi-behavior recommendation. In: Proc. of the 29th ACM Int’l Conf. on Information & Knowledge Management. ACM, 2020. 2313−2316.
[21]
Singh AP, Gordon GJ. Relational learning via collective matrix factorization. In: Proc. of the 14th ACM SIGKDD Int’l Conf. on Knowledge Discovery and Data Mining. Las Vegas: ACM, 2008. 650−658.
[22]
Xia LH, Huang C, Xu Y, Dai P, Zhang B, Bo LF. Multiplex behavioral relation learning for recommendation via memory augmented transformer network. In: Proc. of the 43rd Int’l ACM SIGIR Conf. on Research and Development in Information Retrieval. ACM, 2020. 2397−2406.
[23]
Gao C, He XN, Gan DH, Chen XN, Feng FL, Li Y, Chua TS, Yao LN, Song Y, Jin DP. Learning to recommend with multiple cascading behaviors. IEEE Trans. on Knowledge and Data Engineering, 2021, 33(6): 2588-2601. [doi:10.1109/TKDE.2019.2958808]
[24]
Tang HY, Liu JN, Zhao M, Gong XD. Progressive layered extraction (PLE): A novel multi-task learning (MTL) model for personalized recommendations. In: Proc. of the 14th ACM Conf. on Recommender Systems. ACM, 2020. 269−278.
[25]
Peng H, Zhang RT, Dou YT, Yang RY, Zhang JY, Yu PS. Reinforced neighborhood selection guided multi-relational graph neural networks. ACM Trans. on Information Systems, 2022, 40(4): 69. [doi:10.1145/3490181]
[26]
Xu YN, Zhu YM, Yu JD. Modeling multiple coexisting category-level intentions for next item recommendation. ACM Trans. on Information Systems, 2021, 39(3): 23. [doi:10.1145/3441642]
[27]
Zhao Z, Cheng ZY, Hong LH, Chi EH. Improving user topic interest profiles by behavior factorization. In: Proc. of the 24th Int’l Conf. on World Wide Web. Florence: ACM, 2015. 1406−1416.
[28]
Ding JT, Yu GH, He XN, Quan YH, Li Y, Chua TS, Jin DP, Yu JJ. Improving implicit recommender systems with view data. In: Proc. of the 27th Int’l Joint Conf. on Artificial Intelligence. Stockholm: ACM, 2018. 3343−3349.
[29]
Guo GB, Qiu HH, Tan ZH, Liu Y, Ma J, Wang XW. Resolving data sparsity by multi-type auxiliary implicit feedback for recommender systems. Knowledge-based Systems, 2017, 138: 202-207. [doi:10.1016/j.knosys.2017.10.005]
[30]
Loni B, Pagano R, Larson MA, Hanjalic A. Bayesian personalized ranking with multi-channel user feedback. In: Proc. of the 10th ACM Conf. on Recommender Systems. Boston: ACM, 2016. 361−364.
[31]
Dong YQ, Jiang WJ. Brand purchase prediction based on time-evolving user behaviors in e-commerce. Concurrency and Computation: Practice and Experience, 2019, 31(1): e4882. [doi:10.1002/cpe.4882]
[32]
Moe WW, Fader PS. Dynamic conversion behavior at e-commerce sites. Management Science, 2004, 50(3): 326-335. [doi:10.1287/mnsc.1040.0153]
[33]
Xia LH, Xu Y, Huang C, Dai P, Bo LF. Graph meta network for multi-behavior recommendation. In: Proc. of the 44th Int’l ACM SIGIR Conf. on Research and Development in Information Retrieval. ACM, 2021. 757−766.
[34]
Kipf TN, Welling M. Semi-supervised classification with graph convolutional networks. In: Proc. of the 5th Int’l Conf. on Learning Representations. Toulon: ICLR, 2017. 1−14.
[35]
Qiu RH, Huang Z, Li JJ, Yin HZ. Exploiting cross-session information for session-based recommendation with graph neural networks. ACM Trans. on Information Systems, 2020, 38(3): 22. [doi:10.1145/3382764]
[36]
Chen L, Wu L, Hong RH, Zhang K, Wang M. Revisiting graph based collaborative filtering: A linear residual graph convolutional network approach. In: Proc. of the 34th AAAI Conf. on Artificial Intelligence. New York: AAAI, 2020. 27−34.
[37]
Wang YF, Tang SY, Lei YT, Song WP, Wang S, Zhang M. DisenHAN: Disentangled heterogeneous graph attention network for recommendation. In: Proc. of the 29th ACM Int’l Conf. on Information & Knowledge Management. ACM, 2020. 1605−1614.
[38]
Wang X, Jin HY, Zhang A, He XN, Xu T, Chua TS. Disentangled graph collaborative filtering. In: Proc. of the 43rd Int’l ACM SIGIR Conf. on Research and Development in Information Retrieval. ACM, 2020. 1001−1010.
[39]
Wang X, Wang RJ, Shi C, Song GJ, Li QY. Multi-component graph convolutional collaborative filtering. In: Proc. of the 34th AAAI Conf. on Artificial Intelligence. New York: AAAI, 2020. 6267−6274.
[40]
Wu L, Yang YH, Chen L, Lian DF, Hong RC, Wang M. Learning to transfer graph embeddings for inductive graph based recommendation. In: Proc. of the 43rd Int’l ACM SIGIR Conf. on Research and Development in Information Retrieval. ACM, 2020. 1211−1220.
[41]
Xu JX, Zhu ZL, Zhao JX, Liu XY, Shan MH, Guo JC. Gemini: A novel and universal heterogeneous graph information fusing framework for online recommendations. In: Proc. of the 26th ACM SIGKDD Int’l Conf. on Knowledge Discovery & Data Mining. ACM, 2020. 3356−3365.
[42]
Ying R, He RN, Chen KF, Eksombatchai P, Hamilton WL, Leskovec J. Graph convolutional neural networks for web-scale recommender systems. In: Proc. of the 24th ACM SIGKDD Int’l Conf. on Knowledge Discovery & Data Mining. London: ACM, 2018. 974−983.
[43]
Xin X, He XN, Zhang YF, Zhang YD, Jose J. Relational collaborative filtering: Modeling multiple item relations for recommendation. In: Proc. of the 42nd Int’l ACM SIGIR Conf. on Research and Development in Information Retrieval. Paris: ACM, 2019. 125−134.
[44]
Kingma DP, Ba J. Adam: A method for stochastic optimization. In: Proc. of the 3rd Int’l Conf. on Learning Representations. San Diego: ICLR, 2015. 1−15.
[1]
陈碧毅, 黄玲, 王昌栋, 景丽萍. 融合显式反馈与隐式反馈的协同过滤推荐算法. 软件学报, 2020, 31(3): 794−805. http://www.jos.org.cn/1000-9825/5897.htm
[2]
田震, 潘腊梅, 尹朴, 王睿. 深度矩阵分解推荐算法. 软件学报, 2021, 32(12): 3917−3928. http://www.jos.org.cn/1000-9825/6141.htm
[15]
葛尧, 陈松灿. 面向推荐系统的图卷积网络. 软件学报, 2020, 31(4): 1101−1112. http://www.jos.org.cn/1000-9825/5928.htm
基于两阶段学习的多行为推荐
严明时 , 程志勇 , 孙静 , 王法胜 , 孙福明