五对混合推荐系统的思考( 六 )


实时个性化推荐基于用户最近的行为近实时更新用户的推荐列表,对计算能力、算法、服务响应等都有极高的要求 。从用户最近的行为获得用户短期偏好,这算是一种推荐算法,将短期偏好获得的推荐结果与原来T+1推荐结果融合推荐给用户也是一种算法的混合,一般可以采用加权的混合方式,最粗暴的方式是将短期偏好推荐结果置于最高的权重,直接放在推荐列表最前面,我在《基于标签的实时短视频推荐系统》(点击蓝色字体阅读文章)这篇文章中对电视猫实时短视频推荐实现原理进行了详细介绍,感兴趣的读者可以参考 。
用户近实时推荐怎么跟用户的长期兴趣混合,在推荐列表中整合用户实时兴趣偏好,是实时推荐系统中非常重要、非常关键的技术 。
2
深度学习等复杂推荐模型整合多数据源
深度学习等复杂模型这几年在工业界得到了大规模的应用,在推荐系统中也发挥了重要的价值(读者可以参考我之前写的一篇文章《深度学习在推荐系统中的应用》(点击蓝色字体阅读文章)进行深入了解),深度学习可以将多种数据整合到一个模型/框架中,获得非常好的推荐效果(如2016年的深度学习推荐系统,可以非常容易整合多种信息进行统一学习,见参考文献7) 。深度学习模型这种具备整合用户行为数据、标的物数据、用户画像数据等数据的能力,是非常有优势的,相当于将协同过滤、基于内容的推荐等多种算法的能力融合到一个模型中,虽然不是直接将多个模型融合,不在第三部分7大混合推荐方式之列,但这也算是一种多数据源能力的融合,通过整个多数据源获得比古典的单个推荐模型更好的效果 。
3
特殊情况下的处理策略
推荐系统属于互联网软件服务,任何软件服务都存在不确定性,因而会存在一定概率出现问题,对推荐系统也不例外 。当由于网络故障或者服务故障导致推荐服务不可用时,如果在客户端(即APP上)不做异常保护和处理,用户访问推荐服务时,会超时,导致无任何推荐结果返回,整个UI展示都将出问题,出现开天窗的现象,这时就需要前端做保护,在极端情况出现时,给出一组备选方案展示出来,这样虽然推荐的结果不会那么精准,但不至于什么结果都没有,明显可以提升用户体验 。具体的做法可以是在APP启动时,客户端通过一个独立的接口获得一组默认推荐(比如热门推荐)存入客户端本地存储中,当故障出现时,就用这一组默认推荐来填补,这种策略其实是一种分支混合推荐策略(第三节中的混合策略5),分支出现的情况就是正常的推荐服务出现问题的时候 。
4
推荐数量不足的增补
在真实工业级推荐场景中,最终的推荐算法一般会给出固定数量的推荐结果(比如50个,但是在前端可能只展现30个),由于标的物会出现下线、不可用(视频下线、商品下架等)等情况,当用户在客户端请求推荐服务时,推荐接口先获取推荐列表(一般是一组标的物的id),再根据列表的id获得标的物的信息,填充完整后返回前端并展示给用户,这个过程中会对标的物id进行过滤和检查,如果下线了或者不可用了会剔除掉 。如果某个用户的推荐列表下线的标的物比较多(这种情况出现的概率一般不大),导致最终数量不够前端展现时,一般会采用补足的策略,比如利用热门推荐的结果填补不足的数量,最终获得规定好的数量(如前面提到的50个),这个利用另外一个推荐算法(如热门推荐)来填补的策略就是掺杂混合策略(第三节的第3个混合推荐策略)
5
通过混合策略解决用户冷启动
真实业务场景下的推荐系统不可避免会存在用户冷启动问题,特别是对于提供toC服务的、成长型的互联网公司,发展用户是非常重要的事情,这时每一个发展来的新用户,对于推荐系统来说就是冷启动用户,怎么给这些新用户推荐就是非常重要的事情,因为如果推荐质量不高用户可能会流失 。如果产品没有要求用户在刚登录注册时填写自己的兴趣偏好,我们是不知道新用户的兴趣偏好的,那么对于新用户,在他从新用户转化为老用户(行为足够多,可以用协同过滤等算法为他生成推荐结果)的这一阶段我们该怎么给他进行推荐呢?