基于用户偏好、社交信誉度和地理位置的兴趣点推荐方法与流程

文档序号:13876610阅读:337来源:国知局
基于用户偏好、社交信誉度和地理位置的兴趣点推荐方法与流程

本发明涉及一种兴趣点推荐方法,尤其涉及基于用户偏好、社交信誉度和地理位置的兴趣点推荐方法。



背景技术:

随着移动互联网的快速发展,基于位置的社交网络(location-basedsocialnetwork)逐渐兴起,如foursquare和brightkite。签到逐渐成为一种新的生活方式,所谓签到是指人们在社交平台分享自己的位置信息,并发表评论的行为。目前,信息爆炸现象使用户在信息海洋中很难找到符合自己需求的东西,推荐系统作为解决信息过载的一种方式有效缓解了这一现象,其中,用户兴趣点推荐是社交网络中较为常见的推荐方式。兴趣点推荐系统通过统计用户的历史签到数据,为用户推荐未去过且可能感兴趣的地点。

目前,在对地点推荐的研究中,主要是根据协同过滤(userbasedcollaborativefiltering,user-cf)算法为用户推荐兴趣点。协同过滤算法的步骤为:根据用户在某一地点的签到频次来形成用户的特征向量,然后使用皮尔逊相关性公式等方式计算不同用户的相似度,找到与待推荐用户相似的用户,最后将相似用户去过而待推荐用户没有去过的地点作为候选地点进行推荐。协同过滤技术因具有简单、易拓展性,在学术界和工业界已被广泛使用,但其中仍然存在一些问题需要改进:

1、现有技术中,仅仅使用0/1或者签到频次方式来表示用户对地点的偏好特征向量。实际上,0/1方式用1表示在某个地点签到过,0则表示没有在该地点签到过,这种方法并不能说明用户对这个地点的偏好程度,而签到频次这种方式说明的是用户在某个地点的签到次数,并不完全等价于用户对该地点的偏好程度。

2、现有技术中,在根据用户偏好特征向量来计算用户间的相似度时,默认用户共同签到过的地点的重要程度是一样的,然而,由于每个用户对不同地点具有不同程度的偏好,这种计算方式会导致计算结果不准确。

3、现有技术中,直接从社交网络中朋友访问过的地点集合中为用户生成推荐候选集列表,由于用户偏好存在差异过大情况,根据brightkite数据集分析结果得知,社交网络上朋友间共同访问的地点比例很低,说明即使是朋友之间,用户偏好也可能会差别很大。因此直接从朋友处获取推荐列表存在不适用的情况,会导致推荐结果不准确。



技术实现要素:

针对现有技术存在的上述不足,本发明要解决的技术问题是:如何提供一种能够为每个用户准确推荐兴趣点的方法,可以根据不同用户的偏好、社交信誉度和地理位置为每个用户适合准确地推荐兴趣点。

为解决上述技术问题,本发明采用了如下的技术方案:

基于用户偏好、社交信誉度和地理位置的兴趣点推荐方法,包括以下步骤:

获取所有用户及候选推荐地点的历史签到信息,基于所述所有用户的历史签到信息采用tf-idf计算所述目标用户对所述候选推荐地点的地点偏好度tfidfu,l,所述所有用户包括目标用户及相似用户;

基于所述目标用户的历史签到信息、所述相似用户的历史签到信息及所述地点偏好度tfidfu,l计算相似度simu,v;

获取所有用户的社交网络信息,基于所述社交网络信息采用pagerank算法计算出所述相似用户的社交信誉度repv;

获取所述目标用户的位置信息,基于所述目标用户与所述候选推荐地点之间的距离信息计算所述目标用户的地理距离影响因子g(disu,l);

基于所述候选推荐地点的历史签到信息计算所述候选推荐地点的流行度p(l);

基于公式计算所述目标用户的推荐分数scoreu,l,cv,l为所述相似用户在所述候选推荐地点的签到频次;

基于所述推荐分数scoreu,l生成推荐信息。

优选地,所述获取所有用户及候选推荐地点的历史签到信息,基于所述所有用户的历史签到信息采用tf-idf计算所述目标用户对候选推荐地点的地点偏好度tfidfu,l包括:

