【技术实现步骤摘要】
一种用于兴趣点推荐的获取时间偏好融合序列偏好的方法
本专利技术属于推荐系统领域,特别涉及一种用于兴趣点推荐的获取时间偏好融合序列偏好的方法。
技术介绍
随着移动互联网的蓬勃发展,基于位置的社交网络(LBSN)日益普及,例如Foursquare,Yelp和FacebookPlaces。用户在某一个兴趣点可以轻松的分享与位置关联的内容,用户在兴趣点上留下的大量签到记录已经被用于改善LSBN用户体验的兴趣点推荐上。不管是在工业界还是学术界,对于用户兴趣点的推荐都已经成为了一个非常热门的话题。在用户兴趣点的推荐中,人们到某个兴趣点的签到时间是一个非常重要的影响因素。人们去某一个兴趣点会带有比较明显的时间倾向,比如,人们总是在特定的时间去餐馆吃晚餐,总是周末去电影院。已经有充分的研究表明,人员的流动有很强的时间周期性,人们的签到模式可能是以一天或者是以一周为周期,因此,很多方法中引入时间窗口的概念,主要包括日模式和周模式,两种模式都对推荐的结果有提升,而周模式更符合实际的时间格式,方法的预测准确性在工作日保持稳定,在周末则不太稳定,主 ...
【技术保护点】
1.一种用于兴趣点推荐的获取时间偏好融合序列偏好的方法,其特征在于,包括以下步骤:/n步骤1:数据预处理,得到兴趣点的特征时间戳,初始化兴趣点的嵌入向量、时间戳差值的嵌入向量,得到用户的正、负样本兴趣点嵌入向量序列和其对应的签到时间戳差值嵌入向量序列;/n步骤2:将单个用户的签到序列作为一批数据进行训练,将兴趣点嵌入向量、时间戳差值嵌入向量融入GRU模型;/n步骤3:构建用户的嵌入向量,计算用户对兴趣点的序列偏好以及用户对兴趣点的时间偏好;/n步骤4:将用户对兴趣点的序列偏好以及用户对兴趣点的时间偏好进行融合,得到用户对兴趣点的融合偏好值;/n步骤5:利用用户对正样本兴趣点 ...
【技术特征摘要】
1.一种用于兴趣点推荐的获取时间偏好融合序列偏好的方法,其特征在于,包括以下步骤:
步骤1:数据预处理,得到兴趣点的特征时间戳,初始化兴趣点的嵌入向量、时间戳差值的嵌入向量,得到用户的正、负样本兴趣点嵌入向量序列和其对应的签到时间戳差值嵌入向量序列;
步骤2:将单个用户的签到序列作为一批数据进行训练,将兴趣点嵌入向量、时间戳差值嵌入向量融入GRU模型;
步骤3:构建用户的嵌入向量,计算用户对兴趣点的序列偏好以及用户对兴趣点的时间偏好;
步骤4:将用户对兴趣点的序列偏好以及用户对兴趣点的时间偏好进行融合,得到用户对兴趣点的融合偏好值;
步骤5:利用用户对正样本兴趣点的融合偏好值和负样本兴趣点融合偏好值,进一步构造损失函数,计算loss值;
步骤6:优化后的网络模型使用。
2.根据权利要求1所述的用于兴趣点推荐的获取时间偏好融合序列偏好的方法,其特征在于:
所述步骤1具体包括以下步骤
步骤1.1:对用户的签到时间进行编码得到用户的签到时间戳;
考虑到用户在工作日和周末的兴趣点偏好不同,但在不同工作日之间、不同周末时间的兴趣点偏好较为稳定;
根据签到时间属于周末和工作日将其分为多个时间区间,通过如下公式对签到时间戳进行编码:
其中,tx表示签到的时间点,其中x∈[1,N],N表示用户u的签到序列长度,Δt表示设定的时间戳之间的最小时间间隔,Tt设为定值48,1≤Tt≤24个间隔代表工作日,24≤Tt≤48个间隔代表周末,表示总的时间时间间隔数,h,m,s分别表示时间点tx中对应的小时、分钟和秒,表示签到时间为工作日,tx∈{sat,sun}表示签到时间为周末;表示用户u在时间点tx的签到时间戳;
步骤1.2:计算兴趣点的特征时间戳;
对于兴趣点集合P={p1,p2,...,pm}中的m个兴趣点来自于所有用户的签到记录,也就是说,并不是所有兴趣点都被每一个用户访问过,而且就算被用户访问过,一次访问行为也反映不了用户访问该地点的时间规律,需要一个能代表地点被用户访问的特征时间戳用于获取用户的负样本签到记录;
计算兴趣点集合中第x个兴趣点px的特征时间戳,其中x∈[1,m]:
其中,表示兴趣点集合中第x个兴趣点px的特征时间戳,表示兴趣点px在时间戳的值时被所有用户访问的总次数,其中y∈[0,t-1];|Cu|表示用户u的签到次数,表示用户u在其签到序列中第j个兴趣点的签到时间戳,表示用户u在其签到序列中的第j个签到兴趣点;
表示兴趣点px所有被访问时间戳的次数中选出的最大值,其中z∈[0,t-1];
Sz即为兴趣点px的特征时间戳的具体值;
兴趣点集合为:P={p1,p2,...,pm}所对应的特征时间戳为
步骤1.3:初始化用户的签到序列中兴趣点的嵌入向量、时间戳差值的嵌入向量,得到用户的正、负样本兴趣点嵌入向量序列和其对应的签到时间戳差值嵌入向量序列;
签到的兴趣点即p可以用嵌入向量进行表示,用均匀分布进行初始化;则表示用户u在t时刻的兴趣点嵌入向量;
时间戳差值Δt用一个d维的向量表示,其中同样使用均匀分布进行初始化;则表示用户u在ti+1和ti时刻之间的时间戳差值嵌入向量;
得到用户的正样本兴趣点嵌入向量序列和其对应的签到时间戳差值嵌入向量序列:
对于用户u的正样本签到序列,定义为:
正样本签到序列Cu中的正样本兴趣点嵌入向量序列为:
按照公式(1)中的方法可以计算出Cu对应的正样本签到时间戳序列:
对于任意的两个时间戳,它们的差值会在{0,Δt,2Δt,...,(St-1)Δt}中取值,相应的可以得到一个时间戳差值序列其中
用户的正样本签到时间戳序列tu所对应的正样本签到时间戳差值嵌入向量序列为:
(2)得到用户的负样本兴趣点嵌入向量序列和其对应的签到时间戳差值嵌入向量序列:
对于用户u的签到的负样本签到序列是从P={p1,p2,...,pm}中随机选择第u个用户未访问过的地点px,及取出px对应的特征时间戳得来;
对于用户u的负样本签到序列所对应的负样本兴趣点嵌入向量序列为:
利用步骤1.2中的计算结果,取出中每一个负样本兴趣点所对应特征时间戳,最终构成负样本签到时间戳序列:
同样,用户的负样本签到时间戳序列所对应的负样本签到时间戳差值嵌入向量序列为:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。