在进行个性化地点推荐时,基于用户的协同过滤算法对冷启动问题没有很好的解决方案。为了解决这个问题,将社交网络中的朋友关系引入到其中。通过社交网络中朋友这一因素,计算新用户和朋友之间的相似度,把朋友去过的地点推荐给新进入系统的用户,从而解决冷启动问题。在这一推荐中涉及到计算用户间的相似性,分别用兴趣地点相似度以及好友亲密度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同时考虑了准确率和召回率。
本文针对基于位置的社交网络中地点推荐时面临的数据稀疏和冷启动问题,提出解决方案。利用朋友关系协同过滤推荐解决冷启动问题。再与聚类算法集成,利用其优势,从而解决数据稀疏问题。本文的重点在于相似度的计算,对于用户间相似度采用兴趣地点相似度、好友亲密度。对于地点间相似度采用地点语义相似度进行聚类。通过试验分析,改进的算法可以有效提高推荐效果,提高推荐质量。