浙江大学学报(工学版), 2020, 54(6): 1177-1184 doi: 10.3785/j.issn.1008-973X.2020.06.015

计算机技术

SeqRec:基于长期偏好和即时兴趣的序列推荐模型

张岩,, 郭斌,, 王倩茹, 张靖, 於志文

SeqRec: sequential-based recommendation model with long-term preference and instant interest

ZHANG Yan,, GUO Bin,, WANG Qian-ru, ZHANG Jing, YU Zhi-wen

通讯作者: 郭斌,男,教授. orcid.org/0000-0001-6097-2467. E-mail: guob@nwpu.edu.cn

收稿日期: 2020-01-2  

Received: 2020-01-2  

作者简介 About authors

张岩(1996—),男,硕士生,从事推荐算法研究.orcid.org/0000-0003-0806-2006.E-mail:1065120019@qq.com , E-mail:1065120019@qq.com

摘要

通过对用户的历史购物序列进行建模,得到用户稳定的长期偏好和动态的即时兴趣,并聚合长期偏好和即时兴趣进行个性化推荐. 提取用户对商品的评论内容用于表示商品的特征;使用递归神经网络从用户的历史购买序列数据中学习用户稳定的长期偏好,使用提问数据对用户不断变化的即时兴趣进行建模;通过注意力机制为长期偏好以及即时兴趣分配不同的权重,得到用户最终偏好的向量表示. 在亚马逊真实数据集上的实验结果表明,SeqRec模型在召回率和精确率上比当前主流的序列推荐方法至少超出10%;SeqRec模型证明不同用户的长期偏好和即时兴趣对其下次购买物品的影响程度不同.

关键词: 序列数据 ; 个性化推荐 ; 长期偏好 ; 即时兴趣 ; 注意力机制

Abstract

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: sequential data ; personalized recommendation ; long-term preferences ; instant interests ; attention mechanism

PDF (767KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

张岩, 郭斌, 王倩茹, 张靖, 於志文. SeqRec:基于长期偏好和即时兴趣的序列推荐模型. 浙江大学学报(工学版)[J], 2020, 54(6): 1177-1184 doi:10.3785/j.issn.1008-973X.2020.06.015

ZHANG Yan, GUO Bin, WANG Qian-ru, ZHANG Jing, YU Zhi-wen. SeqRec: sequential-based recommendation model with long-term preference and instant interest. Journal of Zhejiang University(Engineering Science)[J], 2020, 54(6): 1177-1184 doi:10.3785/j.issn.1008-973X.2020.06.015

作为现代电子商务网站的重要组成部分,推荐系统试图根据用户的兴趣或偏好来推荐未来用户想要购买或交互的物品. 随着电子商务机制的发展,大量的用户交互(如:浏览、点击、收集、购物车、购买)被记录下来,其中隐藏着用户的消费模式. 这些包含充分信息量的日志为研究用户的偏好以及个性化推荐提供了数据基础.

现有的推荐系统对用户与物品之间的交互主要包括2种建模方式.

1)基于矩阵分解的协同过滤(collaborative filtering,CF)来获得用户偏好[1-2]. 这些工作侧重于从用户与物品的交互中挖掘其静态关联,并用传统协同过滤模型表示[3-5]. 然而,这些工作仅仅从静态视图考虑了用户−物品之间特定关系,忽略了序列交互中隐含的用户偏好的演化,没有考虑到用户偏好的演化对未来购买物品的影响.

2)基于序列模式[6-7]来挖掘用户与物品之间的关系. 随着时间的推移,用户的交互行为形成了一种行为序列,用户稳定的长期偏好和短期偏好可以动态显示. 其中,用户稳定的长期偏好是长期以来个人习惯导致的偏好;短期偏好是由用户近期购买的物品决定的偏好. 传统的序列推荐方法是根据最后一次交互行为建立一个物品之间的关联矩阵来预测最可能交互的下一个物品[8]. 为了对用户短期的动态偏好进行表示,序列推荐模型使用一段时间的用户−物品交互行为对用户偏好进行分析表示,然后根据序列交互行为预测用户下一个时刻可能会购买的物品集. 目前很多序列推荐模型[9-12]使用递归神经网络对用户偏好进行建模.

