一、 电商推荐算法简述
目前比较多的电商模式为B2B,B2C,O2O,在本文介绍和需要举例说明的地方B2B电商模式为主。
电商推荐根据推荐内容不同分为物品推荐、商家推荐;流行的推荐应用主要有三个方面:1)针对用户的浏览、搜索等行为所做的相关推荐;2)根据购物车或物品收藏所做的相似物品推荐;3)根据历史会员购买行为记录,利用推荐机制做邮件推送或会员营销。其中推荐算法主要分为以下几个类:
1、基于用户的协同过滤推荐算法
a. 找到与目标用户兴趣相似的用户集合
b. 找到这个集合中用户喜欢的、并且目标用户没有听说过的物品推荐给目标用户
2、基于Item(项目)的协同过滤推荐算法
a.基于用户对某商品的兴趣程度,寻找出相似度最大的物品。
b.将相似度最大的物品推荐给目标用户。
协同过滤举例:四个用户ABCD,对5个商品abcde的兴趣与否见下表(实际用户对物品的兴趣程度有区别,需要具体的评分量化),这里方便理解原理,用二元值表示用户对物品是否感兴趣。
|
a |
b |
c |
d |
e |
目标物品 |
A |
1 |
1 |
0 |
1 |
0 |
1 |
B |
1 |
0 |
1 |
0 |
0 |
0 |
C |
0 |
1 |
0 |
0 |
1 |
1 |
D |
0 |
1 |
1 |
1 |
0 |
? |
基于用户的协同过滤:指根据用户对各物品的兴趣度计算相似性,相似性的算法有很多(主要有余弦相似性、相关相似性以及欧式距离等),上述与用户D相似对最高的是用户A,用户A对目标物品的兴趣度为1,就可将目标物品推荐给用户D。
基于item的协同过滤:指从物品维度上看,根据用户对每个物品的兴趣度,计算物品间的相似性,可以算出物品b和目标物品的相似性最大,用户D对物品b感兴趣,则很可能对目标用户感兴趣。
3、基于内容的推荐算法
商品为客观体,提取商品对象的特征,寻找相似度比较大的物品进行推荐。系统首先对物品的属性进行建模,通过相似度计算,发现物品A和B相似度较高,或者他们都属于同类物品。系统还会发现某用户喜欢物品A,由此得出结论,某用户可能对物品B也感兴趣,于是将物品B推荐给该用户。
基于内容的推荐算法比较容易理解,主要用到分类、聚类算法,对用户兴趣可以很好的建模,并通过对物品属性维度的增加,获得更好的推荐精度。但是物品的属性有限,很难得到更多数据属性,且对于部分物品属性特征提取有时候比较困难,只考虑物品本身的特征,忽略用户的行为特征,存在一定片面性,对于从未购买物品的新用户存在冷启动问题,不能对新用户进行推荐。
4、基于关联规则的推荐算法
基于关联规则的推荐是以关联规则为基础,把已购商品作为规则头,规则体为推荐对象。关联规则挖掘可以发现不同商品在销售过程中的相关性,关联规则就是在一个交易数据库中统计购买了商品集X的交易中有多大比例的交易同时购买了商品集Y,其直观的意义就是用户在购买某些商品的时候有多大倾向去购买另外一些商品,根据某种商品所属的置信度较高的关联规则,推荐物品。
根据用户的购买记录,提取关联规则,常用的算法有Apriori算法,为了提取频繁项集和一定置信度的关联规则。Apriori算法的主要原则是如果项集A是频繁的,那么它的子集都是频繁的。如果项集A是不频繁的,那么所有包括它的父集都是不频繁的,简化频繁项集的选择的复杂度。
5、基于RFM的推荐算法
6、基于人口统计特征的推荐算法
这是最为简单的一种推荐算法,它只是简单的根据系统用户的基本信息发现用户的相关程度,然后将相似用户喜爱的其他物品推荐给当前用户。系统首先会根据用户的属性建模,比如用户的年龄,性别,兴趣等信息。根据这些特征计算用户间的相似度。比如系统通过计算发现用户A和C比较相似。就会把A喜欢的物品推荐给C。
基于人口统计特征推荐算法的优势是不需要历史数据,没有新用户冷启动问题,不依赖于物品的属性,不足是算法比较粗糙,效果很难令人满意,只适合简单的推荐。
7、混合推荐算法
融合以上方法,以加权或者串联、并联等方式尽心融合。实际应用最多的是内容推荐和协同过滤推荐的组合。最简单的做法就是分别用基于内容的方法和协同过滤推荐方法去产生一个推荐预测结果,然后用某方法组合其结果,如加权、变换、混合、特征组合、层叠、特征扩充、元级别等。组合推荐一个最重要原则就是通过组合后要能避免或弥补各自推荐技术的弱点。
1)加权(Weight):加权多种推荐技术结果。
2)变换(Switch):根据问题背景和实际情况或要求决定变换采用不同的推荐技术。
3)混合(Mixed):同时采用多种推荐技术给出多种推荐结果为用户提供参考。
4)特征组合(Feature combination):组合来自不同推荐数据源的特征被另一种推荐算法所采用。
5)层叠(Cascade):先用一种推荐技术产生一种粗糙的推荐结果,第二种推荐技术在此推荐结果的基础上进一步作出更精确的推荐。
6)特征扩充(Featureaugmentation):一种技术产生附加的特征信息嵌入到另一种推荐技术的特征输入中。
7)元级别(Meta-level):用一种推荐方法产生的模型作为另一种推荐方法的输入
二、 各种推荐算法的优缺点
推荐方法 |
优点 |
缺点 |
协同过滤推荐 |
新异兴趣发现、不需要领域知识; 随着时间推移性能提高; 推荐个性化、自动化程度高; 能处理复杂的非结构化对象 |
稀疏问题; 可扩展性问题; 新用户问题; 质量取决于历史数据集; 系统开始时推荐质量差; |
基于内容推荐 |
推荐结果直观,容易解释; 不需要领域知识 |
新用户问题; 复杂属性不好处理; 要有足够数据构造分类器 |
基于规则推荐 |
能发现新兴趣点; 不要领域知识 |
规则抽取难、耗时; 产品名同义性问题; 个性化程度低; |
基于人口统计 |
不需要历史数据,没有冷启动问题; 不依赖于物品的属性,因此其他领域的问题都可无缝接入 |
算法比较粗糙,效果很难令人满意,只适合简单的推荐 |
三、 推荐算法总结
鉴于各种推荐算法的优缺点和适应场景,系统开始与系统成熟时的推荐算法应有区别。系统开始时,用户数据不够多,交易行为记录数据比较少,倘若利用基于内容和协同过滤的推荐算法存在很多新用户冷启动问题。在系统成熟时,用户交易数据较多,部分算法用到矩阵,产生较大的稀疏矩阵数据,运算量大,需要结合组合推荐法。总结B2B电商平台在系统初和系统成熟时的推荐算法建议:
系统初可使用的推荐方法:
1、基于人口统计、热搜、浏览记录
基于人口统计的推荐:通过注册以及询问得知一些用户的属性信息,譬如年龄、居住城市、受教育程度、性别、职业等等,能够得到用户之间属性的相似度;
热搜:站内热搜,按排名进行推荐;
基于浏览记录的内容的推荐:部分产品的内容特征比较好提取,比如带文字描述的产品,也有内容特征比较难提取的,如图片,或者浏览的商品不详,则需要人工或智能爬取相关信息。总的来说,这一部分的推荐是基于用户浏览的内容,通过提取特征,计算相似度,推荐相似产品(相似产品的推荐精确度可能比较难达到要求,通过提高粒度,进行品类推荐是常见做法)。
2、标签系统
利用标签也只能是提高有少量行为的用户的推荐准确性,对于纯粹的冷启动用户,是没有帮助的,因为这些人还没有打过任何标签。系统也可以给商品打上标签,但是这里面没有个性化的因素,效果会打一个折扣。从这个意义上讲,利用标签进行推荐、激励用户打标签以及引导用户选择合适的标签,都非常重要。引导用户多打标签,通过标签进行分类推荐也是常用的方法
3、多维数据的利用
每个人处于一个巨大的社会网络中,在多个网站存在行为数据,相当比例的用户都具有交叉购物的习惯,把这些网络数据整合起来,特别是知道每个节点身份的对应关系,可以带来的巨大的社会经济价值。使用‘迁移学习法’,可以实现跨领域的推荐。多维数据的利用能解决新用户的冷启动问题。
神州商桥的用户来自本来的用户群的比例应该很大,从其它的数据接口获取数据源,获得用户的基础信息。
系统成熟时可使用的推荐方法:
1、 协同过滤推荐法
2、 基于内容的推荐法
3、 基于关联规则,用户与用户之间的关联,商品与商品之间的关联
4、 组合推荐法(协同过滤和基于内容的推荐的结合)
这三个推荐法在电商系统成熟时应用的比较多,行为数据充足使得这些算法的推荐效果比较好,然而在数据量级特别大的时候存在数据稀疏问题,一般采用的解决办法是把这些商品信息粗粒化,譬如只考虑一个个的品类,数据就会立刻变得稠密。如果能够计算品类之间的相似性,就可以帮助进行基于品类的推荐。
四、推荐算法评价指标
准确度、多样性、新颖性和覆盖率。每一类下辖很多不同的指标,譬如准确度指标又可以分为四大类,分别是预测评分准确度、预测评分关联、分类准确度、排序准确度四类。第二个层次是商业应用上的关键表现指标,譬如受推荐影响的转化率,购买率,客单价,购买品类数等等,第三个层次是用户真实的体验,注意保护用户隐私。
五、 数据挖掘在电商中的应用(后续补充)
1、客户画像
2、精准营销
3、信用评级
4、广告推介
5、物流配送
6、舆情分析