返回介绍

数学基础

统计学习

深度学习

工具

Scala

二十七、时空周期兴趣学习网络ST-PIL [2021]

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

  1. POI 推荐是基于位置的社交网络中的一项重要任务,它有助于建模用户和位置之间的关系。

    最近,学者根据长期兴趣和短期兴趣推荐 POI 并取得成功。长期兴趣是通过用户历史到店来获得,短期兴趣是通过最近到店来建模的。这些兴趣通过编码器网络(例如 LSTM)来编码。然而,它们未能很好地捕获到周期性的兴趣。人们倾向于在相似的时间或相似的地域访问相似的门店。因此,只有一小部分到店与用户的下一次到访行为高度相关。因此,到店序列作为输入会弱化相关部分的信号。

    有一些方法试图通过建模周期性来解决这个问题:

    • DeepMove 应用当前的移动状态mobility status 来捕获所有到店的周期性。
    • LSTPM 使用 time slot 计算时序相似性temporal similarity 从而获得时间加权的轨迹表达time-weighted trajectory representation

    但是,这些方法在学习周期兴趣方面仍然能力有限。

    到店上下文,例如空间信息spatial information 、时间信息temporal information ,可以用于建模周期兴趣。

    • 首先,用户活动受时间限制,呈现出天级别模式daily pattern 和小时级别模式hourly pattern 。例如,一些用户可能只在周末去度假,另一些用户会在晚上去餐馆。
    • 其次,用户在不同地域表现出地域模式areal pattern 。例如,用户在景区参观古迹、在商圈附近购物。
    • 第三,用户会在特定时间访问同一个 POI ,这就是 小时-区域级别的模式hourly-areal pattern 。例如,很多人八点钟去公司上班。

    DeepMoveLSTPM 等之前的方法在学习周期性时并没有充分利用时空信息。

    受上述分析的启发,论文《ST-PIL: Spatial-Temporal Periodic Interest Learning for Next Point-of-Interest Recommendation》提出了一个时空周期兴趣学习网络 Spatial-Temporal Periodic Interest Learning network: ST-PIL 。具体而言,ST-PIL 采用长短期兴趣学习的架构,但是充分利用时空上下文中从历史到店中检索到相关的部分,从而获得周期性兴趣。

    • 在长期模块中,我们学习天级别的时间周期兴趣,然后利用层内注意力 intra-level attention 来得到长期兴趣。
    • 在短期模块中,我们构造各种短期兴趣序列,从而分别获取小时粒度、地域粒度、小时 x 地域粒度的时空周期兴趣。
    • 最后,我们利用层间注意力 inter-level attention 自动融合多个兴趣。

    主要贡献:

    • 提出了充分考虑时空周期性的思想,具体而言,构建了天级别、小时级别、地域级别、小时-地域级别的周期性。
    • 提出了两个层级的注意力:层内注意力从用户的天级模式中学习长期兴趣、层间注意力融合了长期兴趣和短期兴趣。
  2. 相关工作:这里简要回顾一下近期关于 POI 推荐的一些研究并总结了差异。

    长期兴趣和短期兴趣的结合最近备受关注,并取得了 state-of-the-art

    • DRCF 通过协同过滤捕获长期兴趣,并通过 RNN 添加短期兴趣。
    • STGN 通过设计时空门 spatial-temporal gates 来修改 LSTM 从而提升兴趣。
    • Deep-Move 应用 RNN-based 方法来捕获短期规律,并设计一个历史注意力模块从而利用用户状态的移动周期性mobility periodicity
    • LSPLPLSPL 使用 attention layer 来获得长期兴趣,并使用 LSTM 对近期的连续行为进行建模从而获得短期兴趣。
    • LSTPM 使用各种技术得到的所有轨迹来捕获长期兴趣,例如:周期性的时间加权操作、用于捕获短期兴趣的 LSTMgeo-dilated LSTM

    之前的这些工作和我们的研究之间的差异是明显的。以前的工作通常从有限的粒度(例如 time slot)中捕获周期性,而我们充分利用时空上下文,并设计有效的注意力操作来自动结合combine

