LBSN中利用深度学习的POI推荐方法

2022-07-21 03:31余松森汪海涛
计算机工程与设计 2022年7期
关键词:时空向量建模

江 涛,余松森,汪海涛

(1.广东理工学院 信息技术学院,广东 肇庆 526100;2.华南师范大学 软件学院,广东 佛山 528225; 3.广东科贸职业学院 信息与自动化学院,广东 广州 510430)

0 引 言

随着现代信息技术的高度发达,将位置作为核心的社会网络借助于兴趣点(point of interest,POI)对签到位置进行发布,使用户可以轻松地找到有趣的地方并通过智能设备分享他们的经验[1-3]。因此,基于位置的社交网络(location-based social network,LBSNs)中有效的POI推荐人系统可以使用户轻松地通过他们的签到历史找到他们感兴趣的地方[4,5]。针对LBSN间存在的多种级别和其所对应的关系展开全面深入的分析,不仅能够为用户探索同城提供高质量的服务,同时也能够为商家创造更多位置的经济效益[6-9]。与传统推荐(例如电影推荐、音乐推荐)不同,POI推荐的特征是地理信息,并且没有明确的评级信息可用[10-12]。深度学习在图像检索、文本生成、点击预测和推荐中的成功应用已经导致一些研究人员使用深度学习从以前访问过的POIs中提取用户偏好。文献[13]提出了一种新的主题增强记忆网络(theme memory network,TEMN),它是一种将主题模型和记忆网络相结合的深层结构,利用了潜在模式的全局结构和基于局部邻域的非线性特征,进一步结合了地理模块,利用用户特定的空间偏好和POI特定的空间影响来增强推荐。文献[14]提出了一种新的时空感知STA(spatiotemporal aware)推荐框架,其基本思想是捕捉地理和时间效应使用对,然后将其建模为连接用户和POI的转换,来模拟大规模POI推荐中用户、POI和时空上下文之间的三阶关系。文献[15]创建了一个时间和多层次的上下文关注机制TMCA(temporal and multi-level context attention),以自适应地选择相关的签入活动和上下文因素,以预测下一个POI偏好。文献[16]提出了一种POI群组推荐方法,通过对用户影响进行模糊建模,并考虑用户的差异,利用LBSNs中的历史登记数据,在类别、距离和时间方面,量化他们单独或在一组时的个性和偏好。该方法与加权平均聚合相结合,提高了POI群组推荐的效率。文献[17]提出了一种基于模糊区域的协同过滤技术,为基于LBSNs的用户提供个性化的POI建议,利用用户的活动来模拟他们的偏好,并向他们推荐下一次访问。但是,尽管现有方法已经成功地对全局序列依赖性进行了建模,但是它们无法对微妙的POI-POI关系进行建模,导致推荐匹配度低。因此,本文基于深度学习,就POI推荐方法进行了深入研究,具体研究内容如下:

(1)建立一个地理时空注意力网络,捕获序列中的POIs之间的关系,并将签到序列中连续的地理距离和时间间隔信息加入到基础的GRU网络中,以建模用户个性化移动行为和挖掘用户个性化时空偏好;

(2)通过特定于上下文的共同注意力网络学习使得网络具有较好的动态用户偏好,使GS-GRUN网络可以从大量签入中识别出高度相似的用户行为。

1 问题定义

首先进行以下定义,然后提出要研究的问题。

定义1 签入:签入是用户在LBSNs中的指定时间执行的操作。对于每个用户ui, 签入可以表示为元组 (ui,vj,tk), 其中用户ui在时间状态tk时,在POIvj签入;vj由ID或坐标表示;tk是时间状态。

定义2 临时状态:时间状态是tk∈T一个离散的时隙,代表用户签入的时间段,本文设置|T|=24小时。

定义3 轨迹序列:签入序列是根据时间戳按时间顺序排列的一组签入。用户ui在时间tk之前的轨迹序列表示为Hi={(v1,t1),(v2,t2),…,(vk,tk)},k是时间索引。

2 地理-时空门控循环单元网络分层模型

