返回介绍

数学基础

统计学习

深度学习

工具

Scala

十四、SHAN [2018]

发布于 2023-07-17 23:38:23 字数 86929 浏览 0 评论 0 收藏 0

  1. 不同于传统的推荐系统,在序列推荐场景存在新的挑战:

    • 首先,用户行为仅反映了他们的隐式反馈(如,是否购买),而不是显式反馈(如,评分)。这种类型的数据会带来更多的噪音,因为我们无法区分用户是不喜欢 unobserved item、还是仅仅因为没有意识到它们。因此,通过传统的潜在因子模型latent factor model 直接优化这样的 one-class 分数(如 10)是不合适的。
    • 其次,越来越多的数据来源于 session 或交易 transaction,形成了用户的序列模式sequential pattern和短期偏好。例如,用户离开机场后更喜欢在酒店休息而不是运动,用户在购买相机后更可能购买相机相关的配件而不是衣服。然而,以前的方法主要关注用户的通用品味general taste,而很少考虑序列信息,这导致重复的推荐repeated recommendation

    在文献中,研究人员通常分别使用独立的模型来分别刻画用户的长期偏好(即,通用品味)和短期偏好(即序列模式),然后将它们集成在一起。例如,FPMC 分解观察到的 user-item 矩阵从而学习用户的长期偏好,并利用 item-item 转移信息来建模序列信息sequential information,然后将二者线性相加从而获得最终分数。

    然而,这些模型忽略了用户通用品味的动态变化,即,用户的长期偏好会随着时间的推移而不断演变。为每个用户学习一个静态的、低维的向量来建模该用户的通用品味是不够的。此外,这些模型主要通过线性模型来为 user-item 交互、 item-item 交互分配固定权重,这限制了模型的表达能力。已有研究表明,非线性模型可以更好地建模用户活动中的 user-item 交互。

    为此,论文 《Sequential Recommender System based on Hierarchical Attention Network》提出了一种新颖的方法,即 Sequential Hierarchical Attention Network: SHAN ,从而解决 next item 推荐问题。注意力机制可以自动为用户分配 item 的不同影响(即,权重)从而捕获动态特性 dynamic property,而层次结构 hierarchical structure 结合了用户的长期偏好和短期偏好。具体而言:

    • 首先将用户和 item 嵌入到低维稠密空间中。
    • 然后使用 attention layer 计算用户长期行为中每个 item 的权重,并使用这个权重对长期行为中的 item vector 进行加权和从而生成用户的 long-term representation
    • 之后,使用另一个 attention layer将近期的用户序列行为与 long-term representation 相结合。

    同一个 user embedding 向量在两个 attention network 中作为 context 信息,从而计算不同用户的不同权重。为了学习模型参数,论文采用 Bayesian personalized ranking: BPR 优化准则来生成一个 pair-wise 损失函数。从实验中,可以观察到论文所提出的模型在两个数据集上优于 state-of-the-art 的算法。

    最后,论文的贡献如下:

    • 论文引入注意力机制来建模用户动态user dynamic、个人偏好从而进行序列推荐。
    • 通过层级结构,论文结合用户的长期偏好和短期偏好来生成用户的 high-level hybrid representation
    • 论文对两个数据集进行了实验,结果表明所提出的模型在召回率和 AUC 指标上始终优于 state-of-the-art 方法。
  2. 相关工作:

    为了联合建模用户的个性信息individual information和序列信息,人们引入了马尔科夫链来用于传统的推荐。《Factorizing personalized markov chains for next-basket recommendation》 结合了分解方法(用于建模用户的通用品味)、以及马尔科夫链(用于挖掘用户序列模式)。遵从这个思想,研究人员利用不同的方法来抽取这两种不同的用户偏好。

    • 《Playlist prediction via metric embedding》《Personalized ranking metric embedding for next new poi recommendation》 使用 metric embedding 从而将 item 投影到低维欧氏空间中的点point,从而用于play list预测、以及successive location 预测。
    • 《Factorization meets the item embedding: Regularizing matrix factorization with item co-occurrence》 利用 word embeddingitem-item 共现中抽取信息,从而提高矩阵分解性能。

    然而,这些方法在捕获 high-leveluser-item 交互方面的能力有限,因为不同组件component 的权重是固定的。

    最近,研究人员转向推荐系统中的图模型和神经网络。

    • 《Unified point-of-interest recommendation with temporal interval assessment》 提出了一种双加权bi-weighted 的低秩low-rank的图构建模型graph construction model,该模型将用户的兴趣和序列偏好,与时间间隔评估temporal interval assessment 相结合。

    • 《Wide & deep learning for recommender systems》wide linear modelcross-product feature transformation 相结合,并采用深度神经网络来学习 feature embedding 之间的高度非线性交互。然而,该模型需要特征工程来设计交叉特征,而交叉特征在高度稀疏的真实数据中很少观察到。

      为解决这个问题,《Neural factorization machines for sparse predictive analytics》《Attentional factorization machines: Learning the weight of feature interactions via attention networks》 分别设计了 B-Interaction layerattentional pooling layer ,从而基于传统的分解机factorization machine: FM 技术自动学习二阶特征交互。

    • 《Sessionbased recommendations with recurrent neural networks》《Recurrent recommender networks》 采用循环神经网络 RNN 来挖掘轨迹数据 trajectory data 中的用户动态 user dynamicitem 偏好。然而,在许多实际场景中,session 中的 item 可能不会遵守严格的顺序(例如,在线购物中的交易),此时 RNN 不太适用。

    • 除此之外,《Learning hierarchical representation model for nextbasket recommendation》《Diversifying personalized recommendation with user-session context》 学习了user hierarchical representation ,从而结合用户的长期偏好和短期偏好。

      我们遵循这个 pipeline,但是有以下贡献:

      • 我们的模型建立在 hierarchical attention network 之上,可以捕获动态的长期偏好和短期偏好。

        一些 RNN-based 推荐方法也是捕获动态的长期偏好,而 MF-based 推荐方法才是捕获静态的长期偏好。

      • 我们的模型利用 user-item 交互的非线性建模。它能够学习不同用户对相同 item 的不同的 item influence (即,权重)。

