推荐系统需要根据用户的历史行为和兴趣预测用户未来的行为和兴趣,因此大量的用户行为数据就成为推荐系统的重要组成部分和先决条件。如何在没有大量用户数据的情况下设计个性化推荐系统并且让用户对推荐系统满意从而愿意使用推荐系统,就是冷启动的问题。
冷启动问题主要分为用户冷启动、物品冷启动、系统冷启动。其中用户冷启动主要解决如何给新用户做个性化推荐的问题,物品冷启动主要解决如何将新的物品推荐给可能对它感兴趣的用户这一问题,系统冷启动主要解决如何在一个新开发的网站上设计个性化推荐系统。
解决冷启动问题有如下方案:使用非个性化的推荐;
利用用户的注册时提供的年龄、性别等数据做粗粒度的个性化;
用户的注册信息可以分为:人口统计学信息(年龄、性别、职业、民族、学历和居住地)、用户兴趣的描述、从其他网站导入的用户站外行为数据。基于注册信息的个性化推荐流程如下:获取用户的注册信息、根据用户的注册信息对用户分类、给用户推荐他所属分类中用户喜欢的物品计算具有特征f的用户对各个物品的喜好程度 p ( f , i ) = ∣ N ( i ) ⋂ U ( f ) ∣ ∣ N ( i ) + α p(f,i) = \frac{\mid N(i) \bigcap U(f)\mid}{\mid N(i) +\alpha} p(f,i)=∣N(i)+α∣N(i)⋂U(f)∣,其中N(i)是喜欢物品i的用户集合,U(f)为具有特征f的用户集合利用用户的社交网络账号登入,导入用户在社交网络上的好友信息,如何给用户推荐其好友喜好的物品;
要求用户在登录时对一些物品进行反馈;
不立即给用户展示推荐结果,而是给用户提供一些物品,让用户反馈他们对这些物品的兴趣,如何根据用户反馈给提供个性化推荐。
这种方法的主要问题为如何选择物品让用户进行反馈。一般来说,用户启动用户兴趣的物品需要具有:比较热门、具有代表性和区分性的的特点。同时启动物品集合需要具有多样化。决策树在这里是一个不错的方法。
对新加入的物品,可以利用内容信息;
在UserCF通过将新加入的物品推荐给曾经喜欢过和它内容相似的其他物品的用户,从而解决第一推动力的问题,然后通过一次次传播(其他用户通过和他相似的用户中得到该物品的推荐)形成对新物品的反馈。
在ItemCF中,新物品加入是一个比较困难的问题,我们只能利用物品的内容信息计算物品相关表(通过物品的内容信息计算物品的相似度),并且频繁的更新相关表(此时不是基于物品的协同过滤方法,而是基于内容的推荐算法)。
使用内容信息的推荐算法被称为基于内容的推荐算法。基于内容的过滤算法忽视了用户行为,从而也忽视了物品的流行度以及用户行为中所包含的规律,所以它的精度比较低,但是结果的新颖度比较高。
在系统冷启动时,可以引入专家知识,通过一定的高效方式迅速建立起物品的相关度表。