论文部分内容阅读
会话(session)序列是指在用户的一次交互事务中所用项目的序列集合(如用户在一次购物过程中用户点击商品的历史记录)。会话序列作为推荐领域中特殊的数据形式,往往很难通过传统的推荐方法对会话序列数据进行建模。虽然有学者通过对传统推荐方法进行改进来解决会话序列建模的问题,但推荐系统的效果却被模型结构中存在的很多问题所限制。近年来,随着深度学习在图像识别、自然语言处理和语音识别等人工智能领域的突破性进展,将深度学习融入到推荐算法中,能帮助传统推荐算法有效解决多源异构信息、数据稀疏、冷启动、数据特征设计的人工依赖性等问题,也为解决基于会话序列的推荐问题带来了新的方法。考虑到在现实生活中推荐系统往往是基于用户短期的会话序列数据进行推荐的,而不是大量的用户历史记录。在这种情况下传统推荐方法的推荐结果往往不够准确,且推荐的结果往往存在滞后性和重复性。本文使用会话序列数据对推荐算法进行建模,并根据会话序列中数据的主要信息是由项目之间关联关系组成的特点,分别采用Apriori算法和循环神经网络对用户的会话序列数据进行建模,并通过实验对基于不同算法的会话序列推荐模型进行研究。本文的主要内容如下:(1)针对会话序列数据之间存在大量关联关系的特点,采用Apriori算法来实现会话序列的推荐。在使用Apriori算法进行建模的过程中,针对Apriori算法计算时间长、内存需求大的问题,建立辅助矩阵对基于压缩矩阵的Apriori算法进行改进,通过辅助矩阵减少计算支持度的时间和扫描范围来提升Apriori算法性能。并针对推荐算法需要对项目进行排序的问题,提出了计算项目权重的方法来对确定项目的优先级。最后通过实验分别对改进后Apriori算法运行速度和推荐效果的有效性进行了验证。(2)为了进一步提升推荐系统的推荐效果,充分利用用户在交互过程中会话序列之间的关联性信息,针对Apriori算法无法挖掘时序信息的问题,采用循环神经网络作为推荐模型来实现会话序列的推荐。在研究过程中,为了更好的模拟现实场景中会话序列的变化情况,在建模前根据会话序列长度差异大的特点对数据进行预处理,采用与以往研究不同的序列采样方法,将原始的单分类问题转化为序列建模问题,解决了已有研究中对序列信息利用不足、优先级不够明确和缺乏对时序信息的问题,并通过实验对改进算法的有效性进行验证。(3)针对用户项在交互的过程中充满随机性和偶然性的问题,在基于会话的循环神将网络推荐模型中加入了改进的注意力机制来学习用户在购物过程中的会话序列的变化情况,减少序列中因用户在购物过程中的偶然性和随机性对的推荐模型的干扰,进一步提高推荐模型的准确率。最后,通过使用真实数据进行对比实验对模型的有效性和优越性进行了验证,结果表明本文提到的推荐方法的比现有的基准水平的MRR@20指标高出了40%左右,Recall@20指标高出了25%左右。