获取所述所有用户的总人数|u|、所述目标用户在所述候选推荐地点的签到频次cu,l、所述目标用户的总签到次数totalu、所述候选推荐地点的总签到人数totall;

基于公式计算所述目标用户的地点偏好度tfidfu,l。

优选地,所述基于所述目标用户的历史签到信息、所述相似用户的历史签到信息及所述地点偏好度tfidfu,l计算相似度simu,v包括:

所述所有用户的历史签到信息包括所述目标用户在所述候选推荐地点的签到频次cu,l;

基于公式计算所述目标用户的相似度simu,v,l表示所有的候选推荐地点的集合。

优选地,所述获取所有用户的社交网络信息,基于所述社交网络信息采用pagerank算法计算出所述相似用户的社交信誉度repv包括:

获取社交网络上所有用户的社交网络信息;

基于所有用户的社交网络信息生成每个用户的社交网络图;

基于pagerank算法计算出所述社交网络图中每个用户的pagerank值;

基于公式计算所述相似用户的社交信誉度repv,pagerankv为所述相似用户的pagerank值,max(pru)为所述所有用户中最大的pagerank值。

优选地,所述获取所述目标用户的位置信息,基于所述目标用户与候选推荐地点间地理距离信息计算所述地理地理距离影响因子g(disu,l)包括:

基于k-mediods聚类算法确认所述目标用户的位置;

基于所述目标用户的位置计算所述目标用户与所述候选推荐地点的距离disu,l;

基于公式计算所述目标用户的地理地理距离影响因子g(disu,l),a和b为幂率分布参数,e为自然常数。

优选地,所述基于所述候选推荐地点的历史签到信息计算候选推荐地点的流行度p(l)包括:

所述候选推荐地点的签到信息包括所述候选推荐地点的总签到次数totalckl及所述候选推荐地点的签到总人数totall;

基于公式计算所述目标用户的所述候选推荐地点的流行度p(l),max(totalckl∈l)为所有所述候选推荐地点中签到次数最多的候选推荐地点的签到次数,max(totall∈l)为所有所述候选推荐地点中签到人数最多的候选推荐地点的签到人数。

优选地,所述基于所述推荐分数scoreu,l生成推荐信息包括:

按照所述推荐分数scoreu,l由高到低的顺序选取预设个数的所述候选推荐地点;

按照所述推荐分数scoreu,l由高到低的顺序基于所述选取的候选推荐地点生成推荐列表。

综上所述,本发明公开了基于用户偏好、社交信誉度和地理位置的兴趣点推荐方法,包括以下步骤:获取所有用户及候选推荐地点的历史签到信息,基于所有用户的历史签到信息采用tf-idf计算目标用户对候选推荐地点的地点偏好度tfidfu,l,所有用户包括目标用户及相似用户;基于目标用户的历史签到信息、相似用户的历史签到信息及地点偏好度tfidfu,l计算相似度simu,v;获取所有用户的社交网络信息,基于社交网络信息采用pagerank算法计算出相似用户的社交信誉度repv;获取目标用户的位置信息,基于目标用户与候选推荐地点之间的距离信息计算目标用户的地理距离影响因子g(disu,l);基于候选推荐地点的历史签到信息计算候选推荐地点的流行度p(l);

基于公式计算目标用户的推荐分数scoreu,l,cv,l为相似用户在候选推荐地点的签到频次;基于推荐分数scoreu,l生成推荐信息。。本发明公开的技术方案可以根据不同用户的偏好、社交信誉度和地理位置为用户适合准确地推荐兴趣点。

附图说明

为了使发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步的详细描述,其中:

图1为本发明公开的基于用户偏好、社交信誉度和地理位置的兴趣点推荐方法的流程图;

图2为本发明公开实验1的效果对比图;

图3为本发明公开实验2的效果对比图;

图4为本发明公开实验3的效果对比图;

图5为本发明公开实验4的效果对比图。

具体实施方式

下面结合附图对本发明作进一步的详细说明。

如图1所示,为本发明公开的基于用户偏好、社交信誉度和地理位置的兴趣点推荐方法的流程图,包括以下步骤:

