论文出处:ACM Transactions on Information Systems (TOIS) SCI一区 CCF-A期刊
论文地址:[2304.07041] A Diffusion model for POI recommendation
论文代码:Yifang-Qin/Diff-POI: The official PyTorch implementation of Diff-POI.
目录
摘要
研究背景与重要性
现有方法及其局限性
核心问题与挑战
扩散模型的潜力
本文解决方案(Diff-POI)
贡献总结
相关工作
兴趣点推荐
图神经网络
扩散模型
准备工作
问题定义
时空图构造
扩散理论
方法
时空序列图编码器
地理编码器
扩散采样模块
预测与输出
实验
实验设置
总体性能
消融实验
案例研究
效率分析(附录)
结论
摘要
下一个兴趣点(POI)推荐是基于位置的服务中的一项关键任务,旨在为用户的下一个目的地提供个性化建议。先前关于POI推荐的研究主要集中在用户空间偏好的建模上。然而,现有的利用空间信息的工作仅基于用户以前访问过的位置的汇总,这阻碍了模型在新区域推荐poi。在许多情况下,基于位置的方法的这种特性会损害模型的性能。此外,将顺序信息整合到用户的空间偏好中仍然是一个挑战。在本文中,我们提出了diffi-POI:一个基于扩散的模型,该模型对用户的空间偏好进行采样,以推荐下一个POI。受扩散算法在分布采样中广泛应用的启发,diffi-poi采用两个定制的图编码模块对用户的访问序列和空间特征进行编码,然后采用基于扩散的采样策略来探索用户的空间访问趋势。我们利用扩散过程及其反向形式从后验分布中抽样,并优化相应的分数函数。我们设计了一个联合训练和推理框架来优化和评估所提出的Diff-POI。在四个真实世界POI推荐数据集上进行的大量实验表明,我们的diffi-POI优于最先进的基线方法。对Diff-POI的进一步消融和参数研究揭示了所提出的基于扩散的采样策略的功能性和有效性,以解决现有方法的局限性。
研究背景与重要性
这部分介绍了基于位置的社交网络(LBSN)的兴起(如Yelp、Foursquare),以及POI推荐系统的核心目标:通过用户历史行为(签到记录)提供个性化的位置推荐,缓解信息过载问题。POI推荐与传统推荐的区别在于需建模地理特征(如POI位置对用户行为的影响)。
现有方法及其局限性
-
传统方法:基于马尔可夫链、矩阵分解(MF)或RNN/LSTM的序列建模(如ST-RNN)。
-
图神经网络方法:利用GNN建模POI间的转移关系(如STGCN、GSTN)。
-
现有方法多依赖历史位置聚合,导致推荐偏向用户熟悉区域,难以满足探索新区域的需求(如游客或偶尔探索的用户)。
核心问题与挑战
-
保守型用户(User 1):常访问固定区域(如家庭-工作地),传统聚合方法有效。
-
探索型用户(User 2/3):倾向于访问新区域,但现有方法无法捕捉这种动态偏好。
-
关键挑战:如何建模从历史分布到未来偏好分布的复杂映射关系?
扩散模型的潜力
-
扩散模型在图像生成、NLP等领域已证明能建模复杂分布转换(如DDPM、Score-SDE)。
-
其核心优势:通过前向-反向扩散过程分解分布间的转移路径,适合解决POI推荐中“历史→未来”的分布映射问题。
本文解决方案(Diff-POI)
Diff-POI的三大创新:
-
时空图编码器:通过注意力机制融合用户访问序列的时空间隔(时间差、距离差)。
-
扩散采样模块:用反向SDE从用户特定后验分布中采样空间偏好,生成个性化位置原型。
-
联合优化框架:结合交叉熵损失和Fisher损失,优化推荐和采样过程。
贡献总结
-
提出首个基于扩散模型的POI推荐框架。
-
设计时空图编码器,增强序列建模能力。
-
通过扩散采样解决新区域推荐问题。
-
在4个数据集上验证有效性(Recall@10提升最高12%)。
相关工作
兴趣点推荐
-
早期方法:基于矩阵分解(MF)和马尔可夫链(如因子分解马尔可夫链),但仅能捕捉浅层交互。
-
深度学习方法:
-
RNN/LSTM变体(如ST-RNN、STGN)通过时空门控机制改进序列建模。
-
注意力机制(如ARNN)和Transformer架构(如GeoSAN、STAN)进一步融合地理坐标和相对时空信息。
-
-
核心问题:现有方法仍依赖历史访问的聚合表示,难以推荐新区域。
图神经网络
-
通用推荐框架:如LightGCN(简化图卷积)、DGCF(解耦表征)和SR-GNN(序列图建模)。
-
POI专用方法:
-
STGCN:利用关系图卷积建模用户-POI多元关系。
-
GSTN:构建转移图和距离图,显式编码POI空间关系。
-
DisenPOI:通过对比学习解耦地理和序列影响。
-
-
局限性:基于距离图的嵌入学习会导致“邻近偏好”,抑制探索性推荐。
扩散模型
-
理论基础:
-
DDPM和Score-SDE框架将扩散过程视为随机微分方程的求解。
-
反向过程等价于基于分数函数的Langevin采样。
-
-
跨领域应用:
-
图像生成(Diffusion-LM)、文本生成(DiffWave)、图生成(DiGress)。
-
在推荐系统中的潜力尚未充分探索,尤其是对分布迁移的建模能力。
-
-
本文切入点:首次将扩散过程用于POI推荐中的用户空间偏好采样。
准备工作
问题定义
-
设POI集合为
,用户集合为
。
-
对用户u,给定其历史轨迹
(含POI和访问时间戳),目标是预测下一个POI
。
-
关键特征:POI间的地理距离矩阵
,其中
(基于半正矢公式计算)。
时空图构造
为建模时空关系,论文定义两类图结构:
-
转移图(Transition Graph)
:节点
为用户
访问过的POI,边
表示连续访问关系。
-
距离图(Distance Graph)
:节点
为所有POI,边
表示两地距离小于阈值(如1km),边权
为实际地理距离。
扩散理论
基于随机微分方程(SDE)的扩散过程形式化描述:
-
前向扩散(加噪过程):离散形式为马尔可夫链,条件概率定义为:
连续形式对应Ito SDE:
-
反向扩散(采样过程):
反向SDE形式为:
其中为分数函数(score function),通过神经网络
估计。
方法
如图所示,Diff-POI由三个关键模块组成,分别是:(A)一个时空序列图编码器,它将连续访问之间的距离和时间间隔与顺序图编码结合在一起;(B)一个基于距离的POI图编码器,它对距离图进行图卷积,从而产生每个POI的位置嵌入;(C)一个上下文驱动的扩散模块,它获得用户特定的位置原型,然后采用基于扩散的采样策略,对用户的空间偏好进行采样。
时空序列图编码器
-
输入:用户访问序列图(节点 = 访问过的POI,边 = 连续访问关系(如 POI₁ → POI₂)边特征 = 时间差和地理距离) + 时空间隔
-
操作:
-
通过嵌入层将离散的时空间隔转为向量
-
双向注意力聚合(同时考虑前驱和后继POI的影响)
-
用自注意力生成最终用户表征
-
-
输出:用户嵌入向量(
维)
地理编码器
-
输入:全量POI距离图(节点 = 所有POI,边 = POI间距离 < 阈值(如1km),边权重 = 实际距离的指数衰减值 )
-
操作:
-
多层图卷积(GCN)传播地理信息
-
跨层均值池化
-
-
输出:每个POI的地理嵌入
扩散采样模块
-
输入:用户嵌入
+ 历史POI地理嵌入
-
操作:
-
前向过程:对真实目标POI的地理嵌入逐步加噪
-
反向过程:
-
用MLP网络预测噪声(条件注入
)
-
通过SDE求解器从噪声中采样空间偏好
-
-
-
输出:用户未来可能偏好的空间位置向量(
维)
预测与输出
-
组合预测:
推荐分数 = α*(用户偏好·POI特征) + (1-α)*(空间偏好·POI地理特征)
组成部分 | 反映信息 | 是否用户相关 | 是否空间相关 | 数据来源模块 |
---|---|---|---|---|
用户偏好 | 时序行为规律 | ✔️ | ❌ | 时空图编码器 |
POI特征 | 静态属性 | ❌ | ❌ | 嵌入层 |
空间偏好 | 未来区域倾向 | ✔️ | ✔️ | 扩散采样模块 |
POI地理特征 | 空间上下文 | ❌ | ✔️ | 地理编码器 |
-
最终输出:
对所有候选POI计算分数,输出Top-K推荐列表
(例如:[博物馆:0.8, 公园:0.7, 餐厅:0.6]
)
-
当α→1:推荐完全依赖用户历史行为(适合保守用户)
推荐结果 ≈ 与历史访问相似的POI
-
当α→0:推荐侧重空间偏好(适合探索型用户)
推荐结果 ≈ 符合未来空间倾向的新POI
-
实验值:论文通过网格搜索确定α=0.5最优(平衡两种信号)
实验
实验设置
使用4个真实LBSN数据集,统计信息如下:
数据集 | 用户数 | POI数 | 签到数 | 平均访问长度 |
---|---|---|---|---|
Gowalla | 10,162 | 24,237 | 456K | 44.95 |
Foursquare-SIN | 2,321 | 5,596 | 194K | 83.63 |
Foursquare-TKY | 2,293 | 15,177 | 494K | 215.79 |
Foursquare-NYC | 1,083 | 9,989 | 179K | 165.71 |
预处理:
-
5-core过滤(用户和POI至少5次访问)
-
按时间戳划分训练/验证/测试集(8:1:1)
对比方法
-
传统方法:MF、GRU4Rec
-
图推荐方法:LightGCN、DGCF、SR-GNN
-
POI专用方法:GeoIE、LSTPM、STAN
-
SOTA方法:SGRec、DRAN
评估指标
-
Recall@K:真实POI出现在Top-K的比例
-
NDCG@K:考虑排序位置的加权得分
-
测试协议:全量POI候选(非采样评估)
总体性能
核心结论
-
扩散采样有效性:Diff-POI在所有数据集上显著优于基线(p<0.05)
-
探索能力验证:在用户历史访问稀疏区域(如TKY数据集)提升最显著
-
时空建模优势:比纯序列模型(LSTPM)和纯图模型(SGRec)更全面
消融实验
组件分析
变体名称 | 修改内容 | Recall@10下降幅度 |
---|---|---|
W/O-Sampling | 直接使用初始原型 | 3.3% |
W/O-Condition | 去除用户条件 | 2.1% |
W/O-GeoEncoder | 替换为随机初始化的POI嵌入 | 6.7% |
超参数影响
-
α值(序列vs空间权重):
$\alpha=0.5$时达到最优(平衡历史行为与探索需求) -
扩散步数:
超过100步后收益递减(验证VP-SDE的高效性)
案例研究
用户分组测试
结果:
-
对探索用户,Diff-POI比最佳基线提升14.2%
-
对保守用户,性能与DRAN相当(差异<1%)
采样过程可视化
用户A(保守型):采样轨迹快速收敛到历史访问区域
用户C(探索型):采样轨迹逐步偏离历史区域,指向新商圈
推荐示例对比
用户类型 | 传统方法推荐结果 | Diff-POI新增推荐 |
---|---|---|
游客 | 酒店周边1km内餐厅 | 3km外热门景点 |
上班族 | 常去咖啡馆的同品牌分店 | 邻近新开的共享办公空间 |
效率分析(附录)
-
训练时间:比DRAN长20%(主要开销在扩散采样)
-
推理速度:单用户采样耗时<10ms(满足实时推荐需求)
结论
本文提出了一种新的基于图的POI推荐模型,即Diff-POI,利用时空过渡图对用户的位置偏好进行建模。Diff-POI配备了一个定制的序列图编码器,可以描述用户的时空轨迹,然后采用基于扩散的采样策略对用户的位置偏好进行采样。在四个真实数据集上的综合实验证明了所提出的Diff-POI框架的有效性及其优于现有最先进的基线模型。消融和案例研究进一步提供了一个直观的观点,即采样过程如何描述用户隐藏的位置偏好。