《POI2Vec: Geographical Latent Representation for Predicting Future Visitors》
Shanshan Feng, Gao Cong, Bo An, Yeow Meng Chee. 2017,AAAI
Abstract
随着位置感知型(location-aware)社交媒体应用的日益普及,兴趣点(POI)推荐得到了广泛的研究。然而现有的大部分研究是从用户的角度出发,为用户推荐POI。相比之下,我们考虑一个新的研究问题,即预测未来某个时期访问特定POI的用户。问题的难点在于难以有效地学习POI的序列转换以及用户偏好,并将其整合从而进行预测。我们提出了一个新的能够结合地理因素影响的潜在表示模型POI2Vec,在建模用户流动行为的过程中,这是非常重要的。我们注意到现有的表示模型没有包含地理因素的影响,我们进一步提出一种方法来联合建模用户偏好和POI顺序转换的影响,以预测给定POI的潜在访问者。我们在2个真实的数据集上进行实验,证明我们提出的方法优于最新的POI预测和未来用户预测方法。
Introduction
现有研究:
- 关于用户移动行为和POI推荐的建模问题,Cho, Myers, and Leskovec 2011; Ye et al. 2011
- 用户流动性受到其最近访问点及个人兴趣的高度影响,Cheng et al. 2013
- word2vec,Mikolov and Dean 2013; Mikolov et al. 2013
- 利用word2vec模拟用户的连续签到,Liu, Liu, and Li 2016
- hierarchical softmax,Morin and Bengio 2005
- 对于分层softmax的每一项,构造合适的二叉树,Mnih and Hinton 2009
在POI2Vec中,每个POI被表示为一个潜在的低维空间中的向量,两个向量之间的内积反映了两个POI之间的相关性,利用分层的softmax来学习潜在的向量。
我们提出了一种新的能够结合POI地理坐标的构建二叉树的方法,即将POI分到不同的区域中,在每个区域的POI上构建一个二叉树。由于一个POI可能会影响领近地区的POI,因此我们将一个POI分配给多个邻近区域。在生成的二叉树中,一个POI可能会出现多次,来描述其和其他POI的关系。此外,我们还对用户的偏好进行建模,即每个用户用一个潜在向量表示。
我们通过考虑用户偏好和顺序迁移来共同学习用户和POI的潜在表示。为了预测POI的潜在访问者,我们考虑最近位置的用户和最近位置未知的用户。对最近位置已知的用户,我们结合用户偏好和序列迁移进行预测,对于最近位置未知的用户,仅考虑用户偏好。主要工作:
- 结合POI的地理影响,预测未来几小时内的潜在访问者。
- 结合用户偏好和POI序列影响来预测POI的未来访问者。
Related Work
- 位置推荐,Lian et al. 2014; Li, Ge, and Zhu 2016
- 基于协同过滤方法的位置推荐,Yuan et al. 2013a; Ye et al. 2011
- 基于因子分解模型,Cheng et al. 2012; Li et al. 2015
- 对某个位置的用户推荐问题,Yuan et al. 2013b; Zhao et al. 2015
- 利用马尔科夫链对序列的影响建模,Zhang, Chow, and Li 2014
- 利用隐马尔科夫链模型对序列的影响建模,Ye, Zhu, and Cheng 2013
- 利用因式分解的个性化马尔科夫链(FPMC)模拟个性化的POI迁移,Rendle, Freudenthaler, and Schmidt-Thieme 2010
- 使用度量嵌入(Metric Embedding)来建模用户偏好和POI迁移进行建模,Feng et al。2015
- 考虑兴趣点推荐的时间影响,Zhang and Wang 2015; Zhao et al. 2016; Liu et al. 2016
- 合并类别转换模式,He et al. 2016
- 利用word2vec进行产品推荐,Wang et al. 2015
- 利用word2vec对签到序列进行建模,Liu, Liu, and Li 2016
Future Visitor Prediction Problem
我们用
定义1: 考虑用户集合
POI2Vec Representation Model
POI2Vec序列转换模型
潜在的表示方法 神经网络语言模型(Mikolov and Dean 2013; Le and Mikolov 2014)的最新进展表明,潜在表示方法可以有效地捕捉到单词之间的顺序语义关系,我们通过对两个签到数据集的分析得出,POI频率分布也遵循幂律分布和词频分布。我们可以据此用word2vec对签到序列进行建模。
给定一个用户
对于每一个POI
其中,
我们采用分层的softmax,利用二叉树进行计算。二叉树的节点对应于每一个POI项。
纳入地理影响 地理影响是建模序列迁移和用户偏好的一个非常重要的因素,而现有的基于频率的softmax结构不能捕捉到地理影响。因此我们为POI2Vec模型开发了一种地理二叉树结构,将空间信息合并到二叉树中。由于附近的POI具有较高的相关性,因此应将它们在二叉树中的位置也安排的更近。我们将POI划分为二元区域的层次结构,使得附近的POI更可能聚集到同一个区域来。为构建POI的二叉层次结构,我们将每个区域递归地分割成两个相同大小的子区域,知道区域至少有一边的长度小于
为了将POI分配到其可能产生影响的多个区域,监狱用户的移动受到空间距离的影响,因此我们考虑了每个POI的影响区域。影响区域定义为以每个POI为中心的
由于影响区域
命题1: 在POI2Vec模型中,一个POI所属的区域数量为1,2或4
我们用
对于每个区域,我们根据POI的频率构建哈夫曼树(Mikolov and Dean 2013)。在生成的二叉树中,上层是空间区域,下层是每个区域的POI,如下图所示。一个POI可能会有多个路径,例如,
POI2Vec的两个优点:
- 在构建二叉树的过程中,考虑了POI地理因素的影响,是的同一地区节点下的POI在地理上更加接近。
- 与传统每个POI只能出现一次相比,一个POI可以在二叉树中出现多次。
概率估计 分层的softmax模型通过估计从根节点到叶节点的路径概率来近似softmax。在二叉树中,叶子结点是POI,其他节点是内节点。每个内节点被视为一个二进制分类器,叶子结点
二叉树中每一个内节点
其中
例如,在图Figure2中,
在POI2Vec模型中,由于每个POI都有多个所属区域,因此再生成树中一个POI可有多条路径。我们需要计算所有的概率。我们将
参数学习: POI2Vec模型的目标是使得观察到的所有连续POI的后验概率最大化,假设观测值彼此独立:
其中
为用户偏好拓展POI2Vec模型
用户偏好是建模用户移动性和预测目标POI潜在用户的另一个重要因素。我们拓展了POI2Vec模型来共同学习POI的用户偏好和序列迁移。与POI类似,每个用户
根据Feng et al. 2015可知,一些连续的POI之间时间间隔可能很大。我们规定对于在最近的时间间隔
其中,
对于存在上下文的check-in,其受到用户偏好和上下文的共同影响,假设用户偏好与上下文相互独立,则给定用户
根据上下文的存在与否,一个签到(check-in)的概率可计算为:
模型的目标是最大化所有check-in的后验概率:
其中,
预测未来的访问者
我们可以用学习到的用户
我们首先考虑最近几小时有签到记录的用户。给定时间点
聚合函数
对于过去几小时内没有签到记录的用户,我们只利用用户偏好来预测这些用户访问指定POI的可能性,由
对于每一个用户
我们按照分数对所有用户进行排名,并选择前K个用户作为目标位置的潜在访问者。
Experiments
数据集:
1. the Foursquare check-ins within Singapore (Yuan et al. 2013a)
2. the Gowalla check-ins within Houston (Liu et al. 2013)
预处理: 删除少于5个chenk-in纪录的用户和少于5个用户访问的POI。90%作为训练集,5%作为调整集,5%作为测试集。
目标:
1. POI预测任务中评估序列迁移的潜在表示的质量。
2. 评估未来游客预测的准确性。
参数设置:
时间域
维数
区域大小阈值
学习率0.005
序列转换的潜在表示
4个baseline的比较实验:
1. FMC:分解的分解马尔可夫链模型(Rendle,Freudenthaler和Schmidt-Thieme 2010),它利用矩阵分解来模拟顺序转换。
2. ME:矩阵嵌入模型(Feng et al。2015),
它将每个POI投射到一个潜在的欧几里得空间中的一个对象中。
3. NS:word2vec的负采样(Mikolov and Dean 2013),用于建模POI序列(Liu,Liu,Li 2016)。
4. HS:分层的softmax和哈夫曼树(Mikolov和Dean,2013)。
未来用户预测
3个baseline的比较试验:
1. FPMC:分解个性化马尔可夫链,将用户偏好与马尔可夫转换线性结合(Cheng et al。2013)。
2. PRME:个性化排名度量嵌入,它将用户偏好和马尔可夫过渡线性融合(Feng et al。,2015)。
3. CWRAP:探索位置的上下文来建模用户偏好。
POI2Vec的4种方法:
1. U:只利用用户的偏好来预测潜在的访问者。
2. URP:我们只考虑有近期位置的用户。
3. MAX:最大聚合函数。
4. SUM:利用Sum聚合函数来整合用户偏好和序列影响。
实验结果
Conclusions and Future Work
一些研究问题存在进一步的探索方向。
首先,用户的运动受到多种因素的影响,我们可以考虑其他信息,如时间对访客预测问题的影响。
其次,我们构建二叉树的方法与空间上的各项没有关系,可以利用其他信息,如使用产品分类来进行产品推荐。