一种融合协同过滤算法和位置信息的目标地推荐方法

文档序号:9433420阅读:800来源:国知局
一种融合协同过滤算法和位置信息的目标地推荐方法
【技术领域】
[0001] 本发明涉及一种融合协同过滤算法和位置信息的目标地推荐方法。
【背景技术】
[0002] 在网络爆炸的时代,人们往往要面对"信息过载"的问题,即如何在海量的信息中 找到自己感兴趣的信息。搜索引擎和推荐系统是目前解决该问题的主要技术,与搜索引擎 相比,用户更加青睐于使用个性化推荐系统,因为它能自动的从用户注册信息、用户浏览日 志、历史评分记录和项目信息等方面进行分析,从而挖掘用户的兴趣偏好和项目的特征,然 后为用户实现个人感兴趣信息的私人订制。
[0003] 因此,有必要设计一种融合协同过滤算法和位置信息的目标地推荐方法。

【发明内容】

[0004] 本发明所要解决的技术问题是提供一种融合协同过滤算法和位置信息的目标地 推荐方法,该融合协同过滤算法和位置信息的目标地推荐方法易于实施,结合了协同过滤 算法和旅行代价计算,为用户给出了最佳目标地的推荐,科学性和实用性强,能为用户的生 活和出行带来极大的便利。
[0005] 发明的技术解决方案如下:
[0006] -种融合协同过滤算法和位置信息的目标地推荐方法,计算(1)基于协同过滤 算法生成用户u对目标地i的预测评分P(u,i),以及⑵用户u到目标地i的旅行代价 TravelPenalty(u, i);
[0007] 则最终目标地i在用户U的推荐列表中的推荐值定义为:
[0008] RecScore(u,i) = P (u,i)-TravelPenalty(u,i)
[0009] 针对多个目标地i计算RecScore (u,i),并将RecScore (u,i)最大值对应的目标 地作为最终推荐的目标地;
[0010] 多个目标地位于距离当前用户U所在地半径为距离阈值K的目标区域内。
[0011] 所述的预测评分P (U,i)计算方法如下:
[0013] 其中,S(i,k)是与目标地i最相近的K个目标地集合,N(U)是用户u给过评分的 目标地的集合;
[0014] ru, j是用户u对目标地j的评分;
[0015] @是所有N个用户对目标地i评分的均值,其计算公式为其中Tlt 表示用户t对目标地i的评分;
[0016] sim' (i,j)为余弦相似度修正值,有:
对数的底数默认为10 ;
[0018] 其中sim(i,j)为修正前的余弦相似度:
[0020] %是用户u对所有目标地评分的均值;
[0021] 其中
,ru>1是用户u对目标地i的评分;r u, j 是用户u对目标地j的评分;%;是用户u对所有目标地【所有目标地的范围为前述的目标区 域】评分的均值;U = N(i) n N(j)是给目标地i和目标地j都打过评分的用户集合;N(i) 是给目标地i打过评分的用户集合,N(j)是给目标地j打过评分的用户集合;
[0022] 当sim(i,j)为正时,说明目标地i和目标地j正相关,具有相似性,具有推荐价 值。当sim(i,j)为非正值时,说明目标地i和目标地j负相关或不相关,不具有相似性,则 不具有推荐价值;并且计算修正后的相似度时,只计算正相关的目标地:
[0023] 评分的计算方法为:假定T天时间内,连接次数为n,那么评分为
由于归 一化处理f后r的值过小,为防止量级误差将r值倍数级增加。数字"7"并无特殊含义,此 处取该值。
[0024] 旅行代价TravelPenalty (u,i)的计算方法如下:
[0025] 给定用户u的位置L,设定距离阈值K,得到距离用户u旅行代价不大于K值的目 标地集合;假定用户u到目标地i的距离为I1,则对应的旅行代价为:
[0027] A和B两点的距离1的计算公式为:
[0029] 其中Lat 1和Lungl分别为A点的经炜度,Lat2和Lung2分别为B点的经炜度;其 中a = Latl-Lat2为两点炜度之差;b = Lungl-Lung2为两点经度之差;6378. 137为地球半 径,单位为公里。
[0030] 对于多个目标地,将计算得到的RecScore (u,i)按照降序排列,取前N个值输出为 推荐目标地列表。
[0031] 所述的目标地为商铺、展览馆或运动场馆。
[0032] 用户U对商铺的评分是本用户U对商铺的评分。
[0033] 本方案基于全城布点的商铺(以下均已商铺为例进行说明,则这里的商铺也可以 是展览馆等,特此说明)AP上报的数据信息,根据用户的行为记录,为用户推荐其感兴趣的 私人订制商铺列表。由于商铺具有位置属性,用户更加倾向于离自身距离较近的商铺,同时 考虑需要付出的旅行代价。
[0034] 根据用户的需求推荐:即只按照兴趣度高低推荐或在兴趣度的基础上考虑地理因 素推荐。考虑地理因素推荐时,需要用户自己定位自己所在的位置(GPS获取用户所在地的 经炜度)。
[0035] 有益效果:
[0036] 本发明的融合协同过滤算法和位置信息的目标地推荐方法,易于实施,实施成本 低,且结合了协同过滤算法和旅行代价计算,为用户给出了最佳目标地的推荐,科学性和实 用性强,能为用户的生活和出行带来极大的便利。
【具体实施方式】
[0037] 以下将结合具体实施例对本发明做进一步详细说明:
[0038] 实施例1 :
[0039] 一、基于金字塔模型的协同过滤算法(PMCF)
[0040] PMCF算法首先忽略物品的位置信息,利用基于商铺的协同过滤算法生成用户u对 商铺i的预测评分P (U,i),再考虑到商铺的位置属性对用户兴趣度的影响,最终商铺i在 用户u的推荐列表中的推荐值定义为:
[0041] RecScore(u,i) = P (u,i)-TravelPenalty(u,i)
[0042] 其中TravelPenalty (u,i)标示用户u到商铺i的旅行代价。
[0043] 2. 1基于商铺的协同过滤算法
[0044] 基于商铺的协同过滤算法主要分为两步:
[0045] 1)计算商铺之间的相似度。
[0046] 2)根据商铺的相似度和用户的历史行为为用户生成推荐列表。
[0047] 2. I. 1商铺相似度计算
[0048] 本方案采用修正的余弦相似度来计算商铺之间的相似度。其中用户对商铺的评分 由一定周期内用户连接商铺AP的次数表征。假定一定周期T天时间内,连接次数为n,那么 评分为Γ = f X 7,即将评分归一化到[0, 7]范围内。
[0050] 其中
其中ru, i是用户u对商铺i的评分; ru, j是用户u对商铺j的评分;$是用户对所有商铺评分的均值;U = N(i) (? N(j)是给商 铺i和商铺j都打过评分的用户集合。
[0051] 两个商铺如果被同一个用户打过相同的评分,那么其商铺之间的相似度比被同一 用户打过不同评分的两个商铺之间的相似度高。本方案通过使用同一用户对两个商铺的评 分差值的倒数来修正余弦相似度。公式如下:
[0053] 2. 1. 2生成推荐列表
[0054] 给定一个用户u,通过计算用户u对商铺i的预测评分P (u,i)来判断用户u对商 铺i的喜好程度。公式如下:
[0056] 其中S(i,k)是与商铺i最相近的K个商铺集合,N(U)是用户u给过评分的商铺 的集合。设置最低推荐值,将大于最低推荐值的商铺生成Top-N推荐列表提供给用户。
[0057] 2. 2基于位置信息的推荐
[0058] 推荐系统首先忽略商铺的位置信息,使用基于商铺的协同过滤算法生成用户u对 商铺i的预测评分P (u,i)。再考虑商铺的位置信息对用户兴趣度的影响,最终物品i在用 户u的推荐列表中定义为:
[0059] RecScore(u,i) = P (u,i)-TravelPenalty(u,i)
[0060] 其中TravelPenalty (u,i)表示为用户u到商铺i的旅行代价。TravelPenalty (u, i)的基本思想是对商铺i与用户u之前评分的所有商铺的位置计算距离的平均值,然后将 所求的平均值归一化到评分取值的相同范围内,如[0, 1]。
[0061] 给定用户u的位置L,设定K值(距离阈值),返回距离用户u旅行代价不大于K值 的商铺集合。假定用户u到商铺i的距离为I1,这时其旅行代价为:
即将旅行代价归一化到[0,1]范围内,用户可以随意定
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1