图 1
Query 和 Doc 非直接命中,而是语义满足的,需要通过语义建模才能挖掘出最匹配的 Doc,如图 2。 Query 和 Doc 的标题命中不好,但是和 Doc 的内容文本命中较好,需要对 Doc 的内容域进行建模,如图 3。 对于相同的搜索请求,用户会随着时间的变化产生不同的结果页需求,需要对需求切换进行建模,如图 4。 同一个搜索 Query 下,相同匹配的结果在满足用户需求上存在差异,需要对多需求 PK 进行建模,如图 5 图2(左)和图3(右) 图 4(左)和图5(右)
数据层:主要是抓取存储解析各种数据内容。 召回层:从千亿级 Doc 中召回和 Query 相关的百万级目标,然后通过粗排模型进行进一步筛选获取十万级。 精排层:在粗排召回的基础上引入更多的精细特征,引入更复杂的模型计算获得和 Query 最相关的百级 Doc,大量的深度语义模型都分布在这一层。 混排层:主要是用于普通结果和卡片类结果进行插入混排。
精排层相关性模型,除去传统的字面匹配特征之外,重要特征是深度语义匹配。 精排层时效性模型,除去时间因子,爆发系数特征之外,重要的特征是深度语义。 深度点击模型,除了有点率,点击率,跳过率,时长之外,重要的特征也是深度语义。 TOPK 模型,除相关性,时效性,质量,热度特征之外,也有内容深度语义匹配特征。
图 6
图 7
图 8
输入层:输入信息的来源,包括 Query、Title、Content(图文核心句,视频为 ASR+OCR)、ClickQuery、Anchor、Meta、标签域等。 表示层:各个 filed 通过共享参数的方式学习各自的语义信息,模型结构深度 L=7,宽度 H=768,头数 = 12。 匹配层:采用 SE-GATING 注意力机制动态分配 Doc 的各个域的匹配权重(可理解为 Attention 机制,是通过 SE-NET 网络实现),模型结构为全连接,深度 L=2。 交互层:在考虑性能的前提下,进行更深层次的交互学习,模型结构深度 L=3,宽度 H=768,头数 = 12。
图 9
图 10
图 11
图 12
图 13
Semantic matching:建立单词、短语和句子之间的相似关系,例如 “出租车” 与 “的士”,着重解决句子级别的语义匹配。 Relevance matching:建立精确匹配关系,例如关键词命中、大片段命中以及紧密片断是否被拆散命中,着重解决 phrase 级别的精确匹配。
图 14(左)和图 15(右)
图 16
图 17(左)和图 18(右)
样本生成
图 19
离线生成式应用
图 20
涌现能力蒸馏
图 21
端到端生成
图 22
图 23