推荐系统冷启动问题是指:如何在没有大量用户数据的情况下设计个性化推荐系统并且让用户对推荐结果满意从而愿意使用推荐系统,即在缺乏有价值数据时,如何进行有效的推荐的问题。
根据数据匮乏情况的不同,将推荐系统冷启动问题进一步分为3类:
- 用户冷启动:如何给新用户做个性化推荐的问题,即在新用户注册后,没有历史行为数据时如何做个性化推荐;
- 物品冷启动:如何将新的物品推荐给可能对它感兴趣的用户,即系统加入新物品后,在该商品还没有交互记录时,如何将该物品推荐给用户;
- 系统冷启动:如何在一个新开发的网站上设计个性化推荐系统,即在推荐系统运行之初,缺乏所有相关历史数据时的推荐。
对于这3种不同的冷启动问题,有不同的策略:
- 提供非个性化的推荐:“热门排行榜”、“最近流行趋势”、“最高评分”等;
- 利用用户注册时提供的年龄、性别等信息做粗粒度的个性化推荐;
- 利用用户的社交网络账号登录(需要授权),导入用户在社交网站上的好友信息。为其推荐其好友喜欢的物品;
- 要求用户在登录时对一些物品进行反馈,收集用户对这些物品的偏好信息,然后给用户推荐那些和这些物品相似的物品;
- 对于新加入的物品,可以利用内容信息,将它们推荐给喜欢过和它们相似的物品的用户;
- 在系统冷启动时,可以引入专家知识,通过一定的高效方式迅速建立起物品的相关度表。
可以进一步将上述策略归纳为以下两类:
- 基于规则的冷启动过程;
- 丰富冷启动过程中可获得的用户和物品特征;
此外,还有一类基于模型的冷启动推荐策略:
- 利用主动学习、迁移学习和“探索与利用”机制。
具体地:
1、基于规则的冷启动推荐
以利用用户注册信息进行推荐为例,可以让推荐系统回退到“前推荐系统”时代,采用一些基于规则的推荐方法提供非个性化推荐,也可以基于用户的注册信息做粗粒度的个性化推荐。
用户的注册信息可以是:人口统计学信息、用户兴趣的描述、从其他网站导入的用户站外行为数据;
基于用户注册信息做粗粒度的个性化推荐的流程为:
- 获取用户的注册信息;
- 根据用户的注册信息对用户分类;
- 给用户推荐他所属类簇中用户最喜欢的物品。
2、丰富冷启动过程中可获得的用户和物品特征
可获得的用户和物品特征可能包括以下几类:
- 用户的注册信息:包括基本的人口属性信息和通过IP地址、GPS信息等推断出的地理信息;
- 第三方数据管理平台提供的用户信息;
- 物品的内容特征:物品固有的或者由专家定义的特征信息;
- 引导用户输入的冷启动特征:evidence candidates。
3、利用主动学习、迁移学习和“探索与利用”机制
主动学习不仅利用已有的数据集进行建模,而且可以“主动”发现哪些数据是最急需的,主动向外界发出询问、获得反馈,从而加速学习过程。基于主动学习的冷启动推荐要定义推荐系统的损失函数,从而精确地评估推荐不同影片获得的损失下降收益;
迁移学习是在某领域知识不足的情况下,迁移其他领域的数据或知识,用于本领域的学习。基于迁移学习的冷启动推荐将其他领域的数据用于支持本领域的冷启动推荐。
“探索与利用”机制是在“探索新数据”和“利用旧数据”之间进行平衡,使系统既能够利用旧数据进行推荐,达到推荐系统的商业目标,又能高效地探索冷启动的物品是否是“优质”物品,使得冷启动物品获得曝光的倾向,快速收集冷启动数据。
——内容整理自《深度学习推荐系统》和《推荐系统实战》这两本书。