第 2 章 利用用户行为数据

为了让推荐结果符合用户口味,我们需要深入了解用户。如何才能了解一个人呢?《论语•公冶长》中说“听其言,观其行”,也就是说可以通过用户留下的文字和行为了解用户兴趣和需求。实现个性化推荐的最理想情况是用户能在注册的时候主动告诉我们他喜欢什么,但这种方法有3个缺点:首先,现在的自然语言理解技术很难理解用户用来描述兴趣的自然语言;其次,用户的兴趣是不断变化的,但用户不会不停地更新兴趣描述;最后,很多时候用户并不知道自己喜欢什么,或者很难用语言描述自己喜欢什么。因此,我们需要通过算法自动发掘用户行为数据,从用户的行为中推测出用户的兴趣,从而给用户推荐满足他们兴趣的物品。

基于用户行为数据的应用其实早在个性化推荐系统诞生之前就已经在互联网上非常流行了,其中最典型的就是各种各样的排行榜。这些排行榜包括热门排行榜和趋势排行榜等。尽管这些排行榜应用仅仅基于简单的用户行为统计,但它们在互联网上获得了很多用户的青睐。因此,用户行为数据的分析是很多优秀产品设计的基础,个性化推荐算法通过对用户行为的深度分析,可以给用户带来更好的网站使用体验。

用户的行为不是随机的,而是蕴含着很多模式。举一个简单的例子,在电子商务网站中,我们每次购物时网站都会生成一个购物车,里面包括了我们一次购买的所有商品。购物车分析是很多电子商务网站,甚至传统零售业的核心数据分析任务,比如我们可以分析哪些商品会同时出现在购物车中。这里面最著名的例子就是啤酒和尿布的例子,这个例子是数据挖掘的经典案例。这个故事有非常多的版本,甚至有人认为这个故事本身就是一个误会。不过我们还是用这个故事简单说明一下用户行为分析的重要性。这个故事的一个版本是说,有一个超市人员发现很多人会同时购买啤酒和尿布,后来他们认为是很多妇女要在家照顾孩子,就让自己的丈夫去买尿布,而丈夫在买尿布的同时不忘买一下自己喜欢的啤酒,于是这两个风马牛不相及的东西就这么产生联系了。于是超市工作人员把啤酒和尿布放在了同一个货架上,结果这两种商品的销售量都明显上升了。不同人看到这个故事有不同的理解,我们从算法设计人员的角度看,这个故事说明用户行为数据中蕴涵着很多不是那么显而易见的规律,而个性化推荐算法的任务就是通过计算机去发现这些规律,从而为产品的设计提供指导,提高用户体验。

啤酒和尿布的故事在互联网上被发扬光大。电子商务公司通过分析用户的购物车,找出诸如“购买A商品的用户都购买B商品”这种规律,同时在用户浏览A商品时直接为其展示购买A商品的用户都购买的其他商品(如图2-1所示)。

截取自当当网,图中相关内容的著作权归原著作权人所有

图2-1 当当网在用户浏览《数据挖掘导论》时给用户推荐“购买本商品的顾客还买过”的书

基于用户行为分析的推荐算法是个性化推荐系统的重要算法,学术界一般将这种类型的算法称为协同过滤算法。顾名思义,协同过滤就是指用户可以齐心协力,通过不断地和网站互动,使自己的推荐列表能够不断过滤掉自己不感兴趣的物品,从而越来越满足自己的需求。

目录