浅聊个性化推荐系统
前言
之前在一家游戏公司做项目管理。初步学习了一下个性化推荐系统,自己做一个总结并发散下思维,现在分享到博客园。
概念
我觉得我们可以从拆词游戏玩起来。个性化推荐系统,可以从“个性化”,“推荐”,“系统”来聊。
“个性化”是目的;“推荐”是手段;“系统”则是技术核心;
“个性化”就是向每个用户提供定制的符合其兴趣偏好的物品,从而达到千人千面的效果。举个简单的例子,大家都知道的抖音,笔者本身就是一个抖音重度使用者,每天上班没时间刷,那么上下班路上和晚上睡觉前都会忍不住去刷抖音。有时候我会问自己,“为什么会上瘾?”最终得到的核心答案是“抖音了解我,甚至比我自己更了解我!”。了解我到什么程度呢,也就是我不会让别人玩我的抖音,因为他会知道我的兴趣爱好是什么,抖音会暴露我的内在心理活动。
主动让网易云音乐了解我。在举个网易云音乐的例子,网易云音乐我用的最多的音乐播放器了,虽然很多音乐的版权它都没有,但是它的个性化推荐系统还是可以学习的。
上面是我自己的“每日推荐”和“我喜欢的音乐”的界面。我每天都会打开“每日推荐”,然后一首一首的听里面的歌,好听的我就点击“喜欢”并且疯狂循环播放,不喜欢的我就点击“不感兴趣”。一段时间后,我会发现“每日推荐”里的歌曲都是我喜爱的,有一种在训练产品的感觉。
“推荐”是一个过程。为什么要推荐,因为其实在很多时候,用户对于自己的需求也是不明确的,依旧拿网易云音乐来说,用户在需要听歌时打开播放器,但是对于具体想听什么类型歌曲,摇滚还是民谣?还是纯音乐?或者单纯的最近网红歌曲?用户的需求是模糊的,这时候他就需要一个被动的被推荐过程,这也是“每日推荐”解决的痛点之一。像搜索这类有目的性的操作往往是用户主动型的,这与推荐正好相反。
“系统”,既然被称为“系统”,说明这是一套由多个功能模块组成的整体。各个模块之间相互影响,最终把个性化信息推荐给用户。这里面涉及到很多模块,比如用户行为数据,内容信息的属性数据,物品属性,还有就是推荐系统的核心算法引擎。
个性化推荐系统的优势
在早期的推荐,往往是简单的物品分发机制,举个栗子,我在使用一款直播APP时,我分别安装两次,在安装时分别把性别设置成男和女,但是推荐的内容却是一模一样的。蛋疼,难道对于直播内容,男女的喜好都是一样的吗?虽说是冷启动时期,但是对于性别这样重要的属性是否考虑推荐不同内容?再说现在的内容类产品,特别是目前流行的短视频应用,新闻类应用,可以说是信息负载,那么对于这些海量信息,如何让用户快速找到自己感兴趣的产品,这时候个性化推荐就派上了很大的用处,举例“今日头条”。而且在内容类产品还有一个问题就是存在马太效应,就是热门的信息越来越热门,冷门的信息越来越冷门,那么数量巨大的长尾信息如何曝光呢?个性化推荐系统也是一个比较好的解决方案。
业务数据获取
说了那么多,那么个性化推荐系统毕竟是要有一个最重要的影响因素,就是有用数据。“系统”的成功落地是基于优质算法和有用数据的结合。那么具体有哪些数据呢?
- 能反应用户兴趣爱好的数据,最简单的就是让用户填兴趣爱好信息等
- 物品属性,例如资讯类的标题,作者,正文内容,发布时间等
- 用户属性,性别,职业,年龄,地址,单身情况,学历,收入等
- 用户行为数据,点击,浏览时间,点赞,收藏,评论,转发
- 基于社交网络的数据,比如获取用户通讯录信息,微博登录时获取微博关系网络信息。我到现在还没到明白抖音的社交数据从哪里来的,我小姨和我没有通话记录,通讯录没有她号码,我抖音也没有给她关注,点赞等任何操作,但是经常推送我小姨的视频(可能认识的人)。我只有我小姨微信号,但是我没有用微信在抖音上的任何操作,退一步说抖音和微信在撕逼也不可能把社交信息给抖音。要是有小伙伴知道还希望可以解惑
- 基于上下文的数据,这里又分时间上下文和地点上下文。时间上下文,举个栗子,某外卖APP会根据早中晚用户点外卖类型来推送不同的食物,比如早上推送粥,中午推送米饭套餐,晚上推送小吃;地点上下文,比如推送给你周围的餐厅,而不是很远的餐厅
- 用户消费水平数据,其实这可以放在用户属性里,但是我觉得比较重要就拿出来单独一点。对于消费型平台APP尤其要关注用户消费水平。举个栗子,前段时间某消费APP被爆出同一家酒店,同一间房,同一时间点入住,两个用户的价格不一样,相差在几十元。这说明什么?这个APP在根据你的消费水平实时改变物品单价。对于这种行为,的确在产品运营上可以说是创新,但是对于用户而言,一旦发现自己支付单价高于别人,那么那种不平衡的心理会让他觉得你的产品是骗子,最终远离你的产品。所以产品的“三观”我们还是要正视一下的。
先写这么多,有时间再来继续编辑吧