返回介绍

数学基础

统计学习

深度学习

工具

Scala

1.3 时序模型

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

  1. 用户的偏好不是静态的,而是随着时间的推移而动态演变。与使用上述模型对用户的静态偏好static preference 进行建模不同,基于时序 temporal/sequential 的推荐聚焦于对用户的动态偏好dynamic preference 或随着时间的序列模式sequential pattern进行建模。

    给定一个用户集合U={u1,,uM}$ \mathcal U = \{u_1,\cdots,u_M\} $ ,以及一个 item 集合I={i1,,iN}$ \mathcal I = \{i_1,\cdots,i_N\} $ ,当前的时序推荐可以分为三类:

    • 基于时间的推荐temporal based recommendation:对于一个用户uU$ u\in \mathcal U $ 和一个 itemiI$ i\in \mathcal I $ ,相关的 user-item 交互行为被表示为一个四元组:(u,i,ru,t,tu,i)$ (u,i,r_{u,t},t_{u,i}) $ 。其中:ru,i$ r_{u,i} $ 为详细评分,tu,i$ t_{u,i} $ 为该评分的时间戳。基于时间的推荐聚焦于对用户行为随时间的动态性进行建模。
    • 基于会话的推荐session based recommendation:在某个会话S=[i1,i2,,i|S|]$ \mathcal S=[i_1,i_2,\cdots,i_{|\mathcal S|}] $ 中(SI$ \mathcal S\sube\mathcal I $ ),用户与一组 item 进行交互(例如,用购物车消费、在有限的时间段内浏览互联网)。在许多基于会话的 application 中,用户不登录且用户 ID 不可用。因此,基于会话的推荐的流行方向是从会话数据中挖掘序列的 item-item 交互模式从而获得更好的推荐。
    • 基于时间和会话的推荐temporal and session based recommendation:这种方法结合了时间推荐和会话推荐的定义,其中每个事务 transaction 被描述为(u,S,t)$ (u,\mathcal S,t) $ ,其中SI$ \mathcal S \sube \mathcal I $ 为用户u$ u $ 在特定时间t$ t $ 消耗的 item 的集合。在这种情况下,需要同时捕获 item 的时间演变temporal evolution和序列模式。

    我们在下表中总结了推荐系统中建模时间和序列效应的主要技术,并在下图中说明了一些代表性工作。

1.3.1 基于时间的推荐

  1. 基于时间的推荐模型聚焦于捕获用户偏好随时间的时间演变 temporal evolution 。由于 RNN 在建模时间模式temporal pattern 方面的优越性,许多基于时间的方法都考虑了 RNNRecurrent Recommender Network: RRN 是时间推荐的代表性研究之一,它同时赋予用户和 item 各自一个 LSTM 自回归架构。在 RRN 中,用户u$ u $ 在时间t$ t $ 对 itemi$ i $ 的预测评分r^u,i(t)$ \hat r_{u,i}^{(t)} $ 建模为:

    r^u,i(t)=f(pu(t),qi(t))pu(t)=RNN(pu(t1),Wuxu(t))qi(t)=RNN(qi(t1),Wixi(t))

    其中:

    • pu(t)$ \mathbf{\vec p}_u^{(t)} $ 为用户u$ u $ 在时刻t$ t $ 的动态 embeddingqi(t)$ \mathbf{\vec q}_i^{(t)} $ 为 itemi$ i $ 在时刻t$ t $ 的动态 embeddingf(,)$ f(\cdot,\cdot) $ 为temporal评分预测函数。

    • xu(t)R|I|$ \mathbf{\vec x}_u^{(t)} \in \mathbb R^{|\mathcal I|} $ 为t1$ t-1 $ 时刻到t$ t $ 时刻之间,用户u$ u $ 在所有 item 上的评分向量。xi(t)R|U|$ \mathbf{\vec x}_i^{(t)}\in \mathbb R^{|\mathcal U|} $ 为t1$ t-1 $ 时刻到t$ t $ 时刻之间,itemi$ i $ 收到所有用户的评分向量。

      RRN 并不是建模每个 time step ,而是建模一段时间区间(比如一天、一个月),这可以大大降低序列的长度。

    • Wu$ \mathbf W_u $ 和Wi$ \mathbf W_i $ 为待学习的投影矩阵。

    因此,RRN 通过两个 RNN 学习用户和 item 的潜在向量随时间的演变。

    基于 RRN,一些工作考虑了丰富的上下文因素,如社交影响、item 元数据、多媒体数据融合。以用户侧的 RNN 为例,我们可以将用户潜在 embedding 的演变推广为:

    pu(t)=RNN(pu(t1),Wuxu(t),ContextualEmbedding)

    其中还注入了额外的 contextual embedding 从而建模用户 temporal embedding 的时间演变。

  2. 最近,一个新兴的趋势是使用 Neural Turning MachineMemory Network 对时间演变进行建模。和 RNN 相比,Memory Network 引入了一个 memory 矩阵从而将状态存储在 memory slots 中,并通过读写操作随时间更新内存。由于 memory 存储是有限的,在推荐中应用 Memory Network 的关键是如何随着用户的时序行为随时间更新 memory。研究人员提出了一种带有 user memory network 的通用memory augmented 的神经网络来存储和更新用户的历史记录,并且 user memory network 是从 item levelfeature level 实现的(《Sequential recommendation with user memory networks》)。研究人员进一步提出在 memory 读写过程中使用软寻址的注意力机制,从而更好地捕获用户的长期稳定兴趣和短期时间兴趣。

