引言
深度语义匹配在闲鱼搜索相关性计算中扮演重要角色,相关工作在文章[1]《闲鱼搜索相关性——体验与效率平衡的背后》中有简单的介绍。如题,本文介绍前段时间在深度匹配任务上的另一种尝试,通过检索和生成任务联合训练的方法提升相关性匹配的效果。
融合生成任务提示匹配主任务的思路并不新颖,而在BERT流行的今天,本文则参考[2]《鱼与熊掌兼得:融合检索和生成的SimBERT模型》,稍加改动,使用BERT为Backbone来重新实现类似的思路,模型暂且仍叫SimBert。
现状
闲鱼搜索的深度语义匹配前期做过多种尝试,但最终全量策略有两种:
1. 基于双塔语义匹配:以BERT为基模型的双塔模型,使用对比学习loss和难样本负采样的模型训练。预测阶段Query和Item的向量离线计算,线上计算二者的余弦距离作为相关性分。
2. 基于Later-Fusion的深度语义匹配:在双塔模型的基础上,增加多层全连接的后融合模块,全连接网络的输入为双塔模型的输出向量,最后使用人工标注数据训练分类任务(相关或不相关)。此外通过非双塔结构的交互式BERT匹配模型作为Teacher模型进行模型蒸馏。线上双塔模型仍为离线向量计算,多层全连接部署实时预测服务,预测Query和商品的相关性分。