现有的序列模型虽然可以基于交互行为序列预测用户下一次购买时可能购买的项目,但是存在以下两点不足:1)这些方法侧重于直接使用物品之间的序列性表示物品之间关系. 但由于不同的用户在购买相同的产品时关注不同的方面,仅仅使用物品之间的序列相关性无法提现用户对物品不同方面的兴趣. 2)现有的模型忽略了用户的即时兴趣. 不同于用户的短期偏好,即时兴趣是当用户想要购买一个产品或一系列产品时即时的、特定的需求. 例如,亚马逊手机信息页面中包括问答(question and answer,Q&A)功能,部分用户在购买手机时可能更关心的是“使用什么快递方式”,而其他用户更关心的是“手机是否有红外线功能”,这是用户在一段时间内的明确需求,在历史行为中没有表现出来.

根据用户的历史购物序列对用户偏好进行建模并进行个性化推荐,主要面临两方面的挑战:1)不同的用户可能更喜欢同一物品的不同方面,这导致用户−物品交互序列不能反映用户之间的差异. 2)不同的用户对稳定的长期偏好和即时兴趣依赖程度不同,导致无法对每个用户的长期偏好和即时兴趣分配相同的权重. 本文提出一种基于长期偏好和即时兴趣的序列推荐(SeqRec)模型:采用历史交互过程中用户对每个物品不同方面的偏好来表示物品,通过用户的历史购物序列获取用户的长期偏好,分析用户的提问数据来获取用户的即时兴趣,通过注意力机制将用户稳定的长期偏好和动态的即时兴趣进行聚合来进行个性化推荐.

1. 相关工作

在电子商务等众多基于互联网的服务中,推荐系统发挥着至关重要的作用,在工业界和学术界引起广泛关注[13]. 本文主要从传统推荐系统和序列推荐系统来分别介绍相关工作.

1.1. 传统推荐系统

传统推荐系统侧重于从用户与物品的交互中挖掘用户与物品之间的静态关联,主要由传统的协同过滤模型表示[14]. 常见的协同过滤方法包括邻域方法和因子分解模型等.

1)邻域方法.

基于实体(如:用户或物品)之间的相似性,通过相似性推荐最近的邻居物品[15-16]. Bell等[15]提出的新方法可以同时求出所有最近邻居的插值权重,从而大大提高推荐的准确率. Wang等[16]提出了一种通过学习将用户或物品之间的相似性转换为回归问题的方法;并引入了一种新颖的多层结构来计算不同特征的相似性,模拟了不同特征的联合影响,从而改善了邻域方法的推荐性能.

2)因子分解模型.

将推荐看作一个用户−物品矩阵重构问题,并通过隐向量的点积对用户−物品交互进行建模[17]. 目前许多工作都侧重于学习用户或商品的向量表示,提高推荐系统性能. Liu等[4]考虑了用户在竞争产品之间选择时的优柔寡断,通过挖掘客户行为中的独立性来提高推荐的性能. Zhao等[17]将纳什均衡引入矩阵分解方法,解决了分组推荐问题. 近年来,很多研究采用深度学习来解决协同过滤中的用户−物品交互矩阵重构的问题. 例如,采用深度学习模型来提取并融合特征(如:图像特征、文本信息和多模态数据);也有研究基于深度神经网络来学习用户与物品之间的关系[18-19].

以上研究大多通过挖掘用户和物品之间的静态关系来进行推荐,通常没有特别关注用户偏好的波动和演化以及用户的即时兴趣.

1.2. 序列推荐系统

近年来,研究人员开始关注各种序列推荐场景,如:下一个时刻购物集合推荐[20-21]、基于会话的推荐[22-23]以及下一个时刻购买物品推荐[24].

序列推荐系统的早期工作几乎都是基于序列模式挖掘,近几年深度神经网络在序列数据建模方面取得了巨大的突破,被广泛应用于自然语言处理(natural language processing,NLP)、社交媒体和推荐系统等. Wang等[21]通过历史交互序列,使用分层表示模型捕捉序列模式和用户的总体偏好,实现下一个时刻购物集合推荐. Hidasi等[22]首先应用循环神经网络(recurrent neural network,RNN)对整个会话进行建模,得到基于会话的推荐,该方法的性能显著优于基于物品的方法. Donkers等[24]在RNN的输入中加入用户向量,从而生成带有个性化的下一个时刻购买物品推荐.

这些模型考虑了用户的序列信息,但在用户长期偏好和即时兴趣建模方面,还存在很大的不足. 本文方法分别从用户对物品的历史交互序列以及用户当前的提问数据中得到长期偏好和即时兴趣,并将两者结合起来进行推荐.