图1显示了地理-时空门控循环单元网络的图形表示,箭头表示数据流。地理-时空门控循环单元网络由嵌入层、门控循环单元网络层、共同注意力网络、输出网络层组成,以对POIs之间的地理关系和签入序列的时间依赖性进行建模。给定目标用户和当前时间状态下的上下文的一般偏好,上下文特定的共同注意力网络用于捕获变化的用户偏好(动态用户偏好)。最后,使用负采样和小批量随机梯度下降算法来训练地理-时空门控循环单元网络。以下各节给出了GS-GRUN各个组件的更多详细信息。

图1 GS-GRUN模型的图形表示

2.1 嵌入层

先前的大多数研究将用户和POIs投影到相同的密集语义空间中,并根据用户和POI在空间中的关系提出建议。这些方法没有揭示POIs的地理方面。将POIs投影到不同的语义空间中。具体来说,对于每个POIvj,创建一个POI偏好向量Pj∈1×d, 一个POI地理影响向量Ij∈1×d和一个POI地理敏感性向量Sj∈1×d, 其中d是潜维数。本文使用地理影响向量来捕获POI,将其访问者定向到其它POIs的趋势,并使用地球敏感性矢量来反映POI接收从其它POIs定向的访问者的趋势。然后将所有POI转换为矩阵P∈|V|×d,I∈|V|×d和S∈|V|×d。 类似地创建一般偏好矩阵U∈|U|×d适用于所有用户;该矩阵随时间具有恒定值。对于所有时间状态,本文还创建了一个潜在的惯性矩阵C∈|T|×d。

EP=MiP

(1)

EI=MiI

(2)

ES=MiS

(3)

其中,EP∈L×d,EI∈L×d,ES∈L×d。 同样,对于目标用户ui, 创建特征向量Ni∈1×|U|。 通过单热编码技术,由Ni和U的点积生成通用偏好向量Ui, 其中Ui∈1×d; 对于当前时间状态tk, 创建一个特征Ai∈1×|T|。 通过单热编码技术,由Ai和C的点积生成潜在语义矢量Ck。

2.2 时空注意力网络

2.2.1 建模地理关系

本文利用地理注意力网络捕获序列中的POIs之间的关系,从而对地理关系进行建模。注意力网络的输出是值EP上的加权总和,其中权重矩阵由查询及其相应的键确定。地理敏感度矩阵ES是查询,地理影响矩阵EI是关键。首先通过具有共享参数的非线性变换将查询ES和键EI投影到相同的语义空间,然后将权重矩阵计算为

(4)

(5)

(6)

其中,WQ∈d×d,WK∈d×d,Bq∈d×1和BK∈d×1是模型参数。函数ψ(·)是激活函数,本文使用ReLU来增加非线性能力,并使用来衡量点积的注意力。

点积表示两个POIs与地理影响的关系。但是,它没有明确考虑两个POIs之间的地理距离。通过进一步分析伯勒所的第一地理定律,所有事物都与其它事物存在密切的联系,而距离较近的实物所具有的关联性要显著高于距离较远的事物。可以使用幂律函数(PLF)、指数函数(EF)、双曲线函数(HF)和高斯径向基函数核(RBF核)来表示地理距离的影响。本文使用RBF内核来权衡签入POIs的影响。RBF内核函数定义为

R=exp(-γD2)

(7)

其中,D∈L×L是相邻签入POIs之间的地理距离矩阵。Gamma是一个超参数,用于控制两个给定POIs之间的地理图形相关性;较大的γ值将导致较小的R值。R的值限制为0或1。式(4)改写为

(8)

其中, (·) 是逐元素乘积。地理关注度的输出是一个L×d矩阵,定义为

(9)

为了允许模型同时关注来自不同位置的不同表示子空间的信息,地理注意使用l尺度点积注意,连接所有l尺度点乘积模型的输出,然后使用线性层将连接的特征投影到固定尺寸的特征。可以将计算过程表述为

(10)

其中,WF∈1d×d

为了避免传输损失,向F添加了剩余连接,然后应用归一化层。因此,原始映射F为

(11)

2.2.2 建模序列依赖性

