1. 概述
不管是搜索系统还是推荐系统中,向量召回都是一个不可或缺的一个部分,担负着重要的作用。为应对大规模数据问题,通常采用多阶段的架构,分为召回,粗排,精排,重排等多个步骤,每一个阶段的数据量会极大较少,为后续的精细化排序节约大量的时间,可以由下图所示:
而向量召回属于召回阶段,以搜索为例,传统的搜索以文本匹配为主,通过query中的词(如果是中文,需要首先对query进行分词)检索所有的候选doc,如果doc中出现了query中的词,则表示命中,最后返回所有命中的doc。在文本匹配中存在一些问题,如语义相似的问题, 比如“苹果手机”与“iPhone”指代的是同一个东西,而在传统的文本匹配中则无法解决。
注:在文本匹配中通常采用query扩展的方法匹配“苹果手机”和“iPhone”
基于向量的方法能有效解决语义鸿沟的问题。在向量召回中,通过embedding的方法分别将query和doc映射到同一个空间中,此时,query和doc的匹配问题就变成在该空间中计算query和doc的相似度。Facebook于2020年公布了其向量召回系统[1]。Facebook将向量召回应用在社交网络的搜索中,针对其场景的特殊性,提出将用户的上下文环境考虑进query的向量中。文章的主要贡献有:
- 提出统一的embedding框架
- 一个完整的embedding在线召回系统
在本文中重点阐述embedding模型进行以及相关性模块。
2. Embedding模型
2.1. Embedding模型结构
Facebook提出的统一embedding框架(以下简称为EBR)的结构如下图所示:
为了将query和doc映射到同一个空间中,EBR采用了目前业界常用的双塔模型,即使用两个神经网络分别对query和doc的编码。
2.2. Embedding模型训练
对于一个模型的训练,包括样本准备,特征工程,损失函数定义以及效果评估等几个方面。
2.2.1. 样本准备
在召回模型中,正负样本的选择决定了模型效果的上限。对于正样本的选择,[1]中给出了两种思路,分别为:
- 曝光且点击的样本。
- 曝光即作为正样本。
以上两者在文中效果类似,在实际的工作中,通常采用第一种方案,即将曝光且点击的样本作为正样本,点击代表了用户的选择,因此可以作为正样本,而曝光即作为正样本,这样会导致选择的范围太大。对于负样本的选择,[1]中也给出了两种思路:
- 随机选取。即从文档候选集中随机选取样本作为负样本;
- 曝光中未点击的样本。
从实验结论来看,第二种方法比第一种方法效果差。通俗的解释是曝光的样本未必是与query不相关的,正样本也是与query相关的,这样会导致模型很难降正负样本区分开。在[2]中提出**千万不要在整个候选库里等概率抽样 **,因为存在“二八定律”,即少数热门物料占据了绝大多数的曝光与点击。正确的做法是:当热门物料做正样本时,要降采样;当热门物料做负样本时,要适当过采样,同时,也要保证冷门物料在负样本集中有出现的机会。
2.2.2. 难样本挖掘
在实际的训练过程中,为了能够使得模型具有更强的鲁棒性,通常希望模型能够对较难的样本具有正确的区分能力,较难的样本即比较难分的样本。难样本又分为:难负样本(hard negative)和难正样本(hard positive)。
对于难负样本的挖掘(hard negative mining),[1]中提到将召回位置在101-500位的召回结果作为难样本,同时对于随机负样本和难负样本的比例,控制在100:1效果最好。
2.2.3. 特征工程
在FaceBook的向量搜索中,基于其特定的场景,使用到的特征包括query和document的文本特征、位置特征、社交Embedding特征。
- 文本特征。在文本特征中使用的是字符n元组,这样,相比词n元组,得到的模型效果更好。
- 位置特征。在本地广告、小组或事件的搜索场景中,位置匹配是很重要的。query侧增加搜索人的城市,地区,国家和语言。document侧增加管理员打的小组地域标签。再加上前面的文本特征,模型能顺利学习到query和文档间隐式的位置匹配效果。
- 社交Embedding特征。基于Facebook的社交图谱学习用户和实体的Embedding。
2.2.4. 损失函数
在EBR中采用Triplet Loss作为模型的损失函数,即
其中,Dleft ( u,v right ) 表示的是向量u 和v 之间的距离,m 表示的是正负样本之间的最小距离。
3. 总结
在召回模型的训练中,为了使得模型具有更好的鲁棒性,模型的样本尤为重要,相比而言,负样本更重要,通常,选择曝光且点击的样本作为负样本,随机选择样本作为负样本,同时,在训练过程中适当插入难负样本对于模型的鲁棒性有很好的作用。
参考文献
[1] Huang J T, Sharma A, Sun S, et al. Embedding-based retrieval in facebook search[C]//Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2020: 2553-2561.
[2] 负样本为王:评Facebook的向量化召回算法