为什么要根据用户行为
为什么不根据用户语言?
标题是利用用户的数据行为, 是根据用户的实际动作进行演算的方法, 那为什么不利用用户语言进行演算呢? 最大的原因就是用户也说不清楚自己到底喜欢什么, 而用户的实际行为往往能够暴露其真实想法, 有些想法用户自己可能都还没有意识到.
一个经典的例子 - 尿布和啤酒
一个数据挖掘的经典案例: 一个超市人员发现很多人会同时购买啤酒和尿布, 后来他们认为这是因为很多妇女要在家照顾孩子, 就让自己的丈夫去买尿布, 而丈夫买尿布时还不忘买一下自己喜欢的啤酒, 于是二者产生了联系. 然后超市将这两个商品摆在临近的货架上, 发现销售量增长了.
从中可以看到用户的行为数据中蕴含了很多不是那么显而易见的规律, 而我么的个性化推荐算法的任务就是通过计算机去发现这些规律, 从而为产品的设计提供指导, 提升用户体验.
协同过滤
协同过滤算法就是指用户可以齐心协力, 通过不断与网站互动, 使自己的推荐列表能够不断过滤掉不感兴趣的物品, 变得越来越个性化, 这也和亚马逊的为每个用户打造一个属于自己的商店的思想不谋而合.
仅基于用户行为数据设计的推荐算法称为协同过滤算法. 在学术界对这方面有深入的研究, 提出来多种方法, 比如基于邻域的算法, 隐语义模型, 基于图的随机游走算法等. 本文仅介绍两种基于邻域的算法.
- 基于用户的协同过滤算法
- 基于物品的协同过滤算法
收集用户的行为
有多种方式收集用户的行为
- 打日志
- 收集用户都商品的喜好程度
- 记录用户所有访问记录等
在设计算法前, 需要对收集到的数据进行分析.
基于用户的协同过滤算法
基于用户的协同过滤算法主要包含如下两个步骤
- 找到和目标用户相