要深入探索用户移动行为模式,必须将空间以及时间所对应的上下文信息作为切入点,利用对个性化时空所对应的上下文关系进行科学的建模,由此能够对用户所特有的一定行为模式展开更加全面的分析,具有连续性的地理距离以及时间间隔方面的各项信息都没有被重视。但从实际情况出发,上述信息对建模的过程以及探索用户偏好具有关键性意义。

本节针对最为基础的GRUN网络引入地理以及时间间隔方面的各项信息,由此能够使得建模以及对用户个性化的时空偏好进行学习的过程得到有力的支撑。如图2所示,所描述的是GS-GRUN所对应的网络卷积,针对全部的时间不长进一步说明,其单元所具有的输出组成要素包括嵌入、空间以及时间所对应的上下文向量。所以,其输出属于隐藏层向量,对兴趣点以及时空上下文信息的融合进行表示,以下为各个相关的计算公式

(12)

(13)

(14)

(15)

图2 GS-GRUN结构

显而易见的是,若对所有具有连续性的地理距离以及时间间隔都进行相应的训练,那么此网络会产生不容忽视的数据稀疏性问题,所以,可以有效地针对具有连续性的地理距离和时间所对应的值进一步划分至等距离间隔的范围,借助于线性差值能够顺利获取正确的转换矩阵,计算公式总结为

(16)

(17)

式中:U(δs) 和L(δs) 所指代的分别为地理距离的最大以及最小值。同样地,U(δg) 和L(δg) 所指代的分别是特定时间间隔所对应的最高以及最低值。WU(δs)和WL(δs)所指代的是空间因子矩阵,WU(δg)和WL(δg)表示时间因子矩阵。

此外,用户u在tN+1这一时间节点上对兴趣点vk所对应的预测率能够利用以下公式计算得出

(18)

2.3 共同注意力网络

以前的模型经常使用循环模型的平均隐藏状态来表示用户偏好的变化,并通过在动态用户偏好向量和项目偏好向量之间形成点积来创建推荐。该方法无法识别个人用户行为在确定下一次访问的POI方面的重要性。用户是否会以推荐的POI签入还取决于上下文信息,例如用户的一般偏好、时间状态以及与POI的距离。本文创建了特定于上下文的共同注意力网络,以捕获动态的用户偏好。具体来说,将每个上下文投影到d维语义空间中,利用式(4)~式(6)计算加权注意值H。 然后,使用潜伏融合策略来连接加权注意力值,并使用非线性连接层来学习动态用户偏好。

形式上,给定目标用户ui的一般偏好向量Ui, 目标POIvj的偏好向量Pj和时间上下文tk的潜在语义向量Ck, 用户ui的动态偏好计算为

ui,L=ω(αWα+b)WU

(19)

α=concat([AT(Ui,H)H,AT(Pj,H)H,AT(Ck,H)H])

(20)

其中,α∈1×3d是连接后的共同注意分数,Wα∈3d×d和WU∈d×d是模型参数,并且ω(·) 是非线性函数,采用1D CNN来增加非线性。

2.4 学习和模型优化

(21)

(22)

通过最大化条件对数似然来学习模型参数Θ={P,I,S,U,C,WQ,WK,WF,WH,WU,Wα}

(23)

(24)

其中,σ=1/(1+e-x) 是活度函数,k是根据噪声分布PI绘制的采样负POIs的数量,PI是POI签到频率的分布。

3 实验评估

3.1 数据集

本文使用来自Foursquare和Gowalla的两个公开的数据集来验证所提出模型的有效性。这两个数据集包含大量的签入数据,并已在以前的研究中广泛使用。以更为准确的对用户签到数据所对应的空间分布展开相应的描述为目的,通过图3针对Foursquare、Gowalla所具有的数据集所描述的地理分布空间展开准确的描述。Foursquare数据集中所表现出来的分布呈现出更强的分散性,而Gowalla数据集中所变现出来的分布呈现出更强的集中性,存在若干个集中点,由此可见地理区域不同,用户的活动模式也存在较为明显的区别。

图3 两个签到数据集的地理空间分布

