發布於 

Deep Natural Language Processing for LinkedIn Search

本文為 “Deep Natural Language Processing for LinkedIn Search” (2021.08) 的論文重點摘要

論文全文參考

Description

Goal

  • 討論在搜尋引擎的 5+1 項 NLP 任務實務上的作法
  • 在重視延遲問題的搜尋任務上, 如何導入 BERT
  • 三大挑戰
    • 延遲性:搜尋引擎最重要的問題之一。
    • 穩定性:這邊主要是提到 DL overfit 的問題。
    • 有效性:找出適用各種任務的最佳解法, 可能是 rule base 或 DL model。

Search system overview

大致流程為:
User 輸入搜尋句 → 檢查搜尋句完整性 → 判斷搜尋意圖 → 找尋相關候選文章 → 輸出相關候選文章排序

六大搜尋任務

六大任務概覽
六大任務概覽

Query Intention Prediction

  • Goal: 判斷 User 搜尋的目的是屬於哪一個既有標籤分類 (7類)
  • NLP task: Text Classification
  • Difficulty: 搜尋內容比一般文章來的短造成更嚴重的歧義問題
    • Example: michael dell (person names), dell engineer jobs (company)
  • Solution (short-term)
    • Method: 使用 TextCNN 的作法, backbone 使用了 GloVe 作為 embedding, 並結合了手工特徵(用戶行為, 文章統計, search log)
    • Finding
      • 不用手工特徵, 準確度掉了 0.4%
      • LSTM 雖然準度有提升 0.2%, 但延遲率較 CNN 增加了 0.5ms
    CNN based query intent prediction
    CNN based query intent prediction
  • Solution (long-term)
    • Method: 將 backbone 換成 LiBERT (Linkedin BERT)
  • Finding
    • 準確度較 CNN 提升了 3.28%, 但沒有比較延遲率的結果

Query Tagging

  • Goal: 抓出 query 中包含的 entity
  • NLP task: NER
  • Difficulty: entity 有嵌套以及歧異的問題
    • Example: research scientist (title), research (skill), scientist (title)
  • Solution
    • Feature: 分為 char based, word based, lexicon base
    • Method: 使用 semi-markov conditional random field (SCRF)
  • Finding: 由於 query 本身已經很短了, 還要再從中抽取 entity 導致大多 DL 模型效果不如建立辭典的方式 (lexicon)

Document Ranking

  • Goal: 給定 Query, 從一堆文章找出相關度排序
  • NLP task: Semantic Textual Similarity
  • Difficulty: 延遲性 & 持續有效性
  • Solution
    • Method
      • Step 1: 提取 Query 和一份文檔有多個區塊 embedding
      • Step 2: 計算 Query embedding 和各區塊 embedding 的 cos similarity
      • Step 3: 將 cos 特徵和手工特徵 concat 起來
      • Step 4: 建立 learning-to-rank layer 來計算此文檔的分數
      模型架構 (不包含 learning-to-rank layer)
      模型架構 (不包含 learning-to-rank layer)
    • Supplementary
      • learning-to-rank layer
        • Reference:Neural Ranking Models with Multiple Document Fields
        • Sign:
          • Ψ\Psi : matching netword
          • ΛD\Lambda_D : 集成 D 文檔的各區塊
          • ΦQ\Phi_Q : query representation
          • ΦD\Phi_D : doc representation
          • ΦF\Phi_F : D 文檔的各個 field representation
        • DD 文檔的檢索分數

        Ψ(ΦQ,ΦD)=Ψ(ΦQ,ΛD(ΦF1(F1),ΦF2(F2),...,ΦFk(Fk)))\Psi(\Phi_Q,\Phi_D)=\Psi(\Phi_Q,\Lambda_D(\Phi_{F1}(F1),\Phi_{F2}(F2),...,\Phi_{Fk}(Fk)))

        ranking model 架構
        ranking model 架構
  • Finding: 手工特徵是在個任務的實驗上屬於強力特徵。個人抱持懷疑的態度,畢竟驗證指標使用的是 NDCG, 而非衡量文章相似度作為指標。

Query Auto Completion

  • Goal: 在 user 輸入關鍵字的時, 同時推薦可能想輸入的候選字
  • NLP task: Language Generation
  • Difficulty: 延遲性
  • Solution
    • Candidate Generation
      • 對於過往出現過的關鍵詞, 可以用記憶體存取的方式直接讀取
      • 對於未出現的關鍵詞, 採用啟發式的方式產生候選字
        • 啟發式結果可以從三個方式去得
          • 一定時間內, 同個 session 接續查詢的 query
          • (水平) 同用戶輸入的兩個 query 有 co-word
          • (垂直) 不同用戶兩個 query 同時出現
        • Reference: Mitra and Craswell (2015)
    • Candidate Ranking
      • LSTM 計算後面要接龍字的分數值
      query auto completion 架構 (不包含 learning-to-rank layer)
      query auto completion 架構 (不包含 learning-to-rank layer)

Query Suggestion

  • Goal: 在搜尋結束時, 給予 user 下個搜尋字推薦, 類似推薦文章的想法
  • NLP task: Machine Translation (Seq2Seq)
  • Difficulty: 延遲性, 穩定性
  • Solution
    • seq2seq model
  • Finding
    • 此任務也可以用來做 query rewrite, 也許可以避免一些 user query 的冷門字
      • Example: software developersoftware engineer

BERT Pretrained

  • Goal: 訓練基於自己 domain 的 BERT model
  • NLP task: Eembedding
  • Difficulty: 延遲性
  • Solution
    • 收集自有的 domain data
    • 使用輕量的 BERT 架構 (12層 → 6層), 以利加快推論速度

Conclusion

  • 依據任務 & 資料特性決定要使用甚麼樣的 model, 不一定都要套用 DL model
    • 文中指出在 Query Tagging 和 Query Auto Completion (seen) 上 DL model 沒有 benefit
  • 對於延遲性的建議
    • 重新設計算法 (e.g., query auto completion)
    • 平行計算 (e.g., query suggestion)
    • Embedding pre-sum (e.g., document ranking)
    • Two stage ranking (e.g., document ranking)
  • 對於穩定性的建議
    • Check training data, 剔除高度相似的資料
    • Reuse 手工特徵, 這邊指的是避免過度依賴文字相關的結果



本"頁面"訪問 次 | 👀總訪問 次 | 🎎總訪客


本站由 @yifor 使用 Stellar 主題創建。
本 Blog 所有文章除特別聲明外,均采用 CC BY-NC-SA 4.0 許可協議,轉載請注明出處。