现在搜索引擎体系主要包含三大部分:
- query理解(包含query类目预测、query改写、分词、实体识别、词权重):好的query理解可以应用于后面的召回和精排重排阶段,提高准确度
- 召回:主要是粗召回,通过统计向量等方式从上亿的文档中粗略召回几百个候选集
- 精排:针对召回的几百候选集加入更多细粒度的特征进行精确再排序,并且也会加入很多用户特征以实现个性化需求
接下来就详细分开聊聊这三大部分
一、query理解
1. query类目预测
具体实现方式有三种:
- 基于统计:借助于url和类目系统的映射关系,通过收集用户搜索后的点击等行为获取到url进而反推出类目,对于行为较少的长尾数据可以通过痛session内query来预测(同一个session内的不同query可以认为是有相同的搜索诉求)
- 基于内容理解:通过bert等深度学习模型训练query到标签的映射关系,对于长尾数据,只要训练的模型泛化能力够好,就有可能进行覆盖
- 基于模型融合:基于统计和内容理解得到的多个不同维度的特征再通过GBDT等模型进行特征融合得到比较准确的结果
参考:https://zhuanlan.zhihu.com/p/351083652
2. query改写
具体实现方式有四种:
- 基于规则:比如扩展(同义词,