推荐系统——冷启动问题
2020-02-03 20:26 默默不语 阅读(718) 评论(0) 编辑 收藏 举报冷启动
推荐系统主要是通过用户的历史行为来构建用户画像,从而为用户推荐他们感兴趣的内容,但是新注册的用户在系统中无历史行为,该如何为他们推荐内容是一个很重要的问题,即冷启动问题。推荐系统冷启动问题指的就是对于新注册的用户或者新入库的标的物, 该怎么给新用户推荐标的物让用户满意,怎么将新标的物分发出去,推荐给喜欢它的用户。此外,如果初期用户很少,用户行为也不多,而协同过滤又依赖大量用户行为从而不能很好的训练出精准的推荐模型, 如何让推荐系统推荐的更精确则是系统冷启动问题。
1.用户冷启动
对于新注册的用户,他们在你的系统平台上还未产生行为信息,不足以用复杂的算法来训练推荐模型,暂时还无法根据用户历史行为构建用户画像。所以我们无法准确的知道用户的兴趣爱好,也就无法准确的为用户推荐内容。
2.标的物冷启动
我们根据用户的历史行为了解用户的喜好,如果新的标的物与数据库中存在的标的物可以建立相似性联系的话, 我们可以基于这个相似性将标的物推荐给喜欢与它相似标的物的用户。
但是,对于标的物有以下几点原因导致无法很好的与库中已有的标的物建立联系:
①标的物的信息不完善、杂乱、数据难处理
②新的标的物产生的速度太快,如新闻资讯,一般通过爬虫可以短时间爬取大量的新闻信息
③新的标的物短时间内来不及处理或者处理成本太高
④新的标的物是完全新的类型或领域
以上几点原因都会增加将标的物分推荐给喜欢该标的物的用户的难度。
3.系统冷启动
由于系统为新开发的产品,从零开始发展用户,冷启动问题就更加严重,由于每个用户都是冷启动用户,推荐更加困难。
如何解决?
对于冷启动问题,主要有以下几种思路:
1.提供非个性化的推荐
适用于用户冷启动。
可以为用户推荐近期最热最新的内容,新的东西肯定能吸引用户,受用户喜爱,比如视频推荐可以推荐播放量TopN的视频,推荐大多数人喜欢的内容给用户往往效果还不错。
对于特殊的内容推荐可以根据实际场景进行推荐,比如好物推荐,用户为女生可以推荐美妆,为男生可以推荐电子产品等。
2.利用用户注册时提供的信息
适用于用户冷启动、系统冷启动。
让用户注册时填写一些信息,这些信息就可以作为推荐的依据。可以根据系统需要让用户填写相关信息,比如bilibili初次登陆时会让用户勾选感兴趣的内容,来为用户推荐视频;招聘网站会让用户填
写学校,专业等内容为用户推荐职位等。并且还要有一定的规则来将用户画像(从用户填的信息中提取的标签就是该用户的画像)与待推荐的物品关联起来,根据用户的画像标签关联相关的物品,从而为用户做
推荐。
3.基于内容做推荐
适用于用户冷启动、系统冷启动。
基于内容的推荐算法只要用户有少量行为就可以给用户推荐。比如在电影推荐中,通过用户看一部电影,至少就知道你对这个题材的电影有兴趣,那么就推荐类似题材的电影。
4.采用快速试探策略
适用于用户冷启动、标的物冷启动。
该策略一般先随机或者按照非个性化推荐的策略给用户推荐内容,然后根据用户的点击反馈快速发现用户的兴趣点,从而在短时间内挖掘出用户的兴趣。一般多用于视频、新闻等推荐。
5.采用兴趣迁移策略
适用于用户冷启动、系统冷启动。
当一个公司有一个成熟的APP时,准备拓展新的业务开发新的APP时,可以将用户在老APP上的特征迁移到新APP中, 从而做出推荐。比如,今日头条做抖音时,抖音前期就是从今日头条引流,对于一个用户来说,他是抖音的新用户,同时他也是今日头条的老用户,那么我们就可以根据今日头条上记载的该用户的兴趣点在抖音中为该用户进行推荐。
当然,还有利用标的物的metadata信息做推荐、采用基于关系传递的策略,这两种多适用于标的物冷启动,这两种也比较难理解,对于我这个新手小菜就后期再进行学习啦!