«上一篇
文章快速检索     高级检索
下一篇»
  智能系统学报  2021, Vol. 16 Issue (2): 353-361  DOI: 10.11992/tis.202005028
0

引用本文  

鲍维克, 袁春. 面向推荐系统的分期序列自注意力网络[J]. 智能系统学报, 2021, 16(2): 353-361. DOI: 10.11992/tis.202005028.
BAO Weike, YUAN Chun. Recommendation system with long-term and short-term sequential self-attention network[J]. CAAI Transactions on Intelligent Systems, 2021, 16(2): 353-361. DOI: 10.11992/tis.202005028.

通信作者

袁春. E-mail:yuanc@sz.tsinghua.edu.cn

作者简介

鲍维克,硕士研究生,主要研究方向为推荐系统;
袁春,副研究员,博士,博士生导师,IEEE高级会员,清华大学−香港中文大学媒体科学、技术与系统联合研究中心常务副主任,主要研究方向为机器学习、计算机视觉。发表学术论文100余篇

文章历史

收稿日期:2020-05-21
网络出版日期:2020-11-05
面向推荐系统的分期序列自注意力网络
鲍维克 1, 袁春 2     
1. 清华大学 计算机科学与技术系,北京 100084;
2. 清华大学 深圳国际研究生院,广东 深圳 518000
摘要:在推荐系统中,为了充分表达用户反馈数据内部的相互依赖和序列性,准确提取用户的长期/一般偏好、应对数据的动态性,本文提出了一种分期序列自注意力网络(long-term & short-term sequential self-attention network,LSSSAN)进行序列推荐。模型采用自注意力机制和GRU捕捉了用户反馈数据之间的相互依赖和序列性;模型采用注意力机制为不同反馈数据赋予不同权重以动态捕捉重点信息,同时考虑了上下文的动态性;模型基于用户的长期反馈数据,准确表达了用户的长期/一般偏好。该模型在两个数据集上进行训练和测试,结果表明该模型的推荐效果整体优于之前的相关工作。
关键词推荐系统    序列推荐    注意力机制    动态赋权    自注意力机制    序列依赖关系    门控循环单元    序列性偏好    
Recommendation system with long-term and short-term sequential self-attention network
BAO Weike 1, YUAN Chun 2     
1. Department of Computer Science and Technology, Tsinghua University, Beijing 100084, China;
2. Shenzhen International Graduate School, Tsinghua University, Shenzhen 518000, China
Abstract: To fully express the internal interdependence, user interaction data sequentiality, and long-term or general preferences and deal with the dynamics of data, this paper proposes the long-term and short-term sequential self-attention network (LSSAN) for sequential recommendation in the recommendation system, and the LSSSAN model. This model uses self-attention and a GRU to capture the dependence and sequentiality among the user’s data. Moreover, the model uses Attention Net to combine user characteristics and the candidate item set for recommendation as context for capturing the dynamics of the recommendation task. The model accurately expresses the general preferences of users based on their long-term interaction data. We train and test the LSSSAN on two data sets, and its effect is generally better than that of the previous work.
Key words: recommendation system    sequence recommendation    attention model    dynamic weighting    self-attention model    sequence dependence    GRU    sequential preference    

随着互联网的普及,互联网应用的用户数量空前增长,阿里巴巴集团公布截至2019年12月31日的季度业绩显示[1],其中国零售市场移动月活跃用户达8.24亿,创12个季度以来新高。诸多互联网公司在庞大的用户数据之上采用智能推荐算法提高产品的可用性和用户体验。然而经典的推荐算法往往存在一些问题:1)对于用户反馈(user-item interactions)数据表现出的相互依赖和序列性分析不足;2)对反馈数据和上下文的动态性应对不足;3)模型往往固定表达了用户的长期/一般偏好,而非基于反馈数据对长期/一般偏好进行表达。

为此,本文提出了一种面向推荐系统的分期序列自注意力网络(long-term & short-term sequential self-attention network,LSSSAN)。“分期”表示将用户的反馈数据分为长期和短期,用户的长期反馈数据反映了用户的长期/一般偏好,用户的短期反馈数据反映了用户的短期偏好和序列性偏好;注意力(attention)机制,可以为不同的数据赋予不同的权重,帮助模型动态捕捉数据中重要的信息,自注意力(self-attention)机制在此基础上,可以有效地捕捉长序列数据之间的相互依赖。本模型中,自注意力机制从用户长期反馈数据提取用户的长期/一般偏好,GRU(gate recurrent unit)从用户短期反馈数据的提取用户的序列性偏好,最后由以上所得综合用户短期反馈数据表现出的短期偏好参与注意力机制,得到了用户的综合偏好。总体来讲,本文模型的亮点如下:

1)采用注意力机制为不同的反馈数据赋予不同的权重以动态捕捉重点信息,同时也考虑了不同用户和不同item候选集对推荐结果的动态影响;

2)自注意力机制捕捉了长期反馈数据之间的长期相互依赖,准确地表达了用户的长期/一般偏好,而非基于用户特征固定地表达长期/一般偏好;

3) GRU捕捉了短期反馈数据的序列性并参与注意力机制赋权,GRU层输入数据的顺序相关性的强弱会影响注意力机制赋予序列性表示的权重,进而准确表达了用户的序列性偏好;