Foursquare数据集包含从2012年4月到2013年9月连续在美国内签入。Gowalla数据集是从2009年2月到2010年10月的全球范围内生成的。两个数据集中的每个签入记录均包括时间戳、用户ID、具有POI纬度和经度的POI ID。从Foursquare数据集中消除了小于15个POI签入用户和小于15个访客的POIs。结果数据集包含24 941个用户,28 593个POIs和1 196 248个签入。从Gowalla数据集中删除了小于15个POI签到用户和小于15个访问者POIs。结果数据集包含18 737个用户,32 510个POI和1 278 274个签入。数据集的基本详细信息在表1中给出。

表1 数据集计数

使用ui的前L个签入来预测训练数据集中的第(L+1)个签入,其中L={1,2,…,n-2}, 而用第一个(L-1)签入以预测测试数据集中的第L签入。

3.2 评估指标

该实验的目的是找到用户可能感兴趣的前N个POIs,本文使用通用的评估指标Accuracy@N来评估模型的质量。首先计算用户访问包含每个目标POIvj和其它候选POIs的集合成员的概率。然后,根据这些POIs的概率对它们进行排序,从而创建一个排名列表,通过从列表中选择N个排名最高的POIs来创建前N个推荐列表。如果rank(vj)

(25)

其中, #hit@N是测试集中的命中数, |Stest| 是所有测试用例的数量。

平均年龄的用户计算曲线下的面积(AUC)

(26)

其中,p(vi) 是用户将在测试集中访问POIvi的预测概率,而I(·) 是指标函数。

召回率(Recall)表示预测为正例的真实正例占所有正例的比例,公式如下所示

(27)

精确率(Precision)表示在被所有预测为正的样本中实际为正样本的概率,公式如下所示

(28)

其中,tp为真正例,fn为假反例,fp为假正例。

F1分数(F1-score)是分类问题的一个衡量指标,它是精确率(Precision)和召回率的调和平均数,公式如下所示

(29)

3.3 参数设定

在装有4个高性能NVIDIA GPUs的计算机服务器上训练本文模型,每个GPU具有12 GB的内存。模型使用TensorFlow深度学习库以python实现,通过5次交叉验证以找到最佳参数。地理相关性水平γ通过网格搜索确定,在实验中设置为10。对于梯度下降参数,学习速率从1.0开始,衰减速率设置为0.1,正则化λ设置为0.000 05,负样本数k设置为1。

3.4 实验比较

3.4.1 各种方法的比较

使用Foursquare和Gowalla数据集,将GS-GRUN给出的结果与GS-TEMN[13]、STA[14]以及TMCA[15]方法的结果进行了比较。实验目标是在合理的时间内做出用户可以接受的前N个POI建议,因此使用Accuracy@N指标来评估模型的性能。潜在因子的维数设置为700,序列长度L设置为20。N={3,6,9,12,15,18}, 因为用户通常会忽略较大的N值。

图4显示了从Foursquare和Gowalla数据集中获得的不同N值的Accuracy@N结果。结果表明,对于这两个数据集,所提的GS-GRUN模型明显优于其它所有模型。与GS-TEMN相比,第二好的模型Accuracy@6对Foursquare和Gowalla数据集显示了41.3%和41.7%的改进。两个数据集之间的比较表明,Gowalla的结果比Foursquare的结果差。GS-GRUN给Foursquare数据集提供的结果比Gowalla数据集好约为45%。此外通过对AUC进行评估对比见表2。对于Foursquare和Gowalla数据集,GS-GRUN模型的性能明显优于其它任何方法。

图4 Foursquare和Gowalla数据集中获得的不同N值的Accuracy@N结果

表2 GS-GRUN的AUC性能与其它方法相比

GS-GRUN具有更好的Accuracy@N和AUC值是由于以下原因。首先,GS-GRUN使用一种注意力机制来捕获POIs之间的地理关系,并使用GRUN来捕获整体时间序列依赖性能。第二,通过特定于上下文的共同注意力网络学习使得网络具有较好的动态用户偏好,该网络可以从大量签入中识别出高度相似的用户行为。

