搜尋排序技術簡介

魚與魚發表於2022-03-13

技術架構

整體可以分為 檢索召回、排序

image-20220313182826064

搜尋相關的策略大體分為如下

  • query 理解->分詞,糾錯,意圖識別,term weight 等
  • 召回-> bool檢索,倒排索引, bm25, tf-idf, 語義相似度 等
  • 排序-> learning to ranking,深度模型 等

儘快劃分為不同階段,但總體任務可以概括為匹配。針對不同階段,使用不同的方法,使全流程達到最優。

image-20220313182620787

愛奇藝搜尋排序架構

image-20220313182216722

其中有運營配置模組,這裡我們支援人工定義,在特定的Query和場景下,吐出相應的Doc。

預測服務採用Lambda架構,索引部分主要分為兩大塊——全量索引和實時索引,均匹配對應的召回、粗排、精排流程

方法概述

召回

指標:召回率

經典的雙塔模型

召回的種類,如常規、結構化、語義的倒排索引以及向量召回等。向量召回包括DSSM召回、Bert召回等,線上採用ANN計算方式

基於文字語義向量表徵

基於空間向量模型 + Bag-of-Ngram

F1EXP、DFR、F2EXP、BM25、TFIDF等多種檢索演算法

排序

Learning to Rank

Pointwise模式下模型使用的Cross Entropy Loss作為損失函式,優化目標是提升分類效果,而Pairwise模式下模型使用Hing Loss作為損失函式,優化目標是加大正例和負例在語義空間的區分度

語義匹配

  • 基於詞向量的隱語義文字表示(如:詞向量的avg/max pooling作為文字向量、Doc2vec等)

  • 表示型語義匹配方法將query和item內容通過encoder網路分別表示成隱語義向量,並通過向量距離度量二者之間相似度。如DSSM。

  • 互動型語義匹配則通過query和item的early fusion(query-item特徵互動融合)來實現細粒度語義的匹配,如ARC-II、ESIM。

雙塔模型用於粗排和用於召回的區別有哪些?

大概可以從樣本、特徵、網路結構、Loss、評估等方面來進行區分。

  1. 樣本

    1. 召回正例是真實正例,負例通過取樣(全域性取樣、batch內取樣等)得到。
    2. 粗排正負例都是從使用者的真實正負例中選取。
  2. 特徵:無區別

  3. 網路結構:粗排和召回在網路結構的區別是:雙塔的互動時機不同。

    1. 召回一般是通過雙塔分別得到user emb和feed emb,然後簡單進行cos/mul計算;為了效率以及使用近鄰搜尋元件來進行線上召回,雙塔之間的互動只能在最後的emb層來做。
    2. 粗排可以在雙塔的底層就可以對不同塔的特徵進行互動得到交叉特徵。
  4. Loss

    1. 召回一般是單目標模型,通過pointwise(sigmoid)或者pairwise(sample softmax)來計算loss。如果需要達到多目標的效果。一般業內有兩種做法,一種根據多個目標訓練多個召回模型,然後線上多路召回/融合;一種是不同行為做加權生成label權重,通過調節label權重來達到多目標的效果。
    2. 粗排一般是多目標模型,不同目標得分進行融合得到粗排分。
  5. 評估

    1. 召回使用的評估指標是hit rate等指標
    2. 粗排一般使用排序的評估指標auc、uauc等

連結:https://www.zhihu.com/question/481531973/answer/2079580148

references:

[1] WSDM Cup 2020檢索排序評測任務第一名經驗總結. https://mp.weixin.qq.com/s/k5wNtV057c7cMrjSdQAULw

[2] 愛奇藝搜尋排序演算法實踐. https://mp.weixin.qq.com/s/gvFagKMgGKE2ZFic1znQWg

[3] 搜尋演算法一年總結. https://zhuanlan.zhihu.com/p/364281565?utm_source=wechat_session&utm_medium=social&utm_oi=768447476708438016&utm_campaign=shareopn

[4]《搜尋與推薦中的深度學習匹配》之搜尋篇. https://zhuanlan.zhihu.com/p/38296950?utm_source=wechat_session&utm_medium=social&utm_oi=768447476708438016&utm_campaign=shareopn

[5] Deep Learning for Matching in Search and Recommendation. Jun Xu, Xiangnan He and Hang Li.

[6] 深度學習在搜尋業務中的探索與實踐. https://mp.weixin.qq.com/s/A7Qg1gd66aksA6npJl3dNQ

[7] KDD Cup 2020多模態召回比賽亞軍方案與搜尋業務應用. https://zhuanlan.zhihu.com/p/258949239

相關文章