前面的例子只是极简单的一类应用。个性化推荐技术能实现很多在我们看来十分神奇的效果。这时你可能会有一个疑惑:这个听起来有点“玄”的技术, 零售网站能实施吗?前面我们已经提到,网站可以根据购买了某一款产品的所有顾客的历史数据来推测购买了这一款产品的用户还会对哪些产品感兴趣,这就是所谓 的“群体的智慧”。比如,顾客甲和顾客乙都对电子商务感兴趣,他们都买过很多这方面的书籍,其中甲买过《网站页面设计》,乙买过《数据挖掘》。从用户的角 度看,我们通过历史数据看到甲和乙都买过不少同样的书,据此可以判断他们的偏好比较相近,这时候我们称甲和乙这两个顾客比较“相似”。所以,我们可以把乙 买的《数据挖掘》推荐给甲,因为乙喜欢的书很可能甲也会感兴趣。从产品的角度看,我们在历史数据中可能发现包括甲和乙在内的很多顾客的购买记录里都有《网 站页面设计》和《数据挖掘》这两本书,这两本书的介绍和关键词或许也有重复之处。因此我们可以推测这两本书比较相关,称它们具有比较高的“关联性”。所 以,如果发现新来的顾客丙买了其中的一本,我们就可以直接向丙推荐另一本。在接下来的内容中,我们将讨论零售网站是如何来实现这一思想的,包括网站可以利 用的数据资源,以及如何使用这些数据资源。
挖掘网站历史数据的价值
很多零售网站都有非常丰富的顾客历史数据,包括登录、点击、浏览以及购买等等。这些数据都是零售网站的天然宝藏。如果你把数据放在地下室让它们 堆满灰尘,这些数据就是一项负资产,它们需要硬件来存储,需要人员来管理,却没有任何使用价值。通过个性化推荐技术,我们能充分挖掘出这些数据的价值。
顾客历史数据中蕴含着巨大的价值!
个性化推荐技术主要关心顾客在零售网站上的三个方面的行为数据:首先是购买数据,比如我们在Amazon和Netflix上经常看到的“购买了 该商品的人还购买了......”,这些推荐就是来自于购买数据;其次是对产品的评分,比如Levis的Style Finder网站可以让顾客给衣服打分,用1~7的数字表示你有多喜欢它;最后一种是浏览数据,比如顾客看过什么产品以及看了几次,看了多长时间等。现在 这种数据还不常用,但是其中蕴含的信息量很大,因此是很有前景的待开发对象。
顾客喜欢什么产品?从数据中找答案
读到这里大家可能已经注意到一个问题:我们一直在强调借助相似的人或相关的产品来推测顾客可能喜欢哪些产品。作为零售网站,如何判断哪些顾客比 较相似,或者哪些产品关联度高呢?既然需要运用“群体的智慧”,为什么甲和乙是相似的,《网站页面设计》和《数据挖掘》是相关的呢?这个问题的答案,就藏 在零售网站的数据中。
在探讨如何从历史数据中挖掘出顾客之间的相似性和产品之间的关联度之前,先想想我们自己是如何判断这个问题的。用人工来判断两个人的相似性或产 品的关联度很大程度上是靠直觉。对于顾客相似性的判断:如果两个人喜欢同样的一些产品,他们就比较相似。比如我们经常去图书大厦里看各种电子商务的书,同 时发现有另外一个人也喜欢在电子商务的书架前晃悠,我们就会认为自己和这个人兴趣相近。对于产品关联度的判断:如果很多顾客的购买记录里都同时出现某两个 产品,这两个产品的关联度就比较高。比如一些买过朗道的《统计物理学:卷Ⅰ》的顾客,他们的购买记录里都有《统计物理学:卷Ⅱ》。对于人来说,这是个非常 容易的判断。个性化推荐系统就是要训练机器来学习人工判断的过程,主要方法也是通过分析哪些顾客喜欢同样一些产品,或哪两个产品会一起出现在大量顾客的购 买记录里。
正如前面提到的,现在的零售网站在挖掘顾客的偏好时主要采取以下两种思路:一种是基于用户(user-based)来判断顾客之间的相似性,即 判断某位顾客与哪群人更相似,于是把这群人买过的产品推荐给他。另一种是基于产品(item-based)来判断产品之间的关联度。对于第一种思路,业内 现在常使用的一种技术就是基于用户的协同过滤。虽然名字听起来很高深,但是背后的道理却非常简单:人以群分,经常买同样商品的人,也有相似的偏好。虽然我 们不知道顾客具体看上了产品的哪一点,但我们能知道都喜欢这个产品的人还可能会喜欢哪些其他的产品。比如我们不能知道甲和乙在买iPod的时候具体喜欢它 的什么特征,但是我们能知道甲和乙在电子产品上的偏好相似,于是我们就能把乙购买过的,但是甲没有买过,甚至不知道的商品推荐给他。
使用基于用户的协同过滤技术的一个著名零售网站是CDNOW。它是一个出售音乐专辑的零售网站,网站有一个个性化的推荐模块:My CDNOW。My CDNOW其实是一个个性化的商店,每个人的My CDNOW里面展示的都是他们喜欢的专辑。这个个性化系统正体现了亚马逊总裁杰夫·贝佐斯的话:“如果我的网站上有一百万个顾客,我就应该有一百万个商 店”。CDNOW主要是通过消费者的评分数据进行推荐,网站知道用户A买了哪些专辑以及给专辑的打分,根据这些数据,CDNOW就能用协同过滤的方法去寻 找与用户A打分相似的“邻居”。然后,把“邻居们”评分很高,但是A还没买的专辑展示在A的My CDNOW页面上。
著名的音乐零售网站CDNOW
同时,也有一些专注于推荐技术的公司在使用协同过滤技术帮助用户解决问题。比如Baynote公司开发了“群体智慧平台”来帮助网站提高消费者 的点击率以及购买转换率。Baynote的解决方案是:把消费者和与他们相似的人联系起来,让一个群体内的成员来做“导购”。例如,当我们看到自己的朋友 购买了一本新书,我们也会更愿意去购买它。现在,公司正在为媒体和电子商务企业提供个性化的推荐服务——网络零售500强公司中有14家选择了 Baynote的服务。
Baynote: 美国的推荐技术服务公司
群体的智慧
对于第二种思路(基于产品的推荐),主要是判断哪些产品之间更加相关。比如消费者对iPhone感兴趣,他对iPhone的各种配件也会有兴 趣。判断iPhone和配件之间关系的依据是它们被共同购买的频率,有时也可利用商品的描述和分类信息。在网站的记录中,如果有很多用户都同时拥有 iPhone和配件,那么这两个商品就比较相关。当然,基于产品的推荐不仅能发现互补的商品(就像手机和配件),而且还能发现一些有潜在联系的商品。
最简单的挖掘产品关联性的方法是购物篮分析,它主要分析顾客过去的每一次交易里,哪些产品会一起出现。以前,有不少大型超市根据购物篮分析来优 化货架的位置,最广为人知的例子是,上世纪九十年代初期,美国中西部的一家零售商通过分析消费者的购物篮发现了著名的“啤酒-尿布综合症”:年轻男顾客的 购物篮中,尿布和啤酒经常会同时出现。一个潜在的联系是:这些年轻的男顾客被老婆打发出来买尿布之后,都会自己拎一罐啤酒回去。那么,对于年轻的男顾客, 每次他们出来买尿布的时候,我们都可以向他推荐啤酒;而年轻的女顾客出来买尿布的时候,再推荐啤酒对就没有意义了。
现在,使用得比较多的方法是基于产品的协同过滤,前面提到的零售网站Amazon也采用了相关的技术。与基于用户的协同过滤相类似,基于产品的 协同过滤是看哪些产品与另外的产品更相近。如果买了产品A的人从来不买产品B,买产品B的人也不会买产品A,这两个商品的距离很远,关联度比较低。基于产 品的协同过滤有一个明显的优点,对于大型零售网站来说,他们的用户数量远远大于产品的数量。计算用户之间的相似性可能要算1000万次,但是产品之间的相 似性只需要计算10万次就可以了。
有趣的是,现在不少零售网站把基于产品的推荐方法与其他技术结合起来使用,取得了很好的效果。最热门的混合应用就是将推荐技术和社会化网络结合 起来。Goodrec[1]最近把社会化网络加入到了个性化推荐系统中,主要是借助于顾客的朋友、家人的评分信息来进行产品的推荐。它让顾客的朋友和家人 做“导购”,把他们买的产品推荐给顾客。比如你的朋友最近买了一本书,他对这本书的评价不错,Goodrec就会把这本书推荐给你。Goodrec还可以 帮助顾客选购礼物,比如你最近经常看iPad,你的朋友会收到推荐:“如果你想送礼物给他,就送个iPad吧”。
Goodrec 的个性化推荐系统
[1] Goodrec是一个在2008年Techcrunch 50会议上推出的移动应用服务公司,后更名为Mob.ly。2009年Goodrec 推出了适用于手机浏览器的推荐引擎,基于用户在手机上对不同产品浏览时的评分。由于用户是在手机上进行评价,Goodrec采取了简单的评价方式:用户对 浏览过的餐厅、酒吧等评价对象,只需评价“好”、“不好”或“不知道”或简单短信。2010年5月,该公司被美国著名团购网站Groupon收购。