【论文阅读】ST-PIL: Spatial-Temporal Periodic Interest Learning for Next Point-of-Interest Recommendation

Metadata

authors:: Qiang Cui, Chenrui Zhang, Yafeng Zhang, Jinpeng Wang, Mingchen Cai
container:: Proceedings of the 30th ACM International Conference on Information & Knowledge Management
year:: 2021
DOI:: 10.1145/3459637.3482189
rating:: ⭐⭐⭐
share:: false
comment:: 模型主体为 LSTM,分别学习长期和短期的用户行为模式,并通过 Attention 融合


前言

CIKM,2021:ST-PIL: Spatial-Temporal Periodic Interest Learning for Next Point-of-Interest Recommendation

问题描述

分别给定用户集合U={u1,u2,,uU}U = \{ u_1, u_2, \cdots, u_{\vert U \vert} \}, POI 集合P={p1,p2,,pP}P = \{ p_1, p_2, \cdots, p_{\vert P \vert} \}以及类别集合C={c1,c2,,cC}C = \{ c_1, c_2, \cdots, c_{\vert C \vert} \},其中每个位置pip_i都有一个对应的(lat,lon)(lat, lon)坐标相关联。

check-in)一个用户uutt时刻的 check-in 可以表示为ht=(pt,ct,wt,mt,gt)h^t=(p^t,c^t,w^t,m^t,g^t),分别表示地点,类别,星期,小时以及地区。

user trajectory)用户轨迹是由特定用户的一系列时间顺序的签到记录来定义的,即H={h1,h2,,ht1}H = \{ h^1, h^2, \cdots, h^{t-1} \}

next POI recommendation)给定用户uu的活动轨迹HH,预测用户uu最可能去的 POI top-kk

OverView

通过对用户 POI 访问轨迹及其上下文信息(如时间、空间)的研究,可以对 POI 的预测提供帮助:

  1. 用户的活动受到时间的限制,并表现出天和小时的模式。例如一些用户会在周末去度假;一些用户会在晚上去餐厅;
  2. 用户在不同区域经常表现出特定的行为模式;
  3. 用户会在一个特定的时间访问同一个 POI,即小时维度上的模式。

论文提出 Spatial-Temporal Periodic Interest Learning network (ST-PIL),分别学习长期和短期的用户行为模式。充分考虑周期性,学习空间、时间上下文信息,构建了日、小时、区域和小时区域粒度的周期性数据。

ST-PIL

模型架构如下图所示:

Embedding Layer

论文使用 Geohash-5 对 GPS 位置进行编码,得到G={g1,g2,,gG}G = \{ g_1, g_2, \cdots, g_{\vert G \vert} \}。时间信息表示为 day of weekW={w1,,w7}W = \{ w_1, \cdots, w_7 \}以及小时时间M={m1,,m24}M = \{ m_1, \cdots, m_{24} \}

Geohash 将 GPS 空间信息表示区域信息

Long-Term Module

在长期模块中,论文使用 day of week 作为时间上下文信息,并使用层内注意力来学习长期兴趣特征。

首先,论文构建与用户签到序列长度相同的每日掩码序列,并将所有签到序列按天划分,得到 daily embedding。例如,使用序列d=[1,0,1,,0]d=[1,0,1,\cdots,0]表示用户在星期一发生的访问行为,以此进行按天为单位的划分。接着通过平均池化操作并进行全连接,得到 7 天的模式特征L=[l1;l2;;l7]\boldsymbol{L} = [\boldsymbol{l}_1; \boldsymbol{l}_2; \cdots; \boldsymbol{l}_7]

之后,论文应用 attention 获取每日模式的层次特征,query 向量为:

qt=[pt,ct,wt,mt,gt]\boldsymbol{q}^t = [\boldsymbol{p}^t,\boldsymbol{c}^t,\boldsymbol{w}^t,\boldsymbol{m}^t,\boldsymbol{g}^t]

并应用 Bahdanau attention:

ejt=veTtanh(V1qt+V2ljt)et=softmax({e1t,e2t,,e7t})lt=j=17ejtljt\begin{aligned} e_j^t &= \boldsymbol{v}_e^T \tanh(\boldsymbol{V}_1\boldsymbol{q}^t + \boldsymbol{V}_2\boldsymbol{l}_j^t) \\ \boldsymbol{e}^t &= \text{softmax}(\{ e_1^t, e_2^t, \cdots, e_7^t \}) \\ \boldsymbol{l}^t &= \sum_{j=1}^7 e_j^t \boldsymbol{l}_j^t \end{aligned}

其中ve,V1,V2\boldsymbol{v}_e, \boldsymbol{V}_1,\boldsymbol{V}_2为可学习权重矩阵。

Short-Term Module

短期模块在捕获基本的顺序模式和上下文感知模式方面起着重要的作用,例如,小时、区域和小时区域周期模式。

上图展示了短期序列St={S1t,S2t,S3t,S4t}S^t = \{ S_1^t, S_2^t, S_3^t, S_4^t \}的生成过程。具体来说,当前时间步为t=36t=36,小时时间为mt=23m^t=23,区域为gt=47g^t=47

  • S1S_1为用户最近访问的 POI 序列;
  • S2S_2为用户最近访问的当前区域内的 POI;
  • S3S_3为用户最近访问的小时时间接近的 POI;
  • S4S_4S2S_2S3S_3条件的交集;

之后,对于每个短期序列应用 LSTM 获取特征信息:

skt=LSTM(Skt),k={1,2,3,4}\boldsymbol{s}_k^t = \text{LSTM}(S_k^t), \quad k = \{1,2,3,4\}

由于每个序列都意味着一个特定的移动模式,论文使用四个 LSTM 而不是一个来避免碰撞。

Inter-level Attention

经过以上步骤,在当前时间步中共获得了 5 个特征{lt,s1t,s2t,s3t,s4t}\{ \boldsymbol{l}_t, s_1^t, s_2^t, s_3^t, s_4^t \},应用 Bahdanau attention:

alt=vaTtanh(V3qt+V4lt)a_l^t = \boldsymbol{v}_a^T \tanh(\boldsymbol{V}_3\boldsymbol{q}^t + \boldsymbol{V}_4\boldsymbol{l}^t)

其中va,V3,V4\boldsymbol{v}_a, \boldsymbol{V}_3,\boldsymbol{V}_4为可学习权重矩阵,alta_l^tlt\boldsymbol{l}^t的权重。类似地,可以得到其他特征的权重:

xt=[altlt,as1ts1t,as2ts2t,as3ts3t,,as4ts4t]x^t = [a_l^t\boldsymbol{l}^t, a_{s1}^ts_1^t, a_{s2}^ts_2^t, a_{s3}^ts_3^t,, a_{s4}^ts_4^t]

最后得到了层次间特征xtx^t

Prediction Layer

最后将 query 向量以及最终特征输入 MLP 得到输出:

yt=MLP([qt,xt])y^t = MLP([\boldsymbol{q}^t, x^t])

损失函数为交叉熵损失函数:

L=i=1Nyilog(p(yi)+(1yi)log(1p(yi)))\mathcal{L} = -\sum_{i=1}^N y_i \cdot \log(p(y_i) + (1 - y_i) \cdot \log(1 - p(y_i)))

实验

Datasets

  • NYC
  • TKY

Results

Ablation Study

总结

模型主体仍是基于 LSTM,主要的创新点在于分别学习长期和短期的用户行为模式,即考虑每天,每小时的模式特征,同时从消融实验看,在短期模式中的 4 个特征也有一定帮助。

参考资料