搜广推算法
[[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和商品的相关性。
[[召回]] 覆盖率和多样性
-
[[个性化召回]] 基于用户行为
- [[u2x2i]] 可解释性,基于某种规则,建立用户和X的关系,然后再推荐和X相关的item
-
非个性化的召回,解决新用户冷启
-
-
[[DSSM]] 2013, 使用神经网络分别将表示query和doc表示成向量,向量的距离则可以用来度量二者的匹配程度。
-
- [[SimCSE]] 训练 DSSM 时采用图像领域流行的[[对比学习]]框架
-
[[面向成交效率(个性化)的向量召回优化]] 特征、数据、模型三个角度考虑
-
[[@Embedding-based Product Retrieval in Taobao Search]] 通过在语义特征基础上增加个性化特征实现语义和成交效率的兼顾
-
[[@Mobius: Towards the next generation of query-ad matching in Baidu’s sponsored search]] 召回阶段考虑相关又考虑点击率目标
-
-
[[重定向召回]]
-
DNN 双塔召回 Sampling-Bias-Corrected Neural Modeling for Large Corpus Item Recommendations
-
使用树模型检索
-
细节问题
[[相关性]]
[[粗排]] 海选
-
粗排阶段的目标是从约上万级别的候选中筛选出合规、相关且成交效率高的topN商品,这里N通常是上千量级。
-
baseline 模
-
静态分排序
-
LR
-
[[双塔粗排模型]]
-
-
优化方法
-
COLD 实现深度特征交叉 [[三塔粗排模型]]
-
通过模型蒸馏技术逼近粗排和精排的排序效果、
-
通过多任务联合综合考虑多目标的优化等
-
-
用 bias 去换 variance
-
[[@推荐系统中,粗排和精排的区别是什么,粗排又应该怎样评估模型好坏?]]
- [[粗排目标是判断item是否在精排 topk]]
-
-
[[粗排模型评估方法]] auc 或 hitrate
-
[[粗排分数融合]] 线性融合or离散化分档
[[精排]]
-
[[协同过滤]]:协同大家的反馈、评价和意见一起对海量的信息进行过滤,从中筛选出目标用户可能感兴趣的信息的推荐过程。
-
[[矩阵分解]]:使用更稠密的隐向量表示用户和物品,挖掘用户和物品的隐含兴趣和隐含特征。
- [[Neural CF]] 利用 MLP 替代原来 MF 中的点击
-
[[Logistic Regression]] 在使用 user 和 item 是否交互以及交互程度信息的基础上,使用 context 信息、user 和 item 相关信息,并将推荐看成分类问题
-
稀疏性
-
[[Lasso Regression]] L1
-
[[Ridge Regression]] L2
-
-
-
[[FM]] 自动建模特征间的二阶交叉
-
[[Tree Model]]
-
#card [[GBDT+LR]] 利用 GBDT 产生高维非线性特征
-
树模型很难学习高度稀疏数据的特征组合
-
树的深度决定是几阶交叉
-
GBDT 的特征转化方式实际上失去了大量特征的数值信息,不一定就会比 FFM 效果好。
-
-
[[MLR]] 通过多个局部 model 解决长尾问题
- 端到端的非线性学习能力,模型稀疏性强。
-
-
典型的深度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 输出层
-
-
DICE 激活函数
-
GAUC
-
Adaptive 正则化方法
-
-
[[DIEN]] 关注序列信息,通过 AUGRU 机制模拟用户兴趣进化的过程。
-
-
[[DeepMCP]]
-
[[AutoInt]] 特征工程自动化
-
-
[[@MMOE或PLE 在推荐系统点击&成交联合训练的场景下为什么跟 ShareBottom 效果差不多?]]
-
-
[[为什么在推荐系统中引入注意力机制能够有效果上的提升?]]
-
[[搜推算法的序列建模需要做self-attention吗?]]
-
-
[[多任务和多目标]]
-
[[多目标优化]]
-
-
特征选择和ID退场机制,剔除不必要的特征集合
-
[[交叉维度看精排模型]]
[[重排]]
-
-
[[LTR]] 解决item排序问题
-
[[生成式重排]]
-
[[强化学习重排]]
-
-
[[重排动机:特殊需求重排]]
-
多样性
-
[[MMR]]
-
[[DPP]]
-
-
[[流量调控]]
-
-
[[重排建模方式]]
机制 auction 和策略
-
LTR
- 模型或者规则的泛化能力要强,需要适应精排模型结果的强烈变化
-
[[为什么需要做校准]]
[[混排]]
-
针对异质内容排序,如在商品列表中插入广告、视频/图文内容、主题聚合等
横向技术
-
评估指标
-
[[Group AUC]]
-
topX 点击率
-
-
[[全链路优化]]
-
[[@全链路联动-面向最终目标的全链路一致性建模]]
-
[[CTR Bias]]
-
[[position bias]]
-
[[冷启动]]
-
[[新内容你是如何处理的?]]
-
[[用户冷启动]]
-
-
多阶段系统
-
[[你是如何理解当前流行的召回->粗排->精排的推荐架构?]]
-
[[推荐系统]]
[[搜索系统]]
-
[[排序模型优化]] 从数据(label)、特征和模型(网络结构)三个方面入手
-
查询建议 SUG
-
[[单列和双列]]
[[广告系统]]
-
[[广告系统的产品视角]] 广告主视角
-
[[效果广告]]
-
[[深度转化广告]]
不同算法之间的区别
-
[[@CTR和推荐算法有什么本质区别?]]
-
推荐需要对负样本进行采样,搜索排序使用真实样本(有相关性限制在)