authors:: Nicholas Lim, Bryan Hooi, See-Kiong Ng, Yong Liang Goh, Renrong Weng, Rui Tan container:: Proceedings of the 45th international ACM SIGIR conference on research and development in information retrieval year:: 2021 DOI:: 10.1145/3477495.3531989 rating:: ⭐⭐⭐⭐ share:: false comment:: 框架为 LSTM,在隐藏层加入全局时空信息,以多任务预测的形式同时预测 POI 以及 POI 所在区域,并通过区域对 POI 预测进行指导,建立层次结构预测 POI。
SIGIR 2022:Hierarchical multi-task graph recurrent network for next POI recommendation
在以前的工作中,用户-POI 矩阵的高度稀疏性,使得学习变得困难,预测的准确率受到影响。
用户通常只访问数据集中少量的 POI。
论文将公开的地理位置编码系统Geohash对 POI 位置进行编码,G@P将其映射到各自的网格单元,可以发现,随着P的减小,稀疏度(矩阵中 0 的占比)也随之减小,另外一方面,从一些区域预测(预测下一个 POI 所在的区域)任务上看,随着P的减小,准确率不断提高。
因此,论文希望通过学习下一个 POI 区域的分布,并以此更好地进行下一个 POI 的推荐任务。提出 Hierarchical Multi-Task Graph Recurrent Network (HMT-GRN),以多任务的形式学习用户-POI 矩阵和用户-G@P矩阵,并预测下一个 POI 以及G@PG@PG@P区域,使用 Hierarchical Beam Search (HBS)进行分层搜索,减小搜索空间,更好地预测下一个 POI。
此外,论文通过 Graph Recurrent Network (GRN)学习序列之间的依赖关系以及全局的 POI-POI 时空关系。
主要贡献如下:
模型架构如下图所示:
就像前面提到的,论文的主要目的在于学习稀疏矩阵,用户-POI 矩阵和用户-G@P矩阵,以此更好地预测下一个 POI。因此论文在预测 POI 的基础上,同时进行 POI 所在区域G@P的预测,因此共包括 6 个任务TK={G@2,G@3,G@4,G@5,G@6,POI}。
对于每个任务tk∈{G@2,G@3,G@4,G@5,G@6,POI},使用交叉熵损失函数:
虽然预测的事件不是独立的,但我们使用多任务学习框架,通过独立建模分布来有效地缓解稀疏性问题。
能大概理解为什么要弄这么一个选择层,但是用户本身就很少访问未访问的 POI,是不是大部分走的都是 ①?而 ② 做了那么多工作是不是大部分其实就不进行?虽然看后面的实验部分确实是加了效果更好。
接下来,论文提出了 GRN 模块来替换前面 HMT-RN 模型中的 LSTM,增加对全局 POI-POI 关系的学习。
在现有的工作中,递归模型(如 LSTM)被证明在学习每个用户 POI 序列的顺序依赖关系方面是有效的,然而,与图神经网络(例如,GAT)相比,它并没有直接学习全局 POI-POI 关系。另一方面 GAT 也无法学习到序列之间的依赖关系。
因此论文通过 GRN 来学习:① 序列之间的依赖关系;② 全局 POI-POI 关系。具体来说,论文对 Dimensional GAT (DGAT)[2]进行拓展。添加(a)循环结构并(b)通过利用区域和时隙来连接时空图中的 POI 来缓解数据的稀疏性。DGAT 定义如下:
此外,为了学习全局依赖关系,对 LSTM 中的公式进行进行如下计算修改:
原始 LSTM 公式如下:
最后论文举了一个例子来说明模型的优点,其中图中 ✅ 位置和 ❌ 位置分别为使用 HMT-GRN 模型以及直接使用稀疏 POI 矩阵得到的 POI 预测,虽然类型正确但是区域错误。
总结一下,论文主要是通过多任务的形式,学习用户-POI 矩阵和用户-G@PG@PG@P矩阵,预测下一个 POI 以及 POI 所在区域,并根据预测区域对 POI 进行指导;另一方面,具体模型中,还是通过在 LSTM 中隐藏层更新过程中加入全局时间以及空间信息。