电子商务推荐算法工业应用总结
电子商务推荐算法工业应用总结
谨以此文纪念阅读推荐算法论文,设计开发推荐算法,不断踩雷,加班的日子
推荐系统就是要恰当的时间合适的地方,采用适用的方法给正确的人推荐满足需求的商品
即 when where who what how。本文关注的是其中的一个方面,电子商务推荐算法(即how)。
开发满足实际工程应用的算法,推荐算法人员具备的能力:以工程化的方法,产品设计者的思维来设计和开发算法
1 非个性化推荐算法
这里定义的非个性化算法,即算法结果中不涉及到用户的算法。譬如根据商品推荐商品。根据实际工业应用主要分为三种:
假设A和B分别表示Item,
如果A和B同质,即电子商务中A和B同类商品,这是很多人反感推荐的一个应用之一。譬如经常在的定向广告,经常有人抱怨,“刚买了个奔驰Smart,还给我推荐奔驰Smart,我又不是分销商”。这个是个bad case。这就是属于学术界那些开发者思维。没有结合实际场景考虑,用户既然购买过了,需要做些算法调整。但是,同质算法也有场景比较合适,譬如用户购物前,在选择商品的时候。举个例子,用户在看iphone手机,你非要给他推荐个牛肉干,这时,推荐异质不大合适。因此,同质商品推荐适合购物前选择商品的时候。譬如,进入amazon.com,点击某个商品,然后回到首页,你会发现,
如果A和B是异质,即电子商务中A和B是不同类目商品,这也是普通用户常常喊破嗓子的交叉推荐,买了个避孕套,推荐润滑剂之类的。这种类型的算法,比较适合用户最近几天或者刚刚购买商品之后的场景。譬如前面讲述的微博定向广告推荐商品的例子中,用户购买了某商品,还在不断的推荐同质商品。在实际算法开发时,需要做特殊处理,譬如处理掉同质商品,或者用一些譬如关联规则的算法,可以计算出异质商品。
如果A和B是混合的,即不考虑A和B是否同异质,根据用户的行为,设计开发算法。这类算法在购物流程中都相对适合,要结合实际产品需求进行选择。满足多样性的同时,也可以满足下用户选择同质商品的机会,对CTR有些帮助。
譬如
这类非个性化推荐算法,可以参考以前写的短文: http://blog.sina.com.cn/s/blog_61c463090101bp01.html
2 个性化推荐算法
个性化推荐算法,即推荐结果中有用户信息,即每个用户推荐的结果不一样。
P(B|U,A)即根据用户信息及当前的商品,推荐商品B的可能性。比较适合这种算法的场景,譬如商品详细页面,用户在登录状态下,有用户信息,和当前浏览的商品,从而给用户推荐商品。它解决了部分实时的问题(一种伪实时,让用户感觉是实时)。譬如登录用户来到这个页面,
根据用户特征和商品关系,推荐个性化的商品。个人的观点是,在这个页面,其实前述非个性化的算法,就可以满足需求,加入个性化,就要考虑投资回报率ROI。大多时候,产品设计者都是在根据自己的意淫,来觉得这应该用什么算法。因此,算法人员,就要结合实际场景考虑。
p(B|U,A1,A2…...)即用户登录状态下,根据用户特征,已经多个商品信息,为用户推荐商品。这种算法的场景,就是大家常说的类似个性化推荐,譬如猜你喜欢等等模块,根据用户行为商品和用户特征,产生推荐。这里举个例子,譬如在用户主页,我的淘宝里面,实际设计算法就是要结合用户和历史行为,推荐商品。P(B|U)即只有用户信息情况下,推荐商品,貌似就是冷启动问题。
解决这类问题,一般是将上述公式结合贝叶斯和全概公式,根据用户和商品特征转化,结合前面非个性化部分的商品关系数据,进行处理。但是,实际中,还有其他方法处理,譬如对用户兴趣做预测,电子商务中往往是预测用户感兴趣的类目+标签,这样一个粒度。如果直接预测到商品这个粒度,就直接解决问题。常见的算法已经铺天盖地,这里就不介绍了,慎用,大胆假设,小心求证。
3 知识库
Bad case库:根据实际算法开发,总结出的库,包括一些common sense。举个例子,譬如微博上有人提到的淘宝广告给用户推荐骨灰盒寿衣等。哎,学术贩子。把这些bad case总结起来。
经验库:公司运营产品的一些经验,即根据运营平时做营销,做活动所总结的经验。譬如这个季节适合推荐什么等等。还有,譬如一些重要的常见节假日,对特殊人群的推荐。让推荐更加真实些吧。
个人结合各大电商站点,总结了一些这样的电子商务知识库,这些对算法都是有一些帮助。不仅仅是针对推荐这种服务(Recommendation as a Service).
爆点:
1 设计算法时,一定要做前期数据探索(数据分析),虽然部分人不以为然,个人经验,还是得有数据探索,即前面讲到的 when where who what how,结合实际场景。这一点不仅仅适合推荐算法,工业应用中的其他数据挖掘模型的应用,都需要做这个。
2 设计推荐算法,绝多数情况下要考虑时序信息,这对算法效果有很大的帮助,甚至决定性的影响
3学术派,是为了论文,那些算法实在特定环境下产生。工业应用,要结合实际去选用,考虑,加以改善。对待学术派,时刻,带着怀疑的态度去审度算法应用。
4 牢记ROI
5 KISS 原则 keep it simple & stupid 简约而不简单
6 when where who what how
更多详情,欢迎交流
青春就应该这样绽放 游戏测试:三国时期谁是你最好的兄弟!! 你不得不信的星座秘密