-
论文是基于什么问题提出来的
在搜索排序框架中设计NLP的部分计算用户query和候选document之间相关性,这对于搜索产品系统中的在线服务是十分低效的。本文主要讨论如何通过架构层面的设计,在线上实时应用中嵌入BERT类的复杂模型。
-
解决该问题有什么困难点
因为如BERT这类模型需要很高的计算能力,使用时需要花费大量时间,所以如何通过架构层面的设计,在线上实时应用中嵌入BERT类的复杂模型是主要的困难点。
通过独立的计算query 和 document 嵌入,可能会失去queries 和documents 在词级之间的关联性,所以需要权衡开发基于BERT的排序模型的准确性和高效性。
-
论文提出了什么方法
提供了个新的模型设计,采用表示结构(representation-based)的基于BERT的排名模型。
并将该方法扩展到一个通用的排名框架DeText,可以灵活地应用于不同的搜索产品
-
具体的模型设计为什么能够解决该困难
在DeText 框架中,文本嵌入层可以使用CNN/LSTM/BERT。如果用的是CNN/LSTM,在Token Embedding 层,token是一个单词,在BERT中,token是subwords,再在文本嵌入层中使用对应的NLP模型。
在在线部署中,如何通过框架结构层面的设计来嵌入BERT类的复杂模型呢?
采用文档预计算来进行搜索排名(离线的),对于离线文档嵌入使用BERT预先计算的,并保存在嵌入存储中。嵌入存储是key-value存储,每天定时刷新。输入搜索index后,从预计算的嵌入存储中获取document 嵌入的document id。这样可以只在query时进行BERT在线计算,由于document text比 query text大的多,所以可以明显减少在线的计算时间。
DeText-CNN 采用的不同的在线集成策略:对源和目标进行实时推理。实时推理可以简化在线系统设计,而不需要预计算或刷新document 嵌入。
该框架中,使用两边排名模式(two pass ranking box)来限制延迟。在MLP层中,只有一个Hidden layer,没有deep features,所以速度很快。排名后,只有排名靠前的数百个document会被发送到DeText-CNN模型。
-
最后总结下论文的创新点
提供了一种结构来支持NLP排序,并且具有下列优点:
1.支持最先进的语言模型(CNN/BERT/LSTM)2.效果和效率之间达到平衡。3.提供模块化配置提高灵活性。
双向的排名框架有两个好处:
1.易于实施和部署
2.MLP排名器可以过滤掉大量无关文档
3.延迟有限,CNN可以适用于少量人群
-
分析下他所对比的方法的不足的原因
1.DeText-MLP、DeText-CNN、DeText-LiBERT:由于DeText-MLP不使用任何文本嵌入,所以DeText-CNN比他要好一些。DeText-LiBERT能够进一步提高NDCG的分数。由上述两个模型表明,深度学习模型能够捕捉大量语义文本匹配,是因为对人为特征制作功能的必要补充。
2.DeText-BERT(BASE)、DeText-LiBERT:在人员搜索和工作搜索方面,LiBERT的表现要比BERT要好一些。因为LiBERT需要域内数据的预处理且LiBERT的参数只有BERT(BASE)的1/3.
一些补充
基于交互(interaction based)模型和基于表示(representation based)模型
representation based model: query 和 document 先各自计算表示向量,再计算相似度。优点是document的表示向量可以离线计算存储,降低实时处理的计算量。缺点是由于交互时只有高层级的抽象语义表示,无法进行局部文本片段的匹配。
interaction based model:query 和 document从一开始就合并处理,中间过程不产出独立表示向量,直接给出相似度得分。优点是效果好,缺点是计算负担大。
领英选择了representation based model
DSSM
全称Deep Structured Semantic Model,利用深度神经网络把文本(句子、Query、实体等)表示成向量,应用于文本相似度匹配场景下的一个算法。