陈盛庆 龚 俊
宁波大红鹰学院,浙江 宁波 315175
浅谈协同过滤算法
陈盛庆龚俊
宁波大红鹰学院,浙江宁波315175
随着近年来中国互联网的飞速发展,社会信息很快的趋向于数字化、网络化,通过各种互联网络获取信息的人迅速增加。在如今高度信息化的社会,人们获取信息的重要途径是互联网。在这样的大环境下推荐算法应运而生,为了针对能更快的查找到所需的信息,提出了一种基于内容相似度的知识协同过滤推送算法。本文介绍了协同过滤算法的知识框架和这个算法存在的问题和解决方案对推荐算法的发展有一定的意义。
协同过滤;知识推送;内容相似度;个性化推荐
随着互联网的迅速发展,互联网信息的日益增长与大量用户的需求形成了巨大矛盾。面对纷杂的信息资源我们感到无所适从,人们需要花费大量的时间去搜索信息才能从互联网中搜索到自己说需要的信息。所以有越来越多的人在查询信息都会去使用一些有推荐算法的大型的搜索引擎,并且这些搜索引擎成为了人们生活与工作中的必备工具。
搜索引擎的搜索原理是:当用户搜索信息时,搜索引擎就在数据库中进行无差别的搜索,找到相应的信息按一定顺序反馈给读者。众所周知,搜索引擎只是一种“一对多”的工具,它往往只能区分不同的搜索语句,忽略了重要的用户信息和他们的所需信息。为了能按照用户的兴趣点和需求,为了给用户提供快捷而准确的推荐服务,完善当前的内容推送算法是势在必行。
协同过滤算法是当今众多的推荐系统运用最为成熟的和最普遍的一个推荐算法。它的顾名思义就是通过用户对网站的访问与网站间的互动例如:评价和留言等记录通过计算推荐并反馈给用户,使用户更快,更有效率的找到自己所需的信息。
基于项目的协同过滤和基于用户的协同过滤是如今协同过滤算法中运用最多的。该算法是依据不同的用户对每个物品的评分向量之间的相似度的计算,然后搜索当前用户的附近用户,最后根据最近的用户对项目的评分如果相似度相对较高则推荐给当前用户。
基于用户的协同过滤推荐算法的步骤可分为以下几点:
(一)建立用户模型:协同过滤算法的输入的数据通常用一个m*n的矩阵R来表示用户的评价,其中的n表示有多少个项目,m表示用户数,Rxy表示第x个用户对第y个物品的评分值。这个评分值可以表示用户的隐形的数据,比如对商品的购买次数等的隐形的数据,还可以用来表示对商品的评价。
(二)寻找最近用户:通过寻找周围的邻居与目标用户的进行相似度匹配。并且通过邻居用户与目标用户对物品的评分值进行比较与计算,算出最近用户与目标用户最近似的集。
(三)产生推荐物品:基于项目的协同过滤是按照用户的历史的偏好数据(如商品浏览记录和购买记录),然后计算用户浏览和购买的各物品之间的相似性,最后把产生与用户感兴趣的物品相类似的物品推荐给用户。在某些大型的购物软件上,已经不同程度的运用到推荐算法。如Taobao,Tmall在用户浏览一些商品或者购买商品后系统会推荐给你一些符合算法的商品。
虽然协同过滤在购物网站推荐系统中的得到了大量的运用,但是算法不是完美,对于协同过滤算法来说,一直存在系统延伸性问题,数据稀疏性问题,冷启动问题和这三大基本问题。
稀疏性问题:表面上需要用户的评价矩阵来对用户信息的表示实际上用户在商城的购买率占商城的商品总量不足1%,所以所形成的矩阵将会很稀疏。在数据量大而且数据稀疏难以找到最近邻居用户集,和响应时间会很长。
冷启动问题:冷启动问题,也可以看成是数据稀疏性问题的的一种特别的情况。传统的协同过滤推荐,简单来说,是指通过类似的用户或物品计算,从而得到推荐的项目。但是,协同过滤没有办法对这个项目预测、评分以及推荐,原因在于每次出现一个新的项目不存在用户的评价。而且由于新项目的出现时期不长,用户评价会相对较少,这就造成了推荐内容的准确性也比较差。
可扩展性问题:推荐系统的可扩展性是制约协同过滤推荐算法的重要因素。随着用户的飞速增加和信息量的迅速扩大,算法的响应时间会随这两个因素增加而变长。
基于以上的问题,可以通过采用将协同过滤算法与基于内容算法相结合的推荐方法,利用基于内容推荐算法对相似度较大项目的计算弥补协同过滤推荐在新项目推荐方面的不足,从而可以相对有效的解决系统的冷启动和数据的稀疏性问题。
该组合算法通过以下三步就可以做到:首先,利用基于内容算法的推荐项目分析找到与新项目相似的项目;其次,对新项目进行评分。完成这步可以基于用户对找出的相似项目的评价判断新项目的评分值;最后,计算最终的项目预测评分。想要得到评分可以用传统的协同过滤算法,计算出邻居用户,从而对最终项目评分并使新项目参与到推荐中来。
随着互联网技术的发展,网民的人数越来越多,网站的用户人数的持续增长和站点的结构、内容复杂度越来越高,单纯的基于协同过滤的推荐系统已经不能满足用户的需求,该算法面临着以下要解决的问题:
(一)提高算法的可拓展性:虽然协同过滤算法能够容易的为用户提供个性化的推荐,但是对于商务网站,尤其是大型的商务网站,需要同时给大量用户提供推荐服务,对系统的响应率和响应速度要求很高,该算法要提高系统的响应率,为用户提供快速的推荐;另一方面还要考虑到系统的存储空间的问题,应减少推荐系统运行对系统的负担。
(二)提高对个性化的推荐的质量:用户得到的推荐产品要与用户兴趣产品相似。如果用户多次得到的推荐产品不是自己想要的将不会使用该推荐系统。但是推荐算法的响应率与推荐的质量是相矛盾的,要提高响应率就必须牺牲推荐的质量。所以要解决和协调这两个要求让协调过滤推荐算法更加完善。
一个完善的推荐算法可以快速的帮助用户在纷杂的信息资源中搜索到自己说需要的信息,不仅可以提高用户对网站的信任度从而增加收益,而且提高了用户的搜索时间成本。当前社会上对推荐系统有庞大的需求得到了很大的关注。推荐系统已经广泛的运用在电子商务,视频网站,音乐网站等。在广泛的应用中会慢慢的发现算法的问题和解决方法,算法会越来越完善。
[1]徐红艳,杜文刚.一种基于多属性评分的协同过滤算法[J].辽宁大学学报:自然科学版,2015,42(2):136-142.
[2]孟祥武,胡勋,王立才,张玉洁.移动推荐系统及其应用[J].软件学报,2013,24(1):91-108.
TP311.13
A
1006-0049-(2016)15-0149-01