论文部分内容阅读
信息时代,互联网的覆盖率和普及度越来越高,同时也推动了电子商务融入人们的生活中,网络数据信息呈现出爆炸式的增长。人们将花费更多的时间去寻找他们想要的东西,这个现象被称作“信息过载”。如何解决这个问题对电子商务平台来说非常重要,推荐系统的出现填补了这一空白,其中基于协同过滤算法更是取得了很大的成功。然而随着电商平台的用户数和项目数的大幅度增加,被评分的项目比例越来越小,使得用户-项目评分矩阵变得十分稀疏,从而造成传统的协同过滤推荐算法的推荐准确度有所下降。数据稀疏问题使得采用协同过滤算法的推荐系统法面临严重不足。本文针对该问题,从结合条件概率算法、浮动筛选邻居和分步填充用户-项目评分矩阵中的未评分项目三个角度出发缓解数据稀疏性问题,提高推荐精度。第一,本文提出一种基于条件概率的算法,该算法从概率的角度可以挖掘传统协同过滤算法发现不了的邻居,并使得该邻居对目标项目进行预测评分,然后综合采用通常的协同过滤算法而获取的邻居对目标项目的评分,加权综合后产生最终的评分数值。第二,在筛选邻居的时候,放弃kNN选取固定k个邻居的做法,而是设定一定的相似度阈值和共同评分项目数阈值,然后只将达到阈值的用户作为目标用户的邻居,使选取的邻居更加可靠。第三,在对未评分目标项目进行预测时,分两步进行。第一步设定严格的相似度阈值和共同评分项目数阈值,然后只将达到阈值的用户作为目标用户的邻居,然后填充部分未评分项目;第二步,在第一步部分填充后得到的评分矩阵较原始评分矩阵将更为稠密,在此基础之上,部分以前不能成为目标用户邻居的用户将能够满足条件成为其邻居,从而能得到更多的邻居,再适当放宽条件限制,使得能够将用户-项目评分矩阵的剩余未评分项目进行完全填充。最后,本文采用MovieLens数据集,用Eclipse编写该算法进行实验。实验表明:浮动筛选邻居策略筛选的邻居比kNN策略更具可信度,MAE值更低;条件概率算法能发现潜在的邻居,弥补数据稀疏性;分步填充策略能很好地弥补数据稀疏性,提高推荐精度。