《推荐系统实践》第三章学习笔记

2019-03-24  本文已影响0人  妖皇裂天

  本章主要讲的是推荐系统冷启动问题。冷启动问题,就是如何在没有数据的情况下设计个性化推荐系统,让用户对推荐结果满意并愿意接着使用推荐系统,从而保证了推荐系统的良性改进迭代。冷启动的对象主要有3个:用户物品推荐系统

用户

  用户冷启动主要解决如何给新用户做个性化推荐的问题。一个成熟的推荐系统之所以能够很好的实现个性化推荐是因为有着大量的用户行为数据,从这些行为数据中可以很好地分析出用户的兴趣从而实现精准推荐。但是对于一个新用户来说,推荐系统并没有这个用户的历史行为信息,也就没法给用户进行个性化推荐。要想实现用户的个性化推荐,就一定需要该用户的信息,所以用户冷启动的关键在于得到用户的信息,越多越好。那么如何尽可能的获得用户的信息呢?
一个简单的方法就是一开始不进行个性化推荐,先专门给用户推荐一些受欢迎的热门物品,尽量留住用户,防止用户流失,而用户一旦开始使用推荐系统,就意味着给系统贡献着用户信息,然后就可以利用这些用户行为数据开始个性化推荐。当然,也可以利用用户的注册信息进行一些粗粒度的推荐。这些注册信息包括用户的基本信息(年龄、性别、职业、民族、学历和居住地等),兴趣描述,以及其他网站导入的用户历史信息(在用户许可的条件下获取用户在其他平台上的行为数据和社交网站数据)。当然由于基本信息一般粒度较粗,我们还可以对基本信息进行特征组合,得到更细粒的特征。毕竟,粒度越细,精度和覆盖率也会越高。
解决用户冷启动问题的另一个方法是在新用户第一次访问推荐系统时,不立即给用户展示推荐结果,而是给用户提供一些物品,让用户反馈他们对这些物品的兴趣,然后根据用户反馈给提供个性化推荐。这种方法的关键在于选择有特色的物品,从而得到一些有用的反馈。这些用来启动用户兴趣的物品需要具有的特点包括比较热门具有代表性和区分性多样性等。具体的实现上可以利用决策树来实现。

物品

物品冷启动需要解决的问题是如何将新加入的物品推荐给对它感兴趣的用户。比较好的方法就是利用物品的内容信息来计算物品之间的相关程度。物品的内容可以通过向量空间模型表示,该模型将物品表示成一个关键词向量。向量空间模型的优点是简单,缺点是丢值了关键词之间的信息。不过在大多应用中向量空间模型对于文本的分类、聚类和相似度计算已经有着比较好的效果。其实利用物品相似度我们已经可以过滤出一些相似物品并推荐给用户,但是这种内容过滤算法忽略了用户行为,也就没有考虑物品的流行度和用户行为背后的规律,从而导致精度较低,但是如果用户的行为受到物品内容的影响较大,那么内容过滤算法也是不错的个性化推荐选择。物品的内容还可以利用话题模型来表征,比如可以利用LDA对文档信息进行聚类,从而得到每个文档的关键信息,然后利用这些关键信息就可以计算文档之间的相似性。

推荐系统

系统冷启动主要解决如何开发维护一个新的推荐系统。系统在开发初期既没有用户信息,也没有物品信息,那么怎么实现个性化推荐呢?此时用户信息可以根据用户在注册时填写的信息来补充,具体可以看上面用户冷启动问题。那么如何解决物品信息缺失问题呢?当然我们可以利用物品内容计算物品之间的相似度,但是在一些情况下这种方法难度很高。在成熟的推荐系统中,也可以根据用户行为列表来找到物品之间的联系。本章提出另外一个方法,就是利用专家对物品信息进行标注,发挥专家的作用。这样就可以保证系统在建立初期,既没有用户的行为数据,也没有充足的物品内容信息的情况下计算准确的物品相似度,让用户得到比较好的体验。

个人总结:本章讲的是冷启动问题,其实就是阐述了如何得到利用好用户信息的方法,现在的解决冷启动方法和上面提到的方法也是差不多的。我之前看过Airbnb embedding那篇文章,文章中也提到了冷启动问题,那篇文章的解决方案其实也是在本章提出的一些早期方法上的改进。Airbnb embedding解决冷启动的做法就是利用用户信息、物品信息和KNN模型找到新加入的用户或者物品最相似的K个用户或物品,从而利用这些相似用户或物品信息来表征新加入的用户或物品。

上一篇下一篇

猜你喜欢

热点阅读