论文部分内容阅读
随着Internet技术的飞速发展,信息的规模呈爆炸式增长。人们在享受丰富的信息资源同时,也面临着难以快速的从海量信息资源中寻找出自己需要的信息的困扰。为了帮助人们快速高效地从海量信息中找到符合自己需求的信息,推荐系统应运而生。推荐系统是一种重要的信息过滤工具,它可以在用户不显示表达自己信息需求的情境下,根据用户以往浏览网页时留下的评分和评论等历史行为数据,主动向用户提供信息推送服务。推荐系统的核心构件是推荐算法,目前使用最为成功的推荐算法是协同过滤算法,然而,该算法目前仍然面临着诸多的挑战,如使用的评分矩阵的稀疏性问题,算法的可扩展性问题,推荐结果的实时性问题等。在协同过滤算法中,基于项目的协同过滤算法一般会表现出相对更好的性能,因此本文也是基于该算法展开的研究。基于项目的协同过滤算法运行过程中,最关键的步骤就是项目近邻集合的搜索。由于算法运行过程中所使用的用户-项目评分矩阵异常稀疏,导致项目近邻搜索的准确性一直受到很大的限制,尽管目前也有很多现有项目相似度计算模型已经能够较好缓解由于近邻搜索的不准确问题而造成的推荐不准确问题,但是仍然有一些没有考虑到的因素。本文基于对现有的一些相似度计算模型进行深入研究分析的基础上,提出一种新的综合项目相似度计算模型,然后再通过引入聚类思想,对传统的协同过滤算法进行改进,从而在保证近邻搜索准确度的情况下加快近邻的搜索过程。在建立的新的项目相似度计算模型时,本文综合考虑了用户的相似喜好信息、共同评分信息、项目平均得分的差异性信息和以及用户评分的敷衍性等因素,从而提出了本文的JAVWeightedModel;由于JAVWeightedModel项目综合相似度模型计算的时间复杂度较高,本文为了加快近邻的搜寻的过程,又引入了K-Center聚类算法,并将JAVWeightedModel模型融入到K-Center聚类过程中,最后使用改进后的K-Center算法对协同过滤算法进行改进,从而在尽可能保证项目近邻搜索准确度的前提下,进一步提高近邻的搜索速度。最后通过在不同规模的MovieLens数据集上来验证本文中的方法的有效性和正确性。