前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WWW'21推荐系统:从异构的时间模式中学习用户偏好

WWW'21推荐系统:从异构的时间模式中学习用户偏好

作者头像
秋枫学习笔记
发布2022-09-19 11:08:56
6800
发布2022-09-19 11:08:56
举报
文章被收录于专栏:秋枫学习笔记

点击蓝字关注,提升学习效率

title:Learning Heterogeneous Temporal Patterns of User Preference for Timely Recommendation

link:http://xxx.itp.ac.cn/pdf/2104.14200.pdf

from:WWW 2021

1. 导读

本文主要是将序列中的时间因素作为特征考虑到模型中,从而发掘时间变化模式。现有研究将时间信息视为单一类型的特征,并侧重于如何将其与用户对商品的偏好相关联。然而,它们不足以充分学习时间信息,因为用户偏好的时间模式通常是异构的。用户对特定商品的偏好可能

  • 1)周期性增加或
  • 2)在近期重大事件的影响下随时间演变

这两种时间模式中的每一种都具有一些独特的特征,在本文中,首先定义了在时间感知推荐系统中应考虑的两种用户偏好时间模式的独特特征。然后提出了一种新颖的推荐系统,称为 TimelyRec,它联合学习用户偏好的异构时间模式,考虑所有定义的特征。

2. 方法

本文提出了一种新的时间感知推荐系统,称为 TimelyRec(图 2),它共同考虑了定义的异构时间模式的所有特征。TimelyRec 将用户𝑢、商品𝑖和时间戳𝑡的三元组作为输入,然后预测𝑢在时间𝑡与𝑖交互的概率。为此,TimelyRec 由两个编码器的级联组成,多方面时间编码器(MATE)编码关于时间周期模式的多方面信息,以及时间感知历史编码器(TAHE)模拟用户偏好的演变模式。最后,TimelyRec 考虑用户、商品和所有时间相关信息的非线性交互来计算概率。

2.1 多方面时间编码器MATE

为了对给定时间戳 𝑡 的周期模式进行建模,MATE 首先将 𝑡 作为输入,并为每个周期粒度构建个性化的周期信息。然后MATE捕捉到各种个性化周期信息中潜在的不规则性,并根据任务和用户自适应地采用它们。

2.1.1 个性化周期信息

为了为每个粒度构建个性化的周期信息,首先将每个周期粒度的时间片表示为embedding。然后,因为同一时刻可以根据用户的不同而具有不同的含义,TimelyRec用用户embedding来个性化时间片embedding。本节中使用“月”作为周期信息粒度的示例,但相同的方法适用于其他方法(即星期几、日期和小时)。时间戳𝑡月份的个性化周期信息如下,W是可学习权重,U是用户embedding,

\circ

是哈达玛积,

E_{Month}(t)

是时间戳t的月份的时间片embedding。

E_{Month}^u(t) \in \mathbb{R}^{d \times 1}=(W_{Month}U_u) \circ E_{Month}(t)

2.1.2 捕捉周期性的模式的不规则性

源自周期性例程的一些用户行为可能与常规模式略有不同。这种不规则行为不太可能显着偏离常规模式。例如,每年 11 月到去年都购买过冬衣的用户,今年 10 月购买冬衣的可能性高于 9 月。在这方面,基于上面定义的个性化周期信息,通过根据与目标时间片的距离合并周围时间片来捕捉用户偏好周期性模式的不规则性。

本文提出一种新的注意力计算方式,称为渐进注意力(图 3)。渐进式注意力在一定范围内自适应地结合目标时间片和周围时间片,以创建一个表示周期信息粒度为𝑡的表征。𝑡 的周期信息粒度的最终表征如下,其中

T^{\prime u}_{Month}(t,j) \in \mathbb{R}^{d \times 1}

是整合时间戳t和的个性化表征和时间t周围2j个时间片的保证后的总体表征。

\Delta_{Month}(t,n)

表示时间t+n月,

r_M

表示最大时间范围。

\begin{aligned} T^{\prime u}_{Month }(t, 0) &=E_{\text {Month }}^{u}(t) \\ T^{\prime}{ }_{\text {Month }}^{u}(t, j) &=\frac{\sum_{n=-j}^{j} E_{\text {Month }}^{u}\left(\Delta_{\text {Month }}(t, n)\right)}{2 j+1} \quad(\text { for } j \neq 0) \end{aligned}
\begin{array}{c} a_{i}=\frac{\exp \left(E_{\text {Month }}^{u}(t) \cdot T_{\text {Month }}^{\prime u}(t, i) / \sqrt{d}\right)}{\sum_{i^{\prime}=0}^{r_{M}} \exp \left(E_{\text {Month }}^{u}(t) \cdot T_{\text {Month }}^{\prime u}\left(t, i^{\prime}\right) / \sqrt{d}\right)} \\ T_{\text {Month }}^{u}(t)=\sum_{i=0}^{r_{M}} a_{i} T_{\text {Month }}^{\prime u}(t, i) \end{array}

渐进注意力机制可以关注到周围时间片的信息。此外,注意力分数取决于用户,因为渐进注意力中使用的周期信息是为用户个性化的。因此,渐进式的注意力会在更接近目标时间片且对用户更重要的周围时间片上给予更多的权重。