27.1 模型

  1. 已知条件:

    • 用户集合 $ \mathcal U = \{u_1,u_2,\cdots\} $ ,POI 集合 $ \mathcal P=\{p_1,p_2,\cdots\} $ ,类目集合 $ \mathcal C = \{c_1,c_2,\cdots\} $ 。
    • 每个 POI 都有一个类目 $ c\in \mathcal C $ 。
    • 空间信息:每个 POI 都有一个经纬度,我们使用 geohash-5 编码,得到 geohash 编码集合 $ \mathcal G=\{g_1,g_2,\cdots\} $ 。每个 POI 都对应于一个 geohash 编码。
    • 时间信息:我们有一周七天,即 $ \mathcal W=\{w_1,\cdots,w_7\} $ 。我们有一天 24 小时,即 $ \mathcal M=\{m_1,\cdots,m_{24}\} $ 。
    • 用户的第 $ t $ 个到店表示为 $ h^t=\left(p^t,c^t,w^t,m^t,g^t\right) $ 。

    给定用户的所有历史到店序列 $ H=\{h^1,h^2,\cdots,h^{t-1}\} $ ,以及用户当前的时空信息(即 $ \left(w^t,m^t,g^t\right) $ ),我们预估用户可能到店的 top-k POI

    这里要求获取用户的实时地理位置,即用户当前位置和门店 POI 匹配。

  2. Long-Term Module:使用周几的时间上下文查找用户的天级别模式daily pattern,并使用注意力机制来建立长期兴趣。

    天级别模式旨在捕获用户的天级周期性,从周一到周日。

    • 首先,构建七组掩码:第 $ k $ 组掩码表示用户历史到店序列中,每个行为是否是周 k 产生的。

      例如,第一组掩码:[1,1,0,0,1,0,...0],这表示历史到店序列第一个行为、第二个行为、第五个行为都是周一产生的。

    • 接下来,我们用每一组掩码和到店序列进行逐元素相乘(从而得到周 k 的行为序列),然后通过均值池化以及一个全连接层(这个全连接层在周一...周日之间共享),从而得到周 k 的天级别 embedding

      我们得到七个天级别 embedding,记做 $ \mathbf L = \left[\mathbf{\vec l}_1,\cdots,\mathbf{\vec l}_7\right] $ 。

    • 我们创建一个 query $ q $ 来获取 attention,第 $ t $ 个 query 由候选 POI 和已知上下文 $ (w^t,m^t,g^t) $ 的拼接组成:

      $ \mathbf{\vec q}^t = \left[\mathbf{\vec p}^t,\mathbf{\vec c}^t,\mathbf {\vec w}^t, \mathbf{\vec m}^t, \mathbf{\vec g}^t \right] $

      其中每个 POI 都可以作为候选,但是只有一个是 positive 的,并且这里的 ID 都转换为 embedding 向量。

    • 然后我们通过 Bahdanau attention 来聚合 $ \mathbf L^t $ :

      $ e_j^t = \mathbf{\vec v}_e^\top \tanh \left(\mathbf V_1\mathbf{\vec q}^t+ \mathbf V_2 \mathbf{\vec l}_j^t\right)\\ \mathbf{\vec e}^t = \text{softmax}(\{e_1^t,\cdots,e_7^t\})\\ \mathbf{\vec l}^t = \sum_{j=1}^7 e_j^t \mathbf{\vec l}_j^t\\ $

      其中 $ \mathbf{\vec v}_e,\mathbf V_1,\mathbf V_2 $ 都是attention 的参数。

  3. Short-Term Module:用于捕获基本序列模式和上下文感知(例如hourly 周期性 、areal 周期性、hourly-areal周期性)。

    在第 $ t $ 次 到店,假设我们有当前的时间槽 time slot $ m^t=23 $ 、有 area $ g^t=47 $ 。我们构建四条序列:

    • 序列 $ \mathcal S_1^t $ :到访序列中,最近的 5 个到访 POI 。捕获序列模式 Sequential Pattern
    • 序列 $ \mathcal S_2^t $ :到访序列中,最近的、相同 geohash=475 个到访 POI。捕获 Areal Pattern
    • 序列 $ \mathcal S_3^t $ :到访序列中,最近的、相同或者相近小时(22点、23点、或24点)的 5 个到访 POI。捕获 Hourly Pattern
    • 序列 $ \mathcal S_4^t $ :到访序列中,最近的、相同 geohash=47的、相同或相近小时(22点、23点、或24点)的 5 个到访 POI。捕获 Hourly-Areal Pattern

    每个序列都暗含某种行为模式,对于每个序列,我们使用 LSTM 来捕获用户对应 pattern 的兴趣:

    $ \mathbf{\vec s}_k^t = \text{LSTM}(\mathcal S_k^t) $

  4. Inter-level Attention:用于获取用户最终的兴趣。

    在当前时刻 $ t $ ,我们有五个兴趣: $ \{\mathbf{\vec l}^t,\mathbf{\vec s}_1^t,\mathbf{\vec s}_2^t,\mathbf{\vec s}_3^t,\mathbf{\vec s}_4 ^t \} $ 。其中, $ \mathbf{\vec l}^t $ 捕获长期的天级兴趣,其它四个捕获短期的兴趣。我们使用 Bahdanau attention 来获取用户最终的兴趣:

    $ a_l^t = \mathbf{\vec v}_a^\top \tanh\left(\mathbf V_3 \mathbf{\vec q}^t + \mathbf V_4\mathbf{\vec l}^t\right)\\ a_{s_k}^t = \mathbf{\vec v}_a^\top \tanh\left(\mathbf V_3 \mathbf{\vec q}^t + \mathbf V_4\mathbf{\vec s}_k^t\right),k=1,2,\cdots,4 $

    其中 $ \mathbf{\vec v}_a,\mathbf V_3,\mathbf V_4 $ 为attention 权重。

    然后我们拼接所有的兴趣,得到最终的用户兴趣 representation

    $ \mathbf{\vec x}^t = \left[a_l^t \mathbf{\vec l}^t, a_{s_1}^t \mathbf{\vec s}_1^t,\cdots,a_{s_4}^t \mathbf{\vec s}_4^t\right] $

    这里有几点注意:

    • 由于兴趣都来自历史到店,因此我们为 query $ \mathbf{\vec q}^t $ 和各个兴趣添加了一个 dropout layer,从而避免在计算注意力权重之前过拟合。
    • 其次,当这些兴趣捕获不同的 pattern 时,我们通过加权拼接来聚合他们,从而保留独特的模式。
    • 此外,我们在注意力权重上放弃了 softmax 来改善重要模式的表达能力。
  5. Prediction Layer:我们将 $ \mathbf{\vec q}^t $ 和 $ \mathbf{\vec x}^t $ 进行拼接,然后馈入 MLP

    模型的输出为交叉熵:

    $ \mathcal L = -\sum_{i=1}^N y_i\times \log p(y_i) + (1-y_i)\times \log (1-p(y_i)) $

    其中 N 为所有候选POI(在所有候选里,只有一个 positive )。

    模型整体架构如下图所示。

