论文部分内容阅读
随着网络技术飞速发展,电子商务网络服务愈趋流行,以及在线用户和信息资源不断增加,用户在信息检索与过滤过程中面对诸多信息选择时,经常会淹没迷失在信息海洋中,很难迅速准确定位查找到所需资源,信息过载越来越严重,用户迫切期望网络信息系统具有某种主动性的推荐帮手功能,能够提供个性化服务协助他们做出决策,于是个性化推荐系统适时被提出,成为解决这些问题的主要手段。个性化推荐算法是推荐系统的核心,关键决定着推荐系统性能。其中,协同过滤推荐方法是目前最流行的个性化推荐技术,是电子商务网站不同程度采用的最广泛最成功的推荐手段,根据与目标用户兴趣爱好相似的其他用户对项目的评价,生成目标用户对未评分项目的预测推荐,尽管自动化、持久性和个性化程度有了明显提高,但传统协同过滤推荐技术在实际应用中存在很多缺陷,现有算法依赖于用户项目评分矩阵,无法摆脱评分矩阵的稀疏性、新用户和新项目的冷开始问题,邻居相似性计算不准确,只考虑用户共同评分项目,忽略用户特征、项目属性等客观内容;在整个用户项目评分矩阵空间在线查找最近邻居,可扩展性和实时性差;同等对待用户不同时期的兴趣偏好,缺乏时效性;预测精度低和推荐质量失真。针对这些问题,本文提出一种基于属性特征和时间权限的非线性组合协同过滤推荐算法。首先,构建用户特征、项目属性矩阵,改进基于用户特征、项目属性相关性的邻居相似性计算方法,避免不相关邻居对邻居相似性统计的干扰,以便获得更加准确的最近邻居集;然后,初始项目预测评分填充用户项目评分矩阵,以增强其稠密性,新用户、新项目分别采用用户特征、项目属性相关性计算其最近邻居集;第三,最终用户预测评分增加时间权限,突出用户不同时期的兴趣差异,使用户最新兴趣权重最大。在上述改进的基础上,为了避免在整个用户项目评分矩阵空间上计算邻居相似性,缩小最近邻居查找空间维度,增强算法的可扩展性和加快在线实时响应速率,本文设计出一种融合聚类和协同过滤的个性化推荐算法。首先,借助Kruskal最小生成树算法优化K均值聚类划分方法,提出基于Anti-Kruskal的K-Means聚类算法,离线预处理数据构造最小代价森林,自动生成K个聚簇与初始聚类中心,以克服K-Means算法的K值和初始聚类中心需要人为随机确定的缺陷,而且不同的K值和初始聚类中心导致划分的聚类不一致,最终也导致最近邻居不准确;其次,考虑用户特征、项目属性矩阵,结合基于Anti-Kruskal的K-Means算法,改进基于项目属性、用户特征相似性的邻居聚类方法;再者,初始项目聚簇预测评分填充用户项目评分矩阵,新用户、新项目的特征属性相似性替代评分相似性;最后,最终用户聚簇预测评分引入时间函数,赋予用户对项目的实际评分不同的权限,缩放原始评分以体现最晚兴趣的时效性。通过C++编程实现以上两个算法,采用MovieLens数据集进行预测准确率实验分析。三种相似性分布及其平均绝对误差实验说明相关相似性分布最合理,其MAE也低于余弦相似性;最近邻居查找效率实验显示第2个改进算法在更小空间内搜寻到更多的最近邻居;两种改进算法与传统算法的平均绝对误差、查准率、查全率比较实验表明,本文所设计的算法通过降低用户项目评分矩阵的稀疏性、冷开始问题,增强可扩展性、实时性和时效性,显著提高了预测精度和推荐性能。最后,分析它们的在线计算速率,与传统协同过滤推荐算法相比,第1个改进算法的时间复杂度基本不变,而第2个改进算法明显优于传统算法。