4)在数据集上实验的评价指标整体优于主流的推荐算法。

1 研究背景 1.1 推荐系统的一般任务

通常来说,推荐系统的一般模型可以用以下形式表达,如图1所示。

Download:
图 1 推荐系统一般模型的结构 Fig. 1 Structure of general recommendation system model

图1中,item表示推荐系统中的项(item可以为商品、视频等),一个用户的反馈数据记录由多个item组成,Model表示推荐模型,推荐系统的任务是将合适的item推荐给用户。 $ u $ 表示用户 ${\rm{u}}$ 的特征表示; $ {{L}}_{u} $ 表示用户 ${\rm{u}}$ 的用户反馈数据序列,由多个item组成, $ {{v}}_{j}^{u}\in {{L}}_{u} $ 为用户 ${\rm{u}}$ 的用户反馈数据序列 $ {{L}}_{u} $ 中的一项; $ {{v}}_{3j}^{u}\in {{L}}_{u}^{\rm{cand}} $ 表示可能被推荐的候选item集合 $ {{L}}_{ u}^{\rm{cand}} $ 中的某一候选item;推荐系统基于以上内容,计算用户 ${\rm{u}}$ 的综合偏好表示 $ {{{u}}}^{\rm{comp}} $ ,并通过 $ {{{u}}}^{\rm{comp}} $ 计算用户 ${\rm{u}}$ 对候选item $ {{v}}_{3j}^{u} $ 的偏好得分,得分越高说明用户 ${\rm{u}}$ 越倾向于选择候选item $ {{v}}_{3j}^{u} $

通过以上过程,计算用户 ${\rm{u}}$ 对候选item集 $ {{L}}_{ u}^{\rm{cand}} $ 中各item的偏好得分,最终得到推荐给用户 ${\rm{u}}$ 的item集合。

1.2 相关工作

传统的推荐系统如基于内容推荐和协同过滤推荐,均是以静态方式对用户反馈数据进行建模,对用户反馈数据的信息提取不够充分。而序列推荐模型将用户反馈数据视为序列,考虑了用户反馈数据的序列性和相互依赖,进而准确估计了用户的偏好[2-4]

在序列推荐模型中,用户反馈数据序列由较长的用户反馈数据组成,使得用户反馈数据序列具有更复杂的依赖特性。对于用户反馈数据序列的处理,其中两个主要的难点[2]是:

1)学习高阶顺序依赖

高阶顺序依赖在用户反馈数据序列中普遍存在,低阶依赖的可以用马尔科夫模型[5]或因子分解机[6-7]解决,高阶顺序依赖由于反馈数据的多级级联,模型往往难以表达。针对此问题,目前主要的两种方案:高阶马尔科夫链模型[8]和RNN(recurrent neural network)模型[9]。但是,高阶马尔可夫链模型因参数数量随阶数呈指数增长,其分析的历史状态有限;而单一的RNN模型难以处理具有非严格顺序相关性的用户反馈数据序列。

2) 学习长期顺序依赖

长期顺序依赖指序列中彼此远离的用户反馈数据之间的依赖性。文献[9-10]分别使用LSTM(long short-term memory)和GRU(gate recurrent unit)来解决这个问题。但是,单一的RNN模型依赖于序列中相邻项的强相关性,对于弱相互依赖性和非严格顺序相关性的数据处理表现不佳。文献[11]通过利用混合模型的优势,将具有不同时间范围的多个子模型组合在一起,以捕获短期和长期依赖关系。而注意力机制考虑了用户反馈数据之间的联系却不依赖于数据的相邻关系,阿里Deep Interest Network[12]、Next Item Recommendation with Self-Attention[13]、Sequential Recommender System Based on Hierarchical Attention Networks [14]等,通过注意力机制,模型能够计算出用户反馈数据的相对权重以动态捕捉重点信息,进而准确估计了用户的偏好表示。

2 分期序列自注意力网络

本文提出了一种分期序列自注意力网络(long-term & short-term sequential self-attention network, LSSSAN)进行序列推荐。

2.1 问题表述

在基于LSSSAN的推荐系统中: $ u $ 表示用户 ${\rm{u}}$ 的特征表示; $ {{L}}_{u} $ 表示用户 ${\rm{u}}$ 的用户反馈数据序列,如用户点击、购买的item序列; $ {{v}}_{j}^{u}\in {{L}}_{u} $ 表示用户 ${\rm{u}}$ 的用户反馈数据序列 $ {{L}}_{u} $ 中的一项item; $ {{L}}_{u}^{\rm{cand}} $ 表示可能被推荐的候选item集合; $ {{v}}_{3j}^{u}\in {{L}}_{u}^{\rm{cand}} $ 表示候选item集合 $ {{L}}_{u}^{\rm{cand}} $ 中的一项。

