本文对中科院自动化所和华盛顿大学的研究人员合作发表在WWW 2021的论文《STAN: Spatio-Temporal Attention Network for Next Location Recommendation》进行解读。
基于地点的移动端服务商,譬如Yelp、Uber,要从大量的用户签到和轨迹信息中学习用户的行程习惯,对用户下一个访问地点进行预测,并以此为用户的下一步行程需求进行规划和推荐。然而,现有模型对时空信息的利用存在局限性,譬如只利用前后一步的时间和空间差[1,2],人为划分空间区域[3]或者只聚合距离较近的地点[4],并对访问地点的频率不加考虑。本文旨在提出一种基于注意力机制的神经网络架构,考虑用户访问轨迹中每个访问点相较于整个过往访问轨迹的时空关系,以此对不相邻非连续但功能相近的访问点进行关联,打破以往仅仅关联连续、相邻访问点的限制。
问题背景和主要贡献
地点序列推荐任务过去主要依赖于马尔可夫模型和循环神经网络。最近两年,随着神经网络的发展,注意力机制和图模型逐渐被用在地点序列推荐任务中,其预测精度和召回率相较于过去的模型获得显著的提高。然而,当下的模型仍有以下三个局限:1)空间上不相邻且时间上非连续的访问点可能是功能相关的,然而过去的绝大多数模型只考虑空间上处于一个区域且时间上前后邻近的访问点的时空关联;2)空间上划分区域的方法使得模型对空间距离不敏感,不可避免地丢失了空间差信息和不相邻点的关联信息;3)过去模型没有充分考虑用户访问频率。
我们不妨截取真实数据中一位用户的轨迹片段进行可视化,以说明为何不相邻非连续的访问却有可能是时空和功能上高度相关的。在上图中,我们用0-6这7个阿拉伯数字分别表示7个地点,用一个时间轴将该用户访问的顺序和时间表示出来;其中,虚心坐标0、1、2分别代表家、公司、商场(根据GPS定位查找得出),而实心坐标代表餐馆。可以看到,这位用户总在周末逛商场、在工作日去公司,并且有就近就餐的习惯。显然,在这里,用户总在餐点去餐馆打卡,而不同的餐馆虽然相互地理位置和时间上不相邻,却反映类似的功能,因此在时空上呈现明显的关联性。这种关联性可以有效地帮助我们推断用户在某个具体的时空点如何规划下一步访问计划。
本文提出一种新的地点序列推荐的模型,STAN,即时空注意力网络:
STAN是第一个将用户访问轨迹中每个访问点相较于过往访问轨迹的直接时空差纳入地点序列推荐的模型,让STAN具备从全局轨迹层面上聚合时空不相邻访问点的能力。
离散化嵌入空间与时间差值时,STAN建立单位时间空间向量,使用插值方法替换空间网格划分区域的方法,对时空关联差值大小更加敏感。
STAN采用一种双层注意力架构:前一层聚合轨迹内相关访问点以更新地点表示;后一层根据当前时空点和轨迹内访问点的时空关联召回候选集中的地点。相同的地点可能在轨迹内重复出现,因此重复召回考虑了用户的访问频率。
STAN使用了平衡的样本采集器,缓解了正负样本不均衡问题。
STAN与其他State-Of-The-Art模型在四个真实数据集上的对比和消融实验表明,STAN可以有效提升召回率9-17%左右,并且提出的每一个架构改进均有提升效果。
问题定义
1、历史轨迹
模型与方法
实验
总结
可以加入下面的顶会投稿交流群,方便和同行学者实时交流(若群满请加微信aitechreview回复加顶会群~)。