推荐系统需要根据用户的历史行为和兴趣预测用户未来的行为和兴趣,因此大量的用户行为数据就成为推荐系统的重要组成部分和先决条件。对于很多做纯粹推荐系统的网站(比如Jinni和Pandora),或者很多在开始阶段就希望有个性化推荐应用的网站来说,如何在没有大量用户数据的情况下设计个性化推荐系统并且让用户对推荐结果满意从而愿意使用推荐系统,就是冷启动的问题。

3.3.1 冷启动问题简介

冷启动问题(cold start)主要分3类。

  • 用户冷启动。用户冷启动主要解决如何给新用户做个性化推荐的问题。当新用户到来时,我们没有他的行为数据,所以也无法根据他的历史行为预测其兴趣,从而无法借此给他做个性化推荐。
  • 物品冷启动。 物品冷启动主要解决如何将新的物品推荐给可能对它感兴趣的用户这一问题。
  • 系统冷启动。系统冷启动主要解决如何在一个新开发的网站上(还没有用户,也没有用户行为,只有一些物品的信息)设计个性化推荐系统,从而在网站刚发布时就让用户体验到个性化推荐服务这一问题。

 

3.3.2 解决方案

对于上节3种不同的冷启动问题,有不同的解决方案。一般来说,可以参考如下解决方案。

  • 提供非个性化的推荐。 非个性化推荐的最简单例子就是热门排行榜,我们可以给用户推荐热门排行榜,然后等到用户数据收集到一定的时候,再切换为个性化推荐。
  • 利用用户注册时提供的年龄、性别等数据做粗粒度的个性化。
  • 利用用户的社交网络账号登录(需要用户授权),导入用户在社交网站上的好友信息,然后给用户推荐其好友喜欢的物品。
  • 要求用户在登录时对一些物品进行反馈,收集用户对这些物品的兴趣信息,然后给用户推荐那些和这些物品相似的物品。
  • 对于新加入的物品,可以利用内容信息,将它们推荐给喜欢过和它们相似的物品的用户。
  • 在系统冷启动时,可以引入专家的知识,通过一定的高效方式迅速建立起物品的相关度表