2. SeqRec模型概述

SeqRec模型的框架图如图1所示. 其中, $b_{{t_i}}^u$表示用户uti时刻对应的购物篮内物品集合; ${{a}}_{{t_i}}^u$表示用户uti时刻对应的购物篮向量; ${{{h}}_{{t_i}}}$表示Bi-GRU在ti时刻对应的隐向量; ${{P}}_{\rm{L}}^u$${{P}}_{\rm{S}}^u$分别表示用户u的长期偏好以及即时兴趣; ${{z}}_{{t_{\rm{q}}}}^u$表示用户u在提问时刻tq下的聚合偏好;ATT表示注意力机制模块. 该模型框架图主要由3个模块组成:物品特征表示、用户偏好建模、长短期偏好聚合. 整个模型的流程如下:1)使用所有评论文本提取特征来表示一个物品,得到每一个购物篮的向量表示,将其作为序列数据输入到用户偏好建模模块;2)通过双向循环神经网络(bi-recurrent neural network,BiRNN)得到用户的长期偏好;3)基于注意力机制聚合用户的长期偏好与即时兴趣,得到聚合偏好;4)进行推荐.

图 1

图 1   基于长期偏好和即时兴趣的序列推荐(SeqRec)模型框架图

Fig.1   Framework of SeqRec model:sequential-based recommendation model with long-term preferences and instant interests


2.1. 问题定义

$U = \left\{ {{u_1},{u_2}, \cdots ,{u_n}} \right\}$ 为用户集合, $I = \left\{ {{i_1},{i_2}, \cdots ,{i_m}} \right\}$为物品的集合,nm分别表示用户和物品的个数; $ A = \left\{ {{a_1},{a_2}, \cdots ,{a_m}} \right\}$表示所有物品的特征集合,其中 ${{{a}}_j} \in {{\bf{R}}^d}$是物品ij的特征表示;对于每一个用户 $u \in U$,其在提问时刻tq之前的历史购物篮序列可以表示为

用户在提问之后可能会有购买记录,也可能没有购买记录,本研究仅关注提问之后有购买记录的用户, ${U_1} \subseteq U$,其中, $\left| {{U_1}} \right| = {n_{{\rm{buy}}}}$表示提问之后有购买记录的用户数;定义提问之后购买与提问物品相关的其他物品的用户为 ${U_2} \subseteq U$,其中, $\left| {{U_2}} \right| = {n_{{\rm{rel}}}}$表示提问之后购买其他相关物品的用户数.

历史交互序列中每个购物篮通常包含不只一个物品( $\left| {{b_{{t_j}}}} \right|$ > 1). 类似地,可以将提问时刻 tq之后的下一个时刻的购物篮表示为 $b_{{t_{\rm{q}}} + 1}^u$. 为了推荐符合用户长期偏好以及即时兴趣的物品,将序列推荐问题转化为如下目标函数,用来表示下一个时刻 ${t_{\rm{q}}} + 1$推荐购买的物品与真实购买物品之间的差别:

$L = \sum\limits_u {{L_{{u}}}\left[ {f\left( {B_{t < {t_{\rm q}}}^u,{s^u}} \right),\;b_{{t_{\rm q}} + 1}^u} \right]}. $

式中:su表示用户的提问数据,用来提取用户的即时兴趣; $f\left( \cdot \right)$表示根据长期偏好与即时兴趣的混合兴趣预测其他商品被推荐概率的函数; ${L_{\textit{u}}}\left( \cdot \right)$表示本文方法推荐商品与真实购买商品向量表示之间的误差.

用户在提问后可能不会立即购买感兴趣的物品,从文献[18]的结论可知,用户的交互过程存在跳过行为(前几次序列行为不直接影响t+1时刻的购买行为,而是影响t+2甚至t+3时刻的行为). 基于此,由长期偏好与即时兴趣组合的混合兴趣可能影响tq+1之后多个时刻的购买行为. 因此,将目标函数重新定义为下式:

$L = \sum\limits_u {{L_{{u}}}\left[ {f\left( {B_{t < {t_{\rm q}}}^u,{s^u}} \right),\;B_{{t_{\rm q}} + 1}^u} \right]} . $

式中: $B_{t > {t_{\rm{q}}}}^u = {U_{t > {t_{\rm{q}}}}}b_t^u$ 表示用户将在时刻tq之后购买的一组物品.

2.2. 物品特征表示

