下一个购物篮推荐系统算法研究∗

2021-03-22 09:11王伟玉
计算机与数字工程 2021年2期
关键词:时序向量神经网络

王伟玉

(1.中国科学院计算技术研究所 北京 100190)(2.中国科学院大学 北京 100190)

1 引言

推荐系统主要根据用户的历史行为记录来分析并挖掘用户的兴趣偏好,预测用户的行为,从而对用户做出相应推荐。推荐系统在网络和电子商务领域得到了广泛应用。

电商平台会产生并记录下海量的用户购物行为数据,这些行为数据通常是按照时间顺序被记录下来,因此可以从中挖掘时序、用户偏好等有价值的特征用于为用户提供个性化推荐。但在现实生活中,用户一般是在不同时间(可能为某时间点或较短时间段)购买一系列的商品。由于时间间隔较短,这些购物行为通常无明显的时序特征。另一方面,对于用户的拼单行为,很多购物行为会同时发生,这些购物行为就不能按时序进行分析。所以,需要将用户购物历史数据按时间顺序切分到不同的购物篮,把购物篮内的商品当作一个整体,忽略内部的时间顺序,只研究购物篮之间的时间顺序[1]。

推荐系统的大多相关研究侧重于把每个商品看作独立整体,对其单独进行推荐,未考虑商品间的时序相关性。但在真实情况中,用户的购物篮里往往同时含有几件商品,它们很可能是有联系的,而非彼此独立。有研究表明用户购物篮中的商品会影响其下一个购物篮中的商品,即用户的历史交易记录对用户的下次购买行为有较强的关联性。

下一个购物篮推荐[2~3](next basket recommen⁃dation)就是基于上述背景提出的,在推荐系统中,已成为备受关注且有重大意义的任务。

下一个购物篮推荐根据用户的历史购买记录(通常是交易序列)预测用户下一时刻的购买行为,旨在给用户推荐下次购物篮中可能想购买的一些商品。下一个购物篮推荐是基于用户隐性反馈行为(如点击或购买等)的推荐系统的一个典型应用。

从对用户反馈行为数据建模的不同角度出发,下一个购物篮推荐的建模方法主要分为三种:总体推荐模型[4~7]、时序推荐模型[8~9]和混合推荐模型[10~14]。

总体推荐模型把用户历史购买的商品都放入一个集合中,根据用户的整个购物历史做出推荐,学习总体偏好,不考虑用户行为的时序特征。

时序推荐模型将用户的购物交易视为时间序列,根据用户之前的购物历史预测下一次购买,捕获用户的时序行为进行推荐。

混合推荐模型同时考虑用户的时序行为和总体偏好,综合上述两种模型的特点,以获得更好的推荐。

在实际应用中,上述方法均有可取之处,同时也存在不足。本文对下一个购物篮推荐算法整理分析,阐述每种方法的优势和不足,并贯穿了该算法的发展情况、存在问题和研究现状。最后对下一个购物篮推荐的发展进行总结,并提出了四点其未来可研究发展的方向,加以展望。

2 下一个购物篮推荐研究进展

为了实现下一个购物篮推荐的目标,从不同角度对用户反馈行为数据进行建模。表1 总结了现有的下一个购物篮推荐算法。接下来对下一个购物篮推荐算法进行详细介绍。

2.1 总体推荐模型

总体推荐模型(General Recommender)是指根据用户的整个购物历史记录来预测用户下一时刻的购买行为,通过学习挖掘出用户通常感兴趣的商品,产生推荐结果[12,16]。该模型不考虑用户行为的时序特征,能捕获到用户的总体偏好。其中最广泛使用的是协同过滤推荐。

协同过滤(Collaborative Filtering,CF)推荐算法[15]被认为是当前最广泛认可和采用的推荐技术之一,协同过滤的目标是根据用户先前的喜好和其他志趣相投的用户意见推测该用户感兴趣的信息对其进行个性化推荐。在下一个购物篮推荐系统中,可用该算法对用户下次的购物做预测。

