冷启动问题同比于启动车辆,通常车正式开启之前需要有热车阶段,这个过程就是冷启动过程。冷启动在推荐系统也是常见的问题,大家知道类似于抖音、淘宝等工具,都会根据用户的兴趣去推荐内容,如果一个新用户进来,系统完全不清楚他的兴趣,该如何推荐呢?这就是本文要给大家介绍的内容。
冷启动对于一个推荐系统是至关重要的,因为新用户最初使用APP阶段也是这名用户最可能卸载APP的时候,如果新用户进入产品不能快速给用户带来价值,是非常危险的。今天介绍的内容会围绕下面这张图展开:
首先把冷启动问题归为3个类别:
系统冷启动:整个系统都是新做的,没有任何数据和经验基础
推荐主体冷启动:通常指的是缺少新注册用户的历史购买或点击数据
被推荐对象冷启动:通常指的是缺少商城中的新商品或者新的内容历史被点击或购买的数据
下面分别针对以上内容讲下处理方法。
1. 系统冷启动
系统冷启动这个其实真的没太好的办法,万事开头难,系统冷启动缺少的是专家经验,建议系统在运行前务必请有经验的架构师或者产品经理参与设计,如果架构或者整个推荐策略不合理,上线后是比较难调整的。
2.推荐主体冷启动
当推荐主体冷启动时,往往是新用户进来之后,大方向上要从两个角度去想解决方案,一个方向是尽可能扩展用户画像,增加更多维度的信息。第二个方向在初期推荐的内容上也要有所策略。
2.1 扩充用户画像
用户画像的扩充有很多手段,常用的方法如下:
账号注册信息:注册的时候可以让用户填写年龄、性别等内容、手机号等内容,同时也可以通过LBS信息了解用户的活动区域。针对这些信息可以给用户兴趣做一个初步判断,比如年轻的都市女性,往往有较高的消费能力,在推荐策略上可以推荐高规格的一些内容
身份证信息:现在很多系统都需要实名认证,身份证号其实可以带来很多有用的信息,比如前两位是省级代码,34位是市级代码,7-14位是生日代码,第17位是性别代码(奇数代表男性、偶数代表女性)
社交账号登录:如果系统可以设计成支持淘宝、微信等账号登录,也可以通过这些系统拿到部分用户画像信息
预采集:现在很多APP,当用户初次进入都有一个兴趣爱好勾选的按钮,这个就是为了解决冷启动的一个手段,在推荐之前先通过用户标记获取用户信息
数据交换:注册的时候其实可以拿到用户的手机号码,现在有很多卖数据的公司都提供用户画像数据的交易,只要提供手机号就能获取特别全的用户数据(这个貌似是个黑产业)
2.2 推荐策略
对于这种冷启动问题推荐策略有两个方向可以选择,可以结合着来使用。
热门推荐法:反正也不清楚用户的信息,就挑平台上最热门的内容推荐,总归从概率层面上被大多受众认可的东西也有大概率被新用户认可
老虎机算法:学名叫Bandit算法,意思是假设用户前方有10个老虎机,每个都有不同的概率出钱,用户不知道这个概率,那用户该怎么选呢,就是懵!落到冷启动问题上,就是先随便推荐用户几个不同Topic的内容(一定是不同的),看看用户的反馈再决定下一步的推荐安排
3. 被推荐对象冷启动
被推荐对象往往是平台上新增加的内容,不同于推荐主体,被推荐对象如商品、短视频、广告等,平台是有办法通过一些分析拿到内容属性的。可以通过以下两个步骤建立推荐推荐策略:
挖掘属性:先对新增内容属性进行挖掘,比如增加的是个手机,可以通过标签获取手机价格、颜色等信息,再进行下一步推荐
ICF聚类:在之前推荐系统相关的文章中已经多次介绍过协同过滤算法,本质上是先将内容分类。比如新增加的是一个美女跳舞的视频,那么再找哪些用户浏览过类似的视频,就把新增视频推荐给对应的用户,这种策略本质上是一种聚类算法。比如新增内容是个红色的手机,就找到历史上购买过红色手机的用户来推荐
文末,全文针对冷启动问题的不同细节介绍了具体的一些实践路径。具体如何把其中的细节实现其实对推荐系统有很高的架构要求,比如被推荐对象冷启动问题,每当新来一个商品就需要快速的做协同过滤找到商品所属类别,这其实要依赖一个流式的计算引擎才可以实现。ok,关于架构的事情之前已经写过一些,过一段会有一个总结。感谢观看,希望能有收获~