LBSN中利用深度学习的POI推荐方法
2022-10-17吴安波李慧斌
刘 旸,吴安波,李慧斌
(1.西安科技大学 管理学院,陕西 西安 710054; 2.西安交通大学 数学与统计学院信息科学系,陕西 西安 710048)
0 引 言
现如今,基于位置的社交网络(location-based social network,LSBN)服务在人们的日常生活中起着越来越重要的作用[1-3]。由此,在对LBSN领域的研究过程中,感兴趣的位置点(point of interest,POI)推荐成为了众多研究学者的热门关注话题[4-6]。因此,如何深入挖掘LBSN签到数据中的深层次信息,提升POI推荐准确率,成为了当前研究的热点。文献[7]对社会和地理影响分别建模,并融合到矩阵分解框架中实现POI推荐。文献[8]将POI内容上的用户首选项与其本身用户首选项区分开来,并对用户POI的位置偏好进行位置感知建模,通过组合内容和POI位置预测进行最终的POI推荐。文献[9]针对现有方法在POI推荐过程中融合个性化、情感倾向等方面的不足,提出了一种融合多因素的POI推荐模型,有效地融合地理相关、分类偏好以及社交情感分数,实现Top-N的POI推荐,但该方法对于冷启动问题还有待进一步研究[10]。文献[11]利用长短期记忆神经网络对用户的复杂过渡行为进行建模,很大程度上提升了POI推荐方法使用过程中的准确程度。文献[12]提出了一种基于谱嵌入增强方式的POI推荐算法,具有较好的推荐性能,但该方法不能深度融合LBSN中签到数据上下文的多维特性,难以准确获得用户最近邻。文献[13]提出了一种基于递归神经网络的POI推荐方法,在考虑相似用户的位置兴趣和包括时间、位置以及朋友偏好等上下文信息的基础上,形成了用户兴趣和上下文信息的网络神经全特征表示方式。但该模型对特征向量的处理则忽视了用户和POI之间的非线性关系,不能进一步提升推荐准确性[14]。
针对签到数据多维度特性融合以及数据之间非线性联系等问题,提出了一种LBSN中利用深度学习的POI推荐方法,其主要创新点总结如下:
(1)构建异构的LBSN图,即UP2Vec模型,其能够整合信息进行联合建模,提高了信息的使用效率;
(2)为了准确预测用户POI偏好,所提方法采用谱嵌入的方式增强神经网络学习用户与POI的非线性关系,提高了POI推荐的准确性。
1 问题描述
为了便于论述,需要定义使用的关键概念,以及阐述POI推荐研究中的主要问题。
定义1 POI:一个POI(p)被定义为其地理坐标可用的唯一地理实体(如饭店或者电影院),则LSBN中可用的POI集合表示为P。
定义2 Check-in:三元组c=(p,u,t) 表示一个签到,即用户u在时间节点t访问POI(p)的签到记为C,c∈C。
定义3 冷启动POI:冷启动POI定义为没有签到关联的唯一地理实体,冷启动POI的集合表示为Pc。
定义4 孤立冷启动用户:孤立的冷启动用户定义为唯一的LBSN用户,其地理坐标可用,但是没有迁入历史纪录,并且与其它LBSN用户没有任何联系。孤立冷启动用户的集合表示为Uc。
定义5 用户位置:给定用户u,将用户居住地表示为pu(xu,yu), 并且其位置来自用户的签到记录。具体而言,将地理空间位置离散为25×25 km的单元,并将签到次数最多的单元位置定义为用户家庭位置,该集合表示为PU,pu∈PU。
给定一个LBSN,用户之间的签到(c)和社交关系(L)是可用的。非孤立的POI(P),其地理信息以及时间信息可以从签到中获得,而非孤立用户(U)可以从用户之间的社会关系中获得。此外,还考虑了孤立冷启动用户(Uc)和冷启动POI(Pc)。
问题1:POI推荐:给定用户在时间t之前的历史纪录,POI推荐的目标是推荐用户在时间t时刻可能访问的前k个POI。
问题2:冷启动POI推荐:给定用户直到t时刻的历史记录,冷启动POI推荐的目标是推荐用户未来可能会访问的前k个冷启动POI。
问题3:社交链接预测:链接预测是社交网络分析中的一个常见问题,其目的是预测一对用户之间是否存在社交关系。
2 方法框架
提出的利用深度学习的POI推荐方法的整体架构如图1所示。利用设计的偏好增强谱聚类(preference enhanced spectral clustering,PSC)算法分析用户的签到信息、社交信息和时间信息,由此得出用户的不同维度的多个数据的空间特征信息,同时使用偏好增强谱聚类算法对用户进行精准分类。同时,利用改进神经网络-多层感知器(improved multi-layer perceptron,IMLP)深度挖掘用户与POI之间的非线性关联。
深度学习的POI推荐方法由5部分组成,即神经网络输入层、神经网络谱嵌入层、神经网络拼接层、神经网络隐含层以及神经网络输出层。把用户群体中的用户与POI标记对输入谱嵌入层,经过两者的二分图谱构建潜在因子,以获取两者的谱特征集合描述。然后,拼接用户与POI谱特征集合,从而构成拼接集合,将其输入隐含层,同时,使用神经网络多隐含层结构实现对用户与深度学习的POI推荐方法间的深层次的关联模仿。最后,利用神经网络softmax层实现用户对于深度学习的POI推荐方法的偏好的预估输出。
2.1 LBSN数据分析
所提方法主要使用两个公开数据集(Foursquare和Gowalla)进行论证,由于Gowalla和Foursquare数据集的分析结果类似,因此仅显示在Foursquare数据集上的实验结果。
2.1.1 签到频率分析
首先分析LBSN中用户和POI的签到频率,结果如图2所示。
从图2中可以看出,只有少数POI和用户主导了签到活动,这意味着POI或用户的签到频率遵循幂律分布。如果连通图的度分布遵循幂律分布,那么短随机游走中出现的节点频率也将遵循幂律分布。因此利用Skip-gram模型构建图嵌入模型进行表示学习,同时采用随机游走将异质LBSN图中的节点采样为Node2Vec。
2.1.2 地理影响分析
用户的签到行为受到用户地理位置因素的影响,用户的地理位置因素也会对用户在深度学习的POI推荐方法之间的转换行为造成一定程度上的作用。在实际研究过程中,为深入探讨用户地理位置对用户签到行为的作用效果,对每个用户的签到时间进行排序,并计算两个相邻POI之间的距离。然后汇总所有用户的结果,并计算相同地理距离的累计签到频率。两个相邻POI之间地理距离的分布如图3所示。其中横轴表示相邻签到之间的距离,纵轴表示相邻签到活动在此距离发生的概率,概率越大代表用户更愿意访问POI。
从图3中可以看出,连续签到之间的地理距离分布遵循幂律分布,这表明用户更愿意访问距访问POI更近的POI。因此,采用幂律分布模拟地理位置对用户的签到行为和用户在POI之间的迁移行为的影响。
2.1.3 时间影响分析
从图4中可以看出,用户的移动性行为在每24 h和每168 h(7天)左右呈现出较强的时间循环模式,分别显示了日循环模式和周循环模式。所提方法中关注的是每日的周期性时间影响,因此,在日常基础上对时间信息进行建模。
2.2 LBSN异构图的构建
根据上述分析结果构建LBSN异构图,具体来说,为了同时学习用户和POI的表示,使用Ω表示LBSN异构图
Ω=(V,E)
(1)
式中:V为LBSN异构图的节点集合,将包含用户集的U、POI的集合P、孤立冷启动用户集合Uc和冷启动POI集合Pc等节点。E为异构图的边缘集,该边缘集是基于签到记录、用户之间的社交关系、地理影响和时间信息构建的。
2.2.1 签到信息建模
签到记录直接表明用户的历史空间行为,因此,首先仅根据签到信息构建LBSN异构图,称该基本模型为UP2Vec。在构建LBSN异构图时,使用用户集U、POI集合P、孤立冷启动用户集合Uc和冷启动POI集合Pc构建节点集V。对于边缘集E,如果用户和POI之间发生签到行为,则将其在LBSN异构图中进行连接,这种边缘集表示为Ep,u。 对于孤立冷启动用户,连接到LBSN异构图中地理上最近的POI或用户;对于冷启动POI,同样连接到地理上最近的POI或用户。因此,UP2Vec中的LBSN异构图表示为
Ω0=(V,E)V=U∪P∪Uc∪PcE=Ep,u∪Ep,p
(2)
为了更加清楚描述LBSN异构图的构建过程,给出了一个由UP2Vec建立的LBSN异构图的示例,如图5所示。
图5中,A、B、C、D、E是用户节点,E是孤立冷启动用户,节点1至节点16是POI节点,节点17是冷启动POI。孤立冷启动用户和冷启动POI节点通过虚线节点连接到最近的邻居节点[16]。
2.2.2 社交关系建模
在签到信息的基础上,进一步扩展UP2Vec,将用户之间的社会关系信息纳入到异构图中,得到UP2Vec+。如果用户之间存在社交关系,则连接相应的节点。将UP2Vec表示为Ω′0=(V′,E′), 其中V′定义为V,E′定义为
E′=Ep,u∪Ep,p∪Eu,u
(3)
式中:Eu,u为基于社交关系构建的边缘集。UP2Vec+的模型结构,具有相同的V,但是社交关系已经添加,即用户A分别和用户B、用户C相连。
2.2.3 时间信息建模
V″=U∪Pτ∪Uc∪Pc
(4)
2.3 PSC算法
PSC算法主要是通过签到信息、社交信息和时间信息获得偏好归一化相似度集合φ,由此进一步得到归一化的Laplacian集合φsym,根据φsym得到最小k个特征值对应的数据集合,以此完成聚类分析。
2.3.1 偏好提取归一化相似度集合φ
所提方法同时考虑签到与社交关系,利用偏好相似度ϑ衡量两个用户间的边权重,计算如下
(5)
式中: |Pu1∩Pu2| 为u1与u2一起签到的POI数量, ϑu为两个用户之间的兴趣偏好相似的程度, |Fu1∩Fu2| 为u1与u2的共有的好友数量, ϑf为双方友好联系的程度。
同时,利用随机游走方法把两用户间的相似度作归一化处理,则归一化后的相似度集合φ计算如下
(6)
2.3.2 归一化的Laplacian集合φsym
谱聚类算法把聚类问题当成图像分解问题,聚类问题的寻优过程始终与 Laplacian的求解结果的特征集合的过程保持相同,因此,通过运算获得用户相似度的集合就能得出所对应的Laplacian矩阵[17,18]。则归一化的Laplacian集合φsym计算如下
(7)
通过实践研究可知,神经网络的功能,是通过对用户的处理信息进行检索,并通过对用户的推荐任务进行分析,从而获得用户与目标物品之间所存在的某些非线性的隐藏关联信息[19]。由此,提出了创新性的谱嵌入增强的LMLP神经网络,利用不同渠道和各种技术手段对用户的各类信息进行分析,以完成下一个深度学习的POI推荐,其中IMLP包括了输入层、谱嵌入层、拼接层、隐含层和输出层。
3 IMLP神经网络设计
现有的研究已经论证了神经网络能够有效处理信息检索与推荐任务中获取用户与物品间非线性的隐藏关联[19]。因此,所提方法设计了谱嵌入增强的神经网络IMLP,通过分析用户的各种信息完成用户下一个POI的推荐,其中IMLP包括了输入层、谱嵌入层、拼接层、隐含层和输出层。
3.1 谱嵌入层
用户与POI 间的签到关联能够以二分图的形式进行描述,其中包括了两者许多连通的关联信息,而非直接的隐藏连通程度对获取用户偏好具有非常重要的作用[20,21]。IMLP中的谱嵌入层即利用连通信息图的谱完成对用户与POI的谱映射,以得到两者的谱嵌入量,计算如下
(8)
3.2 其它各层的设计
所提方法利用神经网络模拟输入用户与POI关系对、输出 POI推荐位置两者间的联系。其中选择非线性激活函数,采用增加隐含层层数的方式使得IMLP能够接近任何复杂函数,以更为精准地表述输入和输出之间的联系,并且把神经元的输出反映至存在边界的区域内[22,23]。所以,IMLP各个层次的输出值计算如下
x=h0=[ui,pj]Th1(x)=ReLU(ω1h0+b1)h2(x)=ReLU(ω2h1(x)+b2)hq(x)=ReLU(ωqhq-1(x)+bq)
(9)
式中:ωq,bq为第q层的参数,当q=0时,x便是用户与POI对的拼接量。
(10)
此外,选择对数损失函数(llog)当作IMLP网络的目标函数,计算如下
(11)
4 模型性能评估
实验中使用两个公开的真实数据集(Foursquare和Gowalla)对所提方法的性能进行评估。其中Foursquare数据集中包含2009年12月至2013年7月之间来自California用户的483 813条签到记录,还包含32 512位用户之间的社交数据。Gowalla数据集是在2010年8月公共收集的,其包含来自216 734位活跃用户的12 846 151次签到记录,其中签到记录包含1 421 262个位置和736 778个社交关系。这两个数据集中的每一个签到记录包含唯一的用户ID、POI ID、POI类别、POI的描述信息、相应的经纬度坐标以及与此签到相关的时间戳。为了测试UP2Vec的冷启动POI推荐功能,从Foursquare和Gowalla数据集中选择了2000个POI作为冷启动的POI。
4.1 评估指标
POI推荐的任务从给定的测试用户可能会访问的POI集合中选择POI,具体的说,给定用户和候选POI集合,计算用户表示和POI表示的内积,再按照降序对POI进行排序。之后,选择前K个POI生成推荐列表。所提方法采用广泛使用的基于排名的评价指标Acc@K进行评估。对每个测试样本,若访问的POI出现在前K个推荐列表中,则Acc@K为1,反之为0。总体Acc@K取所有测试样本的平均值。
在现实条件下,对深度学习的POI推荐进行一系列实践实验,对所有的目标用户,将所有用户中前80%的用户签到数据作为POI推荐实验的训练集,将所有用户中最新10%的用户签到数据作为POI推荐实验的测试集,将所有用户中最后所剩的10%的用户数据作为POI推荐实验的验证集来对参数进行调整。
4.2 参数敏感度分析
在论证所提方法的推荐性能之前,需要对UP2Vec中的参数进行讨论。参数的初始默认值分别为:维度d=256、 邻域范围ζ=10、 返回参数υ=1、 输入-输出参数v=1, LBSN异构图中每个边的转移概率统一设置为1。为了研究特定参数对模型参数的影响,当分析某个特定参数时,该参数值在一定范围内变化,其它参数仍取默认值。由于UP2Vec、UP2Vec+和UP2Vec++的表示无明显差异,因此仅分析UP2Vec++在Fouresquare数据集上的推荐结果,如图6所示。其中横坐标表示参数值的变化,纵坐标表示在Acc@15下,POI的推荐性能。
从图6中可以看出,当输入-输出参数v变大而返回参数υ变小时,Acc@15的值在不断增大,表明UP2Vec++的性能在不断提高。并且推荐精度随着维度d的增加而增加,当d达到一定值时,性能达到峰值趋于饱和状态。不过,当邻域范围大小ζ变大时,推荐精度Acc@15将会降低。
由于随着v的增大和υ的减小,将对更多附近节点进行采样,因此,更多的信息输入推荐模型,以进行更有效的POI推荐。而邻域范围ζ越大,将会在学习特征量时引入噪声数据,这会降低特征值的可靠性,因此POI推荐的准确性降低。因此,将UP2Vec的默认参数设置为d=256、ζ=8、υ=0.24、v=5, 模型在数据集Fouresquare和Gowalla上具有最好的推荐性能。综上所述,针对地理影响、用户社会关系和时间信息之类的语境因素共同建模,能为LBSN异构图中的用户和POI提供更好的表示学习。
4.3 与其它方法的对比分析
为了论证所提方法的POI推荐性能,将其与文献[7]、文献[11]、文献[13]在POI推荐、POI冷启动推荐、偏好预测等3个方面进行对比分析。其中文献[7]针对社会和地理影响进行建模,并利用矩阵分解框架实现POI推荐。文献[11]利用长短期记忆神经网络对用户的复杂过渡行为进行建模,以完成POI推荐。文献[13]提出基于递归神经网络的POI推荐方法,通过相似用户的位置兴趣和上下文信息的全特征表示提高POI推荐性能。
4.3.1 POI推荐
在Fouresquare和Gowalla数据集上,使用不同方法进行POI推荐的性能比较结果如图7所示。
从图7中可以看出,所提方法在数据集Fouresquare和Gowalla上的推荐性能明显优于其它方法。由于所提方法采用PSC算法方法对签到信息、社交信息和时间信息进行聚类分析,并利用IMLP网络实现POI推荐,与文献[13]相比,在两个数据集上的Acc@N值分别提高了33.33%~47.06%、21.05%~43.75%,因此结合社交关系、时间信息和地理影响可以更好获取用户的POI访问行为。文献[11]利用长短期记忆神经网络实现POI推荐,但单一模型在信息处理过程中仍不充分,因此性能不佳。由于文献[7]中用户POI矩阵的稀疏性以及缺少对时间信息和地理信息的使用,其推荐性能最差,在两个数据集上的Acc@15均低于0.15。
4.3.2 POI冷启动推荐
由于两个数据集上冷启动POI推荐实验结果相似。因此,仅分析在Fouresquare数据集上的实验结果,不同方法的冷启动POI推荐对比结果如图8所示。
从图8中可以看出,不同的K值下,所提方法的冷启动POI推荐性能优于其它对比方法,以Acc@10为例,所提方法分别高出其它3种方法0.03、0.02、0.07。此外,对比图8与图7(a),可以发现在POI冷启动推荐中,各方法的推荐性能均明显降低。当K=5时,所提方法的推荐精度降低20%,而其它3种方法分别下降了23.62%、25%、33.33%,因此所提方法在处理冷启动时的推荐性能下降幅度相对较小,意味着其在处理POI冷启动问题上有更强的鲁棒性。由于所提方法考虑了地理特征、POI签到序列和时间特征建模POI冷启动推荐,并且采用了更细粒度的地理信息,而部分方法没有考虑多种信息,或者采用的是粗粒度地理信息,因此冷启动POI推荐性能不佳。
4.3.3 偏好预测
同样的,不同方法在偏好预测方面的性能对比结果如图9所示。
从图9中可以看出,在准确率、召回率、F1值3个指标上,所提方法的预测性能均高于其它对比方法,以准确率为例,其在两个数据集上分别为95%和91%,而其它方法均低于90%。主要是因为所提方法通过UP2Vec++学习用户的表示形式,其中包含社交关系、POI和用户的时空特征,并且利用IMLP进行偏好预测,进一步提升了POI推荐的准确率。文献[13]利用递归神经网络实现POI推荐,其中考虑了用户的位置兴趣和上下文信息,因此整体性能优于文献[11],而文献[11]仅利用长短期记忆神经网络进行信息处理,各种用户信息考虑得不够全面。文献[7]利用矩阵分解框架处理社会和地理影响,而缺乏用户POI矩阵稀疏性的考虑,其推荐性能较差,推荐准确率大约为75%。
5 结束语
LBSN中含有丰富的语境信息,如签到信息、时间信息、社交关系等,能够更加全面地推荐用户下一个POI,但各种语境信息存在异构性,POI推荐的性能也受到此影响。为此,提出了一种LBSN中利用深度学习的POI推荐方法。在UP2Vec模型中整合地理签到信息、用户社会关系和时间信息等语境,并利用PSC算法进行分析处理,以得到用户群体分组。在此基础上,结合POI信息,利用IMLP网络深度挖掘用户与POI 之间的非线性关联,实现POI的准确推荐。基于Foursquare和Gowalla数据集对所提方法进行实验论证,结果表明,将UP2Vec参数设置为d=256、ζ=8、υ=0.24、v=5时,模型性能最佳。此外,所提方法在POI推荐、POI冷启动推荐和偏好预测3个方面的推荐性能均优于其它对比方法,其中,在POI推荐的Acc@N值较文献[13]提高了21.05%~47.06%,在POI冷启动推荐的Acc@10值分别高出0.03、0.02、0.07,并且推荐准确率分别为95%和91%。因此,通过该方法学习的用户和POI表示可用于进一步提高LBSN任务中位置推荐和偏好预测的性能。
由于POI推荐过程中并没有根据用户偏好进行动态调整,在接下来的研究中,将重点关注注意力机制的引用,以便在LBSN中更好进行POI推荐和用户表示学习。