协同过滤推荐算法主要分为两类[4]:基于记忆的(Memory-based)和基于模型的(Model-based)协同过滤算法。基于记忆的协同过滤算法为用户选择兴趣相近的邻居用户,根据邻居用户对其他商品的评分预测此用户对商品的喜好程度。其中基于记忆的算法又包含了基于用户和基于项目的协同过滤算法[15]。基于用户的协同过滤算法主要是找相似的用户,基于项目的协同过滤算法关键在于找相似的商品。Goldberg等[5]的工作属于基于用户的协同过滤算法。基于模型的协同过滤算法通过训练出用户评分模型,利用此模型预测未知数据,来进行推荐[17],该算法通常应用贝叶斯网络、聚类、矩阵分解、基于规则等模型[4],其中矩阵分解(Matrix Factorization,MF)是成功的协同过滤模型[6],它是分解由用户整个历史购物记录数据构建的用户-项目矩阵,用户的总体偏好可以由潜在向量表示,再据此预测用户下次可能买入的商品。例如,某运动员总是买各种运动器材,通过潜在向量可能看出他对运动感兴趣,因此对其推荐运动用品。虽然该模型相对简单直接,易于实现,预测效果较好,但由于用户评过分的项目往往有限,使得用户-项目矩阵具有稀疏性,对推荐质量造成不好的影响。

表1 现有的下一个购物篮推荐算法总结

Lee 等[7]提出一种将二元逻辑回归模型与主成分分析相结合的协同过滤推荐模型,其中对购物篮数据(二元评分矩阵)中的项目做主成分分析,使用主成分作为预测变量,用二元逻辑回归模型进行分类。该模型有助于解决稀疏性问题,推荐效果有明显改进。但对于在线推荐系统,需要定期更新模型。

协同过滤模型的优势是能捕获用户的总体偏好,但难以考虑用户历史购物交易记录的时序特征。

2.2 时序推荐模型

由于用户的行为会受其历史行为的影响,因此研究人员逐渐认识到序列信息在推荐系统中的重要性[18]。时序推荐模型(Sequential Recommender)将用户的交易行为视为时间序列,旨在根据用户之前的交易信息预测下一次想购买的商品(如用户购买了一个茶壶,下一次可能会为其推荐买了该茶壶用户买过的茶叶)。时序推荐模型的主要优势是能捕获用户的时序行为,即交易商品间的时序关系,来进行推荐。

由于马尔可夫链是一种研究状态转移和变化的理论,很多研究将其应用在时间序列分析中,通过分析变量的最近或现在的变化情况预测其未来变化状态。在时序推荐模型中基于马尔可夫链模型对用户进行下次所需项目的推荐是典型方法。

在一个随机过程中,如果事件发生概率在t 时刻所处的状态为已知时,它在t+1 时刻只与t 时刻的状态有关,则称该过程具有马尔可夫性。时间和状态都是离散的马尔可夫过程称为马尔可夫链(Markov Chain,MC)[21]。基于马尔可夫链的时序推荐模型是根据用户上一时刻的交易行为来预测用户下一时刻的交易行为,充分利用时序行为数据,考虑用户行为的时序特征来进行推荐。

Shani等[19]提出一种基于n-gram[20]的马尔可夫链预测模型,并表明马尔可夫链预测模型对下一个购物篮推荐是有效的。

隐马尔可夫嵌入(Latent Markov Embedding,LME)模型[8]将用户现有的音乐播放列表作为训练数据,学习歌曲的向量表示,用来为用户自动生成音乐播放列表。隐马尔可夫嵌入算法不需要歌曲的内容特征,而是通过使用欧几里得距离嵌入,自动从样本播放列表中学习歌曲及歌曲序列的一般向量表示(类似于协同过滤的矩阵分解方法,使用用户历史行为来做未来推荐)。在隐空间中播放列表视为马尔可夫链,每首歌曲被学习表示为该空间中的点。实证表明,该模型优于n-gram 序列模型,精确度更高,因为它未将序列元素看作原子,而是提供了在欧几里得空间里歌曲的一般表示。

个性化马尔可夫嵌入(Personalized Markov Embedding,PME)模型[9]对LME 模型[8]进行了扩展,用于对在线卡拉OK 用户进行下一首歌曲推荐。个性化马尔可夫嵌入模型能有效地将歌曲向量表示和用户偏好结合,根据用户唱的最后一首歌,对候选歌曲的向量表示打分排序产生下一首推荐歌曲。他们首次提出将歌曲和用户一起嵌入到欧几里得空间中。在该空间里,歌曲和用户的距离反映它们的关系度。个性化马尔可夫嵌入模型可以在不需要歌曲任何内容信息,仅凭与用户唱歌的互动史的情况下捕获用户偏好。