为了进行个性化推荐,本研究通过提取物品的各个特征来分析用户偏好. 相比使用用户−物品交互矩阵,特征表示可以从各个不同的方面来表示用户的偏好. 有研究从一个用户对物品的评论中提取特征的情感得分作为用户的偏好[1]. 但是用户对物品的评论始终只包含了用户本人对每个物品最感兴趣的特征,无法反映评论中不涉及的特征的用户偏好. 不同用户关注的物品特征也不相同. 例如,如果用户仅评论了耳机的颜色,就无法通过评论判断用户对于音质这个特征的偏好. 因此,SeqRec从一个物品的所有评论中提取特征,取其并集来表示一个物品.

对于用户的所有评论,该系统首先采用coreNLP对所有文本进行分词分析、实体分析、情感分析等,得到用户对购买商品的偏好程度. 单个用户对于购买商品的评论仅包含该商品的部分特征,无法通过单一评论来对物品的特征进行表示,因此,该系统使用TF-IDF算法对所有的评论文本进行处理. 对于每个评论文本,取Top-5的词作为对应物品的特征,将每个特征对应的值为该用户在该条评论上的情感得分,之后将所有特征拼接成一维向量来表示一个物品.

为了整合一个购物篮中多个物品的特征,采用平均池化(average-pooling)操作来表示时刻tk对应的购物篮的输入向量,如下式所示:

${ a}_{{t_k}}^u = \frac{1}{{|{b_{{t_k}}}|}}\sum\limits_{j = 1}^{|{b_{{t_k}}}|} {{{ a}_{i_j}}} ;\;{i_j} \in {b_{{t_k}}}{\rm{ }}.$

2.3. 用户偏好建模

用户的决策过程主要受2个因素的影响:长期偏好和即时兴趣. 实际上,用户的交互过程是一系列随时间推移的隐式反馈,因此,与传统的以静态方式探索用户−物品交互的推荐系统不同,本文提出的系统通过序列建模来处理下一个时刻的购物集合推荐问题. 具体而言,该系统设有长期偏好学习和即时兴趣学习2种模型,用以区分用户长期偏好和当前的即时兴趣,从而通过结合用户长期偏好以及即时兴趣来进行个性化推荐.

2.3.1. 长期偏好建模

用户的长期偏好贯穿整个序列,不仅依赖于以前的购买序列,还会影响未来的购买序列. 受BiRNN[25]的启发,本研究充分利用前、后2个方向的交互序列来对用户的长期偏好进行表示,开发基于双向门控神经网络(bi-gate recurrent unit,BiGRU)[26]的深度神经网络,对用户的稳定长期偏好进行建模. 初始化后,在交互第j个时刻,每个交互的隐藏状态hj由之前的隐藏状态hj−1更新得到. 当前时刻GRU每个隐藏单元的计算结果如下:

$\left. {\begin{array}{l} {{{i}}_j} = \delta ({{ W}_{\rm{vi}}}{{{b}}_j} + {{ W}_{\rm{hi}}}{{{h}}_{j - 1}} + {{ W}_{\rm{ci}}}{{{c}}_{j - 1}} + \widehat {{{ b}_{\rm i}}}), \\ {{{f}}_j} = \delta ({{ W}_{\rm{vf}}}{{{b}}_j} + {{ W}_{\rm{hf}}}{{{h}}_{j - 1}} + {{ W}_{\rm{cf}}}{{{c}}_{j - 1}} + \widehat {{{ b}_{\rm f}}}), \\ {{{c}}_j} = {{{f}}_j}{{{c}}_{j - 1}} + {i_j}\tanh\; ({{ W}_{\rm{vc}}}{{{b}}_j} + {{ W}_{\rm{hc}}}{{{h}}_{j - 1}} + \widehat {{{ b}_{\rm c}}}),\\ {{{o}}_j} = \delta ({{ W}_{\rm{vo}}}{{{b}}_j} + {{ W}_{\rm{ho}}}{{{h}}_{j - 1}} + {{ W}_{\rm{co}}}{{{c}}_j} + \widehat {{{ b}_{\rm o}}}), \\ {{{h}}_j} = {{{o}}_j}\;\tanh\; ({{{c}}_j}). \\ \end{array} } \right\}$

