推荐系统和协同过滤面临的主要问题


推荐系统和协同过滤面临的主要问题_第1张图片

数据稀疏
协同过滤的精度主要取决于用户数据的多少。如果一个系统有很多用户的历史数据,他就能更好的对用户的喜欢做出预测。所以,目前推荐系统做的最好的都是那些有着很大量用户数据的公司,比如Google, Yahoo, Netflix, Amazon等等。但是,即使拥有很多数据,数据还是不够多,因为推荐系统的历史还不够长,还没有积累足够的数据。在目前处理稀疏数据的算法中,软性SVD是一种最好的方法。

新用户问题
这个问题和数据稀疏问题有一些相似性,他是指如何对新用户做出推荐。当一个新用户进入一个网络时,我们对他的兴趣爱好还一无所知,这时如何做出推荐是一个很重要的问题。一般在这个时候,我们只是向用户推荐那写普遍反映比较好的物品,也就是说,推荐完全是基于物品的。

新用户问题还有一个变种就是长尾(long tail)问题,在Amazon中,不是所有的用户都对很多书给出了评分,很多用户只给少数的书给出了评分,这些用户就处在一个长尾中,如何处理那些不太表露自己兴趣的用户,也是推荐系统的一个主要问题。

隐性喜好发现
在现在的推荐系统中,用户的喜欢是通过用户对某些物品进行评分获得的。这种获得用户兴趣的方法是一种很直接的方法。但在实际的互联网中,用户有很多隐性的方法表露他们的喜欢。比如用户的文字评论,我们可以通过自然语言处理从用户的评论中获得用户的兴趣;或者是用户的浏览行为,比如用户长时间的浏览一个物品,或者用户经常浏览一个物品,或者用户
购买了一个物品,这些行为都可以作为模式识别系统中的特征。

所以,发现用户的隐性喜好,相对于模式识别的特征提取,这方面的研究也很热门。

用户兴趣的变化
我们知道,用户的兴趣不是永远不变的,随着年龄和阅历的变化,用户的行为会发生变化。也就是说,协同过滤其实还应该加入一个时间因子。目前对于变化的用户兴趣的研究还处于起步阶段,主要是因为现有的系统历史都不是很久,大多数用户的兴趣还是比较稳定的,但是随着互联网的发展,用户兴趣的变化对推荐系统的影响将会越来越明显,所以这方面的研究也将越来越重要。

偏激的用户和全新的物品
我们知道,这个世界上有一些用户是很偏激的。他们和大多数人的观点是相反的。对于这种用户,现有的推荐系统做出的预测往往是很差的。如何处理偏激的用户,是推荐系统中的一个重要问题。

和偏激用户相对应的,是全新的物品。比如有一部新电影,他是颠覆性的,和以前的电影都不太相似。用户对于这个电影的爱好和用户以前的兴趣是没有太大关系的,因为用户从来没见过这种电影,这个问题也是导致现有的推荐系统精度不高的主要原因。

马太效应以及推荐系统对互联网的影响
我们知道,被推荐系统所推荐的物品将会越来越热门,这就导致了大量很好的物品可能会被推荐系统所淹没。在互联网中,物品实在是太多了,而推荐系统只能推荐有限的物品。解决这个问题的主要方法是增加推荐系统的多样性,比如一个推荐系统发现一个用户非常喜欢吃德芙巧克力,那么他给这个用户推荐10个产品,不需要都是德芙巧克力,也可以推荐别的一些巧克力,或者一些和巧克力相似的甜品。在推荐时,不仅要推荐用户喜欢的东西,而且要通过推荐让用户喜欢一些东西,有的时候,用户自己也不知道他喜欢什么,通过推荐系统,他可能会发现一些新东西他比较喜欢。

推荐系统中的作弊
只要涉及到经济利益,就有人作弊。搜索引擎作弊是一个被研究了很久的问题,因为在搜索引擎中,自己的网站排名越高,就能获得越多的经济利益。在推荐系统中也是如此,比如在淘宝中,如果一个卖家的物品经常被推荐,他就可能获得很多经济利益。这样,很多电子商务的推荐系统都遭受到了作弊的干扰,一些人通过一些技术手段,对自己卖的物品给出非常高的评分,这就是一种作弊行为。

推荐系统中的作弊在电子商务网站中越来越严重,特别是在美国这种互联网比较发达的国家,已经受到一些研究者的重视。作弊行为相当于人为的向系统中注入了噪声。目前解决作弊的算法主要是基于信任度和信用的。现在很多电子商务网站都引入了信用系统,比如淘宝等等。如何设计信用系统和推荐系统更好的融合,是一个重要的研究问题。

原文见http://xlvector.net/blog/?p=145,这是很不错的关于推荐算法的博客。

http://bbs.sciencenet.cn/home.php?mod=space&uid=3075&do=blog&id=459442学校互联网实验室的杰出代表。


http://www.resyschina.com/2010/03/five_problems_of_resys.html提出了相似的5个问题:

1. 缺少数据

对于推荐系统来说,可能最大的问题就是需要大量的数据才能产生推荐结果。这也是为什么那些表现最突出的推荐系统都是来自于有数据的大公司,比如Google,Amazon,Netflix,Last.fm。正如Strands公司在他的演讲中提到的那样,一个好的推荐系统首先要获得内容数据,接着必须获得和分析用户数据(行为事件),最后才是算法的工作。内容和用户数据越多,获得好的推荐的比率就会越高。但是这也是一个“鸡和蛋”的问题——推荐系统的目的就是带来更多的用户点击和购买,而好的推荐系统需要大量的用户,你才能为推荐系统提供需要的数据。

