推荐系统2.0—基于大数据的协同过滤推荐
在推荐系统1.0时代,人们通过经验主义来给出算法满足了绝大部分用户的需求;但是随着信息大爆炸和用户需求的升级,大众口味并不能满足大家的喜好,人们希望看到自己感兴趣的东西;特别是电商网站虽然可以用历史购买来得到用户的喜好,但是电商不重复消费的特性(相对于内容),我们更希望预测用户的喜好,而不是强迫已经发生的行为继续发生;
推荐到底是什么?
从用户角度来讲推荐是为了展示给用户他想要的内容(商品/文章);从而更好更快的达到用户的目的(商品购买/信息消费)。用户触达内容的过程中,这种需求一直都存在,传统时代我们用分类解决用户与内容有效触达的效率,后来有了标签这种更为细分的方式,甚至是按照热度、时间来展示内容。这些都是为了让用户与内容触达更有效;而如今,连视频都数以亿计,用户对内容的有效触达更为困难,我们就需要从更多维度,更多场景去考虑如何给用户他想要的信息。
个性化推荐的影响因素是什么
1、首先你要先知道用户是谁;毕竟你不能拿着猫的食谱去喂狗。所以用户是男是女,是二次元还是背包客。他们的喜好绝对是不同的
2、其次你要知道这个内容是什么;在你知道你给一个严肃的人推荐影片时,你不可能去推荐奥特曼给他;
3、最后,怎么定义喜欢?根据用户历史的浏览记录?(用户看了一部喜剧电影,下次还给他推荐喜剧)根据用户画像偏好?(给二次元同学推荐二次元动漫)
前两点我们要对数据进行标注并结构化;但是第三点,传统的推荐方法通常比较单一维度,往往推荐的结果不是令人满意,甚至会带来内容的同质化
协同算法
在大数据兴起的时候,我们听过亚马逊的啤酒和尿布的故事;咋听起来两个商品毫不相关,细想背后的场景后才觉得合情合理;然而按照传统的推荐方法不论如何是做不来的,毕竟机器是无法理解人类如此复杂的场景的。而亚马逊这个故事背后的秘密是运用了【群体的智慧】,从而引出两种主流的算法思想:
1、很多用户买了A商品后也买了B商品,那么如果有人买了A我们就可以推荐他买B。我们确实无法简单的让机器懂得我们更为复杂、个性的需求;但是同样为人的他人却能够侧面告诉我们。群体的行为间接作为筛选器为内容或者商品之间建立了关联;从而让机器懂得喜好。
2、另外一种思路是:如果A和B都是薛之谦的粉丝,A喜欢一首新的歌曲,那么我们可以把这首歌推荐给B;其实是间接通过相似的他人筛选出喜好,有点像我们常说的人以群分,投其所好;
相比之下,以内容为核心更适合新用户(我们对其一无所知),更适合小众且冷门的场景,因为热门场景的推荐结果往往显而易见,不够惊喜;而以用户为中心带来的推荐往往更加准确,特别是数据越丰富,越靠近的两个相似用户互相带来的推荐更加满意,就像另一个自己在为自己筛选;
另外,如今机器学习的兴起,这方面的算法可能会带来更好的效果,这种算法一般需要内容的负反馈(不喜欢、不感兴趣)来标注数据,帮助机器越来越懂用户的想法;
商业应用
1、实际中业务场景是十分复杂的;比如新闻类的即时性维度、社区内容的热度、歌曲或者电影的年代等等一些业务属性,往往在应用过程中都是在基础的算法思想上各家有各招
2、数据与内容的丰富度决定你的推荐效果;比如新用户,一进来啥都不知道,通常借用第三方社交登录获取信息,或者引导用户进行兴趣标签选择;
3、不要为了推荐而推荐;推荐背后的用户需求是内容难以触达,往往小体量的产品不会有这种问题。