式中: ${{{i}}_{{j}}}$${{{f}}_{{j}}}$${{{o}}_{{j}}}$分别表示GRU的输入门、遗忘门和输出门, ${{{b}}_{{j}}}$为当前时刻的购物篮的向量表示, ${ c}_j$为GRU记忆单元的值, ${{\hat b}}$为偏置项, ${{{h}}_{{j}}}$j步隐藏状态.

对于每个时刻tq,基于隐藏状态 ${{{h}}_{{{{t}}_{\rm{q}}}}} - 1$和当前时刻对应的购物篮的向量表示 ${{{b}}_{{{{t}}_{\rm{q}}}}}$计算GRU的前向、后向隐藏状态 ${{{h}}_{{{{t}}_{\rm{q}}}}}$. 因此,每个时刻tq的BiGRU的隐藏状态 ${{{h}}_{{{{t}}_{\rm{q}}}}}$可以通过前向GRU隐藏状态和后向GRU隐藏状态值来表示,即

${{{h}}_{{t_{\rm{q}}}}} = \left[\overrightarrow {{{{h}}_{{t_{\rm{q}}}}}} :\overleftarrow {{{{h}}_{{t_{\rm{q}}}}}} \right]{\rm{ }}.$

之后,系统通过平均池化层将用户u的稳定长期偏好表示为

${{P}}_{\rm L}^u = {\text{average}}\;\left( {{{{h}}_1},{{{h}}_2}, \cdots ,{{{h}}_{{t_{\rm q}}}}} \right) $

2.3.2. 即时兴趣建模

图1所示,用户的提问可以明确反映用户在最近一段时间的即时兴趣以及最感兴趣的物品特征. 即时兴趣建模主要使用CoreNLP算法对用户在tq时刻的提问文本进行处理,得到用户在提问中比较关注的特征(见第3.2节中根据所有评论文本得到的特征集合)的得分. 用户u的短期偏好表示如下:

${{P}}_{\rm S}^u = \left[ {{s_{{a_1}}},{s_{{a_1}}}, \cdots ,{s_{{a_m}}}} \right]. $

式中: ${s_{{a_i}}}$为第ai个特征的情感得分,即用户u在提问时刻tq对第ai个特征的依赖程度.

将用户u在提问时刻tq对应的长期偏好和即时兴趣结合,得到用户u在提问时刻tq对应的聚合偏好 ${{z}}_{{{{t}}_{{\rm q}}}}^{{u}}$,然后经过全连接层进行个性化推荐.

2.4. 长短期偏好聚合

第2.3节中表示的用户聚合偏好 ${ z}^u_{t_{\rm q}} $仅将长期偏好和即时兴趣以相同的权重进行拼接,但事实上,长期偏好以及即时兴趣对用户最终决策行为的影响在本质上不同. 其中即时兴趣决定了用户想要购买的物品,长期偏好决定了商品的细节. 并且,不同用户在购物时对于长期偏好以及即时兴趣的依赖可能不同,例如,用户A在购物时可能更符合历史习惯,而用户B可能更喜欢新颖的物品. 因此,SeqRec系统引入注意力机制[2],对用户的长期偏好以及即时兴趣进行聚合,由于不同用户的长期偏好和即时兴趣对于最终购买物品的影响程度不同,注意力机制通过为长期偏好和即时兴趣分配不同的权重来得到聚合偏好.

引入注意力机制之后的聚合偏好表示如下:

$\left. {\begin{split} {{z}}_{{t_{\rm{q}}}}^u =& {{\beta }} {[{{{P}}_{\rm{L}}^u},{{{P}}_{\rm{S}}^u}]^{\rm{T}}}, \\ {{\beta }} _i^u =& \frac{{\exp\; ({z_i^u})}}{{\displaystyle\sum\nolimits_{j = 1}^{||{{{P }}_{\rm{L}}}| + |{{{P }}_{\rm{S}}}||} {\exp\; ({z_j^u})} }}. \\ \end{split} } \right\}$

最后,使用全连接层来找到聚合偏好 ${{z}}_{{{{t}}_{\rm{q}}}}^{{\,u}}$和目标项之间的关系:

${\widehat { y}\;^u} = {\rm{sigmoid}}\;({ W}\cdot{({{{z }}^u})^{\rm{T}}} + { b}){\rm{.}}$

式中: ${{{\hat y}}^{{u}}}$为用户u提问之后与物品交互的概率.

2.5. 模型训练

