SeqRec:基于长期偏好和即时兴趣的序列推荐模型
SeqRec: sequential-based recommendation model with long-term preference and instant interest
通讯作者:
收稿日期: 2020-01-2
Received: 2020-01-2
作者简介 About authors
张岩(1996—),男,硕士生,从事推荐算法研究.orcid.org/0000-0003-0806-2006.E-mail:
通过对用户的历史购物序列进行建模,得到用户稳定的长期偏好和动态的即时兴趣,并聚合长期偏好和即时兴趣进行个性化推荐. 提取用户对商品的评论内容用于表示商品的特征;使用递归神经网络从用户的历史购买序列数据中学习用户稳定的长期偏好,使用提问数据对用户不断变化的即时兴趣进行建模;通过注意力机制为长期偏好以及即时兴趣分配不同的权重,得到用户最终偏好的向量表示. 在亚马逊真实数据集上的实验结果表明,SeqRec模型在召回率和精确率上比当前主流的序列推荐方法至少超出10%;SeqRec模型证明不同用户的长期偏好和即时兴趣对其下次购买物品的影响程度不同.
关键词:
The user’s stable long-term preferences and dynamic instant interests were obtained by modeling on the user’s historical behavior records, and the user preferences were aggregated for personalized recommendation. Firstly, the users’ reviews on the items were extracted to represent the characteristics of the items. Secondly, users’ historical behavior records were used to represent their stable long-term preferences, and query data was used to model their instant interests. Third, the user’s final preferences were aggregated by assigning different weights to the long-term preferences and instant interests through the attention mechanism. Experiments on real data sets of Amazon were conducted to evaluate the performance of SeqRec model, and results show that it is superior to the current state-of-the-art sequential recommendation methods more than 10% in recall rate and percision ratio. Meanwhile, SeqRec model proves that the long-term preferences and instant interests of different users have different influences on their next purchases.
Keywords:
本文引用格式
张岩, 郭斌, 王倩茹, 张靖, 於志文.
ZHANG Yan, GUO Bin, WANG Qian-ru, ZHANG Jing, YU Zhi-wen.
作为现代电子商务网站的重要组成部分,推荐系统试图根据用户的兴趣或偏好来推荐未来用户想要购买或交互的物品. 随着电子商务机制的发展,大量的用户交互(如:浏览、点击、收集、购物车、购买)被记录下来,其中隐藏着用户的消费模式. 这些包含充分信息量的日志为研究用户的偏好以及个性化推荐提供了数据基础.
现有的推荐系统对用户与物品之间的交互主要包括2种建模方式.
现有的序列模型虽然可以基于交互行为序列预测用户下一次购买时可能购买的项目,但是存在以下两点不足:1)这些方法侧重于直接使用物品之间的序列性表示物品之间关系. 但由于不同的用户在购买相同的产品时关注不同的方面,仅仅使用物品之间的序列相关性无法提现用户对物品不同方面的兴趣. 2)现有的模型忽略了用户的即时兴趣. 不同于用户的短期偏好,即时兴趣是当用户想要购买一个产品或一系列产品时即时的、特定的需求. 例如,亚马逊手机信息页面中包括问答(question and answer,Q&A)功能,部分用户在购买手机时可能更关心的是“使用什么快递方式”,而其他用户更关心的是“手机是否有红外线功能”,这是用户在一段时间内的明确需求,在历史行为中没有表现出来.
根据用户的历史购物序列对用户偏好进行建模并进行个性化推荐,主要面临两方面的挑战:1)不同的用户可能更喜欢同一物品的不同方面,这导致用户−物品交互序列不能反映用户之间的差异. 2)不同的用户对稳定的长期偏好和即时兴趣依赖程度不同,导致无法对每个用户的长期偏好和即时兴趣分配相同的权重. 本文提出一种基于长期偏好和即时兴趣的序列推荐(SeqRec)模型:采用历史交互过程中用户对每个物品不同方面的偏好来表示物品,通过用户的历史购物序列获取用户的长期偏好,分析用户的提问数据来获取用户的即时兴趣,通过注意力机制将用户稳定的长期偏好和动态的即时兴趣进行聚合来进行个性化推荐.
1. 相关工作
在电子商务等众多基于互联网的服务中,推荐系统发挥着至关重要的作用,在工业界和学术界引起广泛关注[13]. 本文主要从传统推荐系统和序列推荐系统来分别介绍相关工作.
1.1. 传统推荐系统
传统推荐系统侧重于从用户与物品的交互中挖掘用户与物品之间的静态关联,主要由传统的协同过滤模型表示[14]. 常见的协同过滤方法包括邻域方法和因子分解模型等.
1)邻域方法.
2)因子分解模型.
以上研究大多通过挖掘用户和物品之间的静态关系来进行推荐,通常没有特别关注用户偏好的波动和演化以及用户的即时兴趣.
1.2. 序列推荐系统
序列推荐系统的早期工作几乎都是基于序列模式挖掘,近几年深度神经网络在序列数据建模方面取得了巨大的突破,被广泛应用于自然语言处理(natural language processing,NLP)、社交媒体和推荐系统等. Wang等[21]通过历史交互序列,使用分层表示模型捕捉序列模式和用户的总体偏好,实现下一个时刻购物集合推荐. Hidasi等[22]首先应用循环神经网络(recurrent neural network,RNN)对整个会话进行建模,得到基于会话的推荐,该方法的性能显著优于基于物品的方法. Donkers等[24]在RNN的输入中加入用户向量,从而生成带有个性化的下一个时刻购买物品推荐.
这些模型考虑了用户的序列信息,但在用户长期偏好和即时兴趣建模方面,还存在很大的不足. 本文方法分别从用户对物品的历史交互序列以及用户当前的提问数据中得到长期偏好和即时兴趣,并将两者结合起来进行推荐.
2. SeqRec模型概述
SeqRec模型的框架图如图1所示. 其中,
图 1
图 1 基于长期偏好和即时兴趣的序列推荐(SeqRec)模型框架图
Fig.1 Framework of SeqRec model:sequential-based recommendation model with long-term preferences and instant interests
2.1. 问题定义
令
用户在提问之后可能会有购买记录,也可能没有购买记录,本研究仅关注提问之后有购买记录的用户,
历史交互序列中每个购物篮通常包含不只一个物品(
式中:su表示用户的提问数据,用来提取用户的即时兴趣;
用户在提问后可能不会立即购买感兴趣的物品,从文献[18]的结论可知,用户的交互过程存在跳过行为(前几次序列行为不直接影响t+1时刻的购买行为,而是影响t+2甚至t+3时刻的行为). 基于此,由长期偏好与即时兴趣组合的混合兴趣可能影响tq+1之后多个时刻的购买行为. 因此,将目标函数重新定义为下式:
式中:
2.2. 物品特征表示
为了进行个性化推荐,本研究通过提取物品的各个特征来分析用户偏好. 相比使用用户−物品交互矩阵,特征表示可以从各个不同的方面来表示用户的偏好. 有研究从一个用户对物品的评论中提取特征的情感得分作为用户的偏好[1]. 但是用户对物品的评论始终只包含了用户本人对每个物品最感兴趣的特征,无法反映评论中不涉及的特征的用户偏好. 不同用户关注的物品特征也不相同. 例如,如果用户仅评论了耳机的颜色,就无法通过评论判断用户对于音质这个特征的偏好. 因此,SeqRec从一个物品的所有评论中提取特征,取其并集来表示一个物品.
对于用户的所有评论,该系统首先采用coreNLP对所有文本进行分词分析、实体分析、情感分析等,得到用户对购买商品的偏好程度. 单个用户对于购买商品的评论仅包含该商品的部分特征,无法通过单一评论来对物品的特征进行表示,因此,该系统使用TF-IDF算法对所有的评论文本进行处理. 对于每个评论文本,取Top-5的词作为对应物品的特征,将每个特征对应的值为该用户在该条评论上的情感得分,之后将所有特征拼接成一维向量来表示一个物品.
为了整合一个购物篮中多个物品的特征,采用平均池化(average-pooling)操作来表示时刻tk对应的购物篮的输入向量,如下式所示:
2.3. 用户偏好建模
用户的决策过程主要受2个因素的影响:长期偏好和即时兴趣. 实际上,用户的交互过程是一系列随时间推移的隐式反馈,因此,与传统的以静态方式探索用户−物品交互的推荐系统不同,本文提出的系统通过序列建模来处理下一个时刻的购物集合推荐问题. 具体而言,该系统设有长期偏好学习和即时兴趣学习2种模型,用以区分用户长期偏好和当前的即时兴趣,从而通过结合用户长期偏好以及即时兴趣来进行个性化推荐.
2.3.1. 长期偏好建模
式中:
对于每个时刻tq,基于隐藏状态
之后,系统通过平均池化层将用户u的稳定长期偏好表示为
2.3.2. 即时兴趣建模
如图1所示,用户的提问可以明确反映用户在最近一段时间的即时兴趣以及最感兴趣的物品特征. 即时兴趣建模主要使用CoreNLP算法对用户在tq时刻的提问文本进行处理,得到用户在提问中比较关注的特征(见第3.2节中根据所有评论文本得到的特征集合)的得分. 用户u的短期偏好表示如下:
式中:
将用户u在提问时刻tq对应的长期偏好和即时兴趣结合,得到用户u在提问时刻tq对应的聚合偏好
2.4. 长短期偏好聚合
第2.3节中表示的用户聚合偏好
引入注意力机制之后的聚合偏好表示如下:
最后,使用全连接层来找到聚合偏好
式中:
2.5. 模型训练
本系统的损失函数包括两部分:1)利用式(2)计算预测的物品和真实购买物品向量表示之间的差异;2)在长期偏好建模中每个t+1时刻预测偏好与真实偏好之间的误差. 由第2.3.1节可知,其中每个t时刻的隐藏状态为ht,通过BiGRU可以得到t+1时刻用户可能购买的物品集,SeqRec系统通过降低预测每一个t+1时刻可能购买的物品集的向量表示之间的误差,提高个性化推荐的准确率. 其中t+1时刻可能购买的物品集可以表示为
式中:
同时,引入每个t+1时刻预测值与真实值之间的误差:
式中:
其中,
3. SeqRec模型实验验证
3.1. 实验设置
本研究从文献[27]的数据集中获取亚马逊评论和问答数据. 在亚马逊网站上,用户通常会在购买商品后对商品发表评论;在购买商品之前,用户可以向商家或者其他购买者提问进行咨询. 本研究从数据集中获取用户的评论记录和提问记录,用于从序列数据中提取稳定的长期偏好和动态的即时兴趣. 为了从物品的评论和提问数据中提取特征,首先提取用户评论以及问答文本中特征词和情感得分(分值为1~5);然后使用TF-IDF选择出现次数最高的特征作为物品的特征.
本文在安装2张GTX 1080Ti显卡的计算机上进行实验,软件环境使用Tensorflow框架. 本文对亚马逊数据集中的2个子数据集进行实验:Baby和Electronics,统计数据如表1所示. 由于SeqRec模型主要针对用户提问之后的推荐,本研究过滤了没有任何提问记录的用户. 本文方法属于序列化推荐系统模型,因此,将SeqRec模型与2种序列推荐模型进行比较.
表 1 电子产品和婴儿用品数据集统计信息
Tab.1
数据集 | n | m | nbuy | nrel |
Electronics | 196 114 | 65 124 | 19 445 | 4 881 |
Baby | 17 217 | 4 982 | 1 321 | 213 |
1)Caser模型[18]为基于卷积神经网络(CNN)的序列推荐模型,具有物品和用户的嵌入表示. 为了适应本研究的问题,以用户嵌入表示用户稳定的长期偏好;Caser模型通过垂直卷积核与水平卷积核提取用户的短期偏好,与本研究的即时兴趣提取方法不同.
2)DREAM模型[11]是一种基于GRU的序列推荐方法,没有考虑即时兴趣. 实验时使用历史交互序列作为BiGRU的输入进行个性化推荐.
3.2. 评价指标
为了评估SeqRec模型的性能,使用被广泛用于推荐系统评估的召回率(RK)和命中率(HK)指标. 在Top-K推荐下,预测用户u可能购买的物品集合为
式中:
3.3. 实验结果
SeqRec模型和对比算法的实验结果比较如表2所示. 本研究每个实验重复10次,得出多次运行结果的平均值和方差,其中括号外的数字表示10次运行之后指标的平均值,括号内的数字表示10次运行之后指标的方差;每个指标的最优数据以粗体显示. 第5行表示本文的SeqRec模型相较于其他2个对比算法的较优结果的提升幅度.
表 2 SeqRec模型与对比模型的召回率和命中率结果对比
Tab.2
数据集 | 评价指标 | R1 | R5 | R10 | H1 | H5 | H10 |
Baby | Caser | 0.008 3(0.002 7) | 0.022 5(0.003 0) | 0.038 8(0.002 4) | 0.015 0(0.005 0) | 0.056 25(0.005 6) | 0.110 0(0.003 1) |
DREAM | 0.003 0(0.001 0) | 0.004 3(0.000 9) | 0.033 7(0.004 4) | 0.015 0(0.005 0) | 0.031 30(0.004 0) | 0.083 75(0.009 4) | |
SeqRec | 0.006 3(0.001 8) | 0.044 9(0.008 4) | 0.056 9(0.009) | 0.023 1(0.004 9) | 0.080 0(0.010 4) | 0.146 2(0.015 4) | |
提升幅度 | −24% | 99% | 47% | 54% | 42% | 33% | |
Electronics | Caser | 0.001 3(0.000 5) | 0.010 0(0.003 1) | 0.025 0(0.005 1) | 0.007 5(0.002 0) | 0.040 8(0.001 2) | 0.073 3(0.006 5) |
DREAM | 0.000 5(0.000 4) | 0.011 5(0.001 5) | 0.021 5(0.001 5) | 0.005 0(0.002 0) | 0.040 8(0.009 2) | 0.076 6(0.011 2) | |
SeqRec | 0.001 4(0.001 0) | 0.019 7(0.007 0) | 0.027 8(0.004 7) | 0.010 0(0.003 1) | 0.047 5(0.008 2) | 0.090 0(0.013 5) | |
提升幅度 | 8% | 71% | 11% | 33% | 16% | 17% |
在Baby和Electronics数据集上,SeqRec模型在召回率RK和命中率HK上几乎都要超出2个对比算法. SeqRec和Caser在召回率和命中率上比DREAM更高,表明在序列化推荐中将即时偏好聚合可以显著提升推荐系统的性能;同时SeqRec在召回率和命中率上高于Caser模型,表示本文提出的基于注意力机制进行长短期偏好的聚合也可以提高个性化推荐的性能.
图 2
图 2 不同用户对长期偏好和即时兴趣的权重
Fig.2 Weights of different users'long-term preferences and instant interests
3.4. 结果讨论
相较于对比算法,在Baby和Electronics数据集上,提出的SeqRec模型对于大部分指标都有着较为显著的提升,尤其在Baby数据集上提升更明显,召回率和命中率平均提升了50%. 分析数据集可知,Baby数据集中包含的物品数量更少,可能会在一定程度上影响推荐的各项指标的结果;更重要的是,Baby数据集中的物品大多属于消耗品,产品之间的关联性比较强,而Electronics数据集中产品的独立性比较强,Baby数据集中用户的购买行为相较于Electronics数据集更为频繁,因此序列行为模式更容易挖掘. 这导致Baby数据集上的推荐性能稍优于Electronics数据集.
4. 结 语
本文提出了一种基于长期偏好和即时兴趣的序列推荐(SeqRec)模型. 本文采用历史交互中用户对每个物品不同方面的偏好来表示物品,而不是采用物品之间的相似性来表示物品,相比之下本文方法可以更直接地表示用户的长期偏好和即时兴趣. SeqRec模型在推荐的召回率和精确率上普遍高于其他2个对比算法,尤其是在Baby子数据集上,召回率和命中率平均提升了超过50%;在Electronics子数据集上,比其他2个对比算法平均提升了30%左右. 实验结果表明:基于注意力机制对长期偏好和即时兴趣进行聚合可以提高个性化推荐的性能.
本文的SeqRec模型也有一些缺点:1)使用用户历史购物序列对长期偏好进行建模,需要较为充分的数据,因此对于新用户无法进行推荐;2)使用用户最近的提问数据来对即时兴趣进行建模,对于最近没有进行提问的用户也无法进行很好的推荐. 因此未来将在冷启动场景下进行用户长期偏好以及即时兴趣建模,使得模型的应用场景更为广泛.
参考文献
Matrix factorization techniques for recommender systems
[J].
Personalized trajectory matching in spatial networks
[J].DOI:10.1007/s00778-013-0331-0 [本文引用: 1]
Bidirectional recurrent neural networks
[J].DOI:10.1109/78.650093 [本文引用: 1]
Long short-term memory
[J].
/
〈 |
|
〉 |
