推荐系统冷启动问题

Posted 大数据技术AI

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了推荐系统冷启动问题相关的知识,希望对你有一定的参考价值。



推荐系统冷启动问题
推荐系统冷启动问题
推荐系统冷启动问题

元旦,圆满结束一年,开始新的一年。



推荐系统冷启动问题


推荐系统需要根据用户的历史行为和兴趣预测用户未来的行为和兴趣,因此大量的用户行为数据就成为推荐系统的重要组成部分和先决条件。

对于很多像百度、当当这样的网站来说,这或许不是个问题,因为它们目前已经积累了大量的用户数据。

但是对于很多做纯粹推荐系统的网站,或者很多在开始阶段就希望有个性化推荐应用的网站来说,如何在没有大量用户数据的情况下设计个性化推荐系统并且让用户对推荐结果满意从而愿意使用推荐系统,就是冷启动的问题。



推荐系统冷启动问题

冷启动问题简介



推荐系统冷启动问题


推荐系统冷启动问题
推荐系统冷启动问题

利用用户注册信息


在网站中,当新用户刚注册时,我们不知道他喜欢什么物品,于是只能给他推荐一些热门的商品。


但如果我们知道她是一位女性,那么可以给她推荐女性都喜欢的热门商品。这也是一种个性化的推荐。


当然这个个性化的粒度很粗,因为所有刚注册的女性看到的都是同样的结果,但相对于不区分男女的方式,这种推荐的精度已经大大提高了。


因此,利用用户的注册信息可以很好地解决注册用户的冷启动问题。


在绝大多数网站中,年龄、性别一般都是注册用户的必备信息。


用户的注册信息分为3种:
  • 人口统计学信息:包括用户的年龄、性别、职业、民族、学历和居住地等

  • 用户兴趣的描述:有些网站会让用户用文字描述他们的兴趣(如:小红书刚开始让选兴趣标签等)

  • 从其他往回走哪导入的用户站外行为数据:比如:用户通过豆瓣、新浪微博的账号登录,就可以在得到用户同意的情况下获取用户在豆瓣或者新浪微博的而一些行为数据和社交网络数据。


推荐系统冷启动问题


当然,Krulwich的实验也有明显的缺点,即他没有对比和给用户推荐最热门的物品的推荐算法。 因为热 门排行榜作为一种非个性化推荐算法,一般也比随机推荐具有更高的点击率。

基于注册信息的个性化推荐流程如下:
(1)获取用户的注册信息
(2)根据用户的注册信息对用户分类
(3)给用户推荐他所属分类中用户喜欢的物品

推荐系统冷启动问题


推荐系统冷启动问题


当然,实际应用中也可以考虑 组合特征,比如将年龄性别作为一个特征,或者将性别职业作为一个特征。不过在使用组合时需要注意用户不一定具有所有的特征(比如有些用户没有职业信息),因为一般的注册系统并不要求用户填写所有注册项。



选择合适的物品启动用户的兴趣


解决用户冷启动问题的另一个方法是在新用户第一次访问推荐系统时,不立即给用户展示推荐结果,而是 给用户提供一些物品,让用户反馈他们对这些物品的兴趣, 然后根据用户反馈给提供个性化推荐。很多推荐系统采取了这种方式来解决用户冷启动问题。

比如:

  • 当新用户访问推荐系统时,它会给出一条提示语,表示用户需要给多部电影评分才能获取推荐结果。
  • 当用户选择给多部电影评分后,会首先展示一个页面让用户选择他喜欢的电影类别,
  • 当用户选择了某一个类别后,会展示第三个界面让用户对电影进行反馈

对于这些通过让用户对物品进行评分来收集用户兴趣,从而对用户进行冷启动的系统,它们需要解决的首要问题就是如何选择物品让用户进行反馈。

一般来说,能够用来启动用户兴趣的物品需要具有以下特点:
  • 比较热门

  • 具有代表性和分区性:启动用户兴趣的物品不能是大众化或老少咸宜的,因为这样的物品对用户的兴趣没有区分性。还以电影为例,用一部票房很高且广受欢迎的电影做启动物品,可以想象的到的是几乎所有用户都会喜欢这部电影,因而无法区分用户个性化的兴趣。

  • 启动物品集合需要有多样性:在冷启动时,我们不知道用户的兴趣,而用户兴趣的可能性非常多,为了匹配多样的兴趣,我们需要提供具有很高覆盖率的启动物品集合,这些物品能覆盖几乎所有主流的用户兴趣。


推荐系统冷启动问题

利用物品的内容信息




