顾阳,李敏,李华
(广西师范学院计算机与信息工程学院,南宁 530023)
协同过滤在推荐系统中的应用
顾阳,李敏,李华
(广西师范学院计算机与信息工程学院,南宁 530023)
互联网的迅猛发展带来信息超载问题,用户在面对海量信息时无法及时获取有用信息,降低信息使用效率。推荐系统是解决信息超载问题的一个有效办法,它利用用户数据并从中提取出用户的需求、兴趣等,再将用户所需的信息、产品等推荐给用户。推荐系统现已广泛应用于诸多领域,逐步形成一门独立的学科。
随着信息技术与互联网的发展,人们逐渐从信息匮乏的时代走入信息过载(Information Overload)[1]的时代。在这样的环境下,无论是信息的消费者还是生产者都面临极大的挑战。对于信息的消费者而言,如何能在短时间内从海量信息中找到自己感兴趣的或者需要的信息成为了一件非常困难的事情。而对于信息生产者而言,如何让自己生产的信息获得用户的关注与青睐,也成为了一件非常困难的事情。推荐系统(Rec⁃ommender System)[2]就是解决这一矛盾的重要工具。推荐系统的任务在于把用户和信息联系起来,一方面帮助用户及时发现对自己有价值或感兴趣的信息,另一方面帮助信息能有效呈现在对它有所需的用户面前,以此来实现信息消费者和信息生产者的共赢。
推荐系统通过采集用户数据,计算发现用户的需求和兴趣,从而帮助用户得到有价值的信息。优秀的推荐系统不仅能为用户提供个性化推荐,还能和用户建立密切关系,让用户对服务产生依赖。
推荐系统通常由3个重要的任务组成:对用户数据建模、对推荐对象建模、选择合适的推荐算法与策略。常见的推荐系统模型如图1。
图1 推荐系统模型
推荐系统先在用户模型和物品模型中添加特征信息,依据特征信息比对并使用合适的推荐算法进行计算,找到用户可能需要的或者感兴趣的信息或者物品等推荐给用户。
推荐系统根据不同的指标可以分成不同的类型。根据用户群体可分为:基于大众行为的推荐和个性化推荐;根据数据来源可分为:基于人口统计学的推荐(De⁃mographic-based Recommendation)、基于内容的推荐(Content-based Recommendation)、基于协同过滤的推荐(Collaborative Filtering-based Recommendation);根据推荐模型的建立方式可分为:基于物品和用户本身的推荐、基于关联规则的推荐(Rule-based Recommendation)、基于模型的推荐(Model-based Recommendation)。
伴随着网络的发展,当下的网站更加看重用户的参与和贡献,于是基于协同过滤的推荐机制应运而生。它的基本原理是依据收集的用户数据,计算发现用户对物品或者信息的需求以及偏好,通过寻找物品或者内容本身的相关性,或是用户的相关性,然后基于这些关联生成推荐结果。基于协同过滤的推荐可以分为三个子类:基于用户的推荐(User-based Recommen⁃dation),基于物品的推荐(Item-based Recommendation)和基于模型的推荐。
基于用户的协同过滤推荐原理是根据所有用户对物品或者信息的偏好,发现与当前用户偏好相似的“邻居”用户群,然后基于邻居们的历史偏好信息,为当前用户进行推荐。
基于物品的协同过滤推荐使用所有用户对物品或者信息的偏好,发现物品或信息之间的相似度,然后根据用户的历史偏好信息,将相似的物品推荐给用户。
基于模型的协同过滤推荐会基于样本的用户喜好信息,训练一个推荐模型,然后根据实时的用户喜好的信息进行预测,计算推荐。
协同过滤的实现主要依赖几个关键步骤:收集用户偏好,找到相似的用户或物品,计算推荐。
用户偏好又分为显性和隐性行为。显性行为有:评分、投票、转发、保存书签、评论等。隐性行为有:点击、购买、页面停留等。对不同行为进行加权,得到用户对于物品的总体喜好。一般来说,显式的用户反馈比隐式的权值大,但比较稀疏;同时相对于查看,购买行为反映用户喜好的程度更大,但也因应用而异。
有关相似度的计算,主流方法是计算两个向量的距离,距离越近相似度越大。常用的计算方法有欧氏距离(Euclidean Distance):假设 x,y是 n维空间的两个点,它们之间的欧几里德距离是:
再用以下公式进行转换:
除此之外还有皮尔逊相关系数(Pearson Correla⁃tion Coefficient)。皮尔逊相关系数一般用于计算两个定距变量间联系的紧密程度,它的取值在[-1,+1]之间。sx,sy是x和y的样品标准偏差。
计算推荐主要分为基于用户和基于物品。从计算复杂度角度来说,对电子商务网站而言,用户的数量往往大大超过物品的数量,同时物品的数据相对稳定,因此计算物品的相似度不但计算量较小,同时也不必频繁更新。但是对于新闻,博客类推荐系统,情况往往相反,物品的数量是海量的,同时也是更新频繁的,所以单从复杂度的角度,这两个算法在不同的系统中各有优势。在适用场景上,当今流行的社交网络中,基于用户的协同过滤是一个更好的选择,结合社会关系网络,可以增加用户对推荐解释的信服度。
基于协同过滤的推荐机制是现今应用最广泛的推荐机制,有以下显著优点:
(1)不需要对物品或用户进行严格建模。
(2)不要求物品的描述是机器可理解的。
(3)方法无关领域。
但是同时也存在一些不足:
(1)由于方法的核心是基于历史数据,所以对新物品和新用户都有“冷启动”的问题。
(2)推荐的效果依赖于用户历史偏好数据的多少和准确性。在大部分的实现中,用户历史偏好是用稀疏矩阵进行存储的,而稀疏矩阵的计算会出现影响精确度的可能。
(3)由于以历史数据为基础,在对用户偏好进行抓取和建模后,很难修改或者根据用户的使用情况实时更新。
(4)对于一些特殊品味的用户不能给予很好的推荐。
推荐系统帮助用户在海量信息资源中搜寻有价值的信息,节约用户的时间成本,同时提高了用户对网站的忠诚度,增加网站收益[3]。由于巨大的应用需求,推荐系统得到学术界和企业界的广泛关注[3]。推荐系统已经在电子商务、社交网络、图书馆、视频和音乐点播等领域得到广泛应用,而协同过滤作为推荐系统当下的主流技术将会在研究人员的共同努力下获得更大的提升。
[1]Borchers A,Herlocker J,Konstan J,et al.Ganging up on Information Overload.Computer,1998,31(4):106-108
[2]Resnick P,Varian H R.Recommender Systems.Communications of the ACM,1997,40(3):56-58
[3]冷亚军,陆青,梁昌勇.协同过滤推荐技术综述.模式识别与人工智能,2014.8
Application of Collaborative Filtering in Recommender System
GU Yang,LI Min,LI Hua
(College of Computer and Information Engineering,Guangxi Teachers Education University,Nanning 530023)
The rapid development of the Internet has brought the problem of information overload.The failure of the user to obtain information timely leads to a reduction in efficiency.The recommender system is an effective way to solve the information overload problem.It can read the us⁃er data to recommend useful information or products.The recommender system is now widely used in many fields,and gradually formed an independent discipline.
信息超载;推荐系统;协同过滤
1007-1423(2017)28-0065-03
10.3969/j.issn.1007-1423.2017.28.017
顾阳(1991-),男,江苏淮安人,硕士研究生,研究方向为机器学习、推荐系统
李敏(1992-),男,广西玉林人,硕士研究生,研究方向为机器学习、大数据方向
李华(1993-),男,广西玉林人,硕士研究生,研究方向为机器学习、大数据方向
2017-08-25
2017-09-30
Information Overload;Recommender System;Collaborative Filtering