论文部分内容阅读
推荐系统或推荐引擎(Recommender System)作为信息时代一种有效解决互联网信息过载(Information overload)问题和向用户进行推荐的有效手段,其基本原理是通过分析用户历史行为数据和其他信息提取出用户的兴趣偏好,帮助用户快速寻找满足其需求和兴趣的物品或信息。目前推荐系统已被实际应用到多个领域,如Amazon商品推荐、Pandora音乐推荐、Netflix视频推荐、Google Reader个性化阅读、Facebook好友推荐、Sina新闻推荐等等。目前,主流的推荐方法包含协同过滤推荐(Collaborative Filtering Recommendation)、基于内容的推荐(Content-based Recommendation)以及混合推荐(Hybrid Recommendation)。为弥补单一推荐算法存在的各种不足,如单一的协同过滤推荐算法存在的冷启动问题,单一的基于内容推荐的用户或物品内容信息很难提取的问题等等,通常会将两种以上算法混合起来形成一种新的混合推荐算法以扬长避短。本文首先分析了课题研究背景、简述了国内外研究现状,阐明了个性化推荐算法的产生、发展、应用领域、研究热点及存在的问题。其次,分别对比和分析了目前几种主流推荐算法及推荐算法中常用的聚类方法,在此基础上提出一种基于用户属性与自然最近邻的个性化推荐算法(User Attributes and User-centric Natural Nearest Neighbor-Based Personalized Recommendation Algorithm,UA3NR),具体工作如下:1)鉴于传统的基于K近邻的协同过滤推荐算法在选择近邻时没有充分利用对称邻居信息且参数K(近邻个数)很难确定,本文提出一种基于用户自然最近邻的推荐算法(User-centric Natural Nearest Neighbor-based Recommendation Algorithm,3NR),该算法融入了用户自然最近邻的概念,通过无参数、自适应地基于用户-项目历史评分数据寻找目标用户的自然最近邻用户并进行推荐,进一步提高推荐的准确度。在使用3NR算法对目标用户进行推荐时,又提出“活跃用户”概念,即在目标用户近邻集合中增加了对评分预测有积极意义的活跃用户,可有效缓解数据稀疏性对推荐结果的不良影响。2)由于3NR算法不能有效应对冷启动问题,本文又提出一种基于用户属性聚类的推荐方法(User-clustering-based Recommendation Algorithm,UCR),首先通过用户属性进行聚类,找到目标用户所属类别和目标用户的邻居集合,再根据邻居集合预测评分并向目标用户推荐物品。UCR是一种局部的近邻查询方法,一定程度上可以降低算法复杂度,进而提高推荐效率,且使用用户基本属性信息聚类可以一定程度缓解用户冷启动问题。3)最后将3NR和UCR算法加权混合得到本文UA3NR算法,在保证推荐准确度和提高推荐算法的效率的前提下,也一定程度上缓解数据稀疏性问题和用户冷启动问题。4)通过MovieLens真实数据集设计一系列仿真实验,对本文算法进行验证。实验结果表明本文提出的基于用户自然最近邻的推荐算法(3NR)相比K-CF算法和INS-CF算法[75]的RMSE(root-mean-square error)和MAE(mean absolute error)值更小,本文的UA3NR算法在聚类个数为5-15时MAE值始终小于NPSSC[71]算法。