2. 变化的数据

这个问题曾经被智能推荐系统公司 Clicktorch CEO Paul Edmunds在以前的文章评论中提到过,Paul 指出推荐系统常常充斥着老的内容,而很难推荐出新的东西。时尚发烧友社区StyleHop 的David Reinke 在他的一篇博客中举了一个例子——“流行趋势总是在变化,因此用户的过去行为并不是一个好的工具”。显然纯算法的方式是不太可能跟上流行的趋势的。大多数非时尚认识,我就属于这一类,只信赖那些可信的对时尚很谨慎的朋友和家人的推荐。

David Reinke 要说明的是往往产品中有很多时尚因素,比如肥瘦、价格、颜色、款式、材料、品牌等,对于同一个消费者来说,每个时尚元素在不同的时间都会有不同的重要程度,因此产品的推荐往往会效果不好,他还指出也许“社会化推荐”会解决这个问题。

3. 变化的用户喜好

同样也是由 Paul Edmunds提出的一个问题是,今天我们在Amazon上怀着某一特殊目的浏览,而明天我们的目的就会变化。一个经典的例子,某天我在Amazon上为自己找一本书,另一天我有可能会在Amazon上为我的妹妹找一个生日礼物。

另外一个有关用户喜好的话题就是推荐系统有可能会给用户打上错误的标签,比如经典的2002年华尔街日报上的笑话——If TiVo Thinks You Are Gay, Here’s How to Set It Straight.

4. 无法预测的事物

在我们关于Netflix竞赛(由影片在线租赁公司Netflix举办的100万美金的推荐系统竞赛活动)的文章中,曾经提到关于某些“怪异电影”的问题,这些影片用户常常会表现出偏激的喜欢或者讨厌,比如《炸弹头拿破仑》(又名《大人物拿破仑》Napoleon Dynamite)。这些类别的影片很难做出推荐,因为用户的反应是多样化和不可预测的。

在音乐中有很多这样的内容。你能猜出我同时喜欢Metallica和Carpenters的音乐吗?我怀疑Last.fm不太能做出这样的推荐。

5. 推荐系统是复杂的!

我们上面只是说了一些表面的现象,Strands公司曾经介绍过,即使实施一个非常简单的推荐系统,也需要许多的变量(我们猜想以下的这些变量恐怕还仅仅是一小部分)。 

迄今为止,只有少数几家公司可以为用户提供高满意的推荐——Amazon,Netflix(他们仍然在寻求对算法的改进),Google也算是一个。尽管只有这么少的成功故事,成百上千的其它网站和应用程序仍在努力探寻着推荐系统的魔法公式——以给他们的用户产生满意的推荐。

事实上,我们在读写网上也非常希望让读者围绕我们的网站产生更多点击,发现其他内容。我们尝试了一些插件和方法,以实现这一点——但我们仍未感到满意。

我们错过了什么东西?

在实施推荐系统过程中会遇到很多问题——比如有些仅仅简单了提供“大众化”的推荐;有些不能够形成作古的长尾效应,只能给出一些显而易见的结果;还有的会有异常推荐等问题。随着应用和技术的进步,我们还会发现其它的一些问题。

译者点评:

以上提出的五大问题,在实施个性化推荐服务的过程中,或多或少的都会遇到,但是在不同的类型的网站、不同的内容和用户、不同的实施阶段和不同的目的,所面临问题的严重程度也会不同。

对于数据影响推荐质量的问题:为什么有大量数据的公司会做出效果更好的推荐服务,首先推荐系统本身需要数据,其次在海量数据引起的信息过载问题更加严重,需求更加迫切。因此推荐系统的作用更加明显。因此,用户数据的绝对数量并不是限制推荐系统实施的门槛,而用户数据的稀疏程度会直接影响推荐的效果。

对于内容数据的变化问题:我们大部分人都不是时尚达人——在一般的服装电子商务网站上实施个性化推荐还是可以满足大部分人的需求的。虽然文中举出的例子有些极端,更像是在长尾的尾部。但是对于某些对时间性有要求的内容也还是会面临这样的问题。解决的方法除了对算法本身的选择和改进以外,还需要在产品设计的过程中加入时间因素的条件。

对于用户的喜好变化问题:实际上文中提出的例子倒不是喜好的变化,而是目的的变化。因此在进行推荐系统设计时,需要建立更加完整的用户模型。而对于文中的例子,比较好的处理办法是单独设计一个礼物的购物通道,比如 Amazon 上的礼物页面:http://www.amazon.com/gp/gift-central/

推荐系统确实是非常复杂的,不仅涉及文中提出的数据获取的问题,还有对数据的处理,对算法的选择,对参数的优化,产品和服务设计,反馈收集,效果测试和改进,是一个螺旋式上升的过程,它不仅仅是一个或几个推荐服务新的功能开发,而是需要长期维护和改进,需要专业的团队和持续的投入才能完成的工作。

实际上效果不错的推荐服务不仅仅包括文中提到的网站,比如 digg, overstock, yahoo, AT&T等一大批网站也在他们的业务中加入了不错的推荐服务。还有国内著名的豆瓣,当当网都有较高用户满意度的推荐产品,所以,请暂时忘了上面的这些问题,Just do it,我们才能克服这些困难。




你可能感兴趣的:(算法,互联网,Yahoo,电子商务,自然语言处理,last.fm)