作者:HCY崇远
来源:数据虫巢(ID:blogchong)
编辑:Juvae
01 缘起
昨天的《小乌龟》不算,突然发现公众号断断续续停更了也蛮长时间了,估计有大半个月了,一方面是懒,另一方面是前段四件着实累的跟Dog一样,现在刚缓和了一点点。
虽然没有更新,但是订阅的朋友依然陆陆续续的过来,甚是惭愧,这里就立一个flag吧,到年底前至少要更新30篇吧。
前段时间给朋友整理一个关于推荐系统相关的知识教学体系,刚好自身业务中,预计明年初随着业务规模增长,估摸着又要启动推荐相关的项目了,所以也是趁机把相关的知识结构梳理了一遍。
这边寻思着,或许可以把这些知识结构重新梳理一遍,以其他普通人更容易理解的方式分享出来,或许能让更多的人看到,也是一个好事吧。
既然是重出“江湖”,先定他一个小目标,就先写个《推荐系列》,尽量能让不懂技术的朋友能看得懂看得爽(白话逻辑、原理、业务场景),也希望能让搞技术的朋友看到的懂(给案例给代码),这是第一篇。
02 先聊人工智能
说推荐系统之前先掰掰人工智能,这个词估计大家能能听得懂,毕竟是风口上的名词,想没听过也难。那么问题来了,你觉得推荐系统与人工智能有什么关系?
或许大半的人会认为没有半毛钱的关系,这让我想到了前几天周末在知乎上怼的一个问题,问题的核心就是:“现在大数据都很low了,大家都是去搞人智能了”。
这典型就是对于人工智能定义认知的问题,个人认为人工智能就是一个偏业务的定义,多维度多学科交叉的概念,压根儿就不好以技术维度去对比去评判。其核心的三要素就是:算法、计算能力以及数据。
围绕大量的基础数据,对基础数据进行特征处理,然后构建有用的业务算法模型,然后基于分布式的基础架构计算能力,将算法模型的用于实际的生产环境,以机器替代人工的作业,以提升效果与效率,达到机器智能化的目标。
那再回到推荐系统的话题,在过去传统的门户网站或者其他领域,也是有推荐场景的,不过大部分都是基于编辑或者运营手动进行配置推送,随着对数据、对算法模型的进一步应用,才逐渐有算法机器替代人工进行推荐,并且达到诸如“千人千面”、“个性化”推荐的效果。
所以,追究其本质,其实也是算法模型+计算过程+基础数据的流程,并且最终达到了机器自动化、智能化的效果,从广义的角度来说,或许复杂一些的推荐系统或许也能纳入人工智能的范畴了(真心怕那种一说到人工智能=神经网络的选手)。
03 推荐与检索的两种模式
说到推荐系统,就不得不说一下搜索引擎。不管是搜索也好、推荐也好,他们都是信息获取的一种机制,核心区别在于主动与被动。
搜索引擎是典型的主动触发的形态,即用户已经有明确的信息获取意图,渴望得到自身既定的目标信息,让后通过搜索规则进行最终信息的获取。
比如,你好奇什么是人工智能,那么你就会用诸如谷歌、或者国产大百度去搜索,然后获取到相关网页,去点击查看,最终完成你了解人工智能这个信息获取的目的。这就是检索的机制,你先要告诉系统你的意图,然后在给你筛选你要的信息。
而推荐系统则大大的不同,它是一种系统主动的行为,对于用户来说是一个被动的行为,被动的接受系统推送过来的信息。那这样强扭是不是很尴尬呢?怎么有这么SHA叉的机制?
其实不是的,尴尬的是推的不对,东西推对了就尴尬了,比如你正在浏览一个信息,正在愁这个信息还没解决你的问题的时候,系统啪丢给你几个新增的信息,说这个几个信息可能能解决的问题,你一看我凑,这正是我要的,感谢万能的推荐系统!
所以,推荐核心解决的还是用户额外信息获取的问题,以及提升用户的进一步转化,停留时间的延长(只要停留时间延长,商业转化机会就会加大,也是粘性提升的体现),而问题的核心就是要推的准,推的恰到好处,不然就是反作用。
因为推荐要解决的就是海量信息冗余,用户在目的不算很明确的情况,进一步帮助其确定目标,主动筛选信息的过程,推的不好那对于用户来说就更冗余了。
关于信息的获取,其实还有一种常见的形态,那就是结构化导航,比如电商平台的分门别类罗列,门户网站的结构化频道信息。它是通过把信息进行结构化了,构建脉络结构,帮助你去获取你要的信息。不过,这个就不在我们的讨论范围内了。
04 推荐系统场景
说了这么多篇逻辑理论的东西,或许很多朋友依然对推荐系统没有一个很场景化的认知,比如具体什么场景?具体什么形态?
这是我在腾讯视频上截的图,这就是典型的视频推荐场景,我不是鹅厂腾讯视频业务的算法工程师,所以我无法回答你他们的推荐机制,但我可以告诉你,当时我的观看主体是“地球脉动”,结合推荐列表,大伙儿可以揣摩一下他的推荐机制。当前观看的属性相关?导演关联性?我的观看记录偏好?从我个人的评估来看,这些因素应该都有。
顺带说一下的就是,一个完整的好的推荐系统,一定不会单纯的依赖于某个推荐算法,虽然这个系列的后面文章中,我会讲一些推荐机制或者算法逻辑,甚至附上简单的案例代码,但还是要提前说一下这个问题。
我们再来看几个同样是腾讯系的产品推荐场景:
QQ音乐平台的推荐,分析来看应该跟我当前主页音乐的风格、以及我的历史浏览相关。
这是阅文网站的小说小说推荐,即当你浏览一本小说时,下面会给这个推荐列表,从其描述以及个人分析来看,好像与个人的行为相关性会小一些,应该是基于大盘用户的浏览轨迹做的关联分析,进而进行关联推荐。
最后是电商平台的典型案例,即你在浏览商品时,一般都有猜你喜欢模块,并且推荐系统得以大放光彩,成为应用领域里典型的应用场景,还是得益于亚马逊。当年亚马逊使用推荐算法帮助其提升了XX(具体多少忘了)的年度利润,从此一炮而红,基本上电商平台中的推荐系统就成了标配。
05 你也少缺少个推荐系统?
看了这么多例子,再结合自己身边实际的体验,确实不难发现,各色各样的产品、平台,都在打造自己的推荐产品,恨不得用户一直点下去,永不跳出。
鉴于这种情况,那些尚未为自己产品或者平台开发推荐逻辑的,是不是感觉自己少了个推荐系统,哈哈。
其实核心还是那句话,推荐本身就是个双刃剑,用的不好只会让用户徒增烦恼,这里所说的好不好,不单纯是说准不准的问题,准是前提,即推荐给用户切身所需肯定是好的,但这还不够,你还需要在他需要的时候给他推,时机不对、场景不对,即使你推的东西再准,那也是瞎比推。
所以,即使你觉得你少了个推荐系统,也是需要慎重,或许跟完这个系列会好点?
06 一些坑
正如上面说的,一些坑还是需要注意的。上面所说的推荐时机以及场景就不再重复了。
第一,好的推荐系统一般情况下很依赖于用户的行为数据,因为从用户行为中自然能一窥用户的一些偏好所在,但实际情况是,用户的行为数据并不是这么容易的,当用户行为数据不够的时候,基于用户行为的分析结论就是个伪命题,甚至会把你带向错误的方向。
第二,用户的偏好一定是会时间偏移进行转变的,所以用户行为的有效性又会是一个问题。
第三,假设这个是新用户呢?完全没有轨迹信息,怎么破。
第四,实际影响用户的选择的因素太多,我们容易陷入主观臆断的误区,综合性考虑是一个完善推荐系统的必须思考的地方。
第五,产品层面的逻辑有时候比底层算法更有效,典型如上面阅文的截图例子,“喜欢这本书的人也喜欢”,这就是一种策略,也是一种推荐解释,可解释性会提升推荐的可信度,诸如还有一些交互方式、产品形态都是对推荐转化有影响的。
07 最后
本文大部分还是想以更直观可理解的方式,表达什么是推荐系统。在该系列下一篇文章里,会解决推荐系统中的一些基本常识,一些基本的逻辑,以及上面少量的问题解决,比如进入系统的是一个新用户怎么办?
再往后面,会有更技术性的一些文章,甚至是Spark案例,所以偏好技术的童鞋也别放弃治疗,不管是业务童鞋还是技术童鞋,我都会尽量以更容易理解的方式去阐述。
Read More
投稿邮箱:mm@zaodula.com
本文由作者授权早读课发表,转载请联系作者。