概述
从18年11月开始,接触推荐系统半年左右时间,对推荐系统有了基本的认识。相比于之前做的nlp任务,推荐系统复杂更多,数据来源更复杂、pipeline更复杂、场景更复杂、业务更复杂、指标更复杂。在NLP部分的时候,绝大多数时间花在了数据-模型以及其match上。而在推荐里由于系统复杂度提升,多了更多的功夫在系统架构、代码重构、快速部署上,工程侧的东西在复杂系统中显得更为重要。秉着精益算法的思想,延续之前的系列,这里我结合自己的经验,给大家分享下如何快速的搭建一个不错baseline的推荐系统。请各位吸取精华、去其糟柏即可。
问题描述
- 今日主角:电商推荐系统
- 问题定义:为用户提供其最有可能产生交互的商品(点击、购买、分享)
- 问题举例:
- 活动页场景:淘宝、京东各电商首页、各个活动界面的商品推荐
- 购物中后置链路:购物车商品推荐、订单页商品推荐
技术价值:作为电商主要的业务场景,通过算法实现千人千面,由货找人,最大化商业指标
推荐pipeline
据我说知,电商推荐系统大的框架如下,为了方便说明问题,我画了个图来解释下。
- trigger:触发阶段,该阶段是推荐的源头,可以是用户历史浏览商品、用户偏好。通常这些数据直接从日志获取,加以简单处理。
- match:召回阶段,通过触发器,我们拿到一些商品或者触发源(类目、品牌)后,我们去关联一些商品。这里比较重要的一部分