admin管理员组文章数量:1579928
前言
据公开资料记载:今年3月份抖音日活用户数量约为6.1亿至6.2亿。而微视日活3亿,要知道微信的日活跃用户达到10.9亿;有7.8亿人每天翻看着朋友圈,其中的1.2亿人还会在朋友圈里发点什么;3.6亿人每天浏览公众号来获取对外界的认知。【信息来源青铜视角】
微视嵌套在微信朋友圈下面,本身拥有庞大的用户体系,而2016年9月份才发行的抖音,19年便拥有将近11亿用户,21年便拥有6点多亿,一直是泛娱乐不可超越的楷模。【信息来源公开资料整理】
抖音或者说字节跳动拥有今天的成绩,“智能推荐”便是它主力军,带领它横空出世;反过来,也是字节跳动,把“智能推荐”的技术打造到今天炉火纯青的地步。
“智能推荐”的理解
智能推荐,其本质为过滤系统,针对不同用户的不同诉求,层层过滤掉物料库里面的产品,把最合适的推荐到用户面前。这便是互联网下半场做“减法”的思维,个性化服务,“你需要的”才被呈现,减去用户搜索时间。
那智能推荐系统的人货场如何连接的呢?
人:如何精准获取用户需求;
货:如何细致而全面描述产品(有形的物品、无形的服务与信息、组织等)
场:如何给用户推荐合适的产品
为什么需要做推荐系统
1、用户个性化需求:
“萝卜青菜,给与所爱”,不同的用户诉求不同,需要提供不同产品来满足,这是智能推荐系统最为“智能”的地方。
2、解决信息过载、挖掘长尾物品/信息:
如搜索引擎收录网页亿万级别,而每一屏只展示10条。
今日头条2020年全年收录的信息有6.5亿万条,如果推荐系统设置不合理,那么存在很多信息将被淹没,作者的积极性将被打击,不利于产品的更新与扩充。
这是一个双向的问题,既要考虑到用户消费、也要考虑到作者创造,此外还需要考虑技术与算法等问题。
“智能推荐”使用场景
目前智能系统比较广泛运用于以下场景:
1、招聘软件:
如Boss直聘,根据用户填写的简历和应聘信息,过滤展示适合用户的岗位。
2、休闲娱乐
抖音、微视、小红书等根据用户喜欢的内容频道与分类、热点新闻等,智能呈现给用户。
3、电商平台
京东、淘宝、拼多多等都在根据用户的喜欢产品类型、价格敏感度等智能给用户推荐产品
4、资讯网
如今日头条,“你喜欢的才是头条”。
5、生活服务
“美团”、“饿了么”、“高德地图”等,智能推荐用户附近、适合价格和喜欢的产品。
6、社交网
如探探、珍爱网等,智能给用户推荐合适的异性朋友。
“智能推荐”的运行逻辑
如何“智能”地“推荐”,涉及到4个很重要的环节,那便是“召回”、“粗排”与“精排”、”前端展示“。
1、召回
召回是从物料库中获取其中一部分,这一部分会在后面被模型用来打分排序。为啥不能直接从物料库里面获取物料直接打分排序呢,因为物料库很大,往往有数亿级的item,如果让模型对这数亿级的item打分,模型会吃不消,而召回是从这数亿级的item中跳出百万或十万级别的候选item。
如何召回
召回阶段使用用户画像,这时便需要各app、Web等平台收集用户的注册信息(注意避开敏感信息)。收集完信息后,在后台系统配对用户感兴趣的信息,用户下次登录时再展示(这里会涉及到冷启动的问题,也就是用户首次登录的信息配对,也是一个很大的话题,放在后面讲,该环节针对非首次登录用户的召回问题)。此时召回的信息还没用到模型,为离线数据,还称不上“智能”
多重召回
为了呈现信息的多样性,不能只按照一种规则去召回,而需要多路召回信息,多路召回需要考虑以下几点:
用户层面考虑:
针对用户注册信息,需要给用户展示热点队列、兴趣对列等相关信息,而不仅仅是用户在注册时填写可能感兴趣的那些信息(有时候用户也会骗人的)。此外,还需要考虑到信息的频道(展现方式),分发的时候不仅仅只有短视频、还有图文、小说等。
系统层面考虑:
增强系统的鲁棒性:部分信息失效后,其余召回队列兜底不会使整个召回层失效、从而导致系统出错。
系统多样内容分发:
简单理解各频道内容:视频、短视频、图文、小说、新闻等按一定比例分发;此外精准、试探和时效的内容也要按一定比例分发(精准内容是确定用户喜欢的,而试探性内容是为了增加惊喜度、试探用户更多隐性需求,时效是指当前的热点新闻等信息)
信息可解释性:
针对用户画像推荐信息,让用户明白信息来源,增强用户地认可。
2、粗排
粗排是对召回的信息重新筛选与排序,这时候筛选的信息量下降至2万。这时候可以利用协同过滤、RFM等模型进行粗布排序。
通俗一点讲,如果说召回是往海里撒网鱼,这时候不能一下子并发给用户,需要一条一条给,所以需要做一个简单排序,这时候系统还不是很确定用户的喜好,按大众口味,都喜欢吃肥大的鱼,而捞回来的这批鱼中,鲑鱼比较多,那么就先给一条肥大的鲑鱼吧。这便是粗排,粗排是使用模型给号回的信息打分和排序,这时候的排序是比较粗糙的。
3、精排
精排再次对内容进行筛选和排序,这时候的内容量需控制在2千左右,需综合考虑到用户查看到的信息的多样性、及时性和平台的运营规则等。
通俗一点讲,给了用户一条肥大的鲑鱼后,用户竟然不喜欢(没有浏览完,直接划走),为啥不喜欢呢?这条鱼是肥大的、整条鱼、活的、鲑鱼等待,把当前信息的特征抽取出来,用户不喜欢的是反向信息,喜欢的便是正向信息。如果说粗排是在进一步试探用户的喜好,那么精排就是便是根据用户的实时操作信息及时分析和排序粗排列表信息,“智能"的推荐给用户。
粗排和精排地数据都是实时的,但精排的颗粒度更小更实时些。能做到秒级的更新,如你点击了购物平台的某个商品后,返回信息列表页,此时你看到的信息列表已经被更新啦。
4、前端页面
经过前面三个步骤的筛选与排序后,便需要在前端页面呈现给用户了,这时候有2千多条信息等着被呈现,需要考虑到用户体验,点赞收藏是否方便、支持转发吗?如何与博主互动等。
这是一个循环的运行逻辑,用户每次与系统互动后,都会更新精排和粗排队列,而用户每次登录时系统都会根据用户上一次的喜好重新召回与粗排。
项目流程
智能推荐首先需要把用户操作信息与物料信息写进系统日志,经过数据清洗与特征工程、进而使用模型与算法(召回、粗排、精排)推荐引擎,最后AB测试,进而推荐给用户......这是一个不断循环的过程,归纳起来有:1、数据收集与清洗、特征工程、模型与算法、分析与运用
1、数据获取及清洗
1.1、数据获取
不仅仅是用户单方面的信息,还需获取产品的信息。数据的渠道有系统录入、爬虫、第三方等。
1.2、数据清洗
数据清洗就是把不符合业务逻辑或运算规则的脏数据规范化处理。“脏数据”对算法模型的直接影响是不能被使用,间接影响是降低模型的精度。这种情况下需要对数据进行清理,包括但不限于:不合格数据修正、缺失值填充、噪声值处理、离群点处理。
2、特征工程
是这个项目的最为繁琐与重要环节,约占项目时长的70%.
2.1、用户特征
用户需求来源于用户身上,需要了解用户需求,那便看你对用户有多了解。这需要给用户贴很多标签,形成一个虚拟的用户——用户画像。标签包括用户的静态属性与动态属性,标签一般都是从上而如下来收集与使用的,通俗一点讲就是多多益善。等到你要用的时候才设置,那时候已经来不及。
2.1.1、静态特征(属性)
如用户性别、年龄、住址、婚姻状态等一些相对固定的信息,需要根据业务信息设置与收集,一般一些敏感性信息用户不愿意透露,为了体现平台不侵占用户隐私权,一般在用户注册时也不展示这些信息的输入框(但B站就很疯狂,记得当时要注册B站的时候,快把自己逼疯了),以下经供参考:
一级属性 | 二级属性 | 属性码值 | 取数规则 | 备注 |
基本属性 | 年龄 | 20以下、20~25、25~30、30~40、40以上 | 行为推测 | 根据已有的用户群体以及业务需求设定不同的年龄段 |
性别 | 男、女 | 行为推测 | ||
地理位置 | 各省、市 | IP地址获取 | 一般按照省份、市来获取,或综合成一线城市、二线城市等 | |
星座 | 十二星座 | 用户填写,或行为推测 | 不同星座的性格分析、推荐不同产品 | |
学历 | 小学、中学、大学、研究生、博士 | 行为推测,拟合 | ||
工作属性 | 职业 | 学生、白领、蓝领、教师、护士、医生等 | 行为推测,拟合 | |
收入 | 3000以下、3000~5000,5000~8000... | 行为推测、拟合 | ||
注册信息 | 是否注册 | 是、否 | 后端埋点 | |
注册日期 | 小于1天、小于3天、小于7天、小于30天... | 后端埋点 |
2.1.2、动态特征(属性)
动态属性简单可理解为用户的操作信息。如用户登录时长、登录频率、点赞、评论、收藏、转发等,这些信在个性化推荐的时候起到很大的作用。以下经供参考:
一级属性 | 二级属性 | 属性码值 | 取数规则 | 备注 |
浏览行为 | 浏览数量 | 1~10、10~30、30~100、100以上... | 前端埋点 | 根据整体用户的每次浏览的总量划分 |
浏览时长 | 小于5min、5~10min、10~30min、30min以上 | 后端埋点 | ||
搜索行为 | 搜索频次 | 1~3次/每天... | 后端埋点 | |
搜索时长 | 1~3min/每天 | 后端埋点 | ||
互动行为 | 评论 | 后端埋点 | 互动的内容推荐依据的重要一部分 | |
点赞 | 后端埋点 | |||
收藏 | 后端埋点 | |||
转发 | 后端埋点 | |||
消费行为 | 消费频次 | 1~3次/1月、4~6次一月、6~9次一月、10以上/1月... | 后端埋点 | |
是否使用优惠券 | 是、否 | 后端埋点 | ||
购买金额 | 1000以下、1000~3000,3000~5000,5000以上 | 后端埋点 | 监测用户对价格的敏感度,数据杀熟就是这么来的 | |
购买周期 | 1周之内、1~4周、4~12周,12周以上 | 后端埋点 | 监测用户的粘性,长时间不来的用户,基本是流失了 | |
商品偏好(购买品类) | 母婴、电子、游戏、家居、服装... | 后端埋点 |
2.2、物品特征(如何细致而全面描述物品信息)
推荐系统需要足够多的产品,来满足不同用户的需求。这里的多不仅仅是数量的多,同样要求有丰富的频道与分类。
2.2.1、产品频道
产品频道,产品的一种划分方式,可以是涵盖最新发生的事情,或是产品的表达方式、抑或是指属于某一地区所发生的事等待,是指一种大范围的分类吧。
如今日头条的产品频道有:关注、推荐、热榜、视频、免费小说等。
2.2.2、产品分类
产品分类是频道下面的二级分类。生活娱乐频道里面有:综艺、养生、旅游、家居和收藏。
产品的频道与分类没有明显的界定,比如说“教育”属于“科教文育”频道下的一个分类。但用户对教育的诉求量较多时,“教育”也可提到“频道”层级,然后该频道里面可以设置K12、成人教育等。
2.2.3、更多标签
除了这些分类整理的大标签外,还需要给单个产品添加更多自身的标签,用于协同过滤或搜索时匹配展示。这些标签不仅仅是指物品本身特征、还有一些附属特征,如是否包邮、是否7填无理由退换等。
的划分需要结合用户与业务、产品。物料库里面产品需要尽可能数量多、品种多、质量好,确保能满足用户不同的诉求,提供用户满意的体验。
2.3、标签管理产品化
此外,这些整理好的特征还可以整理成企业内部的标签体系(数据分析平台),方便决策者岁随时查看不同维度的用户与产品信息(最好是能可视化),了解当前业务现状、进而分析原因并为决策提供支撑,这一点与智能推荐关系不大,但特征工程都投入这么大的时间与精力,不好好利用实在有点可惜。其实现在很多公司业务都处于数据分析阶段,还没进入智能推荐。
3、算法与模型
3.1、基于属性相似度
基于属性相似度是基础推荐算法,16、17年比较盛行,当前的算法中很少使用。但其基本逻辑还是值得大家学习下。又分基于“用户属性相似度”与“基于物品属性相似度”两种。
3.1.1、基于用户属性相似度
如A用户与B用户在某种分类上吻合(相似),那么他们喜欢的东西可以互相推荐,如B是高三男性用户,喜欢篮球,而A也是高三男性用户,B喜欢的篮球可以推荐给A。
3.1.2、基于物品属性相似度
如A物品与B物品的关联性很大,而某一用户喜欢物品A,那么可以给他推荐物品B,典型的案例就是啤酒与尿布。
3.2、基于协同过滤推荐
”基于属性形似度“的过滤只是简单的喜欢与不喜欢,而”协同过滤“是喜欢的程度,进而产生相对的排序,它是一种群体过滤效应的反应。同样又“基于用户的协同过滤”与“基于物品的协同过滤”
3.2.1、基于用户的协同过滤
如用户A与用户B、C的相似度为多少,而用户B有多喜欢物品D、用户C有多喜欢物品E,进而推算出用户A喜欢物品D和物品E的程度为多少。在消息队列中,喜欢多一点的排在前面,喜欢少一点的排在后面。如下面例子:
用户A | 用户B | 用户C | |
属性1 | 大学生 | 大学生 | 白领 |
属性2 | 女性 | 男性 | 女性 |
用户属性相似度 | 80 | 70% | |
喜欢的物品 | 笔记本电脑 | 韩剧 | |
喜欢程度 | 70% | 90% | |
喜欢程度 | 56% | 63% |
那么用户A的推荐列表中,韩剧信息要排在笔记本电脑前面。当然实际运用中会复杂很多,这里只是展示基本逻辑。
3.2.2、基于物品的协同过滤
基本逻辑同“基于用户的协同过滤”,只是第一层同用户的相似程度替换成喜欢物品的程度。
3.3、基于模型的推荐
上面两种推荐算法在16年、17年使用比较多,现在基本都使用“基于模型的推荐”算法。
如果说上面的“基于属性相似度的推荐”和“基于协同过滤的推荐”都是一种传递的效应,那么“基于模型的推荐”则是用户直接与物品的吻合程度匹配,没有中间人与物的参与。主要是利用机器学习的方法挖掘用户、物品、用户历史行为偏好之间的关系,从而找到用户可能感兴趣的物品进行推荐。基于隐语义的模型推荐(LFM)。
3.4、规则设置
有了算法与数据之后,就可以开始选择和训练模型,模型的训练需设置规则,如产品的类型及其占比、去重原则、信息过滤等(有些规则需在后台设置呈现出来,方便运营人员调试,这样可解释也好,但有些就直接给模型设置,具体看企业与业务需求)。
信息过滤
主要是剔除媒资库中不符合业务要求的媒资,包括但不限于以下内容:
1、加入黑名单的媒资内容
2、媒资版权过期
3、话题敏感内容
4、排重过滤
4、部署与评估
模型训练好之后,接下来需要部署与评估,评估需要用到A/B(N) 测试。
A/B(N) 测试是在同一时间维度,测试并分析两组或以上成分相同的用户上线的考核指标(如用户停留时长等),如果新算法模型或策略运行的效果相对之前的好,那么就可以做到全流量使用,否则需要继续优化算法模型或策略。
A/B(N) 测试需要控制变量,唯一的变量便是算法模型或策略。用户分组最好能做到测试组和对照组同样比例。
4.1、算法模型评估指标
在控制变量的前提下,如何去评估一个算法的优劣情况呢,这需要根据具体业务及运营规则设定对应的评判指标及其权重,一般需要挑选出北极星指标。当前智能推荐比较常用的评判指标及权重如下,仅为参考:
准确率
在用户喜欢的产品列表中,系统推荐的信息占比。用户“喜欢”根据不同的业务和运营规则设定,如探探,用户”右滑“则表示喜欢。
召回率
表示真正的正样本中,被推荐的占比。比如在视频AI广告中,我们用肉眼能辨别出有100处可设置广告,但机器只能识别出60个,那么它的召回率为60%。
多样性
表示推荐的物品中,两两之间的差异度。
覆盖率
推荐出来物品的占物料库物品的比例。
新颖性
指向用户推荐非热门、非流行物品的
惊喜度
推荐结果和用户历史感兴趣不一致,但却让用户满意。
信任度
如抖音的商家可以让用户放下下单购买其产品。
实时性
推荐信息:实时根据用户操作反馈跟新用户列表。
推荐物品:将新加入平台的产品推荐给用户。
健壮性
如都应设定了一系列的奖励原则,被很多商家研究利用,最后发出来的作品仅仅是为了满足那些规则,而不管产品质量。这就是典型的作弊与反作弊。
其他问题
冷启动
冷启动涉及3方面,一是用户冷启动、二是产品冷启动、三是系统冷启动。
1、用户冷启动
一个新用户初次登录平台,因为没有其历史数据建模,从而无法推导该用户诉求,难以解决该用户的个性化问题。
2、产品冷启动
一件新产品加入系统时,由于没有历史数据,此时使用协同过滤或基于模型的推荐,这时该物品的权重为0 ,无法出现在推荐列表中。
3、系统冷启动
一个新系统,没有用户、更没有用户历史行为,只有产品,如何给用户推荐产品。
冷启动解决方法
1、基于热门数据推荐
2、利用用户注册信息推荐
3、利用第三方数据推荐:当前很多App 都支持第三方登录,或是注册登录时请求获取通讯录信息
4、利用物品的内容属性推荐(类似于基于物品的相似性推荐)
5、利用用户于系统之间的交互
6、利用专家标注数据
.....
信息偷听
有些App会利用相关软件来“偷听用户”信息,比如打开外卖APP时,用户也刚好在对话,当谈及某些食物时,再次刷新App,这时的消息队列中将出现刚刚对话谈及的相关食物。
如果不经过用户允许,这是犯法的行为。如果仅仅是为了更“智能”推荐,用户并不会很反感“偷听”,但却很反感你偷听了,推荐信息还不准确,更有甚者,会把偷听的数据拿为他用。
信息茧房
不知道大家有没发现,你的抖音或微视的消息队列中,永远都是你感兴趣的话题,当你认同某个观点或事情后,你接下来刷到的内容全部都是赞同这个观点或事情......渐渐地,你被“关进”属于你的信息茧房,甚至作茧自缚,活在自己的世界里。
这是一个很值得反思的问题,产品经理应当很明确“何以为、何以不为",产品的设计不应当以“取悦”用户、或单纯的盈利为标准,而需要考虑用户是否能获取更多知识、帮助。“我认为,如果我们站在客户的立场上,想方法促成他们成功,我们就一定会赚到钱”【信息来源《云攻略》-Salesforce创始人马克.贝尼奥夫】。
当真正为用户考虑时,模型的监控指标就不再是“浏览时长”、“准确率”等这些偏于娱乐方面,而需要综合考虑用户当前需要提升进步的地方、以及信息本身的提供的价值等。
版权声明:本文标题:浅谈智能推荐 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1727862292a1134141.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论