徐丽 张新英
摘要:为了能够更好地改进协同过滤技术,适应推荐系统发展的需要,首先要分析协同过滤在实现过程中存在的问题,从而进行有针对性的改进,也就是寻找合理的解决方案
关键词:协同过滤;问题;推荐算法
一、协同过滤在应用中存在的问题
为了能够更好地改进协同过滤技术,适应推荐系统发展的需要,首先要分析协同过滤在实现过程中存在的问题,从而进行有针对性的改进。通过对协同过滤技术以及推荐系统的研究,我们发现协同过滤技术的实现中存在的问题主要有以下几点。
(一)稀疏性问题
协同过滤技术的实现首先需要使用用户—项评价矩阵对用户信息进行表示,尽管这在理论上很简单,但实际上,许多电子商务推荐系统要对大量的数据信息进行处理,而在这些系统中一般用户购买商品的总量占网站总商品量的1%左右,因此造成了评价矩阵(用户-项矩阵)非常稀疏。在这种数据量大而且又稀疏的情况下,一方面难以找到最近邻居用户集,另一方面进行相似性计算的耗费也会很大。
(二)冷启动问题
冷启动问题又称第一评价问题(first- rater),或新物品问题(New-item),从一定角度可以看成是稀疏问题的极端情况。因为传统的协同过滤推荐是基于相似用户/物品计算来得到目标用户的推荐,在一个新的项目首次出现的时候,因为没有用户对它作过评价,因此单纯的协同过滤无法对其进行预测评分和推荐。而且,由于新项目出现早期,用户评价较少,推荐的准确性也比较差[25]。相似的,推荐系统对于新用户的推荐效果也很差。冷启动问题的极端的案例是:当一个协同过滤推荐系统刚开始运行的时候,每个用户在每个项目上都面临冷启动问题。
(三)可扩展性问题
在协同过滤推荐算法中,全局数值算法能及时利用最新的信息为用户产生相对准确的用户兴趣度预测或进行推荐,但是面对日益增多的用户,数据量的急剧增加,算法的扩展性问题(即适应系统規模不断扩大的问题)成为制约推荐系统实施的重要因素。虽然与基于模型的算法相比,全局数值算法节约了为建立模型而花费的训练时间,但是用于识别“最近邻居”算法的计算量随着用户和项的增加而大大增加,对于上百万的数目,通常的算法会遇到严重的扩展性瓶颈问题。该问题解决不好,直接影响着基于协同过滤技术的推荐系统实时向用户提供推荐问题的解决,而推荐系统的实时性越好,精确度越高,该系统才会被用户所接受。
基于模型的算法虽然可以在一定程度上解决算法的可扩展性问题,但是该类算法往往比较适于用户的兴趣爱好比较稳定的情况,因为它要考虑用户模型的学习过程以及模型的更新过程,对于最新信息的利用比全局数值算法要差些。
二、解决协同过滤中稀疏性问题的方法
(一) 基于内容的协作过滤方法
基于内容的推荐(Content-based recommendation)是基于内容抽取项目特征属性的推荐技术,是信息过滤技术的延续与发展。
在基于内容的推荐系统中,项目或对象是通过相关的特征属性来定义的。在这类方法中,历史信息用来反映项目之间的关系,如一个项目的购买经常导致另一个项目或一组项目的购买。因此,该方法是利用用户-项目矩阵分析每个项目的相似性,在这个基础上计算被推荐的前N个项目。
基于内容的推荐系统是基于用户评价对象的特征,学习用户的兴趣。Schafer, Konstan和Riedl称这种方法为项目-项目相关关系法。由于这种方法不需要去识别那些邻近的用户,所以推荐算法的速度快得多。
基于内容的推荐对项目的属性特点的历史信息进行学习,其优势在于提高了推荐的可测量性,并且能够对推荐结果作出比较好的解释。基于内容的推荐能发现用户感兴趣的项目,但是不能发现新的内容。
(二)基于项的协同过滤算法
基于项的(Item-based)协同过滤推荐根据用户对相似项的评分预测该用户对目标项的评分,它基于这样一个假设:如果大部分用户对一些项的评分比较相似,则当前用户对这些项的评分也比较相似。基于项的协同过滤推荐系统使用统计技术找到目标项的若干最近邻居,由于当前用户对最近邻居的评分与对目标项的评分比较类似,所以可以根据当前用户对最近邻居的评分预测当前用户对目标项的评分,然后选择预测评分最高的前若干项作为推荐结果反馈给用户。
(三)基于内容推荐和协同推荐的组合推荐算法
尽管传统的协同过滤推荐的效果相当显著,但是冷开始和稀疏问题仍是影响其性能的重要问题。其关键问题在于,协同过滤的特点是要求有很多个用户对项目进行评价后,用户才互相帮助并协同选择项目。然而对于一个新项目,由于以往没有任何人对它作过评价,它就无法参与到推荐和评价中,因此推荐系统就失去了作用。评价的人越多,系统就越能发挥出其最大作用。所以对一个新项目,需要研究并解决在初始情况下如何让它参与推荐和评价,使整个推荐系统朝良性循环的方向发展。
由于解决问题的角度和方法不同,基于内容的推荐能有效的解决协同过滤的冷开始和稀疏问题。可以用一个简单的例子描绘其作用:假设一个用户已对来自网站ESPN.com的NBA网页作出过爱好的评价,而另一用户对来自网站CNNSI.com的NBA网页也作出过爱好的评价,如果只用协同过滤的话,将不能发现这两个用户的相似之处。然而,基于内容的分析是基于用户评价对象(项目)的特征属性,学习用户的兴趣,因此能发现这两个项目是相似的。那么,根据相似项目的属性以及用户对相似项目的评分,可以初步预测用户对新项目的评分,这样就得到了对冷开始问题的一个解决途径,同时,稀疏性问题也可以得到有效的解决。
基于上述分析,有研究者提出了一种采用基于内容的推荐改进协同过滤的组合推荐方法,利用基于内容推荐对相似项目的研究弥补协同过滤推荐在新项目推荐方面的不足,从而有效的解决冷开始和稀疏问题。
注:此文章是河北省教育科学研究“十三五”规划课题《基于自主学习系统的个性化课程推荐的研究》的研究内容之一。课题编号:1604083。