亚马逊推荐

亚马逊推荐系统发展的20年

一、背景

亚马逊因为个性化和推荐而闻名,帮助顾客发现他们没有发现的产品,今天我们要来讨论一下我们以前发布的文章中未提及的一些变更。

最近二十年,亚马逊已经为每一个人构建了一个 个性化 的商店,每一个顾客来到亚马逊,看到的东西都是不一样的,因为产品都被基于他们的兴趣而个性化定制了。就好比你走进一个商店,然后货柜开始自动重新排序,你喜欢的被移到你的面前,你不喜欢的就被移到很远的地方。

亚马逊从几百亿的商品中选择出一小部分你可能喜欢的产品给你,基于你的购买兴趣和当前的上下文。算法并不神奇,他只是与您一起分享了其他人已经发现的东西,算法完成了所有的工作,计算机无声无息地帮助了你,而你又无形中帮助了其他人!我为人人,人人为我!三个火枪手!走一个!

亚马逊于1998年推出基于ITEM的协同过滤,为数百万客户提供了以前看不到的推荐建议,为数百万产品完成了推荐曝光的机会。自2003年我们在 IEE 互联网计算中撰写了关于该算法的文章以来,它已经在网络上广告的使用,包括:YouTube,Netflix 和许多其他网站。该算法的成功源于其简单,可扩展性,并且常常让人惊喜和有用的推荐,以及理想的效果,比如根据有关客户的新Action 的即时更新,以及能够以易于理解的方案解释:为什么我要给你推荐这个内容。 2003年IEEE互联网计算文章中描述的内容面临许多挑战,并且多年来取得了很多发展。 在这里,我们描述了基于项目的协同过滤的一些更新,改进和调整,并提供了我们对协作过滤,推荐系统和个性化未来的看法。

二、算法

正如我们在2003年所描述的那样,基于产品的协同过滤算法很简单,在20世纪90年代中期,协同过滤通常是基于用户的,这意味着算法的第一步是搜索到有相同兴趣的其他人,然后查看这些类似的用户购买的产品中,有哪些你还没有买的产品,然后把这些产品推荐给你。

而现在我们的算法直接开始在产品目录中查找相关的产品。这个相关在这里有好几个意思,但在这里,我们简单的定义为:购买一件商品同时也在购买另一件商品的人。因此,对于每一个购买物品1的人,我们希望可以找到一个物品2,而物品2通常情况下会和物品1一起购买。

这个源自一个历史数据发现:就是典型的啤酒和尿布湿的故事。
超市在统计用户的购买小票时,发现,为什么啤酒和尿不湿这两个不相关的产品会在一起购买?难题是因为喝了啤酒后,晚上男人会尿床?很明显不是。后来发现,原来家庭妇女通常会在家照看小孩子,而让爸爸去超市买尿不湿。但爸爸去超市的时候,除了完成老婆分配的任务以外,当然还会买自己喜欢的啤酒。所以后来,超市人员就把尿不湿边上放上了啤酒,此举妥妥的提升的用户的客单价和转化率。

一旦相关产品的表被构建起来,我们通过一系列的查询后就可以很快的生成推荐结果。因为每一个产品,都是基于用户当前的上下文和之前的兴趣爱好来推荐的,我们找出用户最喜欢的产品,然后过滤掉已经查看过或购买过的产品,就是我们要推荐的产品了。

新算法比以前基于用户的协同过滤算法有很多好处,最主要的是因为我们大多数的计算,都是离线计算完成的 — 批量计算相关产品,并且相关产品的计算可以在一系列简单的召回中快速实时的完成。这个算法的质量相当的高,就算是再过二十年,同样保持有一定的竟争力。这个算法可以服务数以百万的人群和产品覆盖度,并且不用加入随机抽样或其他黑科技。算法在用户的兴趣发生变化时,进行即时的更新。最后,这个算法最终简单直接地产生了更多的销售。

三、2003 Youtube 奈飞,亚马逊或其他更多

当我们在2003年发布 IEE 的时候,基于产品的协同过滤算法在 Amazon 广泛使用,在首页猜你喜欢模块的产品,就是基于你在商店的历史付款和浏览而进行的。搜索结果页,推荐你要查找的产品,也是千人千面的,而不是简单的数据库 like %keywrod% 级别的查询。在购物车,我们推荐其他产品以可以添加到购物车,比如冲动性的打包购买,或者解决你还有犹豫购买的产品。