推荐系统冷启动问题

物品冷启动需要解决的问题是如何将新加入的物品推荐给对它感兴趣的用户。物品冷启动在新闻网站等时效性很强的网站中非常重要,因为那些网站中时时刻刻都有新加入的物品,而且每个物品必须能够在第一时间展现给用户,否则经过一段时间后,物品的价值就大大降低了。


UserCF算法对物品冷启动问题并不非常敏感。因为,UserCF在给用户进行推荐时,会首先找到和用户兴趣相似的一群用户,然后给用户推荐这一群用户喜欢的物品。在很多网站中,推荐列表并不是给用户展示内容的唯一列表,那么当一个新物品加入时,总会有用户从某些途径看到这些物品,对这些物品产生反馈。那么,当一个用户对某个物品产生反馈后,和他历史兴趣相似的其他用户的推荐列表中就有可能出现这一物品,从而更多的人就会对这个物品产生反馈,导致更多的人的推荐列表中会出现这一物品,因此该物品就能不断地扩散开来,从而逐步展示到对它感兴趣用户的推荐列表中。


但是,有些网站中推荐列表可能是用户获取信息的主要途径,比如豆瓣网络电台。那么对于UserCF算法就需要解决第一推动力的问题,即第一个用户从哪儿发现新的物品。只要有一小部分人能够发现并喜欢新的物品,UserCF算法就能将这些物品扩散到更多的用户中。解决第一推动力最简单的方法是将新的物品随机展示给用户,但这样显然不太个性化,因此可以考虑利用物品的内容信息,将新物品先投放给曾经喜欢过和它内容相似的其他物品的用户。




推荐系统冷启动问题


常见的物品内容信息

推荐系统冷启动问题


推荐系统冷启动问题

发挥专家的作用


很多推荐系统在建立时,既没有用户的行为数据,也没有充足的物品内容信息来计算准确的物品相似度。那么,为了在推荐系统建立时就让用户得到比较好的体验,很多系统都利用专家进行标注。


Pandora是一个给用户播放音乐的个性化电台应用。众所周知, 计算音乐之间的相似度是比较困难的。 首先,音乐是多媒体,如果从音频分析入手计算歌曲之间的相似度,则技术门槛很高,而且也很难计算得令人满意。 其次,仅仅利用歌曲的专辑、歌手等属性信息很难获得令人满意的歌曲相似度表,因为一名歌手、一部专辑往往只有一两首好歌。为了解决这个问题,Pandora雇用了 一批懂计算机的音乐人进行了一项称为音乐基因的项目。他们听了几万名歌手的歌,并对这些歌的各个维度进行标注。最终, 他们使用了400多个特征(Pandora称这些特征为基因)。标注完所有的歌曲后, 每首歌都可以表示为一个400维的向量,然后通过常见的 向量相似度算法可以计算出歌曲的相似度。

和Pandora类似,Jinni也利用相似的想法设计了电影基因系统,让专家给电影进行标注

这些基因包括如下分类:
  • 心情(Mood):表示用户观看电影的心情,如对于《功夫熊猫》观众会觉得很幽默,很兴奋。

  • 剧情(Plot)

  • 类别(Genres):动画片、喜剧片、动作片等分类

  • 时间(Time/Period)

  • 地点(Place)

  • 观众(Audience):电影的主要观众群

  • 获奖(Praise):电影的获奖和评价情况

  • 风格(Style):功夫片、全明星阵容等

  • 态度(Attitudes):电影描述故事的态度

  • 画风(Look):电影拍摄的画面技术,如:动画,科技等

  • 标记(Flag):暴力、色情等


Jinni在电影基因工程中采用了半人工、半自动的方式。首先,它让专家对电影进行标记,每个电影都有大约50个基因,这些基因来自大约1000个基因库。然后,在专家标记一定的样本后,Jinni会使用自然语言理解和机器学习技术,通过分析用户对电影的评论和电影的一些内容属性对电影(特别是新电影)进行自己的标记。同时,Jinni也设计了让用户对基因进行反馈的界面,希望通过用户反馈不断改进电影基因系统。

总之,Jinni通过 专家和 机器学习相结合的方法 解决了系统冷启动问题。

以上是关于推荐系统冷启动问题的主要内容,如果未能解决你的问题,请参考以下文章

推荐系统读书笔记推荐系统冷启动问题

推荐系统冷启动

推荐系统实战——冷启动问题

《推荐系统实践》 4. 冷启动问题

推荐系统实践(项亮)— 第3章 推荐系统冷启动问题

推荐系统之冷启动问题