14.1 模型

  1. U$ \mathcal U $ 为用户集合,V$ \mathcal V $ 为 item 集合,|U|$ |\mathcal U| $ 和|V|$ |\mathcal V| $ 分别为对应集合的大小。在这项工作中,我们聚焦于从隐式的、顺序的user-item 反馈数据(如,用户的连续 check-in 记录、连续的购买交易记录)中抽取信息。

    对于每个用户uU$ u\in \mathcal U $ ,该用户的序列交易记做Su={S1u,S2u,,STu}$ \mathbb S^u= \left\{\mathcal S_1^u,\mathcal S_2^u,\cdots,\mathcal S_T^u\right\} $ ,其中T$ T $ 为time step 的总数,StuV$ \mathcal S_t^u\sube \mathcal V $ 为用户u$ u $ 在time stept$ t $ 的交易对应的 item 集合。

    • 对于给定的 time stept$ t $ ,item 集合Stu$ \mathcal S_t^u $ 可以反应用户u$ u $ 在时刻t$ t $ 的短期偏好,这是预测该用户即将购买的 next item 的重要因素。
    • 另一方面,在 time stept$ t $ 之前购买的 item 集合,记做Lt1u=S1uS2uSt1u$ \mathcal L^u_{t-1} = \mathcal S_1^u\cup \mathcal S_2^u\cup\cdots\cup \mathcal S_{t-1}^u $ 可以反映用户u$ u $ 的长期偏好(即通用品味)。

    在后面的内容中,我们将Lt1u$ \mathcal L_{t-1}^u $ 命名为关于 time stept$ t $ 的长期 item set ,将Stu$ \mathcal S_t^u $ 命名为关于 time stept$ t $ 的短期 item set

    形式上,给定用户u$ u $ 及其序列交易Su$ \mathbb S^u $ ,我们的目标是根据从Su$ \mathbb S^u $ 中学到的长期偏好和短期偏好来推荐用户即将购买的 next item

  2. 我们根据用户偏好的以下特点,提出了一种基于 hierarchical attention network 的新方法,如下图所示。这些特点为:

    • 用户偏好在不同的 time step 是动态dynamic的。

    • 不同的 item 对将要被购买的 next item 有不同的影响。

    • 对于不同的用户,相同的 item 可能对 next item prediction 产生不同的影响。

      例如,用户 A/B 的行为序列都是{i1,i2,i3,i4}$ \{i_1,i_2,i_3,i_4\} $ ,但是由于用户AB之间存在差异(例如年龄、性别、收入水平等等),导致相同的行为序列得到不同的注意力权重。

    我们方法的基本思想是:通过联合学习长期偏好和短期偏好从而为每个用户生成一个 hybrid representation 。更具体而言,我们首先将稀疏的 user inputitem input (即,one-hot representation )嵌入到低维稠密向量中。之后,我们通过结合长期偏好和短期偏好的双层结构来学习每个用户的 hybrid representation

    • 为了捕获 time stept$ t $ 之前的长期偏好,我们学习了一个 long-term user representation,它是长期的 item setLt1u$ \mathcal L_{t-1}^u $ 中的 item embedding 的加权和,权重由 user embedding 导出的、attention-based pooling layer 来生成。
    • 为了进一步结合短期偏好,final hybrid user representationlong-term user representation 和短期 item set中的 item embedding 相结合,其中权重根据另一个 attention-based pooling layer 学习而来。

    如上所述,我们的模型同时考虑了动态的长期用户偏好和动态的短期用户偏好。此外,通过使用不同的、学到的权重,长期用户偏好和短期用户偏好对将要购买的 next item 具有不同的影响。

    最后,值得指出的是,相同 item 在不同用户上的影响也是不同的,因为 attention layer 中权重的学习过程是由 user embedding 指导的,而 user embedding 是个性化的。

    接下来我们详细介绍我们模型的各个部分。

  3. Embedding Layer:与自然语言处理中的、离散的 word symbol 类似,原始的 user IDitem ID 的表达能力非常有限。因此,我们的模型首先采用 embedding layeruser IDitem ID (即,one-hot representation)嵌入到两个连续的低维空间中。

    形式上,令URK×|U|$ \mathbf U\in \mathbb R^{K\times |\mathcal U|} $ 为 user embedding 矩阵,令VRK×|U|$ \mathbf V\in \mathbb R^{K\times |\mathcal U|} $ 为 item embedding 矩阵,其中K$ K $ 为潜在 embedding 空间的维数。uuRK$ \mathbf{\vec u}_u\in\mathbb R^K $ 为U$ \mathbf U $ 的第u$ u $ 列,表示用户u$ u $ 的 user embedding 向量。viRK$ \mathbf{\vec v}_i\in \mathbb R^K $ 为V$ \mathbf V $ 的第i$ i $ 列,表示 itemi$ i $ 的 item embedding 向量。

    从理论上讲,传统的矩阵分解相当于一个双层神经网络:第一层为 useritem 构建低维的 embedding ,第二层执行内积运算。然而,通过矩阵分解的 embedding 只能捕获 low-levelbi-linear、以及静态的 representation,这限制了模型的表达能力。不同的是,我们的模型基于这些 basic embedding 来学习high-level、非线性的、动态的 user representation,这些将在后面解释。

  4. Long-term Attention-based Pooling Layer:在序列推荐系统中,长期偏好和短期偏好分别对应于用户的通用品味和序列行为。

    • 由于用户的长期 item set 通常会随着时间而变化,因此为每个用户学习静态的长期偏好 rerepsentation 并不能完全表达长期偏好的 dynamic
    • 另一方面,从最新的长期 item set 中重构 long-term user representation 更为合理。
    • 此外,我们认为相同的 item 可能在不同用户上产生不同的影响。例如,假设用户a$ a $ 出于兴趣为自己购买了 itemx$ x $ ,而用户b$ b $ 购买 itemx$ x $ 作为礼物送给别人。在这种情况下,可以合理地推断,当预测用户a$ a $ 和b$ b $ 的 next item 时,itemx$ x $ 具有不同的权重或注意力。

    为了满足上述要求,我们提出使用已经成功应用于许多任务的注意力机制。注意力机制首先计算给定用户的长期 item set 中每个 item 的重要性,然后聚合这些 itemembedding 从而形成 long-term user preference representation 。形式上,注意力网络定义为:

    h1,j=ϕ(W1vj+b1)RKαj=exp(uh1,j)pLt1uexp(uh1,p)R

    其中:

    • W1RK×K,b1RK$ \mathbf W_1\in \mathbb R^{K\times K}, \mathbf{\vec b}_1\in \mathbb R^K $ 为模型参数。
    • u$ \mathbf{\vec u} $ 为用户u$ u $ 的 user embedding 向量,vj$ \mathbf{\vec v}_j $ 为长期 item setitemj$ j $ 的 item embedding
    • ϕ()$ \phi(\cdot) $ 为激活函数,这里我们选择 ReLU 非线性激活函数。

    与传统的注意力模型对每个用户的每个 input 使用相同的 context 向量不同(即,global 的),我们将用户u$ u $ 的 embeddingu$ \mathbf{\vec u} $ 作为 context 向量(因此不同用户的 context 向量不同,即 personalized 的)。

    注意,和 DIN/RUM 不同,这里的 attention 并不是将 target item 与历史 item 进行注意力计算,而是将用户静态偏好(以u$ \mathbf{\vec u} $ 来衡量)与历史 item 进行注意力计算。

    • 对于DIN/RUM,相同用户的、不同的 target item 会得到不同的注意力权重,因此在推断期间对于每个候选 item 都需要重新计算。

      此外,不同用户的、相同的 target item 会得到相同的注意力权重,因此它是 non-personalized 的。

    • 对于SHAN ,相同用户的、不同的 target item 会得到相同的注意力权重,因此在推断期间对于每个候选 item 无需重新计算。

      此外,不同用户的、相同的 target item 会得到不同的注意力权重,因此它是 personalized 的。

    本质上,SHAN 的注意力机制是类似于 self-attention,它仅用到了target user 侧的信息,而并没有使用 target item 侧的信息。由于没有进行 user-item 的信息交互,因此有利于模型的在线推断(类似于双塔模型的架构比较容易在线部署,例如将 target user 侧的 emebdding 离线计算好并推送到线上,target item 侧的 embedding 实时计算并基于 embedding 向量的相似度来做召回)。

    最后,我们计算 long-term user representationut1long$ \mathbf{\vec u}_{t-1}^{\text{long}} $ 为以注意力分数加权的 item embedding 的加权和,即:

    ut1long=jLt1uαj×vj
  5. Long- and Short-term Attention-based Pooling Layer:除了用户的通用品味之外,还需要考虑用户的序列行为(即,短期偏好)。短期偏好对于预测 next item 很重要,并且已有研究将长期偏好和短期偏好相结合从而进行序列推荐。然而,在这些早期工作中,短期偏好和长期偏好的交互仍然是线性的。并且, item 被分配以相同的权重,这无法反映 itemnext item prediction 的影响,因此限制了模型的性能。

    与建模用户长期偏好类似,我们也采用注意力网络,从而为 long-term representation 和短期 item set 中的itemembedding 分配权重,进而捕获用户u$ u $ 的 high-level representation 。正式地,

    h2,j=ϕ(W2vj+b2)RKβj=exp(uh2,j)pStu{0}exp(uh2,p)R

    其中:

    • W2RK×K,b2RK$ \mathbf W_2\in \mathbb R^{K\times K}, \mathbf{\vec b}_2\in \mathbb R^K $ 为模型参数。
    • u$ \mathbf{\vec u} $ 为用户u$ u $ 的 user embedding 向量,vj$ \mathbf{\vec v}_j $ 短期 item setitemj$ j $ 的 item embedding 。注意,当j=0$ j=0 $ 时v0=ut1long$ \mathbf{\vec v}_0 = \mathbf{\vec u}_{t-1}^{\text{long}} $ ,即 long-term user representation

    类似地,user embedding 被作为 context vector 从而实现个性化的注意力(即,相同 item 在不同用户上分配不同的权重)。在获得归一化的注意力分数之后,hybrid user representation 计算为:

    uthybrid=β0×ut1long+jStuβj×vj

    其中β0$ \beta_0 $ 为长期用户偏好的注意力权重。

    总而言之,uthybrid$ \mathbf{\vec u}_t^{\text{hybrid}} $ 不仅考虑了长期偏好的动态属性和短期偏好的动态属性,而且还区分了每个 item 对预测 next item 的贡献。此外,两个层级的注意力网络可以捕获 useritem 之间的非线性交互。

    这里的注意力机制并不是基于向量内积的,而是基于 MLP 的,因此引入了非线性交互。

    注意,《Learning hierarchical representation model for nextbasket recommendation》 还可以通过使用最大池化聚合 final representation 来实现非线性的目的。但是,它同时丢失了很多信息。我们将通过实验证明我们的模型可以实现比它更好的性能。

    注意力加权和聚合的方式是介于 sum 池化和max 池化之间的版本:

    • 当注意力均匀分布时,注意力加权和聚合退化为 sum 池化。
    • 当注意力极度不均时,注意力加权和聚合退化为 max 池化。

    此外,还可以通过 CNN/RNN 来进行聚合,它们是与 sum 池化、max 池化完全不同的聚合方式。

  6. 模型推断Model Inference:当计算出 hybrid user representationuthybrid$ \mathbf{\vec u}_t^{\text{hybrid}} $ 之后,我们采用传统的潜在因子模型来计算用户在 itemj$ j $ 上的偏好分:

    ru,j,t=uthybridvj

    但是,用户交易记录是一种隐式数据。由于数据稀疏性问题和 unobserved data 的模糊性 ambiguity,我们很难直接优化偏好分ru,j,t$ r_{u,j,t} $ 。

    我们模型的目标是在给定用户在时刻t$ t $ 的长期 item set 和短期 item set 的情况下,提供一个 ranked list 。因此,我们更感兴趣的是 item 的排名而不是真实的偏好分。遵循 BPR 优化准则,我们为我们的模型提出一个 pair-wise ranking 目标函数。我们假设用户更喜欢 next purchased item 而不是 unobserved item ,并在 itemj$ j $ 和 itemk$ k $ 上定义一个排名次序 ranking orderu,Lt1u,Stu$ \succ_{u,\mathcal L_{t-1}^u,\mathcal S_t^u} $ :

    ju,Lt1u,Stukru,j,t>ru,k,t

    其中j$ j $ 为被用户u$ u $ 在time stept$ t $ 购买的 next itemk$ k $ 是 bootstrap sampling 生成的 unobserved item

    对于每个 observation(u,Lt1u,Stu,j)$ (u,\mathcal L_{t-1}^u,\mathcal S_t^u,j) $ ,我们生成 pairwise preference order 的一个集合D={(u,Lt1u,Stu,j,k)}$ \mathcal D = \left\{(u,\mathcal L_{t-1}^u, \mathcal S_t^u,j,k)\right\} $ 。然后我们通过最大化后验概率 maximizing a posterior: MAP 来训练我们的模型:

    argminΘ[(u,Lt1u,Stu,j,k)Dlnσ(ru,j,tru,k,t)]+λu,v||Θu,v||2+λa||Θa||2

    其中:

    • Θ={U,V,W1,W2,b1,b2}$ \Theta=\left\{\mathbf U,\mathbf V,\mathbf W_1,\mathbf W_2,\mathbf{\vec b}_1,\mathbf{\vec b}_2\right\} $ 为模型的待学习参数集合,Θu,v={U,V}$ \Theta_{u,v} = \{\mathbf U,\mathbf V\} $ 为 user embeddingitem embedding 待学习参数集合,Θa={W1,W2}$ \Theta_a = \{\mathbf W_1,\mathbf W_2\} $ 为注意力网络的待学习权重集合。

    • σ()$ \sigma(\cdot) $ 为逻辑回归函数logistic functionλ={λu,v,λa}$ \lambda = \{\lambda_{u,v},\lambda_a\} $ 为正则化系数。

      为什么使用不同的正则化系数?用一个正则化系数不行吗?猜测的原因是不同的参数的取值不同,这可以通过后面的消融实验来验证。如果使用同一个正则化系数,那么该系数的选择被取值较大的参数所主导(可以通过统计参数范数的均值来观察)。进一步地,是否需要针对每个参数设置一个正则化系数?

  7. SHAN 算法:

    • 输入:

      • 长期 item setLt1u$ \mathcal L_{t-1}^u $ ,短期 item setStu$ \mathcal S_t^u $
      • 学习率η$ \eta $ ,正则化系数λ$ \lambda $ ,维度K$ K $
    • 输出:模型参数集合Θ$ \Theta $

    • 算法步骤:

      • 从正态分布N(0,0.01)$ \mathcal N(0,0.01) $ 中采样从而初始化Θu,v$ \Theta_{u,v} $ 。

      • 从均匀分布U(3K,3K)$ \mathcal U\left(-\sqrt{\frac{3}{K}},\sqrt{\frac{3}{K}}\right) $ 中采样从而初始化Θa$ \Theta_a $ 。

        为什么采用不同的权重初始化策略?论文并未解释。

      • 重复以下过程直到算法收敛:

        混洗 observation 集合{(u,Lt1u,Stu,j)}$ \left\{\left(u,\mathcal L_{t-1}^u, \mathcal S_t^u,j\right)\right\} $ ,对每个 observation(u,Lt1u,Stu,j)$ \left(u,\mathcal L_{t-1}^u, \mathcal S_t^u,j\right) $ 执行:

        • 随机从VLt1u$ \mathcal V\backslash \mathcal L_{t-1}^u $ 中采样一个 unobserved itemk$ k $ 。
        • 计算uthybrid$ \mathbf{\vec u}_t^{\text{hybrid}} $ 。
        • 计算ru,j,t$ r_{u,j,t} $ 和ru,k,t$ r_{u,k,t} $ 。
        • 使用梯度下降来更新参数集合Θ$ \Theta $ 。
      • 返回参数集合Θ$ \Theta $ 。

