很多人会问到亚马逊有没有什么规律可循,其实可以改变思路,了解学习下亚马逊推荐的算法,就能很轻松的掌握亚马逊的规律 。
现在看到的一些推荐算法,一般都是基于物品自身相似性、用户浏览习惯、喜欢、购买记录等数据的综合过滤推荐。
例如商品甲被用户1,2,3,4,5,6等购买过,商品乙被用户1,3,4,5,7购买过,然后把123456作为商品甲的特征属性数据,13457作为商品乙的特征数据,然后计算商品甲和乙的相似度。
因为同一个人群买了甲,又买了乙,那么甲和乙一定有某种关联。
采集用户的购买、浏览、收藏等商品数据,把用户购买的商品列出来,当作用户的属性纬度。例如用户A购买了商品1、2、3、4、5,用户B购买了商品1、2、5、6,那么可以简单的将12345和1256分别作为A和B的属性特征字符串,计算A和B的相似度,经过简单的聚类将用户聚成几个类别(邻居)。
假设A和B同属于一个聚类,那么可以称A和B有比较相似的偏好,继而可以将A买过而B没买过的其他商品推荐给B。在这一个流程里,可以发挥的地方有很多:
用户的行为数据需要去噪音(买了多少商品以下的用户不考虑,有代购的不考虑,如何精准的判断代购,商品时效性的考虑,数据的时间跨度等等);
计算相似度的时候跟第一点中提到的一样,并不是所有商品对用户的描述度都是一样的。可能价格低的重要程度就没有昂贵的商品重要。
通过聚类计算邻居的时候,聚类算法又是另一门学科了,或者选择分类算法。然后聚类的门槛选择都是需要很长时间的测试、观察、修改的,需要时间的积累。
浏览、购买、收藏等历史数据是不是可以协同过滤。现在很多网站给出的推荐,都不是单一推荐算法的,一个算法的输出可以作为另一个算法的输入,可以是多个算法的输出综合筛选,这也是一个需要长时间积累的地方。
比如衣服甲和衣服乙,对于它们在风格、价格段、分类、属性、品牌定位等等的表现,来计算它们之间的相似度,如果相似度高,那么在有用户浏览甲的时候,就可以推荐乙,实际当然没这么简单。
衣服的这些属性是不依赖于用户的。正是不依赖与用户的行为数据,因此比较死板,完全没有个性化的推荐。
这个算法的思路很多人都清楚,但是越是简单的算法,要达到好的效果就越是难,特别是推荐这种转化率非常低的算法。
商品有几十个属性,对不同分类的商品,并不是所有的属性都是有必要纳入相似度计算的,已经纳入的属性但是重要性也是有区别的,这样一来,光给不同类别商品筛选必要属性以及设置这些属性在相似度计算中的权重值,就是一项非常浩大的工程了。亚马逊的推荐系统在全球行业中也是最早的,相信他们在这个问题上肯定有自己一套迅速有效的方法。
重点是同一次购买记录(当然也不是必然的,看自己的选择)。
首先收集数据就需要把一单购买一种商品的过滤掉。然后一次对每一条记录中进行成对提取统计,简单的就是两两统计次数,这种提取出来的都是两个商品被同时购买的次数,适用于一对一推荐。
还有一种是通过FPTree算法,不光是一对一推荐,可以一对二,二对一。
在这个流程里面,关联规则挖掘算法非常重要,其中置信度和支持度也是需要不断调整的地方。
所有推荐系统之间的数据共享、数据的定时自动更新、自动学习。
总的来说,推荐算法大部分都是很朴素的,但是需要运用的好,没有长时间的积累是做不到的。
仅仅是聘请一些算法工程师,运用一些算法框架,想取得好的推荐效果,基本是不可能的。只有算法与具体业务相结合才能产生化学反应。
(责任编辑:百马汇)