基于位置社交网络中地点聚类推荐方法

在进行个性化地点推荐时,基于用户的协同过滤算法对冷启动问题没有很好的解决方案。为了解决这个问题,将社交网络中的朋友关系引入到其中。通过社交网络中朋友这一因素,计算新用户和朋友之间的相似度,把朋友去过的地点推荐给新进入系统的用户,从而解决冷启动问题。在这一推荐中涉及到计算用户间的相似性,分别用兴趣地点相似度以及好友亲密度2个指标考察,将2个相似度利用权重混合后,计算用户对候选地点的兴趣度,最后进行推荐。

利用余弦相似度进行计算,用户ui、uj的兴趣地点相似度

式中:pij为朋友关系因素,表示用户ui与用户uj之间的亲密度,pij越高则朋友之间关系的亲密度越高,反之,亲密程越低;ε为一个可调节的参数,用来调节权重;fij表示用户ui与用户uj是否为好友关系,fij=1是好友,fij=0不是好友;Fi为用户ui的好友数据集;$\frac{\left|{{F}_{i}}\cap{{F}_{j}}\right|}{\left|{{F}_{i}}\cup{{F}_{j}}\right|}$表示用户ui与用户uj共同好友的数量占两个用户所有好友数量的比例,即共同好友比例。

用户间的兴趣地点相似度与好友亲密度相混合的混合相似度

计算出用户间的兴趣地点相似度与好友亲密度相混合的相似度dij后,选取top-N个dij值最高的用户组成用户集U′,其中uj属于用户集合U′。利用混合相似度,计算用户ui对没去过的地方lk的兴趣度

将兴趣度排序,选取候选地点中兴趣度高的地点推荐给用户。

基于朋友关系的协同过滤推荐虽然对冷启动问题有很好的解决方案,但对数据稀疏问题却是无效的,引入聚类算法能在一定程度上解决这个问题。考虑位置的语义特征,利用聚类算法K-medoids对地点进行分类重组,形成地点组,从而解决数据稀疏问题。将两个算法集成,取两者优势进行互补,提出改进的地点推荐算法,从而解决数据稀疏和冷启动问题。

在日常生活中,地点有相似性,不能把在语义上不同的地点完全判定为不同的两个地点。在计算地点的语义相似度时,引入了地点标签概念,并且运用词频-逆文档频率(termfrequency-inversedocumentfrequency,TF-IDF)这个统计方法。具体步骤如下:

首先,需要对标签中的文本进行预处理,清理各种停用词、乱码等。

计算词频方法为:

式中:tfkv是词v在地点k的标签中所占比例;Zkv是词v在地点k的标签集合dk中出现的次数;$\sum\limits_{N\in{{d}_{k}}}{{{z}_{kn}}}$是地点k的标签集合dk中所有词出现的总次数之和。

计算逆文档频率的方法为:

式中:idfv为词v在地点库中的逆文档频率,最常见的词如“的”“是”“中国”,虽然出现频率较高,但意义不大,所以赋予较小的权重,而一些重要性较高的词,如地点词汇,应赋予较高的权重,这个权重称为逆文档频率,一个词越常见,分母越大,逆文档频率就越小;D为地点库;|D|是地点总数;|{d|tv∈d,d∈D}|表示在地点库中包含词v的地点数目。分母之所以要加1,是为了避免分母为0(即所有文档都不包含该词)。

每个地点标签中的每个词的综合权重

每个地点的标签文本中,地点的语义信息向量

式中:|t|为地点标签中词的总数量;Tagsk为地点k标签中的每个词的综合权值组成的向量。

地点与地点之间的语义相似度为2个向量的余弦相似度,语义相似度

改进的地点推荐算法过程需要7个步骤。

(1)使用聚类算法k-medoids对所有地点进行相似性聚类

式中:Similarity(pk,pj)是地点k和j的语义相似度。

(3)计算目标推荐用户与其余用户间的兴趣地点组相似度r′ij

