机器学习与数据挖掘

讲人话系列——电商推荐系统

2019-05-06  本文已影响578人  张凡宇

概述

从18年11月开始,接触推荐系统半年左右时间,对推荐系统有了基本的认识。相比于之前做的nlp任务,推荐系统复杂更多,数据来源更复杂、pipeline更复杂、场景更复杂、业务更复杂、指标更复杂。在NLP部分的时候,绝大多数时间花在了数据-模型以及其match上。而在推荐里由于系统复杂度提升,多了更多的功夫在系统架构、代码重构、快速部署上,工程侧的东西在复杂系统中显得更为重要。秉着精益算法的思想,延续之前的系列,这里我结合自己的经验,给大家分享下如何快速的搭建一个不错baseline的推荐系统。请各位吸取精华、去其糟柏即可。

问题描述

技术价值:作为电商主要的业务场景,通过算法实现千人千面,由货找人,最大化商业指标

推荐pipeline

据我说知,电商推荐系统大的框架如下,为了方便说明问题,我画了个图来解释下。

  1. trigger:触发阶段,该阶段是推荐的源头,可以是用户历史浏览商品、用户偏好。通常这些数据直接从日志获取,加以简单处理。
  2. match:召回阶段,通过触发器,我们拿到一些商品或者触发源(类目、品牌)后,我们去关联一些商品。这里比较重要的一部分就是通过商品-商品的关联。也就是推荐里面协同过滤发挥作用的地方。
  3. rank:排序阶段,召回后的商品量很大,我们可以通过一些ctr(点击率)、cvr(转化率)模型对topN进行精细化排序。
  4. rerank:重排序,多为全局性考虑,需要对结果再次排序。比如类目打散、品牌打散,所以很多时候也叫打散阶段。


    推荐pipeline

好叻,根据上图简单介绍下推荐流程:

推荐pipeline的思考

这里针对每个阶段进行一个细节讲解,指出个人觉得重要的地方。

思考1:关于trigger选取

思考2:关于是否需要trigger

思考3:协同过滤user to item VS item to item

思考4:协同过滤的优劣

思考5:rank VS match

思考6:rank 模型

思考7:rerank VS rank

推荐业务思考

思考1:推荐场景差异度巨大

思考2:如何发现迭代点

思考3:迭代流程

推荐系统思考

思考1:数据很重要,数据很重要,数据很重要!!!

思考2:探案一样进行探索

思考3:快速部署

思考4:关于深度学习

思考5:关于离线评估

思考6:推荐系统高性价比部分

上一篇 下一篇

猜你喜欢

热点阅读