s101、获取所有用户及候选推荐地点的历史签到信息,基于所有用户的历史签到信息采用tf-idf计算目标用户对候选推荐地点的地点偏好度tfidfu,l,所有用户包括目标用户及相似用户;

s102、基于目标用户的历史签到信息、相似用户的历史签到信息及地点偏好度tfidfu,l计算相似度simu,v;

s103、获取所有用户的社交网络信息,基于社交网络信息采用pagerank算法计算出相似用户的社交信誉度repu;

s104、获取目标用户的位置信息,基于目标用户与候选推荐地点之间的距离信息计算目标用户的地理距离影响因子g(disu,l);

s105、基于候选推荐地点的历史签到信息计算候选推荐地点的流行度p(l);

s106、基于公式计算目标用户的推荐分数scoreu,l,cv,l为相似用户在候选推荐地点的签到频次;

s107、基于推荐分数scoreu,l生成推荐信息。

在实际应用中,用户产生签到行为时,移动设备会通过gps、蓝牙定位或者蜂窝基站等定位技术获取到用户当前位置。然后包含用户信息、地点信息、签到时间以及评论信息的签到记录将会上传至一个数据库。在使用本方法时,可以先收集大量的用户数据以及地点数据,形成一个数据库,本方法中提到的目标用户、相似用户及候选推荐地点的各种信息均可以从数据库中采集得到。此外,也可以采用其他方式从互联网上直接获取各种信息。需要注意的是,使用本方法,可单独为一个目标用户生成推荐信息,也可同时为多个目标用户生成推荐信息。每一个用户,对自身而言可以作为目标用户,同时也可作为其他用户的相似用户,也可出现在其他用户的社交网络信息中。

本发明利用“集体智慧”思想,考虑签到行为相似的用户具有相似偏好。在传统用户相似度的基础上,首创的使用一种改进的用户偏好表征方法,在计算用户间相似度时,考虑用户对每个地点的偏好不同,赋予用户间共同访问地点不同的权重,从而使用户间相似度的计算更加符合实际意义。同时,考虑到用户在社交网络中的信誉度,信誉度大的用户往往会产生更加可靠的建议,在为用户产生推荐时,其他用户根据信誉度自身来产生不等的贡献度。并且,在实际生活中,人们更加偏向于去比较近的地方,而且大多数人往往对比较流行的地点感兴趣,因此,本发明也考虑影响用户决策过程的地理距离和地点流行度因素。最后,本发明将以上提到几种因素融入user-cf中,为用户产生更加合理的推荐。克服了现有技术中各种推荐方法使用的分析数据较为单一,分析不全面,从而造成的生成的推荐结果不准确的缺点,能够向用户推荐更加符合用户心意的推荐点,提升了用户的体验感。

综上所述,本发明公开了基于用户偏好、社交信誉度和地理位置的兴趣点推荐方法,包括以下步骤:获取所有用户及候选推荐地点的历史签到信息,基于所有用户的历史签到信息采用tf-idf计算目标用户对候选推荐地点的地点偏好度tfidfu,l,所有用户包括目标用户及相似用户;基于目标用户的历史签到信息、相似用户的历史签到信息及地点偏好度tfidfu,l计算相似度simu,v;获取所有用户的社交网络信息,基于社交网络信息采用pagerank算法计算出相似用户的社交信誉度repv;获取目标用户的位置信息,基于目标用户与候选推荐地点之间的距离信息计算目标用户的地理距离影响因子g(disu,l);基于候选推荐地点的历史签到信息计算候选推荐地点的流行度p(l);

基于公式计算目标用户的推荐分数scoreu,l,cv,1为相似用户在候选推荐地点的签到频次;基于推荐分数scoreu,l生成推荐信息。。本发明公开的技术方案可以根据不同用户的偏好、社交信誉度和地理位置为用户适合准确地推荐兴趣点。

为进一步优化上述技术方案,获取所有用户及候选推荐地点的历史签到信息,基于所有用户的历史签到信息采用tf-idf计算目标用户对候选推荐地点的地点偏好度tfidfu,l包括:

