搜广推算法

[[搜广推算法的意义]]

[[Feature Engineering]]

  • 可以划分成一下几个维度 #card
    • 用户侧特征(profile、bias)
    • item侧特征(属性、bias)
    • context侧特征
    • 笛卡尔积特征(id类、可泛化类特征)
    • 序列特征

[[Query Processor]]

  • [[Query 类目预测]] → 对用户query进行分类,判断用户的商品类目意图
  • [[Query 改写]] → 通过对用户的query进行归一、纠错、拓展、丢词等处理,做到更好的商品召回和匹配。
    • Query 归一 → 通过简单的字符串处理进行query改写,如去空格、大小写转换、特殊字符处理等,为最简单的query改写方式。
    • Query 纠错 → 对有拼写错误的query进行主动纠错,减少误召回,提升召回数量和准确性。
    • Query 丢词 → 对于空结果、少结果query进行非关键词的丢弃,一般用于二次召回,提高召回数量。
    • [[Query 拓展]] → 根据query语义或意图进行拓展,找到与源query意图一致的一组query,并与源query一同进行检索,进而丰富搜索召回的结果。
  • [[Query 实体识别]] → 对query进行序列标注,识别query中的品牌、品类等属性信息,以帮助更精细的匹配用户意图。
  • [[Query term weighting]] → 通过识别query中term的重要度,理解用户核心意图,进一步提升query和商品的相关性。

[[召回]] 覆盖率和多样性

[[相关性]]

[[粗排]] 海选

[[精排]]

  • [[协同过滤]]:协同大家的反馈、评价和意见一起对海量的信息进行过滤,从中筛选出目标用户可能感兴趣的信息的推荐过程。
  • [[矩阵分解]]:使用更稠密的隐向量表示用户和物品,挖掘用户和物品的隐含兴趣和隐含特征。
    • [[Neural CF]] 利用 MLP 替代原来 MF 中的点击
  • [[Logistic Regression]] 在使用 user 和 item 是否交互以及交互程度信息的基础上,使用 context 信息、user 和 item 相关信息,并将推荐看成分类问题
    • 稀疏性
      • [[Lasso Regression]] L1
      • [[Ridge Regression]] L2
  • [[FM]] 自动建模特征间的二阶交叉
  • [[Tree Model]]
  • [[GBDT+LR]] 利用 GBDT 产生高维非线性特征 #card
    • 树模型很难学习高度稀疏数据的特征组合
    • 树的深度决定是几阶交叉
    • GBDT 的特征转化方式实际上失去了大量特征的数值信息,不一定就会比 FFM 效果好。
  • [[MLR]] 通过多个局部 model 解决长尾问题
    • 端到端的非线性学习能力,模型稀疏性强。
  • DNN & Embedding
    • 典型的深度CTR模型可以分成以下四个部分:输入、特征嵌入(Embedding)、特征交互(有时候也称为特征提取)和输出。
      • input->embedding
      • embedding:concatenate, product, weight sum, bi-interaction
      • embeding->output
        • 这一步中如果使用 mean pooling 会丢失部分信息
    • 通过 embedding 来对输入数据进行降维
    • [[POLY2]] 暴力组合交叉特征
    • [[FNN]] 解决 DNN 中输入的特征过多,利用 FM 预训练的隐向量做 embedding,然后接 MLP。没有端到端训练,降低深度学习模型复杂度和训练不稳定性。
    • [[Wide&Deep]] 模型两种能力,人工特征工程,联合训练
    • [[PNN]] 将特征交叉的结果输入到 DNN 中,在不同特征域之间进行特征交叉。左边 emb 层的线性部分,右边 emb 层的交叉部分 向量内积和外积。交叉方式多样化,但是对所有的特征进行无差别交叉。
    • [[NFM]] Deep 部分进行修改,引入特征交叉池化层。二阶交叉不去sum pooling,而是后接一个 MLP
    • [[Deep Crossing]] embedding + MLP 结构,摆脱人工特征工程,特征深度交叉。
    • [[ONN]]
    • [[Deep&Cross]] 二阶交叉到高阶交叉之间的特征交叉,bit-wise 特征交叉。
      • Cross网络 利用 Cross 网络替代原来的 Wide 部分。
    • [[DeepFM]] FM+Embedding+MLP
    • [[xDeepFM]] vector-wise 交叉
    • [[Attention]] 机制作用于深度神经网络,将原来的 pooling 改成加权求和或加权平均
      • [[AFM]] 二阶交叉部分引入 [[Attention]] ,后来没有接 MLP
        • 注意力网络:简单全连接层 + softmax 输出层
      • [[DIN]]
        • DICE 激活函数
        • GAUC
        • Adaptive 正则化方法
      • [[DIEN]] 关注序列信息,通过 AUGRU 机制模拟用户兴趣进化的过程。
    • [[DeepMCP]]
    • [[AutoInt]] 特征工程自动化
  • [[@MMOE或PLE 在推荐系统点击&成交联合训练的场景下为什么跟 ShareBottom 效果差不多?]]
  • [[行为序列建模]]
    • [[为什么在推荐系统中引入注意力机制能够有效果上的提升?]]
    • [[搜推算法的序列建模需要做self-attention吗?]]
    • [[序列建模可以建模联合概率吗]]
  • [[多任务和多目标]]
    • [[多任务学习]]
      • 并发模式
        • 最传统、最基础的共享底层结构拆分成多个专家,从而衍生出[[MoE]];再将MoE中为所有任务共享的Gate拆分成每个任务独享一个门控,从而衍生出[[MMoE]];最后将MMoE中为所有任务共享的专家拆分成任务独占与任务共享,衍生出[[PLE]]
        • 问题:负迁移、[[跷跷板现象]]
      • 串行模式
        • 串行建模的典型应用场景是用于电商场景下预测CVR,其主要难点在于如何解决训练与预测两阶段之间可能存在的样本选择偏差。
        • 在具体做法上,[[ESMM]]和[[ESM2]]的思路是,将CVR表达成隐形目标,通过优化CTR与CTCVR间接优化之。[[ESCM2]]则采用完全不同的思路,通过修正样本权重,使得虽然我们是在点击样本上训练CVR目标,但是等价于在曝光样本上的训练效果。
    • [[多目标优化]]
  • [[多场景]]
  • [[Life Long Learning]]
  • [[交叉维度看精排模型]]

[[重排]]

机制 auction 和策略

[[混排]]

横向技术

[[搜广推大模型]]

+

[[推荐系统]]

[[搜索系统]]

[[广告系统]]

不同算法之间的区别

参考资料

网络回响

作者

Ryen Xiang

发布于

2026-02-17

更新于

2026-02-17

许可协议


评论