本系统的损失函数包括两部分:1)利用式(2)计算预测的物品和真实购买物品向量表示之间的差异;2)在长期偏好建模中每个t+1时刻预测偏好与真实偏好之间的误差. 由第2.3.1节可知,其中每个t时刻的隐藏状态为ht,通过BiGRU可以得到t+1时刻用户可能购买的物品集,SeqRec系统通过降低预测每一个t+1时刻可能购买的物品集的向量表示之间的误差,提高个性化推荐的准确率. 其中t+1时刻可能购买的物品集可以表示为

$\widehat { a}\;_{t + 1}^u = {f_{\rm{R}}}({ a}_t^u,{{ h}_t}){\rm{ }}{\rm{.}}$

式中: ${f_{\rm{R}}}\left( \cdot \right)$是基于RNN结构的函数,在本研究中, ${f_{\rm{R}}}\left( \cdot \right)$选择GRU.

同时,引入每个t+1时刻预测值与真实值之间的误差:

${L_{\rm{R}}} = \sum\nolimits_{t = 1}^{{t_{\rm{q}}} - 1} {{L_t}\;(\;{{\widehat {{a }}}\;_t}^u,{{{a }}_t}^u)} {\rm{ }}{\rm{.}}$

式中: ${L_{\rm{R}}}\left( \cdot \right)$是衡量预测偏好与真实偏好之间误差的损失函数;Lt (·)为交叉熵损失函数;SeqRec系统使用交叉熵损失函数,

$L = \sum\limits_u {\left[ {\gamma {L_{{u}}}(\;{{\widehat { y}}\;^u},B_{t > {t_{\rm{q}}}}^u) + (1 - \gamma ){L_{\rm{R}}}} \right]} {\rm{ }}{\rm{.}}$

其中, $\gamma \in \left( {0,1.0} \right)$是平衡两部分损失函数相对重要性的参数. 由于物品数量很多,将全部负样本都用于降低Loss函数会导致训练的时间复杂度以及.空间复杂度过高,本研究使用负采样技术来训练 ${L_u}\left( \cdot \right)$函数.

3. SeqRec模型实验验证

3.1. 实验设置

本研究从文献[27]的数据集中获取亚马逊评论和问答数据. 在亚马逊网站上,用户通常会在购买商品后对商品发表评论;在购买商品之前,用户可以向商家或者其他购买者提问进行咨询. 本研究从数据集中获取用户的评论记录和提问记录,用于从序列数据中提取稳定的长期偏好和动态的即时兴趣. 为了从物品的评论和提问数据中提取特征,首先提取用户评论以及问答文本中特征词和情感得分(分值为1~5);然后使用TF-IDF选择出现次数最高的特征作为物品的特征.

本文在安装2张GTX 1080Ti显卡的计算机上进行实验,软件环境使用Tensorflow框架. 本文对亚马逊数据集中的2个子数据集进行实验:Baby和Electronics,统计数据如表1所示. 由于SeqRec模型主要针对用户提问之后的推荐,本研究过滤了没有任何提问记录的用户. 本文方法属于序列化推荐系统模型,因此,将SeqRec模型与2种序列推荐模型进行比较.

表 1   电子产品和婴儿用品数据集统计信息

Tab.1  Statistics for electronic products and baby products dataset

数据集 n m nbuy nrel
Electronics 196 114 65 124 19 445 4 881
Baby 17 217 4 982 1 321 213

新窗口打开| 下载CSV


1)Caser模型[18]为基于卷积神经网络(CNN)的序列推荐模型,具有物品和用户的嵌入表示. 为了适应本研究的问题,以用户嵌入表示用户稳定的长期偏好;Caser模型通过垂直卷积核与水平卷积核提取用户的短期偏好,与本研究的即时兴趣提取方法不同.

2)DREAM模型[11]是一种基于GRU的序列推荐方法,没有考虑即时兴趣. 实验时使用历史交互序列作为BiGRU的输入进行个性化推荐.

3.2. 评价指标

为了评估SeqRec模型的性能,使用被广泛用于推荐系统评估的召回率(RK)和命中率(HK)指标. 在Top-K推荐下,预测用户u可能购买的物品集合为 $I_K^u$RKHK的计算公式如下:

$ \left. \begin{aligned} &{{{R}}_{{K }}} = \frac{1}{n}\sum\limits_u {\frac{{|I_K^u \cap B_{t > {t_{\rm{q}}}}^u|}}{{|B_{t > {t_{\rm{q}}}}^u|}}} ,\\ &{{{H }}_{{K }}} = \frac{{\rm{1}}}{n}f(I_K^u \cap B_{t > {t_{\rm{q}}}}^u \ne 0),{\rm{ }}\\ &f(1) = 1,\;f(0) = 0. \end{aligned} \right\} $

