论文部分内容阅读
在互联网高速发展的今天,推荐系统能够缓解用户筛选感兴趣内容时的困扰,帮助用户发现有价值信息,已成为解决信息过载的有效手段。推荐系统中的协同过滤算法,因其领域无关性及支持用户发现潜在兴趣的优点被广泛应用。随着智能手机和地理位置服务的普及,基于位置的社会化网络(Location-based Social Network,LBSN)被社交网络服务应用商提出并受到大众的欢迎。LBSN可以实时获取用户的地理位置信息,并将在虚拟网络中传播的虚拟信息与用户在真实世界中的位置信息有效结合起来。为了解决LBSN中位置推荐的需求,学术界和工业界将协同过滤算法应用到LBSN的位置推荐中来。LBSN中的位置推荐一方面可以帮助普通用户筛选感兴趣的新地点,另一方面可以协助商家进行自身品牌推广与营销。但是,由于当前LBSN中数据具有规模过大且异构、多维度的特点,使得当前提出的应用于LBSN中的协同过滤位置推荐算法在算法实时性、推荐精确度等方面仍有较大提升空间。具体的,考虑时间、地点的实时位置推荐,本文完成了如下工作:(1)通过建立基于图的评分数据模型,将传统的协同过滤算法与并行图计算框架及改进的K近邻(K-nearest Neighbors,KNN)算法结合,提出了 GK-CF(Graph KNN Collaborative Filtering)算法。通过图的消息传播及改进的相似度计算模型对用户先进行筛选再做相似度计算;以用户-项目二部图的节点结构为基础,通过图的最短路径算法进行待评分项目的快速定位。(2)在GK-CF算法的基础上,结合了 LBSN中的时空信息,进一步提出了 LBSN中结合时空信息的协同过滤位置推荐算法LGP-CF(Location Graph Place Collaborative Filtering)。根据用户签到行为规律,将数据集分片,降低需要计算的数据规模。通过聚类算法获取相似用户集,缩小相似用户集选择范围。将轨迹数据及点数据结合起来进行相似度计算。最后,在根据经纬度信息将位置进行聚类的基础上,快速可靠定位可推荐位置集。(3)通过Spark平台上的GraphX并行图框架对上述算法进行了并行化实现及优化。通过算法流程优化及性能调优,有效的提高了算法的可扩展性和实时性能。在真实的物理集群环境下,对上述算法进行了实验,结果表明,与其他的协同过滤算法相比,在rmse、准确率、召回率等指标上,本文提出的算法显示了很好的推荐准确度和评分预测的准确性,在加速比等指标上也表明本文算法具有较好的可扩展性和实时性能。