文献[6, 9]表明短期反馈数据对推荐结果有着重要影响,结合长期和短期反馈数据能够准确反映用户的综合偏好;文献[14]的工作利用用户长期反馈数据充分表达了用户的长期/一般偏好,并结合短期反馈数据表达的短期偏好准确估计了用户的综合偏好。基于此,本文将用户反馈数据 $ {L}_{u} $ 划分为用户长期反馈数据 $ {{L}}_{u}^{\rm{long}} $ 和用户短期反馈数据 $ {{L}}_{u}^{\rm{short}} $ (在本文的实验环节,将一天内的反馈数据为短期反馈数据)。长期用户反馈数据 $ {{L}}_{u}^{\rm{long}} $ 反映了用户的长期/一般偏好,短期用户反馈数据 $ {{L}}_{u}^{\rm{short}} $ 反映了用户近期的短期偏好和序列性偏好。举例来说,用户A是个运动爱好者,平时喜欢购买一些运动设备,有一天,用户A由于手机损坏,购买了手机和手机保护膜。此时如果基于用户A的长期/一般偏好,推荐系统会更偏向于给用户A推荐运动相关的item,而如果基于用户A的短期偏好,推荐系统则会偏向于给用户A推荐手机相关的item,考虑到用户A短期购买日志(先后购买手机和手机保护膜)的序列性,推荐系统则可能会向用户A推荐手机保护壳。

LSSSAN基于以上内容,估计用户的综合偏好,并利用用户 $ u $ 的综合偏好计算用户 ${\rm{u}}$ 对候选项item $ {{v}}_{3j}^{\rm{cand}} $ 的偏好得分,得分越高说明用户 ${\rm{u}}$ 越倾向于选择候选项item $ {{v}}_{3j}^{\rm{cand}} $

2.2 模型结构

在序列推荐的场景中,用户偏好往往有以下的特点:1)用户反馈数据往往是长序列,用户反馈数据存在着复杂的相互依赖关系;2)短期用户反馈数据和其表达的序列性,影响推荐结果的重要因素;3)相同的item,在不同的候选item集合或不同的用户下,对于推荐结果有不同的影响;4)在考虑不同的item对于结果的影响时,应对不同的item赋予不同的权重以动态捕捉重点信息。

基于此,本文设计了LSSSAN模型,网络结构如图2所示。

Download:
图 2 分期序列自注意力网络的结构 Fig. 2 Structure of LSSSAN

Embedding层:对用户、可能被推荐的候选item集合、用户反馈数据的特征的稀疏表示进行embed,转化为稠密的embedding表示。

自注意力层:在推荐系统中,应用注意力机制,可以为不同的用户反馈数据赋予不同的权重,以动态捕捉重点信息,反映了不同的用户反馈数据对推荐结果影响的差异性。自注意力机制是一种特殊的注意力机制,由于在机器翻译领域的成功表现,自注意力机制逐渐走入研究者们的视野[15]。自注意力机制在动态赋权的同时,捕捉了用户反馈数据之间的相互依赖,并且自注意力机制在长序列的数据上表现出色。文献[13]的工作将自注意力机制应用于从用户短期反馈数据上提取用户的短期偏好,但这项工作忽视了用户长期反馈数据在序列推荐中的作用,同时自注意力机制对短期反馈数据的序列性分析不足。基于此,本文考虑将自注意力机制应用于用户长期反馈数据,结合用户和候选item集作为上下文,得到用户长期/一般偏好的表示。

本模型的自注意力层以候选item集合 $ {{L}}_{u}^{\rm{cand}} $ 的embedding平均表示 ${{l}}\in {\bf{R}}^{1\times d}$ (其中 $\bf{R}$ 表示实数集)、用户 $ u $ 的embedding表示 ${{u}}\in {\bf{R}}^{1\times d}$ 、用户长期反馈序列 ${{L}}_{u}^{\rm{long}}\in {\bf{R}}^{\left|{{L}}_{u}^{\rm{long}}\right|\times d}$ 为输入(其中 $ \left|{{L}}_{u}^{\rm{long}}\right| $ 表示用户长期反馈序列的item序列长度, $ d $ 表示embedding维度,也是全局的维度参数),输出用户长期/一般偏好的表示 $ {{{u}}}^{\rm{long}} $ 。自注意力层模型的结构如图3所示。

Download:
图 3 自注意力层的结构 Fig. 3 Structure of self-attention net

图3 $ {{X}}_{u}^{\rm{long}}=[{{l}},{{u}},{{L}}_{u}^{\rm{long}}] $ 表示 $ {{l}} $ $ {{u}} $ $ {{L}}_{u}^{\rm{long}} $ 的联合向量。 $ {{X}}_{u}^{\rm{long}}\in {{R}}^{N\times d} $ ,其中 $ N=\left|{{L}}_{u}^{\rm{long}}\right|+2 $ $ {{X}}_{u}^{\rm{long}} $ 的长度。 $ {{l}} $ $ {{u}} $ 作为上下文和 $ {{L}}_{u}^{\rm{long}} $ 联合,动态地表示了长期信息,即相同的用户反馈数据,在不同的候选item集或用户的情况下,会对推荐结果产生不同影响。图3中Query、Key、Value表示注意力机制中的查询、索引、需被注意力机制加权的数据。在本文的自注意力模型中, $ {{Q}}={{K}}={{V}}={{X}}_{u}^{\rm{long}} $ 即Query、Key、Value均表示 $ {{X}}_{u}^{\rm{long}} $ 。自注意力层模型的公式化表达如下:

