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


4)高热召回(热门召回)
这一路召回主要是新用户用的比较多,新用户刚来APP,拿不到过多的用户信息且没有行为,这种情况下,平台高热召回就起了大作用,用来做新用户冷启动;用户冷启动这里不做过多结束,后面会有专门的一节做介绍。
5)基于上下文的召回
这个和用户在APP发生行为的时间、地点等场景有关系,例如游戏推荐在白天碎片休息时间推荐小游戏,在晚上休息时间推荐大游戏、游戏时长较长的游戏等;在其他垂类上体现的话,就像打车垂类对于用户位置信息的敏感,用户刷新闻的时间等等。
6)级联召回
一般的召回是用户点击做正样本,级联是用精排排在前面的游戏做正样本,排在后面的做负样本,做召回模型的正负样本。
7)其他召回
根据业务需求,还会有其他召回,且每路召回的数量也有差异,例如为了让新用户快速留下来,新用户高热召回占比较大,但老用户的话,为了挖掘用户兴趣多样化,高热召回占比会相对小一点。
召回层也是有模型的,尤其是做电商业务,召回的模型会更复杂。
2. 排序——粗排/精排粗排和精排,都是排序,一个需要快速排序尽量去掉错误召回,一个需要贴合用户和业务需求精细准确排序。
粗排在召回和精排之间,一般需求从召回回来的万/千级别item集合中选择出千/百级别更符合业务需求的item送到精排层。平台内容少时,几乎很少会做粗排这一步,因为粗排最大的作用就是快速计算并截断召回量,使召回数据更准更适合推给用户,一般粗排需要在20ms内完成打分。
如果没有粗排模型,也可以在召回层和精排层用一些策略进行数量截断进精排,也是一种粗排手段,例如用点击转化率进行截断。
精排处理数据量少,需要模型做到更准确,通常会上一些复杂模型以及使用较多特征。
粗排和精排层可以是一个模型打分,也可以是多个模型打分融合再进行排序,多数业务需求情况下多数都是多个模型,根据业务需求,模型的目标不一样,但基本上都会有点击模型(ctr)。
下面就单独就点击模型来讲一下模型是怎么打分排序的,讲排序之前需要先知道2个概念——label和features,这2个数据,是ctr模型的主要训练数据。
label:用ctr模型举例,每个模型都有label(模型的预测目标),ctr模型的label就是用户对当下曝光的item有没有点击行为,有曝光点击就为正样本,label=1,有曝光无点击则为负样本,label=0。
features:就是特征。特征主要分为3类:用户特征、item特征、用户和item的交叉特征。

  • 用户特征:用户本身的特征,例如年龄、性别、地理位置等、登录设备(iOS/Android);
  • item特征:item本身的特征,例如标签、物品ID、天级点击次数、评论量、热门排名等;
  • 用户特征和item的交叉特征:例如item天级的点击次数、周级点击人数、天级曝光次数等。
可以看出,features是我们在推荐系统都能够收集到的数据,其中有离散型特征(例如男女、分类、整数等),也有连续型特征(例如点击率、自然数)。
在计算机只能处理数字编码的前提下,将这些信息进行编码转化,大多数推荐系统对于离散型特征多使用one-hot或embedding,对于连续性特征可以不用处理,或者先分段离散化,再使用one-hot编码。
(大多数公司使用离散型特征的较多,连续型特征使用较少,有时连续型特征也会做分桶处理——分段,其实就是变相地处理成离散型数据。)
*注,one-hot编码会将特征处理为[0 0 0 0 1],embedding会将特征处理为[0.2 0.4 0.6 0.8]
在明确了 features 和 label 的定义之后,会构造对应的训练样本: