当智能推荐用上大数据算法,推销员就要失业了?
笔者认识一个朋友,虽然也网购听歌打豆豆看在线电影,但是对自己的个人信息很是小心:快递都是送公司前台的,不留自家住址;注册网站和APP,如果需要提供手机号码以外的信息,就一概不用;商场里遇到扫码送橄榄油之类的,更是看都不看。可是这么一个人,某天跑来告诉我说他在某电商网站买了一罐剃须膏,奇怪的是推荐栏里赫然出现了男士单肩包,还配了一句推荐广告语“告别屌丝宅,从气质单肩包开始”,正中下怀。朋友很奇怪:明明他没留下什么信息,可是网站好像很了解他。
面对网站推荐,很多人通常有如下种种迷思
1 我没来过这个网站买过东西,它怎么能知道我喜欢什么?
2 网站推荐?只是“买了剃须膏,推荐剃须刀”这一类吧,so easy !
3 听说某宝上买棺材包邮,我好奇上去搜了一把。结果TMD每次都给我推荐棺材寿衣……
4 我买了这个东西,只是朋友让我代买,又不是我喜欢的。照这个来了解我的喜好? 是不是傻!
5 上网听音乐的时候无意中听到某种新曲风,很喜欢,连听好几首。可是网站却一直还在推荐我过去常听的歌。 这个“智能推荐”的反射弧太长。
6 在工作日,白天我是公司主管或者职场菜鸟,在晚上我可能是奶爸或者技术宅,在周末我可能是回家探望父母的孝子,不同角色里,我的购物需求千差万别,这些事情一个网站不可能知道。
7 即使推荐栏里确实有一两样是我看中的,那也是误打误撞吧~
8 ··· ···
请相信,商家才不会放过任何一个商机。以上问题,统统有解!而这个解决方案,不错,就是被玩烂的“智能推荐”!
亚马逊总裁Jeff Bezos曾说“所有的企业都需要青春永驻。如果客户群跟你一起变老,你就会重蹈那些失败企业的覆辙。”而一个企业,比如电商网站,信息健全、交易活跃且客单价超高的用户,大概只有2/8效应里那个可怜的“2”,那么如何更好地服(zuan)务(qian)剩下来的那个“8”?不断新注册的、没有任何历史信息的新用户,同时再根据长尾理论盘活冷门商品,这些就是推荐算法之于企业的核心价值。传统的商业数据挖掘,会从用户之间的相似度或物品间的相似度来综合推荐,而潜因素分析(LFM,latent factor model,是智能推荐里的核心算法)要解决的是如何从用户有限的表面行为里找到深层次的需求关系。我们就拿电商X网站为例,来扒一扒如何从一个没有什么信息的人身上找准他的需求和痛点。
你从来没在X网站买过东西?
没关系。 LFM里有一个大讨论热点就是如何给一个新用户精准推荐(冷启动问题)。解决方法也是层出不穷。比如下面这个联合登陆:
所谓推荐,只是你买过剃须膏,就给你推荐剃须刀?
啤酒和尿布的故事流(liu)传(du)甚广,可是所有人都会在买啤酒的同时买尿布吗?一万个人心中有一万个哈姆雷特,一万个人的屏幕里也要有一万个个性化首页,这才是智能推荐的终极目标。怎么做到?快使用LFM中的一大经典算法——“协同过滤”来帮忙。用户对产品的喜好程度可以写成一个矩阵(下图的R. Rij表示的是用户i对产品j的喜好度,这正是我们要求的值。)。 LFM算法将自动从产品抽取出若干分类(住宿、美食、电影、旅行,图书等),作为用户和产品之间连接的桥梁,将R矩阵分解成“用户对分类的喜好”和“各个分类下产品的权重”两个维度(矩阵P和矩阵R)。
听说某宝上买棺材包邮,我好奇上去搜了一把,结果…
@#¥%……笔者也表示某宝太灵敏,也许把用户估计成土豪style的即兴消费le ——兴致来了就下单的那种。事实上,业界通用的推荐系统的无阉割版架构分为Online-Nearline-Offline Recommendation(在线-近线-离线)三层混合机制,此处放上一张装逼图:
Offline才是智能推荐的主体,定期将存在数据仓库里的数据拿出来进行批处理运算以及模型的更新。Offline负责的通常是复杂大量的算法,比如之前介绍的LFM,还有购买力分析、关联性分析、相似阵计算等等。一般来讲,offline的更新频率最低、而推荐结果是最好的。
Nearline则是将用户产生的事件,利用流式计算得到一些中间结果,这些中间结果一方面发送给online部分用于实时更新推荐模型,另一方面将中间结果存储起来。这个有些装逼, 具体来说就是一旦出现了某人浏览了棺材这类的小小众商品,且Online推荐决定要根据这个人的最近一次点击推荐他同类产品(aka: 棺材),Nearline算法会统计一下这个用户的历史行为和最近一次浏览的所有商品,发现原来这个客户上来只是没目的性地随便逛逛,推翻Online的决定。有了这一层,看了啥就推荐啥的事也就少了。
即使偶尔我看中一两样推荐栏里的东西,那也是误打误撞吧?
人们选择某样产品,除了产品本身的属性,还需要一个理由。
比如——
1 我买这件衣服,因为它是高圆圆同款;
2 我看电影《盗墓笔记》,因为我是鹿晗死忠粉;
3 我买这款理财产品,因为它的投资期限刚好和我的需求吻合。
然而让推荐系统解释推荐理由却是一件艺术活儿。 设想一个推荐机器人对你说:”购买xxx吧,影响购买xxx的因素有1明星同款,2换季需求,3……”。 这类在数学上说得通的话,用在人机交互的场景中就显得不够自然,不够通俗,与人与人之间的推荐相去甚远,效果也差强人意。
当然也有很智能的推荐:比如笔者简单看了几款平板狄安娜,某电商网站给出的推荐理由是“大牌高品质平板热销Top榜!”; 后来笔者又浏览了几款行李箱,该网站对平板电脑的推荐理由就变成“轻巧便携数码君,不再是出差负担”。 显然最开始的推荐只是大众化推荐,然后通过笔者浏览行李箱的行为,智能推荐系统猜测笔者是要出远门,再进一步联想到笔者想要购买平板电脑来代替笨重且占空间的笔记本电脑。推荐理由也随之变化。这样的推荐与其说是机器学习,毋宁说是一个经验老道的销售员,随着对客人需求的不断了解,抓住客人的需求点进行推销。
综上,信息爆炸的时代,智能推荐是大势所趋。但仅仅一套算法(比如LFM)并不能做到对所有的人所有的场景一一满足。用户的需求是多变的,人与人之间的差别是动态的,喜好和实际行为不是完全一致的,其中暗含着某些规律,但却不可能被完全的,彻底的捕捉到。但是,好的产品经理,好的技术人员,却能根据实际的内容,数据推荐之间灵活关联,在实际运营之中根据需求灵活调整,共同组成一个最接近“智能”的推荐系统。
End.