$ {{Q}}'={\rm{ReLU}}\left({{X}}_{u}^{\rm{long}}{{W}}_{Q}\right) $ (1)
$ {{{K}}}'={\rm{ReLU}}\left({{X}}_{u}^{\rm{long}}{{W}}_{K}\right) $ (2)

式(1)和(2)中的, $ {{W}}_{Q}\in {\bf{R}}^{d\times d}={{W}}_{K}\in {\bf{R}}^{d\times d} $ 分别为Query和Key非线性表示层的权重参数, $ {\rm{ReLU}}( \cdot ) $ 在本模型中表示Leaky_ReLU激励函数, ${{{Q}}}'$ ${{K}}'$ 分别表示Query和Key的非线性表示。Leaky_ReLU是ReLU的变体,解决了ReLU函数进入负区间后,导致神经元不学习的问题。

$ {{R}}_{u}^{\rm{long}}={\rm{softmax}}\left(\frac{{{{Q}}}'{{{K}}}'{{\rm{T}}}}{\sqrt{d}}\right) $ (3)

式中: ${{R}}_{u}^{\rm{long}}\in {\bf{R}}^{N\times N}$ $ {{{Q}}}' $ $ {{{K}}}' $ 的关联矩阵表示,并作为自注意力层的注意力矩阵。 $ \sqrt{d} $ 用以缩放点积,使得softmax函数的梯度不容易因为 $ d $ 过大而趋近于零。

$ {{X}}_{u}'^{{\rm{long}}}={ {R}}_{u}^{\rm{long}}{{X}}_{u}^{\rm{long}} $ (4)

式中 $ { {R}}_{u}^{\rm{long}} $ 作为注意力矩阵和联合向量 $ {{X}}_{u}^{\rm{long}} $ 相乘得到了加权输出 ${{X}}_{u}'^{{\rm{long}}}\in {\bf{R}}^{N\times d}$

$ {{{u}}}^{\rm{long}}=\frac{1}{N}\sum\limits_{j=1}^{N}{{X}}_{uj}'{{\rm{long}}} $ (5)

式中,对 ${{X}}_{u}'^{{\rm{long}}}$ 聚合(如sum、max,这里采用均值),得到了用户长期/一般偏好的表示 ${{{u}}}^{\rm{long}}\in {\bf{R}}^{1\times d}$

GRU(gate recurrent unit)层:与利用自注意力层提取用户长期反馈数据之间的相互依赖不同,用户短期反馈数据的重点是提取用户短期反馈数据中的序列性偏好。GRU是RNN的一种,解决了长期记忆和反向传播中的梯度等问题,且易于计算[16]。模型将用户短期反馈数据 $ {{L}}_{u}^{\rm{short}} $ 输入GRU,计算得到短期反馈数据表现出用户的序列性偏好表示 $ {{{u}}}^{\rm{seq}} $ 。模型GRU层的公式化表示如下:

$ {{z}}_{j}=\sigma \left({{W}}_{z}\left[{{h}}_{j-1},{{v}}_{2j}\right]\right) $ (6)
$ {{r}}_{j}=\sigma \left({{W}}_{r}\left[{{h}}_{j-1},{{v}}_{2j}\right]\right) $ (7)
$ {\tilde {{h}}}_{j}={\tanh}\left({{W}}_{\tilde {h}}\left[{{{r}}_{j}{*}{h}}_{j-1},{{v}}_{2j}\right]\right) $ (8)
$ {{h}}_{j}=\left(1-{{z}}_{j}\right)*{{h}}_{j-1}+{{z}}_{j}*{\tilde {{h}}}_{j} $ (9)
$ {{y}}_{j}=\sigma \left({{W}}_{o}{{h}}_{j}\right) $ (10)
$ {{{u}}}^{\rm{seq}}={{y}}_{\left|{{L}}_{u}^{\rm{short}}\right|} $ (11)

式中: $ {{v}}_{2j}\in {{L}}_{u}^{\rm{short}} $ 为用户短期反馈数据序列中的第j项; $ {{h}}_{j} $ 表示GRU网络中第j个单元的hidden state; $ \sigma ( \cdot ) $ $ {\rm{tanh}}( \cdot ) $ 分别表示Sigmoid激活函数和tanh激活函数。式(6)中, $ {{z}}_{j} $ 为update gate项且 $ {{W}}_{z} $ 为update gate权重;式(7)中, $ {{r}}_{j} $ 为reset gate项且 $ {{W}}_{r} $ 为reset gate权重;式(8)中, $ {\tilde {{h}}}_{j} $ 为hidden state的重置项且 $ {{W}}_{\tilde {h}} $ 为其权重;式(10)中, $ {{y}}_{j} $ 表示GRU网络中第j个单元的输出, $ {{W}}_{o} $ 为输出权重;式(11)中, $ \left|{{L}}_{u}^{\rm{short}}\right| $ 表示用户短期反馈数据序列 $ {{L}}_{u}^{\rm{short}} $ 的长度, $ {{y}}_{\left|{{L}}_{u}^{\rm{short}}\right|} $ 表示最后的GRU的输出,即模型的GRU层的输出仅存在于最后的GRU,且为用户的序列性偏好表示 ${{{u}}}^{\rm{seq}}\in {\bf{R}}^{1\times d}$

