本技术涉及兴趣点推荐领域,尤其涉及一种基于图神经网络的上下文感知的下一个兴趣点推荐方法。
背景技术:
1、随着信息技术的飞速发展,尤其是移动互联网和智能手机的普及,人们越来越依赖于数字平台进行社交互动和个人活动的记录与分享。社交媒体和位置服务应用(如foursquare、gowalla 和 yelp)已经成为现代生活中不可或缺的一部分。这些平台不仅让用户能够轻松地发现周边的新鲜事物,还能让他们与朋友和社区共享自己的经历。在此背景下,下一个兴趣点推荐技术成为了一个重要的研究领域。该技术的目标是准确预测用户下一步可能会访问的地点,以提供更加个性化的推荐服务。
2、目前国内外学者在兴趣点推荐方面做了许多有价值的研究工作。早期的研究方法仅采用序列内上下文,当序列中的签到序列非常稀疏时,其性能可能会受到不利影响。一些现有的方法,利用签到序列中丰富的上下文信息,通常包括序列内和跨序列信息。对于前者,可以进一步将其分为基于项级的上下文和基于序列级的上下文,基于项级的上下文描述了签到序列中的相邻项目,基于序列级的上下文指的是签到序列中的完整序列信息。类似地,后者包括来自具有类似项目和序列行为模式的序列的协作信息。最近,还有一些方法利用签到序列内和跨序列上下文,其目的是合并序列的上下信息以丰富给定绘画的表示。特别是,一些方法提出根据序列内和跨序列项目级上下文信息构建全局图来链路来自各个序列的项目,然后基于该图学习项目/序列嵌入。
3、尽管基于图神经网络在建模和计算兴趣点之间的相似性方面非常有效,但在兴趣点推荐中使用图神经网络存在三个主要局限性:
4、1.在构建poi全局图时,无法区分poi-poi边类型。
5、2.之前的研究为每个兴趣点学习一个固定的嵌入向量。然而,由于用户兴趣可能在不同序列之间变化,因此应该学习兴趣点的嵌入以反映用户兴趣的变化并参考不同序列进行个性化;
6、3.通常使用目标兴趣点的one-hot编码向量作为要预测的硬标签,这可能无法反映真实的用户偏好。然而,用户偏好的真实分布通常是未知的,因为只有有限数量的签到点暴露给用户。简单地将目标兴趣点的 one-hot 编码向量视为真实分布可能会引起偏差并导致过度拟合问题。
7、现有专利cn115964748a涉及一种用户兴趣点推荐方法,使用了软标签实现兴趣点推荐的技术构思,但应用场景不同,无法解决本技术提出的三个局限性问题。
技术实现思路
1、本发明的目的在于:为了解决现有的兴趣点推荐方法存在推荐准确度低的问题,提供一种基于图神经网络的上下文感知的下一个兴趣点推荐方法。
2、本技术的上述目的是通过以下技术方案得以实现的:
3、s1:获取用户的签到记录并进行预处理,得到有效签到数据集;签到记录包括:用户的标识信息、兴趣点的类型、兴趣点的地理信息以及签到的时间信息;
4、s2:构建多关系交叉序列图以及图神经网络;
5、s3:基于多关系交叉序列图,使用图神经网络进行项目表征学习,得到有效签到数据集中的签到序列的每一项的个性化嵌入向量;
6、s4:通过签到序列的每一项的个性化嵌入向量,计算签到序列的序列表征;
7、s5:构造签到序列的软标签;
8、s6:通过软标签、签到序列的序列表征以及个性化嵌入向量,预测在当前签到序列中的下一个时间戳中进行交互的项目的概率分布;
9、s7:根据概率分布,生成用户下一个时间戳可能访问的个兴趣点,完成用户下一个兴趣点的推荐。
10、可选的,步骤s1包括:
11、所述预处理包括:剔除信息不完整的签到记录;过滤排除历史签到次数少于预设次数的用户的签到记录;删除涉及访问次数少于预设次数的签到记录。
12、可选的,步骤s2包括:
13、从有效签到数据集,获取用户的签到序列;将用户访问一个兴趣点视为一个项目,每一次访问均被视为一个独立的项目;在一个用户的一个签到序列中包括预设个数项目,一个签到序列中的每个项即为一个项目;每位用户包括预设个数的签到序列;
14、基于所有签到序列中的邻居项集合,建立边连接,定义如下:
15、
16、其中,表示在序列中的邻居项集合;表示左右邻居集范围长度,是一种超参数;表示在序列中任意项;表示序列中范围内符合条件的邻居项;分别表示项在相应序列中位置;表示在序列中与相同的项;表示与序列不相同的其他签到序列;u表示所有签到序列;
17、基于邻居项集合,链接来自不同序列的同一项目,即链接序列和序列中相同的项;
18、构建一个基于项目级上下文信息和兴趣点的类型的多关系交叉序列图,其中表示包含中所有项的节点集,表示所有签到序列中的兴趣点集合;表示多关系交叉序列图中的边集;使用来表示边缘类型,边缘类型捕获了类型和类型的项目之间的上下文关系;类型表示项目的类别;类型表示项目的类别;表示多关系交叉序列图中的所有项的节点集中任意一个;表示邻居项集合中的节点;项目级上下文信息包括:地理信息和时间信息;
19、对于兴趣点和兴趣点之间边的权重,如下:
20、
21、其中,是所有签到序列的频率计数函数;表示边连接;表示超参数。
22、可选的,步骤s3包括:
23、s31:使用嵌入查找表,来初始化项的嵌入向量;
24、使用注意力机制,基于图神经网络,生成项目的一般嵌入向量:
25、基于多关系交叉序列图,获取序列内和序列间的项目级上下文信息;
26、由于每个项目的邻居项具有不同的重要性,引入项目级别注意力,学习项的嵌入向量表示;
27、在图卷积神经网络的第层中,通过领域聚合,得到项的在第层中的一般嵌入向量:
28、
29、其中,表示自注意力分数;表示可训练参数;
30、注意力分数计算方式如下:
31、
32、其中,是leakyrelu函数,和是可训练参数,并且表示级联运算符;表示k-1层的一般嵌入向量;表示与边缘权值;表示边缘关系嵌入;表示与边缘权值;表示与边缘关系嵌入;表示项与其邻居项集合的交集;
33、s32:通过项的序列信息,结合项目的一般嵌入向量,生成项目的个性化嵌入向量;
34、给定一个签到序列和一个项目,中包括不在中的项目,并且中的所有项都反映了用户对当前签到序列的兴趣;
35、为项目引入一个针对签到序列进行个性化的嵌入向量,具体如下:
36、添加一个链接到序列中所有项目的虚拟节点,虚拟节点的嵌入向量用于捕获签到序列中所有项的序列信息;
37、应用门控机制来融合和生成个性化嵌入向量:
38、
39、其中,表示第k层针对项目所在签到序列生成个性化的嵌入向量;表示项目在第k层的一般嵌入向量;表示k-1层虚拟节点生成用于捕获签到序列中所有项的序列信息的嵌入向量;
40、门控分数的计算方式如下:
41、
42、其中,是可学习的参数,是维度系数;
43、将第层中虚拟节点的嵌入向量更新为:
44、
45、其中,权重的计算公式为:,是可学习的参数。
46、可选的,步骤s4包括:
47、确定项目在签到序列中的位置信息和序列长度;
48、对于签到记录,使用共享位置嵌入查询表,中的第行表示长度为的序列中第个反向位置的嵌入向量;
49、引入一个共享序列长度嵌入查找表,中第行表示对应序列长度的嵌入;将序列的最大长度限制为;
50、对于长度为的签到序列中的第个项目,将项目的位置信息和序列长度统一到项目的一般嵌入向量中,得到更新后的项的嵌入向量:
51、
52、其中,表示项的反向位置的嵌入向量;
53、对于所有的项目,定义一个共享项目类型嵌入查找表,其中每一行表示一个项目的类型的嵌入向量:
54、
55、其中,表示项目的类型嵌入;
56、利用注意力机制对签到序列中所有项的信息进行融合,具有:
57、
58、其中,表示利用注意力机制融合序列中所有项的信息的嵌入向量表示;表示注意力权重;
59、通过两层多层感知器,计算注意力权重:
60、
61、这里,表示更新后的项的嵌入向量;表示签到序列中最后一项的嵌入向量;是虚拟节点的嵌入;表示表示一个项目的类别属性的嵌入向量;
62、将和结合起来,在签到序列中捕获用户兴趣,签到序列的序列表征由下式表示:
63、
64、其中,是权重参数。
65、可选的,步骤s5包括:
66、对于给定的签到序列,从具有个最近序列的固定大小的候选序列池中检索与最相似的个序列;
67、利用simhash方法,将签到序列的序列表征乘以哈希函数,将给定序列和候选序列的嵌入投影到二进制序列中,哈希函数被设置为固定的随机投影矩阵,其中,相似的个候选序列的嵌入向量得到相同的哈希输出;
68、输出相似的个候选序列的嵌入向量之间的hamming距离,从个候选序列中检索到与最相似的前个候选序列;
69、通过最相似的前个候选序列的one-hot编码的加权和,构造签到序列的软标签。
70、可选的,步骤s6包括:
71、将软标签、签到序列的序列表征以及个性化嵌入向量,输入图神经网络的预测层,应用内积和函数,输出在当前签到序列中的下一个时间戳中进行交互的项目的概率分布:
72、
73、其中,表示在下一个时间戳中与项交互的概率。
74、可选的,所述图神经网络的总损失函数由两个分量组成:基于签到序列的硬标签的交叉熵损失crossentropy和基于签到序列的软标签的kl发散损失kld:
75、
76、其中,λ是一个权衡参数,用于控制这两个损失的比重,表示预测值,表示实际值。
77、一种电子设备,包括处理器、存储器、用户接口及网络接口,所述存储器用于存储指令,所述用户接口和网络接口用于给其他设备通信,所述处理器用于执行所述存储器中存储的指令,以使所述电子设备执行一种基于图神经网络的上下文感知的下一个兴趣点推荐方法。
78、一种计算机可读存储介质,所述计算机可读存储介质存储有指令,当所述指令被执行时,执行一种基于图神经网络的上下文感知的下一个兴趣点推荐方法。
79、本技术提供的技术方案带来的有益效果是:
80、1. 构建多关系交叉序列图的构建。基于所有签到序列中的邻居项集合来建立这些边连接,链接来自不同序列的项目,从而利用全局级别的项目转换关系。通过考虑项目的类型来区分不同的项目转换,进一步利用项目的类型。解决了大多数先前的基于图的方法只将单个签到序列中的项转移模式建模为图,而忽略了不同序列中项之间的全局级别关系的问题。可以充分利用序列中的上下文信息,特别是跨序列的上下文信息,从而在三个真实数据集上均能获得最佳的性能表现,在实践中具有可行性和应用潜力。
81、2. 基于签到序列的个性化项目嵌入向量构建。除了在多关系交叉序列图的基础上使用图神经网络学习一般性的项目嵌入向量之外,为了编码用户兴趣的变化,本方法利用带有门控机制的学习方法生成了个性化的项目表示。将项目嵌入向量与项目在签到序列中的位置信息以及签到序列的长度结合起来,以学习得到签到序列的序列表征,提高推荐性能的准确性。
82、3. 生成软用户偏好的软标签。为了减轻序列中目标项目的硬标签(即一个热编码向量)所带来的偏差,本方法采用了内部和外部序列级上下文,并提出了一种标签协作策略。该策略通过利用与当前序列最相似的历史序列进行协同过滤,生成待预测的用户偏好的软标签。解决了现技术将目标兴趣点的 one-hot 编码向量视为真实分布可能会引起偏差并导致过度拟合问题。
1.一种基于图神经网络的上下文感知的下一个兴趣点推荐方法,其特征在于,方法包括以下步骤:
2.如权利要求1所述的一种基于图神经网络的上下文感知的下一个兴趣点推荐方法,其特征在于,步骤s1包括:
3.如权利要求1所述的一种基于图神经网络的上下文感知的下一个兴趣点推荐方法,其特征在于,步骤s2包括:
4.如权利要求3所述的一种基于图神经网络的上下文感知的下一个兴趣点推荐方法,其特征在于,步骤s3包括:
5.如权利要求4所述的一种基于图神经网络的上下文感知的下一个兴趣点推荐方法,其特征在于,步骤s4包括:
6.如权利要求5所述的一种基于图神经网络的上下文感知的下一个兴趣点推荐方法,其特征在于,步骤s5包括:
7.如权利要求6所述的一种基于图神经网络的上下文感知的下一个兴趣点推荐方法,其特征在于,步骤s6包括:
8.如权利要求1所述的一种基于图神经网络的上下文感知的下一个兴趣点推荐方法,其特征在于,所述图神经网络的总损失函数由两个分量组成:基于签到序列的硬标签的交叉熵损失crossentropy和基于签到序列的软标签的kl发散损失kld:
9.一种电子设备,其特征在于,包括处理器(501)、存储器(505)、用户接口(503)及网络接口(504),所述存储器(505)用于存储指令,所述用户接口(503)和网络接口(504)用于给其它设备通信,所述处理器(501)用于执行所述存储器(505)中存储的指令,以使所述电子设备执行如权利要求1-8任意一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,当所述指令被计算机执行时,执行如权利要求1-8任意一项所述的方法。