ctr|推荐策略产品经理实操(三):推荐系统与搜索系统的区别——整体逻辑流程对比

编辑导语:推荐的目的主要在于依据用户行为偏好,为用户推荐可能喜欢的事物;而搜索则是用户出于一定目的进行检索,前者为被动获取,后者为主动获取。具体而言,推荐系统与搜索系统有何差异?本篇文章里,作者从整体逻辑层面对推荐系统与搜索系统的区别进行了总结,一起来看一下。
ctr|推荐策略产品经理实操(三):推荐系统与搜索系统的区别——整体逻辑流程对比
文章插图
根据我平时接触的推荐和搜索业务,简单地将2个业务的流程进行梳理以及知识点扩展,便于需要的同学能够快速地了解2个系统的基本逻辑。
一、推荐系统逻辑推荐的本质就是为了解决信息过载造成的“选择困难症”,便于用户能够在自己选物之前,系统已经帮用户筛选到了最想要的信息。
以下是我按照用户打开APP进入推荐页面时,推荐系统返回给该用户推荐列表的整体流程:
ctr|推荐策略产品经理实操(三):推荐系统与搜索系统的区别——整体逻辑流程对比
文章插图
整个流程的重点逻辑主要在召回、排序、重排三层,这一节专门讲这一块,至于AB实验平台上的逻辑,后面会有专门的一节进行AB实验的详解。
1. 召回什么是召回?大多数人都会很快解释:召回是从物料库中获取一小部分物料,这一小部分物料会在后续的环节被模型用来进行打分排序。
【 ctr|推荐策略产品经理实操(三):推荐系统与搜索系统的区别——整体逻辑流程对比】这里我们再直白一点理解吧,召回就是捞,给用户推荐的时候,不可能把平台上所有的item都拿出来走模型排序,这样的话计算时间会很长,且资源消耗很大、不合理。这个时候就需要去平台内容库里把最适合用户的item捞出来,这就是我们说的召回。
通常都是从亿万级数据或千万级数据中捞出千百级别的item。召回这一步主要是处理数据量大,需要步骤速度够快、模型不能太复杂且使用特征相对排序少。
当然,召回也是决定个性化推荐的基础,目前来看,召回多数是多路召回(这里可以理解为通过不同限制条件去捞)。
多路召回的好处:

  • 提高召回率和准确率,这里不对这2个名词作解释,可以找相关文章自行查询;
  • 个性化推荐的基础,用户多样性兴趣探索,多元化召回;
  • 保证线上事故发生时还有存余召回兜底,避免推荐接口没有返回的数据;
  • 贴近业务,各业务需求不一样,需要进行融合(广告召回、强插、item冷启动等)。
常见的召回路径(策略都是需要数据支持且与场景强相关的):
1)协同过滤
基于用户的协同过滤,基于item的协同过滤;简单来说就是喜欢A内容的用户,还喜欢B游戏(这种召回方式比较老,现在很少有公司会用)。
协同过滤和用户及游戏都有关,矩阵,玩过就是1,没玩就是0,没玩过的游戏很多,很多都是0,所以会做矩阵分解:用户矩阵和商品矩阵,每一列就是用户向量或商品向量。
2)word2vec(词向量)
(最早用于NLP中)需要拿到用户的玩游戏序列,每个游戏做one-hot编码,会有一个神经网络模型,输入是A→B→?→D→E,输出是C,或A→B→C→D去预测E。
模型中间的隐藏层就叫词向量,和游戏有关,和用户没关,拿数据的时候和用户有关(向量用法:用户和游戏算相似度:用户A和游戏B向量做相似度计算;用户和用户、游戏和游戏)。
3)内容匹配召回
这一块主要和标签(类别)召回有关,比如:用户玩了王者荣耀,那么可以尝试召回推荐类似王者荣耀的吃鸡游戏,这是基于内容标签的召回;又或者用户玩了植物大战僵尸1,那么也可以尝试推荐植物大战僵尸2/3等,这是基于知识储备的匹配。