推荐系统冷启动问题
推荐系统需要根据用户的历史行为和兴趣预测用户未来的行为和兴趣,因此大量的用户行为数据就成为推荐系统的重要组成部分和先决条件。在开始阶段就希望有个性化推荐应用的网站来说,如何在没有大量用户数据的情况下设计个性化推荐系统并且让用户对推荐结果满意就是冷启动的问题
3.1 冷启动问题简介
冷启动问题(coldstart)主要分3类:
- 用户冷启动
主要解决如何给新用户做个性化推荐的问题。当新用户到来时, 我们没有他的行为数据,所以也无法根据他的历史行为预测其兴趣 - 物品冷启动
主要解决如何将新的物品推荐给可能对它感兴趣的用户 - 系统冷启动
主要解决如何在一个新开发的网站上(没有用户和用户行为,只有一些物品的信息)设计个性化推荐系统,从而在网站刚发布时就让用户体验到个性化推荐服务这一问题。
对于这3种不同的冷启动问题,有不同的解决方案:
- 提供非个性化的推荐,最简单例子就是热门排行榜,我们可以给用户推荐热门排行榜,等用户数据收集到一定的时候再切换为个性化推荐
- 利用用户注册时提供的年龄、性别等数据做粗粒度的个性化
- 利用用户的社交网络账号登录(需要用户授权),导入用户在社交网站上的好友信息,然后给用户推荐其好友喜欢的物品
- 要求用户在登录时对一些物品进行反馈,收集用户对这些物品的兴趣信息,然后给用户推荐那些和这些物品相似的物品
- 对于新加入的物品,可以利用内容信息,将它们推荐给喜欢过和它们相似的物品的用户
- 在系统冷启动时,可以引入专家的知识,通过一定的高效方式迅速建立起物品的相关度表
3.2 利用用户注册信息
用户的注册信息分3种:
- 人口统计学信息 包括用户的年龄、性别、职业、民族、学历和居住地
- 用户兴趣的描述 有一些网站会让用户用文字描述他们的兴趣
- 从其他网站导入的用户站外行为数据 比如用户通过豆瓣账号登录,就可以在得到用户同意的情况下获取用户在豆瓣的一些行为和社交网络数据
基于注册信息的个性化推荐流程基本如下:
(1) 获取用户的注册信息
(2) 根据用户的注册信息对用户分类
(3) 给用户推荐他所属分类中用户喜欢的物品


3.3 选择合适的物品启动用户的兴趣
解决用户冷启动问题的另一个方法是在新用户第一次访问推荐系统时,不立即给用户展示推荐结果,而是给用户提供一些物品,让用户反馈他们对这些物品的兴趣,然后根据用户反馈给提供个性化推荐
对于这些通过让用户对物品进行评分来收集用户兴趣,从而对用户进行冷启动的系统,它们需要解决的首要问题就是如何选择物品让用户进行反馈。一般来说,能够用来启动用户兴趣的物品需要具有以下特点:
- 比较热门
如果要让用户对一个物品进行反馈,前提是用户知道这个物品是什么东西 - 具有代表性和区分性
启动用户兴趣的物品不能是大众化或老少咸宜的,因为这样的物品对用户的兴趣没有区分性 - 启动物品集合需要有多样性
在冷启动时我们不知道用户的兴趣,而用户兴趣的可能性非常多,为了匹配多样的兴趣,我们需要提供具有很高覆盖率的启动物品集合,这些物品能覆盖几乎所有主流的用户兴趣


3.4 利用物品的内容信息
物品冷启动需要解决的问题是如何将新加入的物品推荐给对它感兴趣的用户。物品冷启动在新闻网站等时效性很强的网站中非常重要,因为那些网站中时时刻刻都有新加入的物品,而且每个物品必须能够在第一时间展现给用户,否则经过一段时间后物品的价值就大大降低了
UserCF算法对物品冷启动问题并不非常敏感。因为UserCF在给用户进行推荐时会首先找到和用户兴趣相似的一群用户,然后给用户推荐这一群用户喜欢的物品。用户从某些途径看到这些物品,对这些物品产生反馈。那么当一个用户对某个物品产生反馈后,和他历史兴趣相似的其他用户的推荐列表中就有可能岀现这一物品,因此该物品就能不断地扩散开来。但是有些网站中推荐列表可能是用户获取信息的主要途径,那么对于 UserCF算法就需要解决第一推动力的问题,即第一个用户从哪儿发现新的物品。解决第一推动力最简单的方法是将新的物品随机展示给用户,但这样显然不太个性化,因此可以考虑利用物品的内容信息,将新物品先投放给曾经喜欢过和它内容相似的其他物品的用户
对于ItcmCF算法物品冷启动就是一个严重的问题, 因为ItemCF算法的原理是给用户推荐和他之前喜欢的物品相似的物品。ItemCF算法会每隔一段时间利用用户行为计算物品相似度表,在线服务时ItemCF算法会将之前计算好的物品相关度矩阵放在内存中。 因此,当新物品加入时,内存中的物品相关表中不会存在这个物品,从而ItemCF算法无法推荐新的物品。解决这一问题的办法是频繁更新物品相似度表,但基于用户行为计算物品相似度是非常耗时的事情,主要原因是用户行为日志非常庞大。而且,新物品如果不展示给用户,用户就无法对它产生行为,通过行为日志计算是计算不出包含新物品的相关矩阵的。为此,我们只能利用物 品的内容信息计算物品相关表,并且频繁地更新相关表
基于内容属性的推荐算法

协同过滤算法由于数据稀疏的影响不能从用户行为中完全统计出这一特征, 所以协同过滤算法反而不如利用了先验信息的内容过滤算法。如果用户的行为强烈受某一内容属性的影响,那么内容过滤的算法还是可以在精度上超过协同过滤算法的。不过这种强的内容特征不是所有物品都具有的,而且需要丰富的领域知识才能获得,所以很多时候内容过滤算法的精度比协同过滤算法差。不过这也提醒我们,如果能够将这两种算法融合,一定能够获得比单独使用这两种算法更好的效果。
向量空间模型在内容数据丰富时可以获得比较好的效果。以文本为例,如果是计算长文本的相似度,用向址空间模型利用关键词汁算相似度已经可以获得很高的精确度。但是如果文本很短关键词很少,向鼠空间模型就很难计算出准确的相似度。
3.5发挥专家的作用
很多推荐系统在建立时,既没有用户的行为数据,也没有充足的物品内容信息来计算准确的物品相似度。为了在推荐系统建立时就让用户得到比较好的体验,很多系统都利用专家进行标注。可以通过专家打标和机器学习相结合的方法解决了系统冷启动问题
本文探讨了推荐系统冷启动问题,包括用户、物品和系统冷启动。提出了利用用户注册信息、选择启动物品、利用物品内容信息以及发挥专家作用等解决策略。详细阐述了基于注册信息的推荐流程和启动物品的选择标准,强调了内容信息在物品冷启动中的重要性,并讨论了专家标注在系统冷启动中的角色。
714

被折叠的 条评论
为什么被折叠?



