在排序算法中,负样本的构造常常是曝光未点击,但是在召回中不可以这样,原因如下:

  • 导致SSB(sample selection bias)样本选择偏差问题,曝光的样本本身就是比较好的样本了,排序是“优中选优”,所以可以这样负采样,但是召回是从大量的候选集中选出用户感兴趣的,需要学习那些曝光没这么高的样本

  • 曝光未点击已经是上个版本召回选出来的正样本了,现在又当作负样本,冲突了

  • 导致召回模型一叶障目,只会鉴别那些高曝光的样本,对那些没出现过,少出现的样本,无法区分

所以召回算法中,常常用的是更复杂的采样方法

  • 随机负采样

  • 随机选择,但是越是流行的Item,越大概率会被选择作为负例

  • 采样hard负样本:比如前一轮召回模型中排名靠后的样本当做是负样本,但是也不能太靠后,太靠后与随机一样了