美文网首页
[搜索引擎] Facebook向量召回算法

[搜索引擎] Facebook向量召回算法

作者: nlpming | 来源:发表于2021-12-26 21:53 被阅读0次

    1. 简介

    • 本文介绍了embedding技术在Facebook搜索的应用。本文主要介绍embedding技术在Facebook搜索召回的应用,简单来说就是将Query, Doc都表示成向量,然后通过计算Query Embedding最近邻Doc Embedding来召回相关文档。召回层使用的技术一般有两种:一种是基于term匹配的倒排索引召回,另外一种就是基于Embedding的召回。 文本Facebook提出的基于Embedding的召回模型,也是一种双塔召回模型,类似DSSM模型结构,本文称之为Unified Embedding模型。Unified Embedding模型在得到Query, Doc embedding的时候,不仅考虑了文本信息,还考虑了上下文信息。
    基于Embedding检索系统架构.png

    2. 模型结构&Loss

    • Unified Embedding模型结构如下,模型由三部分组成:
      (1)Query Encoder用于得到Query的向量;考虑了额外的上下文信息,比如当前搜索位置,社交属性特征。
      (2)Doc Encoder用于得到Doc的向量;也考虑了额外的上下文信息。
      (3)Similarity Function用于计算Query, Doc embedding相似度;本文选用的cosine相似度。
    • 离线会将Doc的embedding事先计算好存起来,Query的embeding在线计算,然后使用faiss召回最相似的Doc;
    • 本文选用的损失函数是Triplet Loss,输入是一个三元组包括:(Q, D^+, D^-);数学表达式如下,其中m表示margin值,需要自己设定,这个值对结果的影响非常的大。
    Triplet损失函数.png
    Unified Embedding模型.png

    3. 样本选择&Hard negative挖掘

    • 负样本的选择: 本文尝试了两种方法,第一种是随机选择负样本,第二种是将曝光未点击的样本作为负样本。最后发现将曝光未点击作为负样本,导致了非常差的结果。
    • 正样本的选择: 第一种是将点击样本作为正样本,第二种是将曝光样本作为正样本。最后发现效果基本一样。
    • Hard negative样本挖掘:具体这块参考知乎大佬的解释:负样本为王:评Facebook的向量化召回算法

    参考论文

    参考资料

    相关文章

      网友评论

          本文标题:[搜索引擎] Facebook向量召回算法

          本文链接:https://www.haomeiwen.com/subject/oikeqrtx.html