推荐系统学习笔记-冷启动

简介

推荐系统的主要目标是将大量的标的物推荐给可能喜欢的海量用户, 这里涉及到标的物和用户两类对象。任何互联网推荐产品, 标的物和用户都是不断增长变化的,所以一定会频繁面对新标的物和新用户, 推荐系统冷启动问题指的就是对于新注册的用户或者新入库的标的物, 该怎么给新用户推荐标的物让用户满意,怎么将新标的物分发出去,推荐给喜欢它的用户。

另外,如果是新开发的产品,初期用户很少,用户行为也不多,常用的协同过滤、深度学习等依赖大量用户行为的算法不能很好的训练出精准的推荐模型, 怎么让推荐系统很好的运转起来,让推荐变得越来越准确,这个问题就是系统冷启动。

简单来说,新用户、新内容对推荐系统来说都是没有过往信息积累的、陌生的,需要通过累计一定的曝光量和互动量来收集基础数据。这个从0到1积累基础数据的过程就是冷启动,其效果的好坏直接关系到整个产品新用户的留存和转化,而用户留存和转化的提升是做冷启动优化的动力来源。

总之,推荐系统冷启动主要分为标的物冷启动、用户冷启动、系统冷启动三大类。

用户冷启动

主要解决如何对新用户做个性化推荐问题。当新用户到来时,没有其行为数据,无法根据其历史行为预测其兴趣,从而无法借此做个性化推荐

物品冷启动

主要解决如何将新的物品推荐给可能对它感兴趣的用户

系统冷启动

主要解决如何在一个新的网站上(没有用户,也没有用户行为,只有一些物品信息)设计个性化推荐系统,从而在网站方发布时就让用户体验到个性化推荐服务

重要性

用户不确定性需求是客观存在的,在当今信息爆炸的时代,用户的不确定性需求更加明显,而推荐作为一种解决用户不确定性需求的有效手段在互联网产品中会越来越重要, 特别是随着短视频、新闻等应用的崛起,推荐的重要性被更多人认可。很多产品将推荐业务放到最核心的位置(如首页),或者是整个产品的核心,比如今日头条等各类信息流产品及很多电商类产品。因此,新用户必须要面对冷启动这个问题。

从上面的介绍中可以知道,新用户、新标的物是持续产生的,对互联网产品来说是常态,是无法避免的,所以冷启动问题会伴随整个产品的生命周期。特别是当你投入很大的资源推广你的产品时, 短期会吸引大量的用户来注册你的产品(比如今年百度的春晚红包),这时,用户冷启动问题将会更加严峻,解决冷启动问题也会更加迫切。

既然很多产品将推荐放到这么好的位置, 而推荐作为一种有效提升用户体验的工具,在新用户留存中一定要起到非常关键的作用,如果推荐系统不能很好的为新用户推荐好的内容,新用户可能会流失。所以如果不解决冷启动问题,你的新用户一直会得不到好的推荐体验,极有可能会流失掉。

新用户的留存对一个公司来说非常关键, 服务不好新用户,并让用户留下来,你的用户增长将会停滞不前。对于互联网公司来说, 用户是公司赖以生存的基础,是利润的核心来源。可以毫不夸张地说,如果不能很好的留住新用户,让总用户健康的增长,整个公司将无法运转下去。因为互联网经济是建立在规模用户基础上的,只有用户足够多,你的产品才会有变现的价值(不管是会员、广告、游戏、增值服务,你的总营收基本线性依赖于用户数, 拿会员来举例说明,会员总收益=日活跃用户数付费率客单价)。同时,只有你的产品有很好的用户增长曲线, 投资人才会相信未来用户大规模增长的可能, 才能看得到产品未来的变现价值,才会愿意在前期投资你的产品。

面临的问题

我们一般对新用户知之甚少, 所以基本不知道用户的真实兴趣,从而很难为用户推荐他喜欢的标的物;
我们对新用户知之甚少的主要原因有:

(1) 很多APP也不强求用户注册时填写包含个人身份属性及兴趣偏好的信息,其实也不应该让新用户填写太多的信息,否则用户就嫌麻烦不用你的产品了。由于没有这些信息,我们没法得到用户的画像。

(2) 新用户由于是新注册的,在产品上的访问行为没有或者很少,不足以用复杂的算法来训练推荐模型;

对于新的标的物,我们也不知道什么用户会喜欢它,只能根据用户历史行为了解用户的真实喜好,如果新的标的物与库中存在的标的物可以建立相似性联系的话, 我们可以基于这个相似性将标的物推荐给喜欢与它相似标的物的用户。但是,很多时候标的物的信息不完善、包含的信息不好处理、数据杂乱,或者是新标的物产生的速度太快(如新闻类,一般通过爬虫可以短时间爬取大量的新闻),短时间类来不及处理或者处理成本太高,或者是完全新的品类或者领域,无法很好的建立与库中已有标的物的联系,所有这些情况都会增加将标的物分发给喜欢该标的物的用户的难度。

