亚马逊和淘宝的“猜你喜欢“是怎么实现的?

2017年8月13日

目前我正在写一系列“电商的推荐系统”相关的文章。主要包括基于物品相似度的推荐、基于用户相似度的推荐、推荐系统冷启动的问题、推荐系统的时效性问题、给用户重复推荐已购买的物品的问题等等内容。对这一方面内容感兴趣的请关注我。

一、亚马逊和淘宝的"猜你喜欢"

上一次讲到亚马逊的"购买此商品的顾客也同时购买"的功能是怎么实现的[1]。

其中值得注意的是,"购买此商品的顾客也同时购买"所推荐的商品列表,与用户过去的浏览记录、购买记录等行为是没有关系的,任何一个买家到这一商品的页面,看到的推荐列表内容都是相同的。

与此不同的是,亚马逊首页的"您最近查看的商品和相关推荐",还有淘宝首页的"猜你喜欢",都是跟用户的行为记录有关的推荐。这两个列表(以下都称为"猜您喜欢")都是跟用户行为有关的,如果用户没有登录、并且有浏览记录,该怎么处理呢?这是一个产品问题啦,有兴趣的同学可以开一个隐身窗口,到亚马逊和淘宝,看一下他们的做法。


二、"猜你喜欢"的原理:基于物品的协同过滤

亚马逊已经说了,他是根据我最近查看的商品来做推荐的。根据亚马逊申请的专利[2],以及亚马逊署名的行业报告[3],可以看出,亚马逊的商品推荐,是基于商品和商品之间的相似度的。通俗的理解,比如顾客浏览了《智能时代》、《人工智能》这两本书,亚马逊知道,一般购买了《智能时代》的人还会购买《人工智能时代》、《新知·人工智能精华篇》,一般购买了《人工智能》这本书的人还会购买《AI是未来的电》,那么亚马逊就会推荐这三本书给我。这个道理很直觉,就像一个饱读诗书的人,有人问他推荐读什么书比较好,他可能会先了解这个人读过什么书、喜欢什么书,然后再推荐与此类似的书给他。

这里就涉及到一个"协同过滤"的概念,亚马逊做出的推荐,是基于他众多顾客的行为的,这就像是这么多的顾客同心协力,共同创造出这个推荐的列表。又因为亚马逊的推荐,主要考虑的是,你查看的商品"类似"的商品,这就是"基于商品"或者通用的说是"基于物品"(item)的推荐。于是,这种推荐方法被称为"基于物品的协同过滤"(item based collaborative filtering)。


三、问题定义与两种思路

下面我们来理一理思路,搞清楚我们到底在做什么。我们(电商平台)现在有10000名用户的购物记录,然后现在有1名新用户浏览了某10个商品,我们要根据其他用户的购物记录和这名用户浏览商品,来给他推荐新商品。怎么做呢?

我们这里可以有两个思路。

第一,我们可以从相似的人入手,我们称呼这名用户为A,我们找出和A相似的用户B,然后推荐B喜欢的商品给A。比如A看的书大量都是大数据开发相关的,我们有一个用户B读的书跟A重合度很高,我们把B喜欢的其他书也推荐给A。

第二,我们可以从相似的物入手,比如A购买了10个商品,我们寻找和A买过的商品类似的商品,然后推荐给A。比如A读了伊隆马斯克的传记《硅谷钢铁侠》,我们知道《硅谷钢铁侠》是一本关于硅谷创业者的书,那么类似的,《乔布斯传》也是关于硅谷创业者的书,所以可以把《乔布斯》传推荐给A。

前者类似于找自己的师兄师姐给我们推荐书籍,后者类似于在书店里自己喜欢的某一类书架中找书。


四、"猜你喜欢"的技术原理

根据亚马逊申请的专利[1],以及亚马逊发布的一个行业报告[3],亚马逊用的是基于物品的协同过滤,也就是上面说的第二种方式。为什么亚马逊要用这种方式呢?后面的文章具体比较两种协同过滤算法,现在可以直观的理解的是,基于物品的系统过滤容易给用户解释理由("因为你浏览过xxx商品")、冷启动容易(用户有一个购买记录就可以推荐相似商品了)。

下面要具体讲基于物品的协同过滤算法了。


算法如上图所示。举例说明,A购买了H、I两种商品。商城还有J、K、L、M、N五种商品,我们要判断用户A对JKLMN的喜好程度。

A对J的喜好程度 = (A对H的喜好程度*H与J的相似度)+ (A对I的喜好程度*I与J的相似度)。

对于KLMN都是同样的算法。然后对JKLMN进行排序,就可以推荐排序前两名的给用户A了。推荐列表就是这么生成。

这里X与Y的相似度,正是我们上一篇文章所讲的内容,有兴趣的可以把上一篇文章[1]读一下。


参考阅读:

[1] 《"购买此商品的顾客也同时购买"的原理是什么? 》http://www.jianshu.com/p/0232150c230e

[2] 《Personalized recommendations of items represented within a database》

(亚马逊推荐系统的专利) https://www.google.com/patents/US7113917#v=onepage&q&f=false

[3] 《Amazon.com Recommendations Item to Item Colaborative Filtering》 (亚马逊推荐系统的行业报告) http://www.cs.umd.edu/~samir/498/Amazon-Recommendations.pdf

How does the Amazon recommendation system work? https://kunuk.wordpress.com/2012/03/04/how-does-the-amazon-recommendation-system-work-analyze-the-algorithm-and-make-a-prototype-that-visualizes-the-algorithm/

[4]《非常好的协同过滤文章》 http://www.cnblogs.com/wentingtu/archive/2011/12/16/2289926.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,968评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,601评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,220评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,416评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,425评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,144评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,432评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,088评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,586评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,028评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,137评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,783评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,343评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,333评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,559评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,595评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,901评论 2 345

推荐阅读更多精彩内容