27.2 实验

  1. 数据集:两个公开的、真实的数据集,来自于 NewYork city: NYCTokyo: TKY 。 每个到店包含:用户 IDPOI ID、类目ID、经度、纬度。

    数据处理:删除到店人数少于 5POI,并且对每个用户保留他/她最近的 500 个到店。

    评估方式:留一法,每个用户保留最近一次的到店作为测试集,剩余的到店用户训练集和验证集。然后从用户未到店的 POI 中挑选 20 个作为负样本。评估指标为 Acc@kMRR@k

  2. 评估结果:

    ST-PILL :只有长期兴趣的 ST-PIL 模型。 ST-PILS:只有短期兴趣的 ST-PIL 模型。

    • ST-PIL 明显优于其它方法。
    • ST-PILS 优于 ST-PILL,而 ST-PIL 是最好的。这表明同时融合长期兴趣和短期兴趣的价值。

  3. 长期模块的 attention 研究:att-qk 表示长期模块 attention 且包含 queryatt-k 表示长期模块 attention 但是不包含 queryseq-avg 表示长期模块不使用注意力而是取均值。

    L 表示仅使用长期模块而没有短期模块,L+S 表示同时使用长期模块和短期模块。

    结论:带 query 的注意力机制效果最佳。

  4. 短期模块的四种兴趣研究:依次采用不同的短期兴趣组合,从而评估这些短期兴趣的效用。

    • 就单个兴趣而言,空间周期性(S2)和时空周期性(S4)优于其它两个,表明它们的影响力强于序列效应和时间周期性。也就是,当用户选择某个区域的 POI 时,他/她更可能去之前访问过的 POI
    • 就组合兴趣而言,ST-PILS 的整体性能优于任何单个短期兴趣。此外,当我们逐渐增加四个短期兴趣时,效果越来越好。这表明这些兴趣是互补的。

  5. 未来工作:设计更加自动化的方法来代替构建不同序列的预操作。

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

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

发布评论

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