对于新开发的产品,由于是从零开始发展用户,冷启动问题就更加凸显,这时每个用户都是冷启动用户,面临的挑战更大。

一般的冷启动策略

提供非个性化的推荐(用户冷启动)
利用用户注册时提供的信息(用户冷启动、系统冷启动)
基于内容做推荐(用户冷启动、系统冷启动)
利用标的物的metadata信息做推荐(标的物冷启动)
采用快速试探策略(用户冷启动、标的物冷启动)
采用兴趣迁移策略(用户冷启动、系统冷启动)
采用基于关系传递的策略(标的物冷启动)

具体的冷启动策略

用户冷启动

非个性化推荐(与具体用户无关)

推送整体热门
用户画像
推送不同时间段热门
推送各类排行榜

构建用户画像

推荐系统学习笔记-冷启动_第1张图片
尽可能收集用户信息
新用户信息收集启动项
1人的兴趣描述启动项: 音乐风格等
2人口统计学信息:年龄,性别,学历

站外数据
1微信
2合作方的数据
3算法对缺失或深层隐藏信息做预估

利用已有用户信息进行粗粒度推荐

• 利用专家经验和基础属性信息做更细粒度排行榜,热度榜
基于性别、设备信息、网络信息、位置等用户和上下文信息相关的榜单
• 利用算法和基础属性的做更细粒度榜单
训练决策树模型构建叶子结点对应的冷启动榜单
• 利用外部数据寻找相似用户做推荐
微信好友,拼多多好友等
• 少样本学习算法

物品冷启动

概览

针对新上线的标的物,基于上述7大冷启动解决思路,可行的解决标的物冷启动的方案与策略有:

利用标的物的metadata信息做推荐
(1)利用标的物跟用户行为的相似性

可以通过提取新入库的标的物的特征(如标签、采用TF-IDF算法提取的文本特征、基于深度学习提取的图像特征等),通过计算标的物特征跟用户行为特征(用户行为特征通过他看过的标的物特征的叠加,如加权平均等)的相似性,从而将标的物推荐给与它最相似的用户。

(2) 利用标的物跟标的物的相似性

可以基于标的物的属性信息来做推荐,一般新上线的标的物或多或少都是有一些属性的,根据这些属性找到与该标的物最相似(利用余弦相似度等相似算法)的标的物,这些相似的标的物被哪些用户“消费”过,可以将该标的物推荐给这些消费过的用户。

采用快速试探策略
另外一种思路是借用强化学习中的exploration-exploitation思想,将新标的物曝光给随机一批用户,观察用户对标的物的反馈,找到对该标的物有正向反馈(观看,购买,收藏,分享等)的用户, 后续将该标的物推荐给有正向反馈的用户或者与该用户相似的用户。

该方法特别适合像淘宝这种提供平台的电商公司以及像今日头条、快手、阅文等UGC平台公司,他们需要维护第三方生态的繁荣,所以需要将第三方新生产的标的物尽可能的推荐出去,让第三方有利可图。同时通过该方式也可以快速知道哪些新的标的物是大受用户欢迎的,找到这些标的物,也可以提升自己平台的营收。

采用基于关系传递的策略
当产品在拓展标的物品类的过程中,比如视频类应用,前期只做长视频,后来拓展到短视频,那么对某些没有短视频观看行为的用户,怎么给他做短视频推荐呢?可行的方式是借用数学中关系的传递性思路,利用长视频观看历史,计算出用户的相似度。对新入库的短视频,可以先计算与该短视频相似的长视频,我们可以将该短视频推荐给喜欢与它相似的长视频的用户。

该相似关系的传递性可描述为:短视频与长视频有相似关系,长视频与喜欢它的用户有相似关系,最终得到短视频与用户有相似关系。

基于规则
固定展示位上新物品随机推荐
利用物品内容信息进行不同粒度匹配(图书分类)
物品冷启动不敏感的算法
协同过滤User-CF
look-alike相似人群扩展
利用物品信息获取相似物品进行模型的推荐
探索与利用策略

探索与利用

Exploration 与 Exploitation
Exploration :
寻找用户可能喜欢的新物品,或者说可能对这个新物品感
兴趣的用户,探索用户可能感兴趣的信息
Exploitation:
充分利用已有信息,推荐最大价值或最感兴趣物品
选餐厅:
Exploration :尝试新餐厅。
Exploitation:去最喜欢的餐厅。
在线广告:
Exploration :展示些不同的广告。
Exploitation:展示最好的广告。

对应算法

• − 简单贪心
• ℎ 汤普森采样
• 置信上界
• − 线性置信上界

系统冷启动

发挥专家作用
没有用户的行为数据,也没有充足的物品内容信息来计算准确的物品相似度
专家(或算法)进行标注以便根据多维度特征表示向量计算物品相似度

推荐系统学习笔记-冷启动_第2张图片
或者使用相似业务的迁移

你可能感兴趣的:(推荐系统学习笔记,kaggle,神经网络,学习,算法,人工智能,推荐算法,深度学习)