这好比于我们推着购物车在商场中逛,也试了,也看好了,但就是价格有点贵,然后就去收银台结帐了,但这个时候,又给你把刚才觉得贵的产品推荐了出来,你一想,反正我也试了,索性就扔到购物车里面,一起购买了吧。所以购物车推荐,要推荐的就是用户历史看过,还没有加购的产品,以及当前产品的周边配套产品,比如有手机,就推手机壳。

当你付款完成后,在付款成功页,还会推荐给你未来将会下单的产品。现实生活中的做法是:送你鸡蛋券,然后把那些你看过,但还没有购买,以及看过,没有购买的高级需求给透露出来。原理和购物车相似,但此时的用户,已经不会再冲动了。好比饭后一支烟,但烟不是必备品,但有烟胜过活神仙。

并且亚马逊在 EDM,推送,产品详情页以及所有可以用的页面,都增加了推荐内容,以接近为每一个用户都打造一个个性化的应用商店的目标。

其他公司也在2010年使用了推荐算法,比如:Youtube用来推荐视频,而在电商、旅游、广告等行业,也开始使用这个算法。推荐在亚马逊大量的使用,从而导致 30% 的浏览是来自于推荐系统。点击 UV 占比30%噢。想想我们自己的系统推荐模块是不是占比太少了呢?是铺的广告系统太少了,还是 我们推荐的内容用户不喜欢?

同样,奈飞使用了推荐系统,从而使得 80% 的视频观看,都是来自于推荐。并每年为奈飞产生了十亿美元的价格收入。

最初,我们建立基于 item 的协同召回算法时,我们还只是一个书店,但从那以后,我们不仅加入了影像,电子,甚至女装。这些增长给我们的算法造成了巨大的挑战,需要去适配新的领域。但根据经验,我们还是找到了重新定义算法并推荐出相关产品的方案。

四、定义:什么是相关产品

推荐系统的质量,严重的依赖到底什么是相关的产品,比如手机和手机壳。比如有两个产品,X 和 Y,有用户同时购买了 X 和 Y,那会不会还有其他类似的用户也会在购买了 X 后,也购买 Y?人类的行为是充满噪音的,但我们的挑战就是基于用户的随机行为,找出相关的产品,找出真正相关的产品。

所以应用到自己的店铺,你就可以通过旺旺,告诉用户,在购买了手机的时候,把手机壳的产品发送给用户,让用户再买一单。然后机器学习就会认为这两个产品就是相关的。换句话说,你也要把自己变成 人工智能机器学习中的 人工部分

通常情况下,购买了 X 的用户,如果也购买了 Y,那我们会认为X 和 Y 是有相关联的。但有一种糟糕的情况,就是 比如 新华字典 这种书,基本每个人都会买一本,所以如果给 花落知多少的用户 推荐 新华字典,那肯定就闹笑话了。官方名词叫:哈利波特效应。我们要把特别流行的热销品排除在关联产品之外。

另外,还有一种用户,他自己是书店的老板,所有的书都会购买,不管是武侠,还是言情,再或者是新华字典,如果照着这个用户的行为去推荐,那所有的书都是相关的,这个时候,我们就要把购买特别多的用户给排除在外,不让这类用户来攻击和破坏我们的算法。

当然我们还有其他的方式和参数来解决上面的问题,算法远远没有那么简单,我们的观点是:没有一个分数是最佳的,一成不变的,一劳永逸的,可以适配所有的情况,但唯一验证的标准就是推荐系统的质量,当人们发现推荐系统对他们是有用的,就代表我们的推荐系统成功了。

机器学习和在线的实验,可以捕获到人们的偏好,找到最适合的参数因子用于推荐系统。我们也可以不停的实验,用最近浏览的,最近分享的,最近收藏的,最近加购的,最近浏览时长超过5秒的,然后我们再对上面的参数进行实验,观察用上了上述参数后,对用户的点击,下单,付款等行为的变化,以最终找到哪一个参数因子对我们最有用。

比如配件就是一个例子,我们注意到,购买数码相机的人,通常会买存储卡,可以和数码相机一起工作,但这不保证和确定买存储卡的人,就喜欢买数码相机。因为人们因为多种原因会购买存储卡,在亚马逊网站上,数以千计的存储卡,所以他们都随机的匹配到数码相机。有些电子商务网站,他们使用手工的搭配和查找,但比较昂贵且质量无法保证。特别是当达到了亚马逊这样的量级。我们发现在给予一定的数据量级且相对公平的权衡用户的行为,然后真正的好的搭配的商品就会浮现出来。

