本文转载自微信公众号「数师兄」,作者数师兄。转载本文请联系数师兄公众号。
这几年随着大数据,人工智能,机器学习,数据挖掘等等概念的兴起,每一个数分析师都或多或少接触过推荐算法相关的分析,做算法分析的前提是要明白目前“推荐算法” 的基本构成,掌握这些常规的业务知识,即使不懂具体的算法实现过程,也能对算法进行有效的分析。目前的推荐算法主要分为几个核心步骤:召回,过滤,(粗排),精排。这都是什么意思呢?明白了皇帝是如何选妃的就明白了上述过程,废话不多说,咱们来看他俩有啥区别。
召回=海选
召回从目前的资源池中将满足条件的资源圈出来。就好比皇帝昭告天下开始选妃之后,各个省就开始从民间搜集年龄13-16岁之间的良家少女,由于是全国的普选,又受到评委眼光或者是指标的影响,所以这时候选拔的人可能是各种颜色的皮肤,各种颜色的头发,嘴里说的念的都是“选我选我”的中国话~
除了普选还有一些特殊通道,比如,宰相家的外甥女,邻国选送的公主,或者皇帝本人看上了大名湖畔夏老汉家的二闺女。那么这些特殊通道可以理解为多路召回。总之呢,在海选这一步,只要跟美稍微搭点边就先眉毛胡子一把搂过来再说。
这个原理跟我们平时看新闻时一样,召回的方式可以说是多方面的,如向量召回,协同过滤,其他多路召回等等。包含内容丰富,比如关注的博主发布的内容,热度飙升的内容,热点以及热点周边,从内容上来说又有娱乐,影视,政治等等。总之不管最后呈现给用户什么内容,要在在保证“全”的基础上,再去做“准”,召回这一步更关注“全”的问题。
过滤=复选
海选选中的美女就进入了复选阶段,这么一大群人不可能全都应聘成功,而且人还是太多了。所以在进宫之前,负责选拔的太监要再淘汰掉一波人,比如太高的,太矮的,太胖的,太瘦的,学历不够的,性格不好,投机倒把的等等,这一操作在过滤掉质量较差选手的同时,也减轻下一环节工作人员的工作压力
还是以新闻推荐为例,召回的内容中挂着热点标题搞反动的,点赞率贼差的,过时的内容先干掉一波,滤掉了相当一部分召回中质量较差的内容,留下的内容更加精华。
粗排=三面
进宫面圣之前这一步其实并不是必须的,主要看宫内太监们的处理能力,如果经过复选之后剩下3000人,而宫内太监们的处理能力是5000人那就不用三面了,直接怼进来再说。但是如果处理能力只有1000人,这时候就要在进宫之前过滤掉一波人,减少宫内负责选拔的太监们的工作压力,这时候根据佳丽们的家庭背景以及性格品德,仪容仪表,才艺见识等综合打分,再过滤掉一波质量相对较差的,精益求精。
就推荐算法来说,这里处理能力一般指的是服务器的负载能力,数据量较少的小型app可能在召回阶段资源量就不足,过滤之后资源又折损,最终需要展示给用户的数据量已经不多,此时可以把精排和粗排一起来搞,但是对于大型app,过滤之后数据量依然较多,此时就需要用粗排继续过滤一波数据来降低服务器的载荷。类比于太监给佳丽们打分一样,粗排也是根据用户的特征进行打分,目前打分的各种各样的算法,其实相当于选妃过程中评委们凑一块商量出来的几种不同的评分规则。
精排=排班上岗
经过三面之后,剩下的人终于可以进宫了,哪些人能够最终出现在皇帝的侍寝名单中,还需要再次评估,如果说之前的淘汰是一些普适性的特征,那么到精排这一步除了之前的静态特征之外还会加入一些动态特征以及皇帝本身的偏好。
比如周期性考核观察佳丽们的行为表现(仪容仪表,行为举止,打不打呼噜,说不说梦话,有没有狐臭,甚至还有“探其乳,嗅其腋,扪其肌理,察其贞洁” 的说法);统计皇帝近年来的行为偏好(圆脸还是锥子脸,大家闺秀还是小家碧玉,文艺青年还是逗比青年)。再对这些特征进行综合打分,最终选出这么五十个人展示在皇帝的侍寝列表中。
这就相当于新闻列表中除了之前所说的特征,还要结合内容的点赞,评论率,举报次数,举报率以及当前用户的偏好(是更喜欢时政,科技还是娱乐)进行一个综合的评分,将最适合当前用户的内容排序曝光出来
以上就是我们浏览app时底层的推荐算法展示给我们内容的过程,看完之后是不是感受到了帝王般的待遇。在了解了上述步骤的基础上,即使不懂算法的具体搭建实现过程也可以从上述的四个过程入手get到一些分析思路。比如用户点击率低,是召回过多但过滤特征不足导致质量较差的内容进入精排导致的,还是精排过程用户特征过少所致
题外话
由于新用户是没有行为的,所以就不能判断用户的偏好,对于推荐引擎来说相当于冷启动,这时推荐的内容相对比较杂乱,慢慢的随着用户的行为积累,算法学习出用户的偏好,推荐的内容就越来越集中于某一些领域。
就如同抖音一样,刚注册的时候可能大家的曝光大差不离,刷一年之后可能差异就比较明显。这样做的优点在于取悦用户,推荐的内容越来越准确,用户留存越来越高。而缺点在于限制了用户的视野,把每个用户关在了他自得其乐的盒子里,你觉得这样好么?