14.2 实验

  1. 我们进行实验回答以下几个问题:

    • 与其它 state-of-the-art 方法相比,我们的模型的性能如何?
    • 在我们模型中,长期偏好和短期偏好的影响是什么?
    • 超参数(如正则化参数、embedding 维度)如何影响模型性能?
  2. 数据集:

    • Tmall 数据集:包含中国最大的在线购物网站(即,Tmall.com)上的用户行为日志。
    • Gowalla 数据集:记录了用户在 location-based 社交网站 Gowallacheck-in 的时间的 point-of-interest: POI 信息。

    我们专注于这两个数据集上过去七个月生成的数据。在此期间,少于 20 个交互的 item 被剔除。此后,将一天内的用户记录视为一个 session (即,交易 transaction)来表示短期偏好,并删除所有的 singleton session(即,session 中仅有一个 item)。

    类似于 《Diversifying personalized recommendation with user-session context》 ,我们随机选择最近一个月 20%session 进行测试,其余的用于训练。我们还在每个 session 中随机保留一个 item 作为待预测的 next item

    预处理之后,这两个数据集的基本统计信息如下表所示:

  3. 评估指标:我们采用两个广泛使用的指标 Recall@NAUC

    • Recall@N 指标评估在所有测试 session 中,ground truth item 排在 top-Ncase 占所有 ground truth item 的比例。

    • AUC 指标评估 ground truth item 在所有 item 中的排名有多高。

      这里将 ranking list 中非 ground truth 的其它 item 视为负样本,将 ground truth item 视为正样本,因此 AUC 指标严重依赖于负样本的采样方式。

      事实上,Recall@N 指标也会依赖于负样本的采样方式。

  4. baseline 方法:

    • TOP:基于流行度的推荐,其中流行度通过训练集中item 的出现频次来统计。

    • BPRBPR 是一种用于隐式用户反馈数据的、 state-of-the-artpairwise learning to rank 框架。我们选择矩阵分解作为 internal predictor

    • FPMC:该方法通过矩阵分解建模用户偏好、通过一阶马尔科夫链建模序列信息,然后通过线性方式将它们组合起来进行 next basket recommendation

    • FOSSIL:该方法将 factored item similarity 和马尔科夫链相结合,从而建模用户的长期偏好和短期偏好。注意,我们将ηu$ \eta_u $ 和η$ \eta $ 都设置为单个标量,因为每个 session 的长度是可变的。

    • HRM:该方法生成 user hierarchical representation 来捕获序列信息和通用品味。我们使用 max pooling 作为聚合操作,因为这样可以达到最佳效果。

    • SHAN:这是我们提出的模型,它使用两个注意力网络来挖掘长期偏好和短期偏好。

      我们还展示了简化版本的性能(叫做 SAN),它忽略了层次结构,并通过单个注意力网络从长期 item set 和短期 item set 中计算 item 的权重。

    为了公平地比较,所有 model-based 方法都基于 BPR 优化准则来优化一个 pair-wise ranking 目标函数。

  5. 对比结果:下图展示了所有方法在 TmallGowalla 数据集上的 Top-5 to Top-100 的召回率和 AUC 指标。从结果可以看到:

    • SHANTmall 数据集的所有指标下始终以较大的优势优于所有其它方法。

      • 具体而言,与第二好的方法(即 HRM)相比,SHANTmall 数据集上和 Gowalla 数据集上的召回率指标分别提高了 33.6%9.8% 。这表明:我们的模型通过注意力网络为 long-term representationshort-term representation 捕获了更 high-level 的、更复杂的、非线性的信息,而 HRM 可能会通过 hierarchical max pooling 操作丢失很多信息。
      • 此外,SHAN 的性能优于 SAN,可能是因为长期 item setitem 数量远远多于短期 item set 。因此,单个注意力网络很难为属于短期 item set 的较少、但是更重要的 item 分配适当的权重。
    • HRM 在大多数情况在这两项指标下的表现普遍优于 FPMC

      具体而言,HRMTmallGowalla 数据集上的 Recall@50 的相对性能(相对于 FPMC 方法)提升分别为 6.7%4.5% 。这证明了多个因子 factor之间的交互可以通过最大池化操作来学习。

      此外,尽管是简单的最大池化,该操作引入的非线性交互将提高模型性能。另外,SHAN 实现了比 HRM 更好的性能,这表明注意力网络在建模复杂交互方面比最大池化更强大。

    • 在大多数情况下,所有混合模型(即,FPMC, FOSSIL, HRM, SHAN)在两个数据集的不同指标下均优于 BPR 。以 AUC 为例,混合模型相对于 BPR 的性能提升持续保持在非常高的水平。这表明序列信息对于我们的任务非常重要,而 BPR 忽略了它。另外,SHAN 在这些混合模型中获得了最佳性能。

    • 令人惊讶的是,在 Tmall 数据集上,当N$ N $ 从 50 继续增加时,TOP 方法在召回率方面超越了 BPR,甚至在 AUC 指标上超越了 FPMC

      这种现象可以解释为:

      • 用户在网上购物时可能倾向于购买热门 item 。因此,当N$ N $ 足够大时 TOP 方法可以达到更好的性能。
      • 相反,由于Gowalla 数据集中的用户 check-in 数据更加个性化,因此 TOP 方法的性能要比其它方法差很多。

      最后,我们的模型可以在不同的N$ N $ 上优于所有 baseline

  6. 不同组件的影响:为了评估每个组件对 final user hybrid representation 的贡献,我们进行实验来分析下表中每个组件。SHAN-L 表示仅建模用户的通用品味,SHAN-S 表示仅建模用户的短期偏好。

    • 与同样仅建模长期偏好的 BPR 相比,SHAN-L 实现了更好的性能。例如,BPRTmall 数据集和 Gowalla 数据集上的 Recall@20 指标分别为 0.0190.204。这表明通过动态方式 dynamic way 来建模通用品味,要比通过固定的 embedding 向量更好。

    • SHAN-S 在很大程度上优于 SHAN-L,这表明短期序列信息在 predicting next item task 上更为重要。

    • 令人惊讶的是,SHAN-S 在两个数据集上都优于 HRM。例如,HRMTmall 数据集和 Gowalla 数据集上的 AUC 指标分别为 0.7340.966。原因可能是 SHAN-S 中的 basic user embedding vector(它融合了 user basic preference)是通过短期 item set 中每个 item 的权重从而计算得到的。因此,SHAN-S 还考虑了用户的静态通用品味、以及序列信息从而生成 hybrid representation

      结果还表明:一层的注意力网络优于两层的最大池化操作。

    • SHAN-STmall 数据集上的 Recall@20 指标要好于 SHAN 。这表明在该数据集上,用户在上一个 session 中的点击行为对当前 session 中的 next clicked item 没有太大影响。

    • 最后,在大多数情况下,SHAN 的性能优于两个单组件的模型。这表明:将动态的用户通用品味添加到 SHAN-S 有助于预测 next item 。因为 SHAN-S 仅仅是结合了用户的 basic 的、fixed 的偏好以及序列行为。

  7. 超参数的影响:这里我们研究正则化系数和 embedding size 对模型的影响。由于篇幅所限,我们仅展示 Recall@20 指标下的结果。

    • 在我们的模型中,我们利用 user embeddingitem embedding 正则化系数λu,v$ \lambda_{u,v} $ 、以及注意力网络正则化系数λa$ \lambda_a $ 来避免过拟合问题。下表展示了不同正则化系数的取值对于 Recall@20 指标的影响。

      可以看到:当λa>0$ \lambda_a\gt 0 $ 时,模型性能会大大提高。这也表明注意力网络对我们的任务很有帮助。

      可以看到,λa$ \lambda_a $ 和λu,v$ \lambda_{u,v} $ 的取值范围不同,因此间接说明不同类型参数的范数大小位于不同量级。

    • 我们进一步研究了维度大小K$ K $ 的影响。K$ K $ 不仅与 user embeddingitem embeddingsize 有关,还与注意力网络中的 MLP 参数有关。为简单起见,user embeddingitem embeddingsize 是相同的。

      可以看到:大的K$ K $ 值可以更好地嵌入用户和 item ,并且将更有利于通过注意力网络构建 high-level 的因子交互 factor interaction 。这种现象类似于传统的潜在因子模型。在实验中,我们将K$ K $ 设为 100,从而平衡两个数据集的计算成本和推荐质量。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文