注意力层:前面由自注意力层、GRU层得到了长期/一般偏好 $ {{{u}}}^{\rm{long}} $ 和序列性偏好 $ {{{u}}}^{\rm{seq}} $ 。需要注意的是,反馈数据中往往存在非严格顺序相关性,会对GRU层的结果 ${{{u}}}^{\rm{seq}}$ 产生影响。因此, $ {{{u}}}^{\rm{seq}} $ 需要联合 $ {{{u}}}^{\rm{long}} $ $ {{L}}_{u}^{\rm{short}} $ 参与注意力机制进行动态赋权,由于GRU层输入的短期反馈数据的顺序相关性强弱会影响注意力机制赋予 $ {{{u}}}^{\rm{seq}} $ 的权重,进而准确表达了序列性偏好。同时由于联合了 $ {{L}}_{u}^{\rm{short}} $ ,从结构上赋予了相对重要的短期反馈数据更高的权重。用户的长期/一般偏好表示 $ {{{u}}}^{\rm{long}} $ 、用户的序列性偏好表示 $ {{{u}}}^{\rm{seq}} $ 、用户短期反馈数据序列 $ {{L}}_{u}^{\rm{short}} $ 这三项联合为 $ {{X}}_{u}^{\rm{comp}}=[{{{u}}}^{\rm{long}}{,{L}}_{u}^{\rm{short}},{{{u}}}^{\rm{seq}}] $ ${{X}}_{u}^{\rm{comp}}\in {\bf{R}}^{M\times d}$ 其中 $ M=\left|{{L}}_{u}^{\rm{short}}\right|+2 $ $ {{X}}_{u}^{\rm{comp}} $ 的长度。 $ {{X}}_{u}^{\rm{comp}} $ 输入注意力层最终得到了用户 ${\rm{u}}$ 的综合偏好的表示 ${{{u}}}^{\rm{comp}}$ 。注意力层模型的公式化表示如下:

$ {{h}}_{u}^{\rm{comp}}={\rm{ReLU}}{(}{{X}}_{u}^{\rm{comp}}{{W}}_{A}+{{b}}_{A}) $ (12)

式中: ${{W}}_{A}\in {\bf{R}}^{d\times d}$ ${{b}}_{A}\in {\bf{R}}^{1\times d}$ 为注意力层的权重参数,这里 $ "+" $ 表示 $ {{X}}_{u}^{\rm{comp}}{{W}}_{A} $ 的每一行都和 $ {{b}}_{A} $ 相加,由式(11)得到了 ${{h}}_{u}^{\rm{comp}}\in {\bf{R}}^{M\times d}$ $ {{h}}_{u}^{\rm{comp}} $ $ {{X}}_{u}^{\rm{comp}} $ 的非线性表示:

$ {{\alpha }}_{u}^{\rm{comp}}={\rm{softmax}}\left({\left({{{u}}}^{\rm{long}}\right)}^{\rm{T}}{{h}}_{u}^{\rm{comp}}\right) $ (13)

式中: $ {{{u}}}^{\rm{long}} $ 作为注意力层的上下文向量(context vector),使用softmax函数联合 $ {{h}}_{u}^{\rm{comp}} $ 计算得到了 $ {{X}}_{u}^{\rm{comp}} $ 的注意力权重向量 $ {{\alpha }}_{u}^{\rm{comp}}\in {{R}}^{M\times 1} $

$ {{{u}}}^{\rm{comp}}={{({\alpha }}_{u}^{\rm{comp}})}^{{\rm{T}}}{{X}}_{u}^{\rm{comp}} $ (14)

由式(14)得到的注意力权重向量 $ {{\alpha }}_{u}^{\rm{comp}} $ $ {{X}}_{u}^{\rm{comp}} $ 加权求和,最终得到了用户 ${\rm{u}}$ 的综合偏好的表示 ${{{u}}}^{\rm{comp}}\in {\bf{R}}^{1\times d}$

2.3 模型的参数学习

由模型的前向传递得到了用户综合偏好的表示 $ {{{u}}}^{\rm{comp}} $ ,现在用内积方法如式(15)所示,表示 $ {{{u}}}^{\rm{comp}} $ 和候选item $ {{v}}_{3j}\in {{L}}_{u}^{\rm{cand}} $ 的相似度,以表示用户 ${\rm{u}}$ 对候选item $ {{v}}_{3j} $ 的偏好得分 $ {s}_{u}^{j} $

$ {s}_{u}^{j}={{{{u}}}^{\rm{comp}} \cdot {v}}_{3j} $ (15)

在隐反馈的推荐系统场景中,用户往往没有对item的具体评分,而只是交互记录。这种情况下,推荐系统只有正样本而缺乏负样本,模型的训练效果会因此受到影响[17]

可以简单地将与用户没有交互记录的item作为用户的负样本,从而构造负样本集。而模型只需要和正样本集差不多大的负样本集,这种做法会造成负样本集庞大,且负样本集的质量低下。

BPR方法[18]是一种基于矩阵分解的方法,一对用户交互与未交互的两个item项构成偏序关系对,一个用户下item之间的偏序关系形成偏序矩阵,遍历用户集建立预测排序矩阵,BPR方法对预测排序矩阵分解生成用户矩阵和item矩阵,用户矩阵和item矩阵相乘可以得到用户对每个item偏好程度。利用BPR方法生成低偏好程度的负样本集,大小与正样本集等同,参与训练。

