过去一年,想必大家都能感受到,几乎每个网站都有了一个新的功能叫个性化推荐或者猜你喜欢,恨不得每个网站都是今日头条,让用户在里面消费的根本停不下来;
那么到底是什么促使这么多的互联网产品开始使用个性化推荐、个性化推荐是什么样实现的、有哪些常用的个性化推荐算法/系统;本文将围绕这几个点来展开;
———————————————————————————————————————————————–
1、个性化推荐出现的愿意或者说背景是什么;
我们前面有一篇文章讲到过,当下移动互联网时代,随着互联网的深入发展,越来越多的信息在互联网上传播,产生了严重的信息过载;如果不采用一定的手段,用户很难从如此多的信息流中找到对自己有价值的信息;
解决信息过载有两种手段:
1)、一种是搜索,当用户有了明确的需求目标或者意图后,将需求转换为几个简短的词或者短语的组合,然后将这些词或短语组合提交到相应的搜索引擎,例如百度、天猫等搜索,再由搜索引擎在海量的信息库中检索出与搜索词相关的信息返回给用户;
2)、一种是推荐,很多时候用户的意图并不是很明确,或者很难用清晰的语义表达,有时甚至连用户自己都不清楚自己的需求,这种情况下搜索就解决不了用户的问题;
这部分目前总结起来有两种场景:a)、大多数是随着电子商务的兴起,用户并非一定是带着明确的购买意图去浏览,很多时候是去逛的;b)、随着内容市场的兴起与泛滥,充斥着太多的资讯,用户不知道自己该看哪种资讯或者说不知道喜欢哪种类型资讯,抱着看一看的心态去浏览,碰到喜欢的就看下去;
这两种情景下解决信息过载,理解用户意图,为用户推送个性化的结果,个性化推荐便是一种比较好的选择;
总的说来,个性化推荐存在的背景或者原因是,当下互联网时代,信息严重过载,用来解决信息过载问题;推荐系统是通过挖掘用户与信息之间的关联关系,帮助用户从大量数据中发现其可能感兴趣的信息,并生成个性化推荐以满足个性化需求;
———————————————————————————————————————————————–
2、个性化推荐到底是怎么实现个性推荐的;
我们前面说过,推荐解决的是信息过载的问题,即解决的是用户获取信息这个流程的问题;
也就是说推荐是一种能力,介于用户与信息之间,将不同的用户与不同的信息做精准化匹配,模型就是(用户–推荐算法–信息);通俗点说就是推荐通过一种算法能力,让用户找到自己喜欢的或者符合用户的信息;
那么到底是怎么匹配的呢;通过前面的(用户–推荐算法–信息)模型,我们可以对个性化推荐总结出这么一套实现规律;
1)、通过用户信息(历史记录、个人属性)总结描述用户属性;
2)、通过所有信息的消费情况总结描述信息属性;
3)、通过算法总结出什么类型(用户属性)的用户适合/喜欢什么类型(信息属性)的信息;
4)、将合适类型(信息属性)的信息展示给喜欢/适合类型(用户属性)的用户;
———————————————————————————————————————————————–
3、有哪些我们熟知的推常见的荐算法推荐规则;
推荐算法是非常古老的,在机器学习还没有兴起的时候就有需求和应用了,主要是电商网站、资讯网站等;目前比较熟知的推荐算法有三种:基于内容的推荐算法、协同过滤推荐算法和基于规则的推荐算法;
1)、基于内容的推荐算法;
原理是基于内容的关联性最推荐,推荐用户喜欢和自己关注过的信息在内容上类似的信息;比如你看了《三体1》,基于内容的推荐算法会给你推荐《三体2》、《三体3》,算法认为这两者与你之前观看的内容上有非常打的关联性;
该推荐算法的优点是:a)、推荐结果非常直观,内容之间有着非常高的关联系,不需要解释;b)、可以极大地避免推荐的冷启动问题;如果某个新的信息内容上线,在没有被其他用户消费的情况下,其他几种推荐算法是不会推荐的,但是基于内容的推荐算法可以分析信息之间的关联关系,实现推荐;
该推荐算法的缺点是:a)、由于推荐时仅根据内容的关联性做推荐,所以可能会对实时性/时间维度有缺陷;某段时间你看过MH370的新闻内容,后续再推荐时,很可能推荐的新闻和你浏览过的内容一致;b)、新时期的多媒体内容,例如单纯音乐、电影、图片之间很难描述关联性,很难做推荐;
2)、协同过滤推荐算法;
原理是基于用户历史行为作为分析对象, 用户喜欢消费那些具有相似行为的用户消费/喜欢过的信息, 基于其它和当前用户相似的用户的行为,推荐信息给当前用户;
该推荐算法的优点是:a)、基于其他用户行为集的推荐,都是相似行为的用户,可以保证个性化程度高;b)、基于相同行为集的用户,容易让用户发现新的兴趣点;c)、模型通用性强,不需要太多对应数据领域的专业知识;
该推荐算法的缺点是:a)、由于该推荐算法必须要基于用户的历史行为,所以对于新用户(没有历史行为的用户)推荐效果就非常差;b)、相同行为集的用户,用户喜好兴趣可扩展性很低;c)、推荐质量完全基于历史行为,可能某个时间消费过某类型的信息,后面又不喜欢了,后续系统还是会继续做推荐;d)、无法基于场景进行推荐,难以根据用户所在的场景和用户当前的情绪进行推荐行为;
3)、基于规则的推荐算法;
原理是建立一套行为规则进行推荐,这类算法常见的比如基于用户点击、最多用户浏览等;常见的有建立规则(A推荐B),凡是看过A信息的用户给他推荐B信息;
该推荐算法的优点是:a)、可以通过规则,让用户发现新的兴趣点;b)、对于推荐算法,不需要了解太多的信息之间的关联知识,只需要根据规则进行推荐;
该推荐算法的缺点是:a)、推荐规则难以创建,难以创建一套完善的推荐规则;b)、该推荐完全是基于规则的,所以导致个性化程度非常低,难以做到真正的个性化推荐;
———————————————————————————————————————————————–
4、那么问题来了,某个业务场景到底该使用哪个推荐算法比较合适;
以上三种推荐算法,各自有着各自的优缺点,但这也只是该算法的优缺点,也就是说算法的优势缺点是理论上存在的;当我们要应用于某个实际应用场景时,一定要结合产品自身情况与使用场景考量,需要考虑到例如产品冷启动期间数据量、长期样本数据量的多少、算法使用的平台的成熟度等等;
不同数据量级的情况下不同方法配合不同算法产生的性能压力也是不同的,需要结合产品自身情况进行选择;大多数时候,某个业务场景不一定只是用一个算法来解决问题,有可能会同时使用多个算法来解决某个问题;
所以目前主流推荐方法也几乎均采用混合推荐的方法,利用两种或多种方法之间的优势,规避劣势从而达成尽量完美的方法,这其中也一定是基于不同的使用场景和产品具体情况具体分析;
———————————————————————————————————————————————–
这是个性化推荐系统系列的第3篇,该系列一共有5篇:1、《个性化推荐系列之初步认识推荐系统》;2、《个性化推荐系列之初步认识机器学习》;3、《个性化推荐系列之推荐系统的演化及常见推荐算法》;4、《个性化推荐系列之协同过滤推荐算法总结》;5、《个性化推荐系列之推荐算法实践》;
详见知乎专栏–产品打杂https://zhuanlan.zhihu.com/zhoulink