1.3.2 基于会话的推荐

  1. 许多现实世界的推荐系统经常遇到来自匿名用户的短会话数据short session data ,即 user ID 信息不可用。基于会话的推荐在这种情况下很流行,它对给定许多会话记录的、序列的 item transition pattern进行建模。

    GRU4REC 是基于 RNN 的框架下为基于会话的推荐而设计的。具体而言,GRU4REC 类似于一个 RNN 结构,它递归地将会话中的当前 item 作为输入、更新 hidden state、并根据 hidden state 输出预测的 next item 。给定匿名会话,GRU4REC 的关键部分是如何构造 mini-batch 从而适应 RNN 的数据形式。由于目标是捕获会话如何随着时间的推移进行演变,因此作者设计了一个 session parallel min-batch 。作者抽取前几个会话的第一个事件 event 从而形成第一个 mini-batch,所需的输出是相应会话的第二个事件。在这样的公式下,模型捕获了会话中 item 之间的复杂相关性从而进行基于会话的推荐。

    研究人员通过考虑 item 特征、局部意图、用户信息、数据增强技术从而进一步研究了 GRU4REC 。通过使用 embedding 矩阵处理 item IDitem nameitem category,我们可以将一系列点击表示为帧 frame,因此可以将 3D CNN 的架构迁移到基于会话的推荐。此外,人们提出了一种基于自注意力的 SASRec 序列模型,该模型对整个用户序列进行建模,无需任何循环操作和卷积操作,并自适应地选择 item 从而进行推荐。

    研究人员还提出了一种基于翻译的模型来捕获用户u$ u $ 、前一个 itemj$ j $ 、当前 itemi$ i $ 之间的个性化的、序列的三阶交互 third order interaction。给定 item embedding 矩阵Q$ \mathbf Q $ ,每个用户的 embeddingpu$ \mathbf{\vec p}_u $ 可以近似为:qi+puqj$ \mathbf{\vec q}_i + \mathbf{\vec p}_u\simeq \mathbf{\vec q}_j $ 。因此,基于翻译的模型捕获了两个 item 的相关性。

  2. 虽然上述模型在会话中的连续 item 之间建立了关系,但是如何对会话中远程 item 之间的转移进行全局建模仍在探索中。研究人员将 GNN 用于基于会话的推荐。SR-GNN 是最初的几次尝试之一。如下图所示,图是通过将所有 item 作为节点来构造的,如果这两个节点在会话中共现,则两个节点之间存在一条边。然后,采用 GNN 来学习 item embedding,从而可以对来自会话行为数据的 item 的高阶关系进行建模。不同的 GNN based 模型在图构建和图聚合过程中有所不同。