模型的Loss函数定义如下:

$\begin{array}{l} {\rm{arg}}\;\mathop {{\rm{min}}}\limits_{\rm{\Theta }} \displaystyle\sum \limits_{\left\{ {u,j,{\rm{k}}} \right\} \in D} - {\rm{ln}}\sigma \left( {s_u^j - s_u'{k}} \right) +\\ {{\rm{\lambda }}_e}{\left\| {{{\bf{\Theta }}_e}} \right\|^2} + {{\rm{\lambda }}_A}{\left\| {{{\bf{\Theta }}_A}} \right\|^2} + {{\rm{\lambda }}_{{\rm{seq}}}}{\left\| {{{\bf{\Theta }}_{{\rm{seq}}}}} \right\|^2} \end{array}$ (16)

式中: $ D $ 表示用户、正样本、负样本构造的训练集; ${\rm{s}}_{{u}}^j$ 表示用户 ${\rm{u}}$ 对正样本候选item j的偏好得分; $ {s}_{u}'{k} $ 表示用户 ${\rm{u}}$ 对负样本候选item k的偏好得分; $ \sigma ( \cdot ) $ 表示sigmoid函数。第一个加号后的3项为正则项, $ {\bf{\Theta }}_{e} $ 表示embedding层的权重参数; $ {\bf{\Theta }}_{A} $ 表示自注意力层和注意力层的权重参数; ${\bf{\Theta }}_{{\rm{seq}}}$ 表示GRU层的权重参数, $ {\rm{\lambda }}_{e} $ $ {\rm{\lambda }}_{A} $ ${\rm{\lambda }}_{{\rm{seq}}}$ 为对应的正则项系数。

3 实验分析 3.1 实验概述

数据集:本文选择Tmall数据集[19]和Gowalla数据集[20]为模型进行训练和测试,其中Tmall数据集是在中国最大电商平台Tmall.com场景下的用户行为日志数据集,Gowalla数据集是在社交签到类应用Gowalla场景下的用户行为日志数据集。

在实验过程中,仅考虑7个月内在两个数据集上生成的数据,并将1天内的用户反馈数据视为表示短期反馈数据序列。

评价指标:选择召回率(Recall)和AUC作为评价指标。召回率表示为用户推荐偏好程度排序前N项的样本为预测的正样本,计算被正确预测的正样本在原始正样本集中比例;而AUC衡量了模型对样本正确排名的能力。

方法对比:与其他先进模型在Tmall数据集和Gowalla数据集上的表现为对比[6, 8, 13-14, 18, 21](以其他文献在Tmall数据集和Gowalla数据集上给出的实验数据,或在Tmall数据集和Gowalla数据集复现的结果为准),以验证模型的有效性:1) BPR是一种基于矩阵分解的方法,BPR方法对user-item偏序关系矩阵分解得到user矩阵和item矩阵,user矩阵×item矩阵得到用户对每个item偏好程度,依据偏好程度排序得到推荐列表;2) FOSSIL利用马尔科夫链估计用户的短期和长期偏好;3) HRM对用户偏好进行层次表示,捕获用户的长期/一般偏好和短期偏好;4) FPMC通过矩阵分解、马尔科夫链提取序列信息,以估计用户偏好,最后以线性方式计算得到推荐列表;5) AttRec利用自注意力机制在分析用户短期反馈数据之间的相互依赖的同时,动态提取了用户的短期偏好;6) SHAN利用注意力机制对长期和短期反馈数据建模,准确表达了用户的长期/一般偏好;7) LSSSAN是本文的模型,利用自注意力机制和上下文估计长期/一般偏好,利用GRU分析短期反馈数据表现出的序列性偏好,并综合长期/一般偏好和短期反馈数据序列参与注意力机制加权得到用户的综合偏好;8) LSSSAN1和LSSSAN2为本模型消融实验的对照,LSSSAN1表示LSSSAN模型消去自注意力层后的模型(同时将长期反馈数据接入注意力层,自注意力层的上下文向量接入注意力层),LSSSAN2表示消去GRU层的模型。

3.2 方法对比

图4图5展示了以召回率(N为10~60)和AUC为评价指标,各方法在Tmall数据集和Gowalla数据集上的表现。

Download:
图 4 各方法在Tmall和Gowalla数据集上表现的对比 Fig. 4 Performance comparsion of methods on Tmall and Gowalla datasets
Download:
图 5 各方法在Tmall和Gowalla数据集上表现的对比 Fig. 5 Performancecomparsion of methods on Tmall and Gowalla datasets

1) LSSSAN在整体上优于基于自注意力的AttRec模型,LSSSAN在Tmall数据集上召回率(N为20)和AUC分别为0.126、0.797,在Gowalla上两个指标分别为0.461、0.982。相比AttRec模型,LSSSAN在两个数据集上指标召回率(N为20)分别提升了6.07%和20.49%,在两个数据集上AUC指标分别提升了10.45%和0.81%。表明相比AttRec模型固定表达用户的长期/一般偏好、忽视序列性偏好,LSSSAN的Self-Attenion层从长期反馈数据中提取了用户的长期/一般偏好、GRU层从短期反馈数据中提取了用户的序列性偏好、并从结构上赋予了短期反馈更高的权重,对推荐结果更有利。

