1.一种与时间相关的个性化地点路线推荐方法,包括以下步骤:
(1)构建三维签到张量:
(1a)从数据集中获取待推荐城市所有用户的签到数据;
(1b)从签到数据中分别提取每个用户对任意一个地点在任意时间段的评分;
(1c)将所有的评分构建成用户-地点-时间的三维签到张量;
(2)重构三维张量:
(2a)对三维的签到张量,使用高阶奇异值分解算法,计算所有用户对在任何时间段时对所有地点的评分;
(2b)将所有的评分构成用户-地点-时间的三维张量;
(3)获取候选地点列表:
(3a)通过用户手机内置的定位模块,获取待推荐用户的当前位置;
(3b)根据待推荐用户的当前位置,确定待推荐用户所在城市,并将该城市作为待推荐城市;
(3c)从重构用户-地点-时间的三维张量中,提取待推荐城市所有地点的评分集合;
(3d)对评分集合,按照评分由高到低进行排序,从排序中选择前K个评分,将所选取评分对应的地点作为候选地点列表;
(4)获取时间分布:
(4a)将待推荐城市的签到数据,按照地点名称进行分类,统计候选地点列表中的每个地点的签到次数;
(4b)对签到时间一年中每个月份的待推荐城市的签到数据进行统计,得到候选地点列表中的每个地点在不同月份的签到次数;
(4c)对签到时间一天中每个小时的待推荐城市的签到数据进行统计,得到候选地点列表中的每个地点在每个小时的签到次数;
(4d)用每个地点在不同月份的签到次数除以候选地点列表中每个地点的签到次数,得到地点的粗粒度时间分布概率;
(4e)用每个地点在不同小时的签到次数除以候选地点列表中每个地点的签到次数,得到地点的细粒度时间分布概率;
(5)计算地点的粗粒度时间信息散度:
采用粗粒度时间的信息散度计算公式,计算候选地点列表中的地点的粗粒度时间信息散度值;
(6)计算地点的细粒度时间信息散度:
采用细粒度时间的信息散度计算公式,计算候选地点列表中的地点的细粒度时间信息散度;
(7)按照下式,计算待推荐用户访问地点的概率值:
sj=ecj-b·(ckj·fkj)
其中,sj表示待推荐用户访问地点j的概率值,ecj表示待推荐用户c对地点j的评分,cj表示地点j的粗粒度时间信息散度,fj表示地点j的细粒度时间信息散度,b表示控制因子,其取值的范围为b∈[0,1];
(8)获取地点路线推荐:
使用最长路径算法,以用户访问地点的概率和候选地点列表中的地点作为输入,得到满足用户兴趣的地点路线推荐。
2.根据权利要求1所述的一种与时间相关的个性化地点路线推荐方法,其特征在于:步骤(3d)中所述的K的取值范围是30-50。
3.根据权利要求1所述的一种与时间相关的个性化地点路线推荐方法,其特征在于:步骤(5)中所述的粗粒度时间的信息散度计算公式如下:
其中,cj表示地点j的粗粒度时间的信息散度,∑表示求和操作,x表示粗粒度时间所对应的月份值,G(·)表示高斯分布,log表示以2为底取对数操作,dj(x)表示地点j在月份取值为x时的粗粒度时间分布概率值。
4.根据权利要求1所述的一种与时间相关的个性化地点路线推荐方法,其特征在于:步骤(6)中所述的细粒度时间的信息散度计算公式如下:
其中,fj表示地点j的细粒度时间的信息散度,∑表示求和操作,y表示细粒度时间所对应的小时值,G(·)表示高斯分布,log表示以2为底取对数操作,kj(y)表示地点j在小时取值为y时的细粒度时间分布概率值。