基于马尔可夫链的时序推荐模型能从用户的历史交易数据中捕获用户时序偏好,但由于随机过程的马尔可夫性,总体偏好很难获得,而且该类模型是对相邻的时序行为进行建模,研究相邻状态间的联系,捕获的是用户交易的局部时序特征,还不能提取全局时序特征。

2.3 混合推荐模型

由于用户下一次购买的商品不仅受之前所交易商品的影响,还与用户的兴趣(喜欢什么商品)密切相关。因此,可通过同时考虑用户交易序列的时序特征和用户总体偏好,综合总体推荐模型和时序推荐模型的特点,构建混合推荐模型(Hybrid Rec⁃ommender),达到更好的推荐效果。其中,分解个性化马尔可夫链模型[10]将马尔可夫链与矩阵分解相结合,在对时序行为建模的同时捕获了用户的总体偏好,朝此方向迈进了一步。

分解个性化马尔可夫链模型[10](Factorizing Personalized Markov Chains,FPMC)为每个用户先创建独立转移矩阵,再通过这些转移矩阵得到转移矩阵立方体,对立方体进行张量分解可得到用户、商品间的关系。因为分解时考虑了用户整个购物历史,而且可以对每两个相邻购物篮之间的时序行为进行建模,所以FPMC 模型综合考虑了用户总体偏好(通过用户和商品的相互影响)和局部时序行为(通过相邻购物篮间商品的相互影响)。实验结果表明它比单独的总体推荐模型和时序推荐模型推荐效果更好。但由于FPMC 模型基于马尔可夫链假设,只研究了相邻两个购物篮的联系,所以仍不能提取用户行为的全局时序特征。而且,FPMC模型是矩阵分解(Matrix Factorization,MF)和非个性化马尔可夫链(Factorizing unpersonalized Markov chain,FMC)的线性组合,它只能对多个因素进行线性操作,不能捕获因素间的复杂关联。然而,在实际情况中,影响用户下次购买有多个关联因素,描绘他们间的相互作用很有价值。

近年来,随着人工神经网络被广泛应用于计算机视觉、语音识别和自然语言处理等领域,并取得了突破性进展。很多研究者也将神经网络模型应用到下一个购物篮推荐系统中,表现甚佳。

神经网络模型用于下一个购物篮推荐的优势主要体现在:神经网络模型自身结构是层次化和序列化的,其中包括多层次的非线性操作,能自动地从输入特征中学习到更高级抽象的特征,捕获到因素间的复杂联系。能有效地利用大规模数据的优势和高性能计算能力,通过神经网络模型灵活的结构,学习到更丰富的数据表示。

2015 年兰艳艳等[11]首次提出将神经网络用于下一个购物篮推荐。该神经网络模型NN-Rec 由输入层、隐藏层和输出层构成。首先,输入层将用户向量和用户购物历史里的(近k 个购物篮里的)商品向量拼接来获得特征向量。然后隐藏层通过非线性操作将得到的特征向量进行空间转换,最后输出层通过softmax 函数的映射得到候选商品的概率来进行预测推荐。可以看出,NN-Rec 模型融合了用户总体偏好和时序行为(即,商品间的时序依赖)。该模型与FPMC 模型相比效果更好:NN-Rec模型可以通过改变输入层的k 来捕获最近多个购物篮产生的影响,而FPMC 模型仅能捕获最近1 个购物篮产生的影响,即NN-Rec 模型可以捕获更长的时序依赖。而且在输入层可以在不改变模型框架的情况下加入其它特征,相对灵活。NN-Rec 模型可通过选择能捕获更长时序依赖的神经网络,加入其它特征来进行改进。

