本发明涉及一种面向位置社交网络的兴趣点推荐方法,属于社交兴趣推荐领域。
背景技术:
近年来,基于位置的社交网络(locationbasedsocialnetworks,lbsns)的迅猛发展,为推荐服务提供用户信息、社交关系、位置坐标、签到时间、评论信息等多维度信息。在lbsn中,用户通过签到来发布自己的当前位置信息,并分享他们对当前兴趣点(poi,如旅游景点、博物馆、图书馆、餐厅等)的评论信息和体验感觉。这些基于位置的社交网站收集了海量的用户签到信息,利用用户的签到信息向用户推荐感兴趣且没有去过的地方。兴趣点推荐对于用户和商家都有着非常重要的作用,一方面减轻用户信息过载问题,满足用户个性化需求,另外一方面帮助商家向潜在用户推送广告,增加商家的知名度,以此提高商业效益。因此,兴趣点推荐算法的研究具有重要的现实意义。
目前,兴趣点推荐算法研究主要结合用户信息、社交关系、位置坐标、签到时间、评论信息等进行推荐。其中,有效的利用时空因素可以进一步提高兴趣点推荐的性能,给用户带来更好的推荐体验。在日常生活中时间因素起着非常重要的作用。基于社交网络的用户行为的时间特征包含用户访问兴趣点的时间记录。通过分析用户的签到数据,挖掘出用户行为的时序特征,从而改善推荐效果。例如,人们通常在工作日和周末访问的地方不同。随着时间的变化,用户的偏好也会发生变化。与此同时,地理位置对于位置推荐影响力也不容忽视。tobler的第一地理学法则显示:相对于距离远的兴趣点,距离近的兴趣点之间更相似。在现实生活中,人们通常访问一个兴趣点后,通常喜欢访问该兴趣点附近的地理位置。换句话说,相邻的兴趣点比远距离的兴趣点具有更强的地理相关性。基于地理位置的兴趣点推荐分为2种:一种方法是仅考虑用户的当前位置坐标,过滤掉离用户较远的兴趣点,另一种方法是应用主题模型或者地理潜在特征来获取poi的潜在特征。
以上成果有效的推进兴趣点推荐服务的发展,但是仍然存在不足:
1)推荐精确率和召回率低。很难从签到数据中得到有效信息和过于稀疏的数据是推荐精度低的原因之一。除此之外,未能够对用户签到数据进行深入分析;
2)将时间划分为多个片段,会加剧数据稀疏。
技术实现要素:
时间和空间特征是兴趣点推荐系统的独特属性。有效的利用时空因素可以进一步提高兴趣点推荐的性能,给用户带来更好的推荐体验。但是,现有研究对于时间特征研究不深入,只是简单的将用户签到偏好进行不同时刻的划分,没有深入挖掘时间因素对用户偏好的影响。除此之外,将时间等分24个片段,会加剧数据稀疏。然而,签到数据集自身特征挖掘的局限性和数据的过于稀疏性也是兴趣点推荐精确率和召回率低的原因之一。针对上述问题,本发明提供一种面向位置社交网络的兴趣点推荐方法,目的是给用户推荐从未去过的位置,提高推荐精度,减轻用户信息过载问题,满足用户个性化需求,同时也可以帮助商家向潜在用户推送广告,增加商家的知名度,以此提高商业效益。
本发明为解决上述技术问题采用以下技术方案:
本发明提供一种面向位置社交网络的兴趣点推荐方法,包括如下步骤:
步骤1,根据目标用户的签到兴趣点的历史记录,获取目标用户的相似用户集合;
步骤2,通过在基于用户的协同过滤算法中,融入时间特征,得到基于时间特征和用户协同过滤的兴趣点评分;
步骤3,将基于时间因素的兴趣点流行度的估算融入空间特征去,得到基于空间特征和兴趣点流行度特征的兴趣点评分;
步骤4,分别将步骤2的基于时间特征和用户协同过滤的兴趣点评分和步骤3的基于空间特征和兴趣点流行度特征的兴趣点评分进行标准化,再将标准化后的数据进行线性组合,得到目标用户对兴趣点的综合评分;
步骤5,根据步骤4中的综合评分向目标用户进行兴趣点推荐。
作为本发明的进一步优化方案,步骤1中目标用户的相似用户v为与目标用户u的历史共同签到兴趣点数量nu,v>m的用户,其中,u,v∈user,v∈suser,
作为本发明的进一步优化方案,步骤2中基于时间特征和用户协同过滤的兴趣点评分为:
其中,
作为本发明的进一步优化方案,步骤3中基于空间特征和兴趣点流行度特征的兴趣点评分为:
其中,
作为本发明的进一步优化方案,步骤4中采用min-max分别将步骤2的基于时间特征和用户协同过滤的兴趣点评分和步骤3的基于空间特征和兴趣点流行度特征的兴趣点评分进行标准化。
作为本发明的进一步优化方案,步骤4中目标用户对兴趣点的综合评分为:
其中,k为第二预设参数,k∈[0,1];
作为本发明的进一步优化方案,步骤5中根据步骤4中的综合评分,按综合评分从高到低的顺序向目标用户进行兴趣点推荐。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:本发明首先通过在基于用户的协同过滤算法中,融入时间特征,给出相应的建模方法;然后将基于时间因素的兴趣点流行度的估算融入空间特征去,给出相应的建模方法;最后将两个方法进行融合,得到一个基于线性框架的兴趣点推荐建模方法有助于提高推荐精确度,克服了传统的兴趣点推荐或应用基本的协同过滤方法、或在基本的协同过滤算法中引入空间特征,而忽视了时序和兴趣点流行度特征对推荐精确度的影响。
附图说明
图1是本发明的实现模型图。
图2是本发明融合时空和流行度特征的兴趣点推荐算法流程图。
具体实施方式
下面结合附图对本发明的技术方案做进一步的详细说明:
一、体系结构
基于本发明的系统由原始语料库、预处理数据模块、相似度计算模块、时间感知的协同过滤模块、最近邻候选兴趣点选择模块、兴趣点流行度模块、融合空间和流行度模块以及线性融合模块等组成,如图1所示。以下对各部分进行具体说明:
一个原始语料库,存储从foursquare网站上抓取的用户的签到记录(包含用户id,签到位置id,位置坐标,时间);
预处理数据模块,过滤掉与目标用户签到相同位置少于m次的相似用户,得到目标用户u的最近邻相似用户集合;
相似度计算模块,主要计算任意两个时间点的相似度和基于不同时间点的用户相似度,提出基于连续时间的平滑技术,可以解决由于将一天时间划分为以小时为单位的多个时间点所带来的数据稀疏问题,提高推荐精确度;
时间感知的协同过滤模块,在基于用户的协同过滤中,采用基于不同时间点的平滑技术,得到目标用户u在时间点t访问兴趣点l的推荐模型;
最近邻候选兴趣点选择模块,采用地球球面距离公式计算候选兴趣点离目标用户历史访问兴趣点的距离,对其中最短距离取反,得到目标用户访问候选兴趣点l的条件概率;
兴趣点流行度模块,主要是进行用户对兴趣点的欢迎程度的评估,利用候选兴趣点在某个时间点的被签到数量和该候选兴趣点长期的被签到数量计算得到;
融合空间和流行度模块,在最近邻候选兴趣点估计的基础上,融合基于时间因素的兴趣点流行度估计,得到最终目标用户u在时间点t访问兴趣点l的推荐模型;
线性联合模块,将以上两个推荐模型进行线性加权,实验采用foursquare数据集,按兴趣点评分从高到低排序向用户推荐兴趣点。
二、方法流程
如图2所示,当目标用户u在时间点t对其进行兴趣点推荐,具体步骤如下:
步骤1:预处理数据,得到目标用户u的相似用户集合suser。具体预处理数据步骤如下:统计foursquare数据集中目标用户u访问过的地点集合lu。遍历地点集合lu,找到访问过相同的兴趣点的用户v,计算目标用户u和用户v共同访问的兴趣点的数量nu,v,若nu,v大于阈值m,则用户v是目标用户u与之相似的用户,否则过滤掉v。如此反复,最后得到与目标用户u的相似的用户集合suser。其中m∈{0,1,..,10},通过调整参数m的值发现,其值为4时,实验结果最优。
步骤2:将用户历史签到时间t按小时等分为24段,t={0,1,...,23},例如09:01:00记为9,00:10:00记为0。
步骤3:利用公式
步骤4:利用公式
步骤5:利用公式
步骤6:根据基于不同时间点的用户相似度,利用公式
步骤7:采用地球球面距离公式,计算用户对于距离的敏感度,找到最近邻候选兴趣点。其中,球面距离公式为:
geodist(li,lj)=r·cos-1(sin(lati)·sin(latj)+cos(lati)·cos(latj)·cos(lngi-lngj)),用户对于距离的敏感度的计算公式为
步骤8:利用候选兴趣点在某个时间点的被签到数量和该候选兴趣点长期的被签到数量,计算基于时间因素的兴趣点流行度。其中,流行度计算公式为
步骤9:将步骤7和8通过公式
步骤10:将步骤6和9通过公式
步骤11:按综合评分从高到低的顺序向目标用户进行top-n兴趣点推荐,即由高至低向目标用户推荐综合评分较高的n个兴趣点。
以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。