图5给出了所有方法在Foursquare和Gowalla数据集上的F1分数和召回率对比结果,GS-GRUN和GS-TEMN均考虑了地理因素,在两个数据集上的性能表现更好。此外,GS-GRUN的性能表现明显优于GS-TEMN,因为GS-GRUN同时考虑了地理影响和时间影响,并通过在动态用户偏好向量和项目偏好向量之间形成点积来创建推荐,从而提高网络效率。GS-GRUN方法对于兴趣点的推荐任务来说具有较高的有效性,原因是通过GRUN网络可以对融合时空的上下文学习复杂移动的序列关系具有更为高效的融合,由此能够在建模的过程中具有更高的稳定性,同时能够对数据稀疏问题进行环调节。同时,对注意力模型进行融合后,可以对用户的移动行为意图进行动态捕捉。尽管GS-TEMN、STA以及TMCA方法已经成功地对全局序列依赖性进行了建模,但是它们无法对微妙的POI-POI关系进行建模。此外,当前模型通常会将用户的先前记录隐式编码为潜在因素或隐藏状态,而不会意识到任何签入可能对预测下一个行为产生的影响。因此推荐性能均不如所提GS -GRUN方法。

图5 Foursquare和Gowalla数据集上的推荐性能F1分数与召回率比较

3.4.2 参数灵敏度

使用Foursquare和Gowalla数据集研究了GS-GRUN中超参数的敏感性,特别是潜在因子d的大小和序列长度L的敏感性。

首先将L设置为20,并研究了尺寸对推荐准确性的影响。通过将d从100更改为600,以100为增量来测试模型性能,进行了6次测试。将平均值报告为两个数据集的最终结果。Accuracy@3、Accuracy@6和Accuracy@9的结果如图6所示。结果表明,随着d的增加,GS-GRUN的推荐准确度首先略有增加,随着d的增加,推荐准确度开始急剧下降。参数d代表模型复杂度。当d较小时,GS-GRUN无法描述用户偏好。但是,当d超过阈值(d=400)时,该模型足够复杂,无法处理数据,但准确性较低。在这一点上,增加d无疑会改善模型性能,但也会增加模型训练所需的时间,从而导致收益递减。因此,两个数据集的最佳结果是d=400时。

图6 GS-GRUN中潜在维度d对Foursquare和Gowalla数据集的影响

此外,本文还研究了序列长度L对推荐精度的影响。将d设置为700,并通过以5为增量将L从5更改为30来测试模型性能。进行了6次测试,并将平均值用作两个数据集的最终结果。图7显示了Accuracy@3、Accuracy@6和Accuracy@9的推荐精度。建议精度先增加,然后随着L的增加而略有下降。当L为20时,对于Foursquare数据集,当L为25时,对于Gowalla数据集,可获得最佳结果。由于序列长度较大,GS-GRUN可以捕获历史值机的效果,因此可以看到提早出现的结果。当序列长度持续增加时,会发生模型过度拟合。另外,较大的值还会导致时间复杂。结果还表明,下次签到行为受到先前访问的POIs集的高度影响。

图7 GS-GRUN中序列长度L对Foursquare和Gowalla数据集的影响

4 结束语

本文调查了决定用户下一次运动的因素,并创建了地理-时空门控循环单元网络,以通过从大规模检查中更好地了解用户与POIs之间的关系来提高下一个POI推荐的准确性。本文建立一个地理时空注意力网络寻找总体序列依赖性和微妙的POI-POI关系,并将签到序列中连续的地理距离和时间间隔信息加入到GRU网络中,以建模用户个性化移动行为和挖掘用户个性化时空偏好,设计了特定于上下文的共同注意力网络,通过从签到历史中自适应地选择相关签到活动来学习更改用户偏好,这使GS-GRUN能够区分不同签到的用户偏好程度。实验结果表明,当潜在维度持续增加时,会使得准确率下降。此外,由于深度学习这一技术存在的提取图片特征这一功能具有重要意义,将其和兴趣点、用户活动推荐等展开高度融合,进一步得到全新的框架具有广阔的应用前景。

猜你喜欢
时空向量建模
跨越时空的相遇
向量的分解
聚焦“向量与三角”创新题
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
镜中的时空穿梭
求距求值方程建模
玩一次时空大“穿越”
基于PSS/E的风电场建模与动态分析
时空之门
向量垂直在解析几何中的应用