获取所有用户的总人数|u|、目标用户在候选推荐地点的签到频次cu,l、目标用户的总签到次数totalu、候选推荐地点的总签到人数totall;

基于公式计算目标用户的地点偏好度tfidfu,l。

在计算用户间相似度时,需要考虑用户对每个地点的偏好程度,每个地点根据用户偏好程度其重要性是不同的。那么很重要的工作就是如何有效度量用户对每个地点的偏好程度。tf-idf是一种用于信息检索、文本处理和数据挖掘等领域的常用技术,用以评估字词对于一份文档的重要程度。字词的重要性随着它在文件中出现的次数成正比,但同时会随着它在语料库中出现的频率成反比下降。这个概念与用户对地点的偏好程度正好符合,因此将tf-idf技术迁移到表示用户偏好的过程中,与现有技术相比可以更加准确的计算出用户对于地点的偏好程度。使用本方法,可以计算出任一用户对任一已访问地点的地点偏好度。

为进一步优化上述技术方案,基于目标用户的历史签到信息、相似用户的历史签到信息及地点偏好度tfidfu,l计算相似度simu,v包括:

所有用户的历史签到信息包括目标用户在候选推荐地点的签到频次cu,l;

基于公式计算目标用户的相似度simu,v,l表示所有的候选推荐地点的集合。

在计算出目标用户对每个地点的偏好程度之后,就可以将该信息引入目标用户的相似度计算过程。相似用户可以为所有用户中任意非目标用户的其他用户,相似用户及目标用户的身份并非固定不变的,任一用户既可以作为相似用户,也可以作为目标用户,但是不能同时充当这两种角色。这种方式考虑到每个用户对不同地点的偏好程度不同,更加符合推荐系统个性化的要求,最终得到的推荐结果更加符合目标用户的实际需要。

为进一步优化上述技术方案,获取所有用户的社交网络信息,基于社交网络信息采用pagerank算法计算出相似用户的社交信誉度repv包括:

获取社交网络上所有用户的社交网络信息;

基于所有用户的社交网络信息生成每个用户的社交网络图;

基于pagerank算法计算出社交网络图中每个用户的pagerank值;

基于公式计算相似用户的社交信誉度repv,pagerankv为相似用户的pagerank值,max(pru)为所有用户中最大的pagerank值。

本技术方案先得到所有用户中每个用户的社交网络图,并求出每个用户的pagerank值,最终得到相似用户的社交信誉度repv,max(pru)是所有用户中pagerank值最高的用户的pagerank值。

一些观点认为社交朋友之间偏好会很相似,因此直接根据用户朋友访问过的地点为用户生成推荐候选集列表,然而,由brightkite数据集分析结果得知,社交网络上朋友间共同访问的地点比例很低,说明即使是朋友之间,用户偏好也可能会差别很大。因此直接从朋友处获取推荐列表存在不适用的情况。在实际生活中,人们往往会根据信誉度的不同决定是否考虑他人的建议或推荐。此处,信誉度定义为每个用户在社交网络中的重要程度。pagerank是一种链接分析算法,通过网络浩瀚的超链接关系来确定一个页面的等级。google用它来体现网页的相关性和重要性,在搜索引擎优化操作中是经常被用来评估网页优化的成效因素之一。鉴于此,本发明首先获取目标用户在社交网络中的朋友间的社交关系形成社交网络图,然后采用pagerank计算出社交网络图中每个人的重要程度,并进行归一化处理,以此表示每个目标用户在社交网络中的信誉度。与直接根据用户朋友访问过的地点为用户生成推荐候选集列表的做法相比,准确度更高。

为进一步优化上述技术方案,获取目标用户的位置信息,基于目标用户与候选推荐地点间地理距离信息计算地理地理距离影响因子g(disu,l)包括:

基于k-mediods聚类算法确认目标用户的位置;

基于目标用户的位置计算目标用户与候选推荐地点的距离disu,l;

基于公式计算目标用户的地理地理距离影响因子g(disu,l),a和b为幂率分布参数,e为自然常数。