由于现实生活中用户的兴趣因素和交易序列因素并非各自独立地对下一次购买产生影响。例如,用户通常喜欢看科幻类型的电影,但是近期迷上了一个喜剧明星,看了该喜剧明星出演的喜剧电影,综合用户兴趣和时序特征,下一次更好地推荐是该喜剧明星出演的科幻电影。然而基于兴趣因素和时序因素假设独立的情况下,仅对两者进行线性组合,理想的更好推荐可能无法获得较高的推荐分数,得不到期待的推荐效果。因此,基于神经网络的层次表达模型(Hierarchical Representation Model,HRM)[12]被提出来更好地解决下一个购物篮推荐中遇到的问题:该模型不仅能综合考虑买一件商品导致买另一件商品的这种时序行为和用户的总体偏好,而且通过在层间对表示向量使用非线性的聚合操作,能捕获到用户兴趣向量和商品特征向量的非线性关系,即能对不同因素间的复杂联系建模,捕获到这些因素间的潜在影响。此模型有三层:第一层对用户上一个购物篮里的商品向量进行聚合操作,得到交易向量;第二层对用户向量和第一层得到的交易向量进行聚合,得到混合向量;第三层将得到的混合向量与候选商品向量进行点积操作,再通过softmax 函数的映射,得到该候选商品出现在下一个购物篮中的概率。从而达到预测并推荐的目的。但该模型的不足是只能在每两个相邻篮子之间建立局部时序行为,而有时两个相邻篮子间可能不存在关联。

为了在训练模型中获得更好地特征表达,更充分地挖掘因素间的复杂联系,练绪宝等[13]利用了用户多种不同类型的隐性反馈行为(点击、收藏、加入购物车等),通过使用深度学习里的卷积神经网络对下一个购物篮推荐问题进行建模。依据时间顺序把从多角度刻画后的用户行为特征变换为二维平面作为卷积神经网络的输入,多窗口卷积层获取其局部特征,池化层获取其总体特征,来进行模型训练。从而充分挖掘用户和商品特征间的内在联系,将用户对商品的时序行为和偏好相结合。与协同过滤推荐算法、基于马尔可夫链的时序推荐模型不同,该模型把在下一时刻用户是否购买某商品作为二元分类问题,实验结果表明该分类方法对预测将来固定时间内的购买行为更有效。

循环神经网络(RNN)是一种用于序列建模的深度学习方法,已被证明可以有效地捕获用户时序行为[22],并具有对用户整个历史交易信息建模的能力。为了能挖掘出购物篮间的全局联系,一种基于RNN 的新模型-动态循环篮子模型(Dynamic RE⁃current bAsket Model,DREAM)[14]被提出,采用RNN对反映购物篮间相互作用的全局时序特征建模,并使用RNN 的隐状态表示用户随时间变化的兴趣动态。DREAM 模型不仅学习用户特征向量的表达、考虑了用户兴趣,还能对用户所有时序的购物篮之间建立全局时序特征。它是通过使用迭代的方法学习用户的向量表达,所以新的用户的特征向量表达可以基于当前向量来更新。而层次表达模型HRM 需要对新建的用户商品矩阵进行分解来获得用户的向量表示。DREAM模型在输入层使用了非线性(最大池化)操作来学习购物篮的向量表示,表明非线性的聚合操作确实能很好地捕获商品多因素间的关联,获得更好的推荐效果。循环协同过滤模 型(Recurrent Collaborative Filtering,RCF)[16]将RNN 和矩阵分解相结合,也捕获了用户的总体偏好和交易的全局时序特征。

由此可见,基于神经网络的混合推荐模型不仅能考虑用户偏好,还能捕获用户交易的全局时序特征,通过其非线性操作来学习影响购买的因素间的关联性,提高了下一个购物篮推荐系统的性能,能对用户产生更加准确的推荐结果,还有很大的发展完善空间。

3 展望

虽然现有的下一个购物篮推荐算法有很多优点,但仍存在问题,有很大的发展潜力。本节对下一个购物篮推荐的未来研究方向加以展望。

1)更好地学习交易的时序特征。循环神经网络RNN 虽然在处理序列数据获得了很好的效果,由于其网络结构中存在闭环,使得之前的信息特征得以保留,理论上可以处理长期的时序依赖问题。但是传统RNN 在信息访问当前处理单元之前,需按顺序通过所有之前的单元,随着网络层数增多,信息变长,RNN 在训练过程中易遭受梯度消失或梯度爆炸问题,这样就很难学到长期的时序特征。在下一个购物篮推荐中随着用户历史交易信息的增加,传统RNN 捕获用户交易的时序特征的全面性可能会下降,影响推荐效果。因此,如何更好地学习用户交易的时序特征,值得被研究。为了解决RNN 中的梯度问题,长短期记忆网络(Long Short-Term Memory,LSTM)和门控循环单元(Gat⁃ed Recurrent Unit,GRU)被提出,它们通过在输入和循环输入上使用门来调节网络中的信息流,从而能捕获更长的时序依赖。IndRNN[23]已被证明可以处理比现有RNN 更长的序列。可尝试将LSTM、GRU 和IndRNN 等能学习长期依赖的神经网络模型应用到下一个购物篮推荐系统中,能捕获更长的用户交易时序特征。

