推荐系统学习(冷启动)
冷启动
冷启动介绍
冷启动:
对于新注册的用户或者新入库的标的物, 该怎么给新用户推荐标的物让用户满意,怎么将新标的物分发出去,推荐给喜欢它的用户。
如果是新开发的产品,初期用户很少,用户行为也不多,常用的协同过滤、深度学习等依赖大量用户行为的算法不能很好的训练出精准的推荐模型, 怎么让推荐系统很好的运转起来,让推荐变得越来越准确,这个问题就是系统冷启动。
分类:
-
标的物冷启动:也称为“物品冷启动”或“内容冷启动”,指的是系统中新增了某个推荐对象(如商品、电影、文章等),但由于该物品还没有用户互动数据(点击、评分、购买等),导致系统无法判断哪些用户可能喜欢它。
-
用户冷启动:指的是系统中新增用户或活跃度极低的用户,由于其没有或几乎没有行为数据,系统难以判断该用户的兴趣偏好,难以进行个性化推荐。
-
**系统冷启动: 整个推荐系统刚刚上线或处于早期阶段,缺乏足够的用户数据和物品数据,导致推荐算法无法有效学习
冷启动挑战:
- 我们一般对新用户知之甚少, 所以基本不知道用户的真实兴趣,从而很难为用户推荐他喜欢的标的物:
- 缺少用户画像
- 访问行为过少
- 标的物信息问题:
- 标的物的信息不完善、包含的信息不好处理、数据杂乱
- 新标的物产生的速度太快(如新闻类,一般通过爬虫可以短时间爬取大量的新闻)
- 处理成本太高
- 完全新的品类或者领域,无法很好的建立与库中已有标的物的联系
- 对于新开发的产品,由于是从零开始发展用户,冷启动问题就更加凸显,这时每个用户都是冷启动用户,面临的挑战更大.
解决冷启动的重要性:新用户的留存及体验
解决冷启动的方法和策略
具体思路有如下7个(括号里面代表适用于哪类冷启动):
- 提供非个性化的推荐(用户冷启动)
- 利用用户注册时提供的信息(用户冷启动、系统冷启动)
- 基于内容做推荐(用户冷启动、系统冷启动)
- 利用标的物的metadata信息做推荐(标的物冷启动)
- 采用快速试探策略(用户冷启动、标的物冷启动)
- 采用兴趣迁移策略(用户冷启动、系统冷启动)
- 采用基于关系传递的策略(标的物冷启动)
物品冷启动
利用标的物的metadata信息做推荐
常见的物品 metadata 类型:
类型 | 示例 |
---|---|
基本信息 | 名称、ID、创建时间、价格 |
类别信息 | 分类标签(如电影类型、商品品类) |
内容信息 | 简介、描述、文章全文、视频文本摘要等 |
结构化特征 | 品牌、型号、颜色、尺寸、成分等 |
图像/音频特征 | 图像提取的视觉向量、音频指纹等(需要预处理) |
上下文信息 | 上架时间、流行周期、地理位置、库存情况等 |
社交标签(可选) | 用户打的标签、评论关键词、点赞数 |
- 获得标的物跟用户行为的相似性:通过提取新入库的标的物的特征(如标签、采用TF-IDF算法提取的文本特征、基于深度学习提取的图像特征等),通过计算标的物特征跟用户行为特征(用户行为特征通过他看过的标的物特征的叠加,如加权平均等)的相似性,从而将标的物推荐给与它最相似的用户。
- 获得标的物跟标的物的相似性:可以基于标的物的属性信息来做推荐,一般新上线的标的物或多或少都是有一些属性的,根据这些属性找到与该标的物最相似(利用余弦相似度等相似算法)的标的物,这些相似的标的物被哪些用户“消费”过,可以将该标的物推荐给这些消费过的用户。
快速试探策略
借用强化学习中的exploration-exploitation思想,将新标的物曝光给随机一批用户,观察用户对标的物的反馈,找到对该标的物有正向反馈(观看,购买,收藏,分享等)的用户, 后续将该标的物推荐给有正向反馈的用户或者与该用户相似的用户。
基于关系传递的策略
比如视频类应用,前期只做长视频,后来拓展到短视频,那么对某些没有短视频观看行为的用户,怎么给他做短视频推荐呢?可行的方式是借用数学中关系的传递性思路,利用长视频观看历史,计算出用户的相似度。对新入库的短视频,可以先计算与该短视频相似的长视频,我们可以将该短视频推荐给喜欢与它相似的长视频的用户。
用户冷启动
提供非个性化的推荐
-
利用先验数据做推荐:推荐新的东西;“20%的头部内容占到80%的流量“,热门推荐也一般用来作为新推荐算法的AB测试的基准对照组、推荐常用的标的物及生活必需品、根据该行业的经验给出相应的推荐策略(如婚恋网站,给新注册的男生推荐美女,新注册的女生推荐帅哥)
-
给用户提供多样化的选择:每大类选择一个推荐给新用户,这样总有一个是用户喜欢的
如果是新闻类的产品(如今日头条),可以采用TF-IDF算法将文本转化为向量,再对文本做聚类,每一类代表一个不同的新闻类型
如果是图像或者视频(如快手),可以利用图像相关技术将图片或者视频转化为特征向量,基于该向量聚类,再采用每类推荐一个的策略。可以用openCV及深度学习技术从视频图像中提取特征, 图像视频分析&zhida_source=entity)对技术要求更高,也需要大量计算。
利用新用户在注册时提供的信息
- 基于用户的信息(如年龄,性别,地域、学历、职业等)来做推荐
- 利用社交关系:有些APP, 用户在注册时要求导入社交关系等,这时可以将你的好友喜欢的标的物推荐给你
- 利用用户填写的兴趣点
基于内容做推荐
当用户只有很少的行为记录时,这时很多算法(比如协同过滤)还无法给用户做很精准的推荐,这时可以采用基于内容的推荐算法。基于内容的推荐算法只要用户有少量行为就可以给用户推荐(比如你看一部电影,至少就知道你对这个题材的电影有兴趣,那么就推荐类似题材的电影),不像基于模型的算法那样需要有足够多的行为数据才能训练出精度够用的模型。
采用快速试探策略
先随机或者按照非个性化推荐的策略给用户推荐,基于用户的点击反馈快速发现用户的兴趣点,从而在短时间内挖掘出用户的兴趣。
采用兴趣迁移策略
当一个公司有一个成熟的APP时,准备拓展新的业务,开发新的APP,这时可以将用户在老APP上的特征迁移到新APP中, 从而做出推荐
系统冷启动
新系统比成熟的系统少的是海量的用户,无法借助其它老用户的行为来为新用户的推荐提供指导,但是除了这一块外,其它策略可以采用跟用户冷启动一样的策略,包括利用用户注册时提供的信息、基于用户少量内容做推荐以及采用兴趣迁移策略
不同推荐产品形态解决冷启动的方案
推荐系统主要有5种范式,分别是:完全个性化范式、群组个性化范式、非个性化范式、标的物关联标的物范式、笛卡尔积范式
- 完全个性化范式:该范式可以采用基于用户的冷启动的所有方法来做冷启动
- 群组个性化范式:用户是分为兴趣相似的组的,新用户由于没有相关行为,可以单独将所有新用户放到一个新用户组,可以采用用户冷启动中的“提供非个性化的推荐“的策略来做冷启动
- 非个性化范式:每个用户推荐的内容都是一样的,这种推荐本来就是各种排行榜, 采用新热推荐的策略,所以不存在冷启动的问题
- 标的物关联标的物范式:情况是"相似视频、喜欢该物品的人还喜欢等推荐形态",可以采用标的物冷启动中的“利用标的物的metadata信息做推荐”和用户冷启动中的“提供非个性化的推荐”策略,对新标的物,既可以利用标的物的metadata计算与之相似的标的物,利用相似的标的物作为关联推荐,也可以关联到新热标的物或者常用标的物
- 笛卡尔积范式:每个用户关联到的每个标的物的推荐都是不一样的(如个性化相似影片, A用户和B用户看到的V节目的相似影片不一样)。这时可以采用关联到新热标的物或者常用标的物作为冷启动推荐。