推荐系统召回

2.1 ItemCF:基于物品的协同过滤

请添加图片描述
请添加图片描述

  • 这里的 Sim() 不是指物品本身的相似度,而是指喜欢物品的受众群体之间的相似度,上面的公式没有考虑喜欢的程度。
  • 考虑喜欢程度公式修改如下:本质是余弦相似度

请添加图片描述
线上环境:
请添加图片描述
请添加图片描述
请添加图片描述
缺点:社群对算法的误导

请添加图片描述

2.2 Swing 召回

请添加图片描述
请添加图片描述

2.3 UserCF: 基于用户的协同过滤

请添加图片描述
请添加图片描述

  • 缺点:热门的物品无法越无法反应用户的兴趣,需要降低热门物品的权重

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述

2.4 离散特征处理

请添加图片描述

2.5 矩阵补充

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

  • 矩阵补充方法在实践中效果不好。

请添加图片描述
请添加图片描述

请添加图片描述
请添加图片描述

请添加图片描述

  • 对向量做归一化,让他们的二范数全都等于1,那么余弦相似度和内积相似度相等。

2.6 双塔模型

2.6.1 模型结构

请添加图片描述
请添加图片描述
请添加图片描述

2.6.2 双塔模型的训练

请添加图片描述

Pointwise 训练

请添加图片描述

  • 这里的1:2或者1:3是经验值。
Pairwise 训练

请添加图片描述
请添加图片描述

Listwise 训练

请添加图片描述
【说明】上面有笔误,下面的这行都是“-”

请添加图片描述

  • 之前的召回模型设计是最后一层做后期融合,这里的错误设计在前期就做了融合。这里的计算量太大了(要算预估值的话必须1-1对比才行)。

2.6.3 正负样本

请添加图片描述
请添加图片描述

简单负样本

请添加图片描述
请添加图片描述

Batch内负样本

请添加图片描述
请添加图片描述
请添加图片描述

  • 在线上做召回的时候不用减掉log p i p_i pi
困难负样本

请添加图片描述
工业界中的负样本训练数据:

  • 混合几种负样本
  • 50%的负样本是全体物品(简单负样本)
  • 50%的负样本是没通过排序的物品(困难负样本)
常见错误
  • 曝光但未点击的作为负样本
    请添加图片描述
    请添加图片描述

2.6.4 线上召回和模型更新

线上召回


模型更新:全量更新 vs 增量更新



  • 增量更新:每隔几十分钟,发布最新的 ID Embedding

2.6.5 双塔模型、自监督学习

自监督的目的是把物品塔训练的更好。

损失函数:

纠偏:


到这里是双塔模型同时训练用户塔和物品塔的过程。











自监督物品塔训练:


/ a l p h a /alpha /alpha: 超参数

2.7 Deep Retrieval 召回


2.7.1 索引


2.7.2 预估模型


2.7.3 线上召回




2.7.4 训练






补充几点:

  1. 双塔使用单向量召回,导致召回结果集中在单个topic上。字节做deep retrieval的目的是多兴趣召回(multi-interest)。deep retrieval召回多条路径,每条路径是一个兴趣点,所以属于multi-interest。
  2. 据说抖音已经下掉了deep retrieval,因为有了更好的模型。
  3. 这是抖音实际在用的multi-interest retrieval,建议读一下:Trinity: Syncretizing Multi-/Long-tail/Long-term Interests All in
    One

PS:双塔模型也有改进版处理 multi-interest 的情况,多点建模比多边好计算

2.8 其他召回通道:地理位置召回、作者召回、缓存召回

GeoHash 召回


同城召回

作者召回

关注作者召回

交互作者召回

相似作者召回

缓存召回


2.9 曝光过滤 & Bloom Filter








点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部