本发明将目标用户的签到中心点作为目标用户的位置。这里很重要的工作就是如何寻找用目标户签到中心点。考虑到签到离群点的影响,本发明采用k-mediods聚类方法寻找用目标户签到中心点,然后计算签到中心点与候选推荐地点之间的地理距离。

为进一步优化上述技术方案,基于候选推荐地点的签到信息计算候选推荐地点的流行度p(l)包括:

候选推荐地点的签到信息包括所述候选推荐地点的总签到次数totalckl及所述候选推荐地点的签到总人数totall;

基于公式计算所述目标用户的所述候选推荐地点的流行度p(l),max(totalckl∈l)为所有所述候选推荐地点中签到次数最多的候选推荐地点的签到次数,max(totall∈l)为所有所述候选推荐地点中签到人数最多的候选推荐地点的签到人数。

考虑到现实生活中,人们对流行度比较高的地点通常会有比较高的兴趣,因此引入地点流行度计算方法,可进一步提高推荐的准确性。

为进一步优化上述技术方案,基于推荐分数scoreu,l生成推荐信息包括:

按照推荐分数scoreu,l由高到低的顺序选取预设个数的候选推荐地点;

按照推荐分数scoreu,l由高到低的顺序基于选取的候选推荐地点生成推荐列表。

综上所述,本发明从多个角度入手,综合的考虑了各种因素从而向用户推荐兴趣点,比现有技术中单独考虑任意一个因素推荐兴趣点的方法更加准确,用户满意度更高。

在本发明中,u表示所有用户的集合,l表示所有的候选推荐地点的集合。

下面为本发明与现有技术中的方案进行的实验对比:

本发明在brightkite数据集上进行实验,随机选取70%数据作为训练集剩下30%作为测试集,评价标准为准确度pre@n和召回率rec@n,n为推荐列表长度,设计4个实验验证:

实验1、基于tfidf技术的用户相似度与传统相似度的效果比较:

在user-cf基础上,分别采用tf-idf的用户偏好表示方法与基于签到频次的用户偏好表示方法计算用户间相似度,然后分别为用户生成推荐,实验结果如图2所示,采用基于tf-idf的用户偏好表示方法在pre@n和rec@n上效果均优于传统基于签到频次的相似度方法,说明本发明提出的tf-idf方法的确能够有效表示用户偏好,提升推荐效果。

实验2、不同地理距离模型的效果对比

本实验对地理距离与签到概率之间的关系分别采用反比例函数、幂率分布和指数函数建模,然后在user-cf基础上进行实验,实验结果如图3所示,采用反比例函数的模型效果优于其他两种模型,说明反比例模型能够更加准确的表明地理距离与签到概率之间的关系。

实验3、地理信息与社交信誉度效果对比

本实验中,在基于tf-idf的用户相似度基础上,将分别使用地理距离、流行度和社交信誉度进行对比实验,确定各个因素对推荐结果的影响。本发明所提出的方法表示为tsg,对比方法如下所示:

td:仅考虑基于tf-idf的用户相似度与地理距离;

tp:仅考虑基于tf-idf的用户相似度与流行度;

user-cf:传统的基于用户的协同过滤方法

实验结果如图4所示,相比于user-cf,三种方法均能提升推荐效果,本发明所提出的融合模型效果最好。其中,地理距离因素对推荐结果的影响最大。相比于地理距离和流行度,社交信誉度虽然也能提升推荐效果,但是效果比较有限。

实验4、本发明提出的融合框架模型与其他推荐方法的比较

本实验中,对比推荐方法如下所示:

fcf:此方法仅从用户朋友签到过的地点集合中为用户生成推荐

gm-fcf:此方法在fcf的基础上,考虑地理距离的影响

usg:此方法线性加权融合user-cf、fcf和用户在某个地点签到的概率三种方式产生的推荐结果

user-cf:传统的基于用户的协同过滤方法

实验结果如图5所示,在pre@n和rec@n指标上,本发明的融合模型均优于其他目前典型推荐算法,说明本发明提出的融合基于tf-idf用户偏好、地理信息和社交信誉度三种上下文的模型能够产生较好的推荐效果。

最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管通过参照本发明的优选实施例已经对本发明进行了描述,但本领域的普通技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离所附权利要求书所限定的本发明的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1