推荐算法学习(七):推荐系统中的冷启动

在之前推荐系统相关文章中介绍的推荐算法都是基于用户行为数据、用户物品的数据等已经累积的大量用户数据进行推荐的。这些数据的获取对于一些热门的网站或者app来说也许不是个担心的问题,但是对于一些全新上线的网站等开始阶段的平台来说,如何在没有大量用户数据的情况下设计个性化推荐系统并且让用户对推荐结果满意从而愿意使用推荐系统,就是冷启动的问题。

常见冷启动类型

在推荐系统中,新用户,新商品是不断产生的。常见的冷启动类型有

  • 物品冷启动:主要解决如何将新的物品推荐给可能对它感兴趣的用户。也可以看成是基于用户冷启动的基础上做的物品冷启动。

  • 用户冷启动:主要解决如何给新用户做个性化推荐的问题。对于新用户,我们没有他的行为数据,所以也无法根据他的历史行为预测其兴趣给他做个性化推荐。

  • 系统冷启动: 主要解决如何在一个新开发的网站上设计个性化推荐系统。

冷启动解决方案

针对上述冷启动问题,常见的解决方案有:

  • 提供非个性化的推荐(用户冷启动)

    1)热门商品

    2)人工指定策略

    3)提供多样性的选择

  • 利用用户的注册信息(用户冷启动、系统冷启动)

    1)基于用户信息,比如年龄,性别,地域、学历、职业等做推荐

    2)让用户选择兴趣点,让用户选择自己喜欢的分类标签(避免选项太多,操作复杂)

    3)利用社交关系,将好友喜欢的商品推荐给你

  • 基于内容做推荐(用户冷启动、系统冷启动):当用户行为较少时,无法使用协同过滤,可以基于item本身的内容做推荐,比如看过某个分类(体育)的内容,可以推荐这个分类的其他热门内容。

  • 利用物品信息做推荐(物品冷启动)

    1)利用Item与用户行为的相似性:计算新商品的特征,再计算商品特征与用户行为特征之间的相似度,从而为商品推荐和它最匹配的用户

    2)利用Item与Item的相似性:可以基于Item的属性信息来做推荐,一般新上线的商品都会有一些属性,根据这些属性找到与最相似的商品,这些相似的商品被哪些用户“消费”过,可以将该item推荐给这些消费过的用户

  • 快速试探策略(用户冷启动、物品冷启动)

    1)随机或者按照非个性化推荐的策略进行推荐,基于用户的点击反馈快速发现兴趣点

    2)用于新闻、短视频领域

    3)Bandit算法

  • 兴趣迁移策略(用户冷启动、系统冷启动):借鉴了迁移学习的思路,比如基于头条给抖音导流,知道用户在头条上的兴趣点,可以为其进行推荐。

  • 基于关系传递的策略(物品冷启动)