好比三个火枪手的,人人为我,我为人人,招聘那么多的工作人员,不如把我们的网站购买数据应用到我们给用户的推荐信息中。

很奇怪和新鲜的,我们发现所谓的相关性也可能会有新生的,并从数据中产生,并且由客户自己去发现。比如通过看人们已经已经购买的产品,不管是音乐,书还有其他低价的产品,人们更倾向于看一看然后继续购买同样的产品。 这里就属于购物和订单管理的环节了。但相比较于较昂贵的产品,特别是非媒体类的,那就非常的不相同了。比如:人们会查看很多款电视机,但最终只会购买一款电视机。人们在要买电视的时候,会不停地看其他的电视,但当人们购买了一款电视后,才会购买电视的增强产品。比如蓝牙播放器等。所以客单价高的产品,就不要再拓类目或品类的,但客单价低的,就批命地扩类目,发散吧!

五、时间的重要性

知道时间在推荐系统中扮演的角色对提高推荐系统的质量非常重要。比如当我们计算产品的相关系,严重地依赖于在购买时间上的接近。如果一个顾客五个月前购买了一本书,然后最近又购买了一本书,相比于同一天购买两本书来说,这个就属于弱关联了。比如人们在购买数码相机以后,会希望可以购买一个存储卡,但当有人购买了存储卡,我们给他推荐相机,这反而不是一个好的相关性建议。

有时间产品的购买是顺序的,比如书、电影或电视剧,然后推荐系统也应该推荐这个用户下一步将要做什么。

亚马逊的产品目录也在持续的变化,数以千记的新产品被加入,并且还逐渐消失和下线一些产品,这种现象在某些类目特别明显,比如女装,季节性上新和淘汰,或电子技术革新迅速。一会华为 P30,一会华为 Mates 30的。新品相对来说处于不利的地位,因为我们没有足够的数据把他和其他产品建立起关联来,这就面临了新产品冷启动的问题。这就需要一个探索和开发的过程,给那些还没有很多机会购买的物品一个展示的机会。易过期的产品,比如新闻或社交产品 Post,代表了一种特别具有挑战性的冷启动形式,通常需要将基于内容的算法(使用主题、主题和文本)中的数据与基于行为的算法(使用购买、浏览或评级)相结合。

客户也有一个生命周期,并体验自己的冷启动问题。当我们有非常有限的关于新客户利益的信息一直是个问题。何时使用有限的信息,何时安全地使用对于一般流行的项目是一个微妙的转变,很难得到正确的。 还是那句话,新买爆品,老买新品,到底给新人推荐,我们是用排行榜,还是用他最近的一些行为,也是一个比较纠结的问题。不知道的时候,就去做个 AB 实验来测试吧!

就算是针对老用户,正确的建模时间也会很大的影响推荐的质量。因为随着用户年龄的增长,他们历史的购买和兴趣也会发生变化。比如我以前还买过 JAVA 编程思想,但后来哥学 Android了,再到后来,哥转产品了,根本就不看编辑的书了。

这是一个很复杂的事实,并且不同的产品,他们相关性衰减还有不同的速度。比如以前给娃买了很多布娃娃,但后面给娃买的全是自行车了。对布娃娃完成没兴趣了。再比如买了本在大海中冲浪的书可以代表是长久的兴趣,但如果买的是维修橱柜的工具,当这个修理完成后,用户就不再需要修理工具了。

甚至有些购买如婴儿拨浪鼓的建议在很长一段时间内必须改变;四年后,我们应该推荐平衡自行车和硬纸板书,而不是婴儿奶瓶和牙套。而有些商品,如书籍,通常只买一次;另一些,如牙膏,则是一次又一次地购买,购买之间的时间间隔是可以预测的。