式中: $\left| {B_{t > t_{\rm q}}^u} \right|$为用户u提问之后的购买个数.

3.3. 实验结果

SeqRec模型和对比算法的实验结果比较如表2所示. 本研究每个实验重复10次,得出多次运行结果的平均值和方差,其中括号外的数字表示10次运行之后指标的平均值,括号内的数字表示10次运行之后指标的方差;每个指标的最优数据以粗体显示. 第5行表示本文的SeqRec模型相较于其他2个对比算法的较优结果的提升幅度.

表 2   SeqRec模型与对比模型的召回率和命中率结果对比

Tab.2  Comparison of recall rate and hit rate results between SeqRec model and baselines

数据集 评价指标 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%

新窗口打开| 下载CSV


在Baby和Electronics数据集上,SeqRec模型在召回率RK和命中率HK上几乎都要超出2个对比算法. SeqRec和Caser在召回率和命中率上比DREAM更高,表明在序列化推荐中将即时偏好聚合可以显著提升推荐系统的性能;同时SeqRec在召回率和命中率上高于Caser模型,表示本文提出的基于注意力机制进行长短期偏好的聚合也可以提高个性化推荐的性能.

为了解释用户之间对于长期偏好与即时兴趣之间的注意力差异,分析Baby数据集中2个用户对于长期偏好与即时兴趣的注意力分布,如图2所示. 其中,颜色越深表示对推荐结果的贡献越大. 如图2(a)所示,用户对即时兴趣与长期偏好的依赖分别接近50%,即该用户对两者的依赖程度接近;如图2(b)所示,用户对即时兴趣有83%的依赖程度,这意味着相比于稳定的长期偏好,该用户更容易受到即时兴趣的影响. 结果表明,每个用户对稳定的长期偏好和动态的即时兴趣有不同程度的依赖性,这表明在推荐系统中对即时兴趣与长期偏好分配不同权重的做法十分有效.

图 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)使用用户最近的提问数据来对即时兴趣进行建模,对于最近没有进行提问的用户也无法进行很好的推荐. 因此未来将在冷启动场景下进行用户长期偏好以及即时兴趣建模,使得模型的应用场景更为广泛.

参考文献

KARATZOGLOU A, BALTRUNAS L, SHI Y. Learning to rank for recommender systems [C] // Proceedings of the 7th ACM Conference on Recommender Systems. Hong Kong: ACM, 2013: 493-494.

[本文引用: 2]

KOREN Y, BELL R, VOLINSKY C

Matrix factorization techniques for recommender systems

[J]. Computer, 2009, (8): 30- 37

[本文引用: 2]

KOREN Y. Collaborative filtering with temporal dynamics [C] // Proceedings of the 15th ACM SIGKDD international Conference on Knowledge Discovery and Data Mining. Pairs: ACM, 2009: 447-456.

[本文引用: 1]

LIU Q, ZENG X Y, ZHU H S, et al. Mining indecisiveness in customer behaviors [C] // 2015 IEEE International Conference on Data Mining. Atlantic City: IEEE, 2015: 281-290.

[本文引用: 1]

ZHANG F Z, YUAN N J, Lian D F, et al. Collaborative knowledge base embedding for recommender systems [C] // Proceedings of the 22nd ACM SIGKDD international Conference on Knowledge Discovery and Data Mining. San Francisco: ACM, 2016: 353-362.

[本文引用: 1]

SHANG S, DING R G, ZHENG K, et al

Personalized trajectory matching in spatial networks

[J]. The VLDB Journal—The International Journal on Very Large Data Bases, 2014, 23 (3): 449- 468

DOI:10.1007/s00778-013-0331-0      [本文引用: 1]

YAP G E, LI X L, PHILIP S Y. Effective next-items recommendation via personalized sequential pattern mining [C] // International Conference on Database Systems for advanced applications. Berlin: Springer, 2012: 48-64.

[本文引用: 1]

GRBOVIC M, RADOSAVLJEVIC V, DJURIC N, et al. E-commerce in your inbox: product recommendations at scale [C] // Proceedings of the 21st ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. Sydney: ACM, 2015: 1809-1818.

[本文引用: 1]