2.1.3 组合周期信息的表征

将前面描述的一系列过程应用于周期信息的每个粒度,得到四个周期表征

T_{Month}^u(t)

,

T_{DayOfWeek}^u(t)

T_{Day}^u(t)

T_{Hour}^u(t)

。将四个表征进行组合得到最终的表征,公式如下,其中σ为sigmoid函数,W为可学习参数。

\begin{aligned} C &=\{\text { Month, DayOfWeek, Date, Hour }\} \\ b_{i} &=\sigma\left(W U_{u} \cdot T_{i}^{u}(t)\right) \text { for } i \in C \\ T^{u}(t) &=\sum_{i \in C} b_{i} T_{i}^{u}(t) \end{aligned}

2.2 时间感知的历史编码器TAHE

用户对某商品的偏好可能会随着时间的推移在重要的近期事件的影响下发生变化,例如用户最近的交互或创建商品时间趋势的事件。为了考虑用户偏好的这些时间模式,TAHE 将目标用户最近的交互和交互的时间位置组合成一个潜在表征。

2.2.1 近期交互整合

为了有效地总结用户最近的交互,TAHE 使用 MATE 的输出来计算每次最近交互的时间与目标时间之间的相似度。这个概念背后的关键思想是,在最近的交互中,那些在与目标时间具有相似周期性模式的时间进行的交互可能更重要。

这部分作者采用不同的注意力计算方式,称为基于时间的注意力,根据用户与目标时间的相似性独立地合并每个用户最近的交互。具体来说,基于时间的注意力根据 MATE 的输出计算目标用户最近的每次交互与目标时间之间的相似度得分。然后根据相似度聚合每次最近交互的商品信息,以创建用户交互历史的最终表征。公式如下,其中

t_j^u

表示用户u在时间t之前的第j次最近交互,

I_{i_j^u}(t)

表示交互商品表征。

\begin{aligned} \cos \left(x_{1}, x_{2}\right) &=\frac{x_{1} \cdot x_{2}}{\left|x_{1}\right|\left|x_{2}\right|} \\ c_{j}^{u}(t) &=\frac{\cos \left(T^{u}(t), T^{u}\left(t_{j}^{u}\right)\right)+1}{2} \\ H^{u}(t) &=\sum_{j=1}^{l} c_{j}^{u}(t) I_{i_{j}^{u}}(t) \end{aligned}

2.2.2 交互的时序位置

用户对物品的兴趣容易受到物品的时间趋势的影响,例如时尚或电影的发行。如果模型能够注意到交互的时间位置,那么它就能够考虑一个商品何时被用户广泛消费。

因此,采用nlp中的位置编码来表示交互的时间位置。在可训练的位置embedding和正弦位置编码中,本文采用不需要训练的正弦位置编码,因此即使是看不见的时间位置也能适应。因此,时间戳𝑡的时间位置编码𝑇𝐸(𝑡)定义如下,TE是时间戳的编码,

I_i

是商品的embedding,

I_i(t)

是结合了位置编码的商品embedding,α是可学习的权重参数。

\begin{aligned} T E(t, j) &=\left\{\begin{array}{ll} \sin \left(\frac{t / 3600}{10000^{j / d}}\right), & \text { if } j \text { is even } \\ \cos \left(\frac{t / 3600}{10000^{(j-1) / d}}\right), & \text { if } j \text { is odd } \end{array}\right.\\ T E(t) &=[T E(t, 0), T E(t, 1), \ldots, T E(t, d-1)]^{\top} \\ I_{i}(t) &=I_{i}+\alpha T E(t) \end{aligned}

2.3 预测

最后,为了计算交互概率,TimelyRec 结合了目标时间戳

T^u(t)

的表征,目标用户的交互历史

H^u(t)

的表征,用户embedding

U_u

和目标商品在目标时间的表征

I_i(t)

。TimelyRec 通过使用 ReLU作为激活函数的多层感知器 (MLP) 来考虑它们的非线性交互。具体如下,其中[]是拼接,σ表示sigmoid。

\begin{array}{l} x_{u i t}=\left[U_{u}, I_{i}(t), T^{u}(t), H^{u}(t)\right] \\ \hat{y}_{u i t}=\sigma\left(\operatorname{MLP}\left(x_{u i t}\right)\right) \end{array}

2.4 模型优化

L=-\frac{1}{N} \sum_{(u, i, t) \in D}\left(y_{u i t} \log \hat{y}_{u i t}+\left(1-y_{u i t}\right) \log \left(1-\hat{y}_{u i t}\right)\right)

最后采用交叉熵损失函数,进行训练。

3. 结果

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 秋枫学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2.1 多方面时间编码器MATE
    • 2.1.1 个性化周期信息
      • 2.1.2 捕捉周期性的模式的不规则性
        • 2.1.3 组合周期信息的表征
        • 2.2 时间感知的历史编码器TAHE
          • 2.2.1 近期交互整合
            • 2.2.2 交互的时序位置
            • 2.3 预测
            • 2.4 模型优化
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档