您好, 访客   登录/注册

基于用户的协同过滤推荐技术

来源:用户上传      作者: 夏建勋

  [摘要] 随着因特网普遍使用和电子商务迅猛发展,推荐系统已成为重要研究领域,人们对推荐技术作了广泛的研究。个性化的推荐系统以个性化方式向用户推荐商品,帮助用户找到他们所需要的商品,并便捷地完成购买过程。介绍了电子商务系统中的协同过滤推荐技术,详细分析了基于用户的协同过滤推荐算法,同时指出了它的优点和缺点。
  [关键词] 电子商务 协同过滤 推荐系统 推荐技术
  
  当前,电子商务系统迅猛发展,随之而来地出现了电子商务系统中的信息“超载”现象。海量的物品信息无疑增加了用户购买所需物品的难度,使得用户很难迅速准确地找到自己真正中意的商品。为此,许多电子商务网站引入了推荐系统,以提高用户的点击率,变网站的浏览者为购买者,提高用户购买成功率和交叉销售能力,进而提升网站的美誉度和用户对网站的忠诚度。所谓电子商务推荐系统是在了解和学习用户的需求与喜好的基础上为用户提供商品信息和建议,模拟商家向用户推荐其可能感兴趣的商品,帮助用户完成购买过程。提供个性化服务已经成为进一步提高网络内容服务质量急需解决的重要课题之一,也是未来网络内容服务的一个发展方向。目前,几乎所有著名电子商务网站,诸如亚马逊、CDNOW、eBay、淘宝网等都采用了各式各样不同个性化水平的推荐系统。推荐系统中最核心和关键的是所采用的推荐技术,它决定了推荐系统性能的好坏。因此,加强对电子商务系统个性化推荐技术研究具有非常重要的实际意义。现在,主要的推荐技术有:基于内容推荐、协同过滤推荐、基于关联规则推荐、基于效用推荐、基于知识推荐和组合推荐。其中,协同过滤推荐是应用最早和最为成功的技术之一,而基于用户的协同过滤推荐又是最容易理解的一种技术。
  一、协同过滤推荐
  协同过滤推荐技术在个性化推荐系统中应用最广,主要的可分为基于用户和基于项目的协同过滤算法。它一般采用最近邻技术,利用用户的历史喜好信息计算用户之间的距离,然后利用目标用户的“最近邻居”对商品评价的加权评价值来预测目标用户对特定商品的喜好程度,系统从而根据这一喜好程度来对目标用户进行推荐。协同过滤最大优点是对推荐对象没有特殊的要求,能处理如音乐、电影等这样非结构化的复杂对象。
  协同过滤是基于这样的假设:为一用户找到他真正感兴趣的内容的好方法是首先找到与此用户有相似兴趣的其他用户,然后将他们感兴趣的内容推荐给此用户。基于协同过滤的推荐系统可以说是从用户的角度来进行相应推荐的,而且是自动的,即用户获得的推荐是系统从购买模式或浏览行为等隐式获得的,不需要用户努力地找到适合自己兴趣的推荐信息,如填写一些调查表格等。
  协同过滤推荐的一般步骤是:
  交易数据库→测量用户间相似性→寻找相似用户→计算商品的购买可能性→根据购买可能性推荐商品。
  二、基于用户的协同过滤推荐
  1.算法
  基于用户的协同过滤是到目前为止实际应用中最为成功的个性化推荐技术,算法的基本思想是将具有相同爱好的用户感兴趣的项目推荐给目标用户。假如目标用户对项目的评价与他的“最近邻居”相似,而目标用户对某个项目的评价可以从他的“最近邻居”的评价中综合得到。
  基于用户的协同过滤推荐算法主要包括三个过程:
  (1)表示:建立一个用户-项目评价矩阵描述用户对项目的评价。用户的判断和偏好明确地表示为一个m*n的用户-项目评价矩阵R,这里m是用户数,n是项目数,R=(rij),元素rij表示用户i对项目j的评价。在电子商务推荐系统中,元素rij既可表示用户是否购买商品(例如0或者1),也可表示用户对商品的偏好程度(例如评分从1到10)。
  (2)生成“邻居”:通过计算所有用户对之间的相似度形成“邻居”。计算系统中目标用户与其他所有用户的相似度,以找出K个最相似用户集―“最近邻居”。K-“最近邻居”依相似度排序。
  (3)产生推荐:通过加权目标用户“邻居”对目标项目的评价产生推荐。根据“最近邻居”集,可计算目标用户对项目的预测评价值,进而产生推荐。假定用户i的“最近邻居”集为Si,用户i对项目x的预测评价值为Pi,x,用户i和用户j的相似度为sim(i,j),用户i和用户j的平均评价值分别为和,那么有:
  
  2.相似度计算方法
  计算两个用户之间相似度的方法主要有三种:余弦相似度、相关相似度以及修正的余弦相似度,分述如下:
  (1)余弦相似度:每个用户的评分作为n维项目空间中的一个向量。如果某个用户没有对一个项目评价,则其默认评价值设为0。两个用户i和j之间的相似性通过计算两个向量和夹角的余弦得到,记为sim(i,j),计算公式如下:
  
  (2)相关相似度:在余弦相似度计算中没有考虑不同用户之间评价范围的差别。相关相似度通过减去用户对项目平均评价值来克服上述缺陷。两个用户i和j之间的相似性通过计算Pearson相关性得到。假定用户i和用户j共同评价的项目集合为,那么相关相似度计算公式如下:
  
  其中:Ri,x为用户i对项目j的评价值,和分别为用户i和用户j的平均评价值。
  (3)修正的余弦相似度:在相关相似度计算公式中,如果同时考虑用户i和用户j的评价项目集合,那么得到修正的余弦相似度计算公式如下:
  
  其中:Ii和Ij分别为用户i和用户j的评价项目集合。
  3.算法优点和缺点
  基于用户的协同过滤算法很容易理解,与其他众多实际应用中的推荐算法相比显示出较高的推荐精度,它具有如下一些优点:
  (1)能够过滤难以进行机器自动内容分析的信息,如艺术品,音乐等。
  (2)共享其他人的经验,避免了内容分析的不完全和不精确,并且能够基于一些复杂的,难以表述的概念(如信息质量、个人品味)进行过滤。
  (3)有推荐新信息的能力。可以发现内容上完全不相似的信息,用户对推荐信息的内容事先是预料不到的,可以发现用户潜在的但自己尚未发现的兴趣偏好。
  (4)能够有效的使用其他相似用户的反馈信息,较少用户的反馈量,加快个性化学习的速度。
  虽然基于用户的协同过滤作为一种典型的推荐技术有其相当的应用,但随着电子商务系统规模的不断扩大,用户空间和项目空间急剧增长,该算法也存在以下缺点:
  ①稀疏性:在一个大型电子商务系统中,用户涉及的信息量相当有限,用户评价项目数少于总项目数的10%,造成评价矩阵数据相当稀疏,难以找到相似用户集,导致推荐效果大大降低。
  ②冷开始:这个问题可看作是极端严重的稀疏性问题。一方面,它很难向新用户提供个性化推荐服务;另一方面,在这种情况下,仅有少量评价数据不可能产生精确推荐。
  ③扩展性:基于用户的协同过滤算法的计算量随着用户和项目的增加而急剧增加,其最坏情况下的计算复杂度为O(mn)。对于一个典型的具有成百上千万用户和项目的电子商务系统,算法将遭遇到严重的扩展性问题。
  三、结论
  基于用户的协同过滤虽是一种较为成功的推荐技术,但也存在着稀疏性、冷开始、扩展性和精确性问题。为了解决这些问题,目前常用聚类分析的方法,它或者将“最近邻居”搜索对象限制在最相近的聚类中,或者用聚类的质心提取推荐结果,但并不能从根本上解决以上问题,这些都有待进一步研究。
  参考文献:
  [1]赵亮胡乃静张守志:个性化推荐算法设计[J].计算机研究与发展,2002,(8)
  [2]赵智时兵:改进的个性化推荐算法[J].长春大学学报,2005,(6)
  [3]潘宇林鸿飞杨志豪:基于用户聚类的电子商务推荐系统[J].计算机应用与软件,2008,(4)
  [4]宋真真王浩杨静:协同过滤技术在个性化推荐中的运用[J].合肥工业大学学报(自然科学版) ,2008,(7)


转载注明来源:https://www.xzbu.com/3/view-1482931.htm