2) LSSSAN在Gowalla数据集上的表现整体优于SHAN模型,在Tmall数据集上的表现与SHAN模型相比各有优劣。LSSSAN在Gowalla数据集上指标召回率(N为20)和AUC分别提升了1.51%和0.37%,在Tmall数据集上指标AUC分别提升了1.48%,而在Tmall数据集上指标召回率(N为20)落后于SHAN模型14.6%。其原因是Gowalla数据集用户反馈数据之间的相互依赖和顺序相关性比Tmall数据集严格,本文模型相比SHAN模型利用自注意力机制和GRU着重捕捉了用户反馈数据之间的相互依赖和序列性,因此在Gowalla上LSSSAN的表现整体优于SHAN模型,而在Tmall数据集上的表现的稳定性不如SHAN模型。同时文献[22]也表明,对于相互依赖和序列性强的签到类型数据集,结合GRU的模型有较好的效果。综上所述,相比SHAN对长期数据的相互依赖分析不足、忽视序列性偏好,LSSSAN的Self-Attenion层分析了长期数据的相互依赖、GRU层提取了序列性偏好,在推荐结果上具有更好的表现。

3.3 消融实验

图6表1展示了消融实验在Tmall和Gowalla数据集上的对照数据。

Download:
图 6 LSSSAN在Tmall和Gowalla数据集上的消融实验对照 Fig. 6 Ablation study of LSSSAN on Tmall and Gowalla Datasets
表 1 消融实验对照表 Tab.1 Results table of ablation study

LSSSAN1为LSSSAN消去自注意力层后的模型,在两个数据集上表现不佳。相比LSSSAN、LSSSAN1在两个数据集上指标召回率(N为20)分别降低了26.98%和38.83%,其原因主要是消去自注意力层后模型缺乏对长期/一般偏好的表达,也降低了相对重要的短期反馈数据在模型中的权重。

LSSSAN2为LSSSAN消去GRU层后的模型,LSSSAN2在Gowalla上的两个指标相比LSSSAN分别降低了0.87%、0.31%,LSSSAN2在Tmall上的AUC相比LSSSAN降低了0.89%,虽然LSSSAN2在Tmall数据集上指标召回率(N为20)相比LSSSAN提升了3.17%,但由图6可以观察到LSSSAN2在Tmall数据集上的整体表现稍劣于LSSSAN。以LSSSAN为基准,消去GRU层的LSSSAN2在Tmall数据集上的表现优于其在Gowalla的表现,其原因是Tmall数据集的顺序相关性和相互依赖性不如Gowalla数据集严格。而LSSSAN与LSSSAN2相比,N参数较大时指标召回率较稳定,此时对推荐结果而言,GRU层提取序列性偏好的优势会大于GRU层受非严格顺序相关性和弱相互依赖性的影响而不稳定的劣势。当数据集表现出明显的非严格顺序相关性和弱相互依赖性时,可以考虑以消去GRU层后的LSSSAN作为推荐模型的候选。

至此,消融实验验证了模型的GRU层和自注意力层发挥的重要作用。

3.4 超参数分析

全局维度参数 $ d $ 反映了模型embedding和表示层的维度,图7反映了在Tmall和Gowalla数据集上维度参数 $ d $ 对模型效果的影响。可以观察到,高维度的表示可以更精确地表达用户和item,并有助于和模型之间的信息交互。在实验中,本模型权衡计算成本和模型精度,设置维度参数 $ d=80 $

Download:
图 7 维度参数对模型的影响 Fig. 7 Impact of dimension parameter
4 结束语

LSSSAN相比AttRec方法,利用长期反馈数据对长期/一般偏好进行准确表达,并从结构上赋予了相对重要的短期反馈数据更高的权重;相比SHAN方法,LSSSAN考虑了序列性偏好和长期数据中的相互依赖关系。

本文在Tmall和Gowalla上对LSSSAN进行训练和测试,其效果整体优于其他先进的方案。且由于Gowalla数据集的反馈数据相互依赖性和顺序相关性严格于Tmall数据集,模型在Gowalla上表现优于在Tmall上的表现,表明模型擅长于处理相对严格的相互依赖关系和顺序相关性的数据,也表明模型可能会因为数据集数据的弱相互依赖性和弱顺序相关性而出现不稳定的情况。同时本文通过消融实验验证了模型结构的合理性,并给出了当数据出现明显的弱相互依赖性和弱顺序相关性时的候选方案。

LSSSAN在实际应用上可为众多互联网应用提供推荐模型,尤其在数据具有强相互依赖性和顺序相关性的互联网应用上将会保证可靠的性能;未来的工作会考虑在LSSSAN的基础上尝试采用内存机制以提高性能,并在更多的数据集上测试模型性能。

