论文部分内容阅读
随着互联网以及信息技术的迅猛发展,网络中的信息量也在不断增长并逐渐迈向了大数据的时代。但在海量数据面前,用户往往无所适从越来越难以从中获取到各自感兴趣的信息,已从过去信息匮乏的状态转向了目前信息过载的状态。个性化推荐系统的出现,成为了信息过载问题的一种良好解决方案。它根据用户的历史行为信息以及有效的推荐算法,主动为用户推送个性化信息。在推荐系统当中,推荐算法尤为重要直接关系到推荐系统的性能。其中,协同过滤算法是推荐系统中应用最为成熟、有效的推荐算法之一,在个性化、持久性以及自动化等方面均有较大优势。但随着推荐系统中用户数据规模的不断扩大,协同过滤算法仍然面临着数据稀疏性以及可扩展性等问题。为了改善协同过滤算法在高维稀疏数据情况下的推荐精度,本文在基于项目协同过滤的基础上进行相关改进,提出了一种分层联合聚类协同过滤算法(A Hierarchical Co-clustering Collaborative Filtering,简称AHCCF)。考虑到在同一个用户群中由于其共同的喜好用户所感兴趣的项目评分比较密集,计算出的两个项目之间的相似性能够比较真实的反映这两个项目的实际相似性。因此,在AHCCF算法中运用联合聚类技术,对数据集从用户和项目两个维度进行聚类划分。根据联合聚类的划分结果,在不同的用户类簇中对项目相似度进行计算。其中,通过评分密集度对联合聚类划分的分块矩阵以及用户类簇矩阵进行评分稀疏性分析。并根据每个矩阵的评分密集度,由层次分析法计算出每个用户类簇在相似度计算过程中的所占权重,进而计算出项目间的最终相似度。由此,可有效缓解数据稀疏性对相似度计算准确性的影响,提高算法的推荐质量。为了改善传统单机模式下的协同过滤算法在大数据环境中的可扩展性,本文在AHCCF算法的基础上,基于Spark分布式计算平台实现AHCCF算法的并行化,进而提高AHCCF算法的可扩展性和推荐效率。通过在GroupLens提供的不同规模MovieLens数据集上进行实验表明,改进后的AHCCF算法能够明显提高推荐的准确度,并且AHCCF算法在Spark分布式环境下能够获得更好的推荐效率和可扩展性。