DONG D S, ZHENG X L, ZHANG R X, et al. Recurrent collaborative filtering for unifying general and sequential recommender [C] // International Joint Conferences on Artificial Intelligence. Stockholm: IJCAI, 2018: 3350–3356.

[本文引用: 1]

NIU S Z, ZHANG R Z. Collaborative sequence prediction for sequential recommender [C] // Proceedings of the 2017 ACM on Conference on Information and Knowledge Management. Singapore: ACM, 2017: 2239-2242.

YU F, LIU Q, WU S, et al. A dynamic recurrent model for next basket recommendation [C] // Proceedings of the 39th International ACM SIGIR Conference on Research and Development in Information Retrieval. Pisa: ACM, 2016: 729-732.

[本文引用: 1]

ZHANG Y Y, DAI H J, XU C, et al. Sequential click prediction for sponsored search with recurrent neural networks [C] // Twenty-Eighth AAAI Conference on Artificial Intelligence. Québec: AAAI, 2014.

[本文引用: 1]

RICCI F, ROKACH L, SHAPIRA B, et al. Introduction to recommender systems handbook [M]. Boston: Springer, 2011: 1-35.

[本文引用: 1]

MNIH A, SALAKHUTDINOV R R. Probabilistic matrix factorization [C] // In Advances in Neural Information Processing Systems. Vancouver: NIPS, 2008, 1257–1264.

[本文引用: 1]

BELL R M, KOREN Y. Scalable collaborative filtering with jointly derived neighborhood interpolation weights [C] // Seventh IEEE International Conference on Data Mining. Omaha: IEEE, 2007: 43-52.

[本文引用: 2]

WANG J, TANG Q. A probabilistic view of neighborhood-based recommendation methods [C] // 2016 IEEE 16th International Conference on Data Mining Workshops. Barcelona: IEEE, 2016: 14-20.

[本文引用: 2]

ZHAO H K, LIU Q, GE Y, et al. Group preference aggregation: a nash equilibrium approach [C] // 2016 IEEE 16th International Conference on Data Mining. Barcelona: IEEE, 2016: 679-688.

[本文引用: 2]

TANG J X, WANG K. Personalized top-n sequential recommendation via convolutional sequence embedding [C] // Proceedings of the Eleventh ACM International Conference on Web Search and Data Mining. Los Angeles: ACM, 2018: 565-573.

[本文引用: 3]

HE X N, LIAO L Z, ZHANG H W, et al. Neural collaborative filtering [C] // Proceedings of the 26th International Conference on World Wide Web. Switzerland: ACM, 2017: 173-182.

[本文引用: 1]

RENDLE S, FREUDENTHALER C, SCHMDITHIEME L. Factorizing personalized Markov chains for next-basket recommendation [C] // In Proceedings of the 19th international conference on World Wide Web. Raleigh: ACM, 811–820.

[本文引用: 1]

WANG P F, GUO J F, LAN Y Y, et al. Learning hierarchical representation model for next basket recommendation [C] // Proceedings of the 38th International ACM SIGIR Conference on Research and Development in Information Retrieval. New York: ACM, 2015: 403-412.

[本文引用: 2]

HIDASI B, KARATZOGLOU A, BALTRUNAS L, et al. Session-based recommendations with recurrent neural networks[J]. arXiv preprint, arXiv: 1511.06939, 2015.

[本文引用: 2]

LI J, REN P J, CHEN Z M, et al. Neural attentive session-based recommendation [C] // Proceedings of the 2017 ACM on Conference on Information and Knowledge Management. Singapore: ACM, 2017: 1419-1428.

[本文引用: 1]

DONKERS T, LOEPP B, ZIEGLER J. Sequential user-based recurrent neural network recommendations [C] // Proceedings of the Eleventh ACM Conference on Recommender Systems. Como: ACM, 2017: 152-160.

[本文引用: 2]

SCHUSTER M, PALIWAL K K

Bidirectional recurrent neural networks

[J]. IEEE Transactions on Signal Processing, 1997, 45 (11): 2673- 2681

DOI:10.1109/78.650093      [本文引用: 1]

HOCHREITER S, SCHMIDHUBER J

Long short-term memory

[J]. Neural Computation, 1997, 9 (8): 1735- 1780

[本文引用: 1]

HE R N, MCAULEY J. Ups and downs: modeling the visual evolution of fashion trends with one-class collaborative filtering [C] // Proceedings of the 25th international Conference on World Wide Web. Montreal: ACM, 2016: 507-517.

[本文引用: 1]

/