随着现代科技的发展,在当前信息过载的互联网时代,根据用户历史行为数据进行物品推荐已经成为当前研究的热点。近年来,推荐系统不断更新迭代,大多围绕准确性问题进行研究和改进。但是,多样性、新颖性以及长尾物品推荐等方面也同等重要。通过对协同过滤推荐系统的研究分析,引入多样性因子,提出一种基于聚类的混合协同过滤推荐算法,通过在Movielens数据集上验证了基于聚类的混合协同过滤算法较传统的协同过滤在提高了多样性的同时,准确性也得到改善,满足用户个性化需求。
随着互联网数据爆炸式增长,互联网为人们提供了海量的信息资源,丰富了我们的日常生活。而与此同时,信息过载的问题也日益突出,在海量的信息之中,提取出人们所需要的关键信息变得尤为重要。
在这个背景之下,推荐技术逐渐成为当前研究的热点,现已广泛应用于电商,电影,音乐以及图书等平台[1] [2] [3] [4]。
目前,应用较多的有基于统计学的推荐,基于内容的推荐和基于协同过滤的推荐。其中基于协同过滤的推荐是通过用户对商品的行为数据,来预测用户对商品的偏好。但是,由于物品的丰富性逐渐提升, 同时又难以显示的对物品进行分类,通过属性标签也难以代表用户对物品的真实偏好,传统的单一推荐算法不能很好地发现目标用户的喜好,同时存在可扩展性差的问题[5]。本文根据电影推荐系统的特点, 运用聚类算法以及基于物品和用户的混合推荐算法对用户进行个性化推荐,同时根据用户个人偏好,调整电影推荐类型的多样性。
2. 协同过滤混合算法的设计 2.1. 协同过滤算法的分类 推荐算法发展至今,可以分为基于用户的协同过滤算法(user-based collaboratIve filtering,简称User CF)和基于物品的协同过滤推荐算法(item-based collaborative filtering,简称Item CF),1992 年Goldberg与Nicols 提出了协同过滤算法基本概念,起初是用来过滤用户的电子邮件[6]。随着互联网的不断发展, 协同过滤算法现已成为当今主流的推荐算法之一。具体来讲,协同过滤算法(Collaborative Filtering,简称 CF)是根据用户对物品的历史行为数据, 通过计算用户或物品之间的相似度, 然后查找与目标用户相似度较高的邻近集,并通过近邻用户对物品的评分来达到对目标用户进行有效推荐的目的。
2.2. 对比分析UserCF 和Item CF 的优缺点,为融合两种算法提供依据 基于用户的协同过滤算法是推荐和当前用户相似度高的近邻用户产生过行为的物品给当前用户,基于物品的协同过滤算法是推荐和当前用户历史上行为过的相似度高的近邻物品给当前用户。
1) 适用场景上,ItemCF 是利用物品间的相似性来推荐,适用于用户数量大于物品数量的场景,比如电影系统,由于电影数据相对稳定,不仅计算物品相似度时计算量较小,而且不会频繁更新,维护相似度矩阵的代价也同步减小。而UserCF 更适合做新闻与博客推荐,因为其内容更新频率快,而且具有时效性,则使用UserCF 在推荐上有更好的可解释性[7]。
2) 推荐多样性上,对于单一用户推荐上的多样性,ItemCF 显然是不如UserCF 的好,因为ItemCF