1.3.3 基于时间和会话的推荐

  1. 给定每个用户随时间的会话数据,这类模型同时利用用户的时间演变模型temporal evolution modeling、以及隐藏在会话中的序列 item 模式sequential item pattern 来进行推荐。目前,解决方案分为两类:第一类同时学习用户的长期偏好和短期动态偏好,第二类采用先进的神经网络模型来学习统一的 user representation

  2. 在第一类中,每个用户的长期偏好是根据该用户的历史行为来建模的,而短期偏好是根据前一个会话或当期会话来建模的。例如,研究人员提出了基于时间和会话的推荐的 hierarchical attention network,其中第一个注意力层根据历史记录学习用户的长期偏好,第二个注意力层根据当前会话学习用户的短期偏好:

    pu(t)=Att2(pu,Att1(ql,lTu(t1)))

    其中:

    • Att1 表示底层的注意力网络,它从最近的用户行为序列Tu(t1)$ \mathcal T_u^{(t-1)} $ 中学习用户的短期偏好。
    • Att2 是顶层的注意力网络,它平衡短期用户偏好和长期用户偏好。
    • pu$ \mathbf{\vec p}_u $ 为用户长期偏好 embedding 向量。

    与采用 hierarchical attention 相反,研究人员建议采用注意力机制来学习 item 相关性,并在顶层设计循环状态从而进行序列推荐(《Déjà vu: A contextualized temporal attention mechanism for sequential recommendation》)。

    人们也提出 hierarchical RNN 来用于随时间推移的、基于会话的个性化推荐,其中一个session levelGRU 单元用于建模会话内的用户活动、一个 user levelGRU 单元建模用户偏好随时间的演变(《Personalizing session-based recommendations with hierarchical recurrent neural networks》)。

    此外,研究人员利用 hierarchical attention network 通过 feature level 注意力和 item level 注意力来学习更好的短期用户偏好(《Hierarchical gating networks for sequential recommendation》)。对于长期的用户兴趣建模,研究人员建议利用最近的会话,设计注意力建模或 memory addressing 技术来寻找相关的会话。

  3. 另一类模型利用 3D 卷积网络进行推荐,将推荐问题定义为(StLu,,St2u,St1u)Stu$ \left( S_{t-L}^{u},\cdots, S_{t-2}^{u}, S_{t-1}^{u}\right)\rightarrow S_t^u $ ,其中StuI$ S_t^{u}\in \mathcal I $ 为用户u$ u $ 在t$ t $ 时刻的序列行为,L$ L $ 为序列的最大长度。

    Convolutional Sequence Embedding Recommendation: Caser 是一项代表性工作,它结合了 CNN 来学习序列模式。它通过卷积操作从而同时在 union levelpoint level 来捕获用户的通用偏好和序列模式,并捕获了 skip behavior

    此外,研究人员提出利用基于 GNN 的推荐模型来用于推荐。图结构由所有会话构成,从而形成全局 item 相关图、或者每个时间段的 item 相关图。例如,研究人员构建了 timea-ware hypergraph 来建模 item 随时间的相关性。之后,采用自注意力模块用于根据随着时间推移学到的 dynamic item embedding 来建模用户的动态兴趣(《Next-item recommendation with sequential hypergraphs》)。

1.3.4 总结

  1. 基于temporal/sequential 的模型聚焦于用户随时间的动态偏好。因此,现有的大多数工作都集中在用户和 item 的序列信息上,并利用序列模型(如 RNNMemory Network )来捕获用户偏好演变的趋势。主要挑战在于识别长期兴趣和短期兴趣,以及在没有 user ID 信息的情况下识别全局兴趣和局部兴趣。由于 GNN 擅长处理不同粒度的 user-item 交互,我们可以观察到它在基于 temporal/sequential 的模型中受到越来越多的关注。

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

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

发布评论

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