- 第一阶段还是单纯的语义相关性阶段,词库召回的基础已打好,但是相关性还亟待优化
- 模型召回需要做到兼顾相关性和ecpm
- 在迭代完纯语义之后,就需要将纯语义embedding作为特征,然后引入个性化特征来作向量召回了
纯语义阶段,有以下几条着手点:
- 1.特征式:
- 1.1 预训练式
- 单纯利用曝光数据作为正样本,按照simbert的训练方式在simbert基础上继续训练一个权重,直接利用该权重embedding/whitening + embedding
- 将正样本负样本均加入进来,在原始simbert基础上做nsp任务进行预训练,最后得到一个权重,直接利用该权重embedding/whitening + embedding
- 在原simbert基础上加入 ltr loss
- 这种办法比较难用评估集评估:
- 可以将 app_name 用 index 存储起来,然后输入query检索top的召回率来评估 recall@topK
- 也可以将 query向量 和 app_name向量 whitening后点积,评估 recall@precision [目前使用的是该方法]
- 1.2 相似度训练式
- sentence-bert式训练,利用sentence-bert encode向量然后检索,评估时模型输出分数预测0/1
- cosent-bert式训练,同上
- 三分类训练,同样使用sentence-bert/cosent,但是训练样本修改为 0,1,2的label,0为随机采样,1为曝光,2为点击,利用nli方式训练
- 三元组loss,训练
- 1.1 预训练式
- 2.交互式 :
- 2.1 将两句话拼成一句预测是否曝光
- 利用roberta进行 效果较差
- 利用simbert进行
- 2.1 将两句话拼成一句预测是否曝光
- 1.目前准备
- simbert
- s-bert
- cosent
- bert-esim
- interact
- dssm
- ltr模型
- 2.模型优化细节
- 训练数据及验证数据
- 预测数据,理想情况下,你需要预测明天的所有query,并且将其用离线的方式预测好存储
- 1.莫比乌斯代码实现
- 2.que2search代码完全体实现(包含doc塔的多标签分类任务)
- 3.正负样本加权代码完全实现(正样本
根号 点击次数
、负样本log query请求次数
) - 4.构造辅助塔中正样本之间的pair-wise的bid比较,将cosent**用在辅助塔的bid对比上
- 5.完善加入bid后的辅助评估指标(如bid分桶auc、bid@5等指标)