1.基于位置时效特征和时间感知动态相似性的位置推荐方法,其特征在于,所述方法包括如下步骤:步骤1:收集、整理原始签到数据集,将签到记录中的具体时间转换为不同的时间槽,统计不同时间槽内用户在各位置上的签到次数,根据统计结果将签到记录转换成用户‑时间‑位置三维评分矩阵;
步骤2:按时间槽对用户‑时间‑位置三维评分矩阵进行分割,提取各时间槽内的用户‑位置二维评分矩阵,针对各个评分矩阵利用Jaccard系数计算不同时间槽内位置的动态相似度,利用位置的动态相似度和用户已完成的评分预测对未访问地址的评分,包括:步骤2‑1:根据时间槽t的值,将用户‑时间‑位置三维评分矩阵分割成从t=0到t=7共八个用户‑位置二维评分矩阵,记作Rt={ru,l},t∈[0,7],u∈U,l∈L;
步骤2‑2:针对每个二维评分矩阵Rt,选用更适合二进制评分的Jaccard系数计算位置相似度,分别计算在各时间槽t时位置li和lj之间基于时间感知的动态相似度:其中,i∈[1,NL],j∈[1,NL],t∈[0,7],NL表示数据集中所有位置的数量,Ui,t表示在时间槽t时访问过位置li的用户集合,Uj,t表示在时间槽t时访问过位置lj的用户集合;
步骤2‑3:选定位置社交网络中某目标用户ua作为推荐服务对象,将当前推荐时间timer转换为对应的时间槽tr;
步骤2‑4:改进传统的基于项目的协同过滤方法,利用位置的动态相似度和目标用户ua已经完成的评分去预测其对未访问地址l的评分:其中,ua是推荐系统当前服务的目标对象,tr是推荐系统提供推荐服务时对应的时间槽,l是目标用户尚未访问过的一个位置,L表示所有位置集合,sim(l,l',tr)表示在时间槽tr时位置l和l'之间的动态相似度, 表示目标用户ua在时间槽tr时对位置l'的评分;
步骤3:针对每个位置,分别记录各个用户在各时间槽最近一次访问该位置的具体时间,为各用户逐一计算此位置在各时间槽的时效特征值,在不同时间槽内,对访问过此地址的所有用户的位置时效特征值求平均,计算出该位置基于时间感知的时效特征值,包括:步骤3‑1:记录签到数据集中签到行为发生的最老时间和最新时间,分别记作minT和maxT;
步骤3‑2:针对每个位置,将访问过某位置l的所有用户记作集合U_l,若用户u∈U_l,则记录用户u在时间槽t最近一次访问位置l的时间为recentT(u,l,t),对于用户u来说,位置l在时间槽t的时效特征值timeliness(u,l,t)计算如下:其中minT和maxT分别为签到数据集中签到行为发生的最老时间和最新时间,recentT(u,l,t)为用户u在时间槽t最近一次访问位置l的时间;
步骤3‑3:对访问过位置l的U_l集合中所有用户的timeliness(u,l,t)值求平均,计算位置l在时间槽t的基于时间感知的时效特征值:其中U_l为访问过位置l的所有用户集合,timeliness(u,l,t)表示在时间槽t时位置l针对用户u的时效特征值;
步骤4:根据经纬度信息,计算签到数据集中各个位置之间的地理距离,利用核密度估计方法实现个性化概率密度建模,个性化挖掘地理特征影响;
步骤5:综合考虑用户上下文、位置上下文和时间上下文对用户签到行为的评分预测机制,将最终预测评分较高的若干个位置推荐给用户;
步骤6:提出时效性评价指标,定义推荐系统的时效性评价体系,分别使用准确性评价指标和时效性评价指标对比本发明提出的推荐系统和其他经典推荐系统的预测准确度和推荐时效性,评估所提出技术的准确性和有效性,包括:步骤6‑1:随机选取NU×10%个用户作为目标用户集TestU,其中,NU表示签到数据集中的用户总数,为TestU集合中每个目标用户ua分别运行推荐算法,生成当前推荐时间tr下的推荐列表TopNList(ua,tr);
步骤6‑2:计算推荐方法在时间槽tr为目标用户ua提供推荐服务时的时效性指标值,将该值定义为目标用户ua的推荐列表中所有位置的时效特征值的平均值:其中,ua是目标用户,tr是当前推荐时间对应的时间槽,TopNList(ua,tr)是推荐方法在时间槽tr为目标用户ua提供的推荐列表,timeliness(ua,l,tr)是对于用户ua来说,位置l在时间槽tr的时效特征值;
步骤6‑3:计算推荐方法在时间槽tr时的时效性:
其中,TestU是目标用户集合,Timeliness(u,tr)是在时间槽tr为目标用户u提供推荐服务时推荐方法的时效性指标值;
步骤6‑4:定义推荐方法的最终时效性Timeliness为各时间槽时效性指标的平均值为:其中,T是时间槽集合,T={0,1,2,3,4,5,6,7},Timeliness(t)是在时间槽t时推荐方法的时效性;
步骤6‑5:计算推荐方法在时间槽tr时的精确率和召回率:
其中,TestU是所有目标用户的集合,TP(u,tr)、FP(u,tr)和FN(u,tr)分别是推荐列表中正例对分、负例错分和正例错分的位置数量;
步骤6‑6:计算推荐方法的最终精确率和召回率,其值为各个时间槽中对应评估指标的平均值:其中,T是时间槽集合,T={0,1,2,3,4,5,6,7},precision(t)和recall(t)分别是推荐方法在时间槽t内的精确率和召回率;
步骤6‑7:计算推荐系统的综合准确度F1值:
其中,precision和recall分别是推荐方法运行一次的总体精确率和召回率;
步骤6‑8:重复执行步骤6‑1~步骤6‑7共Ntimes次,推荐方法的最终时效性指标值Timeliness、预测精确率Precision、召回率Recall和综合精度指标F1的值为Ntimes次对应指标结果的平均值;
步骤6‑9:对比分析各指标结果:如果所述方法的精确率Precision大于其他推荐算法的Precision值,则说明所述方法的推荐技术预测正确率更高;如果所述方法的召回率Recall大于其他推荐算法的Recall值,则说明所述方法的技术查全能力更强;如果所述方法的综合精度指标F1值大于其他推荐算法的F1值,则说明所述方法的技术在预测准确度方面综合能力更强;如果所述方法的时效性Timeliness大于其他推荐算法的Timeliness值,则说明所述方法提出的推荐技术更能挖掘用户的近期偏好,具有更强的时效性。
2.根据权利要求1所述的基于位置时效特征和时间感知动态相似性的位置推荐方法,其特征在于,所述方法的步骤1包括:步骤1‑1:收集原始签到数据集C,对每一条签到记录中的签到时间取整,取整后的签到时间记为time,time值的集合为Time={0,1,2,3,…,23},将一天的时间划分为8个离散的时间槽t,时间槽集合表示为T={0,1,2,…,7},取整后的签到时间time和时间槽t的对应转换关系如下:步骤1‑2:整理转换为时间槽后的签到数据集,获得n条签到记录,记作C={c1,c2,…,cn},其中,每一条签到记录均包含了发生签到行为的用户ID、签到时间槽t以及被访问位置的ID、经度和纬度信息,记作ci=
步骤1‑3:将用户u在时间槽t对位置l的评分定义为:若用户u在时间槽t对应的签到时间段内访问过位置l,则评分ru,t,l=1;反之,ru,t,l=0;
汇总所有评分,形成用户‑时间‑位置三维评分矩阵R={ru,t,l},u∈U,t∈[0,7],l∈L,评分矩阵R共有NU×8行,共有NL列,其中NU和NL分别为用户和位置的总数。
3.根据权利要求1所述的基于位置时效特征和时间感知动态相似性的位置推荐方法,其特征在于,所述方法的步骤4包括:步骤4‑1:在签到数据集C中获取所有地址及其对应的经纬度信息,根据每个地址的经纬度,计算位置之间的地理距离,设位置li的经纬度分别为lngi和lati,记作li=
计算每两个地址之间的地理距离后,形成距离矩阵Dist={distij},其中distij表示位置li和lj之间的地理距离,1≤i≤NL,1≤j≤NL,该矩阵有NL行和NL列,NL为签到数据集中的地址总数;
步骤4‑2:将目标用户ua访问过的位置集合记录为L_a,从距离矩阵Dis中找到L_a集合中每对位置之间的地理距离d,形成距离样本集合X_a,通过距离d上的概率密度函数f来估计距离分布:其中,σ是平滑系数,也称为带宽,K(.)是高斯核函数:
步骤4‑3:给定目标用户ua已访问过的位置集合L_a,计算目标用户ua访问候选地址li的概率为:其中f函数为概率密度函数。
4.根据权利要求1所述的基于位置时效特征和时间感知动态相似性的位置推荐方法,其特征在于,所述方法的步骤5包括:步骤5‑1:为了计算目标用户ua在当前推荐时间槽tr对未访问地址l的最终预测评分,首先对上述步骤2、步骤3、步骤4中生成的各项预评分进行min‑max标准化处理:其中, 是利用改进的基于项目的协同过滤方法,在当前推荐时间槽tr计算目标用户ua对未访问地址l的评分;timeliness(l,tr)是候选地址l在当前推荐时间槽tr时基于时间感知的时效特征值,pr(l|L_a)是基于目标用户ua已访问过的位置集合L_a,利用核密度估计方法预测得到的候选地址l的访问概率,L是所有位置集合;
步骤5‑2:综合考虑位置的时效特征、位置基于时间感知的动态相似度和地理距离对用户签到习惯的影响,计算目标用户ua在tr时对候选地址l的最终预测评分:步骤5‑3:对目标用户ua未访问过的所有地址按照最终预测评分排序,将排名靠前的N个位置推荐给目标用户ua。