利用式(5)得到所有用户在地点组空间上的向量后,由式(1),将目标推荐用户与其余用户之间对地点的兴趣相似度改为对地点组的兴趣相似度

(4)计算目标推荐用户与其好友亲密度pij

由式(2)计算好友亲密度。

(5)计算混合相似度

利用一个线性的融合框架集成,将步骤(3)的用户间的兴趣地点组相似度与步骤(4)的好友亲密度相集成,由式(3),可得混合相似度

展开后

(6)计算目标推荐用户对候选地点组兴趣度wigk

(7)取出兴趣度最高的一些地点作为推荐结果

对兴趣度wigk按降序进行排列,选取最前面的结果优先推荐给用户ui。

在试验中,有2个可调节参数。在好友亲密度中,是否是好友对于推荐用户的影响大于潜在好友的影响,故将ε设为0.7。

式中:P,R分别为准确率与召回率。mAP同时考虑了准确率和召回率。

本文针对基于位置的社交网络中地点推荐时面临的数据稀疏和冷启动问题,提出解决方案。利用朋友关系协同过滤推荐解决冷启动问题。再与聚类算法集成,利用其优势,从而解决数据稀疏问题。本文的重点在于相似度的计算,对于用户间相似度采用兴趣地点相似度、好友亲密度。对于地点间相似度采用地点语义相似度进行聚类。通过试验分析,改进的算法可以有效提高推荐效果,提高推荐质量。

THE END
1.融合隐语义模型的聚类协同过滤AET摘要:协同过滤算法是推荐系统中应用最广泛的算法,随着用户数量和物品数量的不断增加,传统的协同过滤算法不能满足推荐系统的实时需求。本文提出了一种融合隐语义模型的聚类协同过滤算法。首先利用隐语义模型分解评分矩阵,然后在分解后的矩阵上利用传统的聚类算法聚合相同类别的物品,最后在相同类别的物品之间进行基于项目的协...http://www.chinaaet.com/article/3000014841
2.推荐算法协同过滤协同过滤推荐(Collaborative Filtering recommendation)是在信息过滤和信息系统中正迅速成为一项很受欢迎的技术。与传统的基于内容过滤直接分析内容进行推荐不同,协同过滤分析用户兴趣,在用户群中找到指定用户的相似(兴趣)用户,综合这些相似用户对某一信息的评价,形成系统对该指定用户对此信息的喜好程度预测。 https://www.jianshu.com/p/5463ab162a58
1.协同过滤算法在电商推荐系统中的应用:原理与实践协同过滤算法通过分析用户和商品之间的关系,找出用户之间的相似性和商品之间的相似性,从而实现推荐。具体来说,协同过滤算法的核心思想是: 利用用户的浏览历史、购买记录、评分等行为数据,建立用户画像。 利用商品的销售数据、用户评分、标签等数据,建立物品画像。 https://blog.csdn.net/2405_88636357/article/details/143904879
2.协同过滤推荐算法总结腾讯云开发者社区协同过滤推荐算法总结 推荐算法具有非常多的应用场景和商业价值,因此对推荐算法值得好好研究。推荐算法种类很多,但是目前应用最广泛的应该是协同过滤类别的推荐算法,本文就对协同过滤类别的推荐算法做一个概括总结,后续也会对一些典型的协同过滤推荐算法做原理总结。https://cloud.tencent.com/developer/article/1184600
3.推荐系统之协同过滤概述51CTO博客协同过滤(Collaborative Filtering)是现今推荐系统中应用最为成熟的一个推荐算法系类,它利用兴趣相投、拥有共同经验之群体的喜好来推荐使用者感兴趣的资讯,个人透过合作的机制给予资讯相当程度的回应(如评分)并记录下来以达到过滤的目的进而帮助别人筛选资讯(参考wiki,文字有点生硬,不过却很好的描述了协同过滤的一个互动...https://blog.51cto.com/u_16088628/6258396