2)引入更精细丰富的用户和商品特征。提供准确的推荐需要对用户的兴趣和真正需求,以及商品的特征有深入的了解[24]。现有的下一个购物篮推荐模型往往忽略了对用户和商品的属性特征进行建模,比如对用户的年龄、性别,商品的类型、价格,这些对用户做出的购买决定都非常重要。为了在下一个购物篮推荐中引入重要的商品属性,属性感知神经注意力模型(Attribute-aware Neural Atten⁃tive Model,ANAM)[25]被提出,通过使用联合学习函数,将分别采用了注意力机制的商品和其类别信息进行整合,有效地捕获了用户的兴趣动态,并验证了属性信息可提高推荐效果。未来的研究中可考虑在建模时进行用户画像,更细致地考虑不同类型用户的偏好特点。另一方面,模型中引入更详细的商品信息,如评论信息、价格信息等,来更好地捕捉用户对商品的兴趣变化,并研究多因素对用户购买决策的影响[25]。

3)多维度推荐研究。当前的下一个购物篮推荐大多是基于用户和商品两个维度进行研究。然而用户对商品的选择通常会受到很多外界因素的影响,比如在特定的节日、地理位置购买有特定意义的商品,某商品在某时间段内非常流行等,这些因素仅从用户和商品自身特征是无法捕获的。有研究表明,将传统的二维用户-项目推荐方法扩展到多维很有意义[26]。因此,可以根据具体场景和实际情况,将除了用户和商品以外的维度信息(如地理维度)考虑进下一个购物篮推荐的研究中。

4)推荐的可解释性。相关研究发现恰当的推荐理由可以提高用户对给出的推荐结果的接受程度和对系统的信任度[27],获得更高的推荐成功率。基于协同过滤的下一个购物篮推荐模型可以通过以相似用户的购买,例如“购买了该产品的用户也购买了”,为推荐理由对用户进行推荐,有一定的可解释性。然而,神经网络模型本身缺乏可解释性,用其进行可解释性推荐是项艰巨的任务。基于神经网络的下一个购物篮推荐模型对于模型中所学习出来的特征向量,如用户偏好向量和商品属性向量难以直观地解释。如何向用户解释推荐结果,给出个性化多样的推荐理由而不只是基于单一、无新意的理由模版及解释可视化展示都值得进行更好的研究。

所以还需对下一个购物篮推荐算法进一步地研究和改进,这对该领域的发展有重要的意义。

4 结语

本文首先阐述了下一个购物篮推荐与普通推荐系统的区别、内涵及研究意义,并对其做基本介绍,然后对下一个购物篮推荐主要的三种方法:总体推荐模型、时序推荐模型和混合推荐模型进行分析,其中总体推荐模型主要介绍了基于协同过滤的总体推荐模型,时序推荐模型介绍了基于马尔可夫链的时序推荐模型,混合推荐模型介绍了分解个性化马尔可夫链模型[10]和基于神经网络的混合推荐模型,阐述了每种方法的优势和不足,并贯穿了下一个购物篮推荐算法的发展情况、存在问题和研究现状,最后提出了四点下一个购物篮推荐未来可研究和改进的方向。本文的撰写希望为该领域的人员及后续研究提供有益的参考。

猜你喜欢
时序向量神经网络
顾及多种弛豫模型的GNSS坐标时序分析软件GTSA
基于神经网络的船舶电力系统故障诊断方法
基于人工智能LSTM循环神经网络的学习成绩预测
向量的分解
清明
基于GEE平台与Sentinel-NDVI时序数据江汉平原种植模式提取
MIV-PSO-BP神经网络用户热负荷预测
你不能把整个春天都搬到冬天来
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
向量垂直在解析几何中的应用