参考文献
[1] 孙宏超. 阿里巴巴发布2020财年第三季度财报: 收入增长38%, 年活跃用户达7亿[EB/OL]. [2020-02-13]. kuaibao.qq.com/s/20200213A0PEAW00 (0)
[2] WANG Shoujin, HU Liang, WANG Yan, et al. Sequential recommender systems: challenges, progress and prospects[C]//Proceedings of the 28th International Joint Conference on Artificial Intelligence. Macao, China, 2019: 6332−6338. (0)
[3] XU Chen, XU Hongteng, ZHANG Yongfeng, et al. Sequential recommendation with user memory networks[C]//Proceedings of the 11th ACM International Conference on Web Search and Data Mining. Marina Del Rey, USA, 2018: 108−116. (0)
[4] KOREN Y. Collaborative filtering with temporal dynamics[C]//Proceedings of the 15th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. Paris, France, 2009: 447−456. (0)
[5] GARCIN F, DIMITRAKAKIS C, FALTINGS B. Personalized news recommendation with context trees[C]//Proceedings of the 7th ACM Conference on Recommender Systems. Hong Kong, China, 2013: 105−112. (0)
[6] RENDLE S, FREUDENTHALER C, SCHMIDT-THIEME L. Factorizing personalized Markov chains for next-basket recommendation[C]//Proceedings of the 19th International Conference on World Wide Web. Raleigh, USA, 2010: 811−820. (0)
[7] HIDASI B, TIKK D. General factorization framework for context-aware recommendations[J]. Data mining and knowledge discovery, 2016, 30(2): 342-371. DOI:10.1007/s10618-015-0417-y (0)
[8] HE RUINING, MCAULEY J. Fusing similarity models with Markov chains for sparse sequential recommendation[C]//Proceedings of the 2016 IEEE 16th International Conference on Data Mining. Barcelona, Spain, 2016: 191−200. (0)
[9] HIDASI B, KARATZOGLOU A, BALTRUNAS L, et al. Session-based recommendations with recurrent neural networks[C]//Proceedings of the 4th International Conference on Learning Representations. San Juan, Puerto Rico, 2016: 1−10. (0)
[10] WU Chaoyuan, AHMED A, BEUTEL A, et al. Recurrent recommender networks[C]//Proceedings of the 10th ACM International Conference on Web Search and Data Mining. Cambridge, UK, 2017: 495−503. (0)
[11] TANG Jiaxi, BELLETTI F, JAIN S, et al. Towards neural mixture recommender for long range dependent user sequences[C]//Proceedings of World Wide Web Conference. San Francisco, USA, 2019: 1782−1793. (0)
[12] ZHOU Guorui, ZHU Xiaoqiang, SONG Chenru, et al. Deep interest network for click-through rate prediction[C]//Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. London, UK, 2018: 1059−1068. (0)
[13] ZHANG Shuai, TAY Y, YAO Lina, et al. 2019. Next item recommendation with self-attentive metric learning[C]//Proceedings of the 33rd AAAI Conference on Artificial Intelligence. Hawaii, USA, 2019: 9. (0)
[14] YING Haochao, ZHUANG Fuzhen, ZHANG Fuzheng, et al. Sequential recommender system based on hierarchical attention networks[C]//Proceedings of the 27th International Joint Conference on Artificial Intelligence. Stockholm, Sweden, 2018: 3926−3932. (0)
[15] VASWANI A, SHAZEER N, PARMAR N, et al. Attention is all you need[C]//Proceedings of the 31st Conference on Neural Information Processing Systems. Long Beach, USA, 2017: 5998−6008. (0)
[16] CHO K, VAN MERRIËNBOER B, GULCEHRE C, et al. Learning phrase representations using RNN encoder-decoder for statistical machine translation[C]//Proceedings of 2014 Conference on Empirical Methods in Natural Language Processing. Doha, Qatar, 2014: 1724−1734. (0)
[17] PAN Rong, ZHOU Yunhong, CAO Bin, et al. One-class collaborative filtering[C]//Proceedings of the 2008 8th IEEE International Conference on Data Mining. Pisa, Italy, 2008: 502−511. (0)
[18] RENDLE S, FREUDENTHALER C, GANTNER Z, et al. BPR: Bayesian personalized ranking from implicit feedback[C]//Proceedings of the 25th Conference on Uncertainty in Artificial Intelligence. Montreal, Canada, 2009: 452−461. (0)
[19] HU Liang, CAO Longbing, WANG Shoujin, et al. Diversifying personalized recommendation with user-session context[C]//Proceedings of the 26th International Joint Conference on Artificial Intelligence. Melbourne, Australia, 2017: 1858−1864. (0)
[20] CHO E, A MYERS S A, LESKOVEC J. Friendship and mobility: user movement in location-based social networks[C]//Proceedings of the 17th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. San Diego, USA, 2011: 1082−1090. (0)
[21] WANG Pengfei, GUO Jiafeng, LAN Yanyan, et al. Learning hierarchical representation model for NextBasket recommendation[C]//Proceedings of the 38th International ACM SIGIR conference on Research and Development in Information Retrieval. Santiago, Chile, 2015: 403−412. (0)
[22] 李全, 许新华, 刘兴红, 等. 融合时空感知GRU和注意力的下一个地点推荐[J]. 计算机应用, 2020, 40(3): 677-682.
LI Quan, XU Xinhua, LIU Xinghong, et al. Next location recommendation based on spatiotemporal-aware GRU and attention[J]. Journal of computer applications, 2020, 40(3): 677-682. (0)