我们的推荐系统的质量,不仅依赖于什么时候购买,更依赖于购买了什么。比如如果用户购买一本书,就可以很大程度上给我们更多的信息,比如 《Android 从入目到精通》,那后面我们就可以接着推荐 《Android 高级编程》。但如果用户购买的是非媒体类目的产品,我们可以获取的信息就非常少了。比如用户买了个订书机,我们能获取到什么信息呢?用户买一双袜子,我们又能推荐出什么惊喜呢?推荐胶带或内衣内裤可能是有帮助的,但从长远来说,并不能让人兴奋。因此我们必须开发一门技术,来识别哪些购买可以制造更多的推荐建议,而哪些购买需要被忽略。

最近,推荐的多样性的重要性是众所周知的。有时间给出各种样关的项目比给一个狭隘的列表要好;亚马逊庞大的产品目录和类目是一个巨大的挑战,这写曾给书店遇到的困难是无于伦比的。

例如,推荐给一个特别喜欢阅读的用户推荐书的话,最终的结果就是促销和降价,
但人们可能会在另一个产品类目中从发现他们从未考虑过的东西中获得最大的长期利益,最直接的要要购买的意图也是多样性的,当某人很明确的有购买意向的时候,推荐系统就要迅速帮他们找到他想要的,但当意图不明时或者不确定时,发现和偶然成为目标。所以要知道用户的上下文,是搜索过来的,还是首猜过来的,还是会场过来的,从长远来看,我们也需要在快速成交和多样式实验中找到正确的平衡点。

六、未来:推荐将无处不在

未来的建议是什么?我们相信未来的机会将会比过去更多,我们相信推荐系统就像会话聊天那么简单,简直就成了你和秘书。这将超出现有网站的搜索框查找和物品陈列,相反,发现应该像是和一个了解你、知道你喜欢什么、每一步都与你合作并预测你需求的朋友交谈聊天。 我了个天,难怪我们现在宁愿面对手机不停的看头条看视频?因为他比你女朋友还知道你的喜好!总不能让你的女朋友知道你很好色吧?我们在女朋友面前还要假装正经,但在抖音面前,满屏全是漂亮的小姐姐的视频,Iphone 11 的广告词:浴霸不能啊!

这是一个智能推荐无处不在的愿景。每一次互动都应该反映出你是谁,你喜欢什么,并帮助你发现像你这样的人已经发现了什么。当你看到一些显然不是你的东西时,你会感到空虚和可悲;你现在还不认识我吗?难道你不爱我了吗?你不懂我了吗?有时候也会很心急,现在我甚至有点依赖推荐系统,我搜索几个产品,点几下产品,然后期待推荐系统能够给我带来惊喜,但如果他没办法给到我的时候,我还真的有点失望,说你真的不知道我要找什么吗?

针对这点,我们需要从新的思维方式来思考推荐系统,他将不再是推荐系统或推荐引擎,取而代之的是:而应该是懂你,懂其他人每一次交互后产生的有用的东西。

推荐和个性化生活在我们创建的数据海洋中,我们移动,我们发现,我们购买,我们喜欢,我们热受的所有行为。我们确信,未来的推荐将进一步发展,
利用人类集体智慧的智能计算算法。未来将还是通过计算机,帮助我,帮助别人! 说白一点,就是利用人们的智慧,把机器培育成推荐专家,然后再复用到所有人身上,从而帮助了更多的人。 比如你很会选性从比高的货,然后你的这些行为就会被机器学到,然后机器再引导别人也来发现这些性价比高的货。所以你帮助了全世界。你真伟大!再也不用为剁手感到自卑或伤心,你要感到自豪,因为你正在帮助全世界的人民!你不购买,代表你不再爱全世界的人民了!Come On! Keep on buying.

将近20年前,亚马逊网站向数百万客户推荐数百万件物品,帮助人们发现他们自己可能找不到的东西。从那时起,最初的算法已经扩展在大多数的网络上,被调整以帮助人们找到视频观看或新闻阅读,被受到其他算法和其他技术的挑战,并被用于改进多样性以及发现、最近、时间敏感或顺序项,以及许多其他问题。因为它的简单性、可扩展性、可解释性、适应性和相对高质量的推荐,基于ITEM协作过滤仍然存在当今最流行的推荐算法之一。

然而,这一领域仍然是广阔的。每一个客户的拥有个性化推荐是一个还未完全实现的愿景。还有很多机会,要向每一个系统补充智能化和个性化,创建一种就像你朋友知道你喜欢什么,也知道别人喜欢什么,然后还知道有什么选择可以给到你。推荐是发现,每一次互动,都为您揭开惊喜和快乐的面纱!

类似文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注