多任務學習在轉轉搜索意圖理解的實踐
搜索是轉轉主要的流量分發入口,搜索場景覆蓋了App首頁搜索、App頻道頁搜索以及小程序搜索等各種服務入口。意圖理解旨在準確地解讀用戶輸入的搜索關鍵詞背后的真正需求,對搜索體驗的好壞至關重要。通過意圖理解,搜索引擎可以調整搜索策略,提供與用戶意圖匹配的搜索結果,提高搜索結果的相關性和用戶體驗。此外,意圖理解還可以幫助搜索引擎提供更多的個性化服務,如推薦相關內容、智能提示等,從而進一步提高搜索的效果和用戶滿意度。
意圖理解簡單來說就是從詞法、句法、語義三個層面對 Query 進行結構化解析。在電商場景的首要問題是query的類目預測,例"iphone 15 pro 128 白色"的結構化類目為手機(類目)-蘋果(品牌)-15 pro(型號)。轉轉的類目體系龐大、類目層級間存在關聯,且query可能屬于多個類目。轉轉的類目預測可理解為三個有關聯性的任務。
本文主要介紹多任務學習在轉轉搜索意圖理解的類目預測中的實踐。首先介紹多任務學習的基本概念;其次介紹業界類目預測的方法;最后展示多任務學習在轉轉意圖理解類目預測場景下的探索。
1 多任務學習簡介
1.1 什么是多任務學習
多任務學習(MTL)機器學習中的一種學習范式,目的是利用包含在多個相關任務中有用的信息,以幫助提高所有任務的泛化性能。其核心思想是利用不同任務之間的共享表示來學習一個通用的特征提取器,從而實現知識的遷移和任務的協同優化。
MTL與機器學習的其他學習范式存在相關性,例如遷移學習(transfer learning)、多標簽學習(multi-label learning)和多輸出回歸(multi-output regression)。多任務學習與遷移學習的設置相似但有顯著差異;多任務學習不同任務沒有區別,目標是提高所有任務的性能;而遷移學習是通過源任務來提高目標任務的性能。多標簽學習和多輸出回歸每個數據都與多個labels相關聯,這些labels可以是類別也可以是回歸的數字;多標簽學習和多輸出回歸是多個任務擁有相同的數據,但多任務學習不同的任務擁有的是不同的數據;如果把每個可能的標簽作為一個任務,多標簽學習和多輸出回歸某種意義上可以看作是多任務學習的一種特殊情況。多視圖學習是機器學習的另一種范式,每個數據有多個視圖,每個視圖包含一組特征,盡管不同視圖有不同特征,但所有視圖被用于學習同一個任務,因此多視圖學習屬于具有多組特征的單任務學習。
MTL與其他范式不同之處
多任務學習包含五種方法,特征學習方法、低秩方法、任務聚類方法、任務關聯性學習方法和分解方法。這些方法的詳細介紹可參考[1]。
1.2 NLP的多任務學習
近年來,在機器學習問題中,基于數據驅動的神經模型取得了巨大的成功。在自然語言處理(NLP)領域,引入transformer和預訓練語言模型(PLMs)(如BERT、T5和GPT-3),在多個下游任務的性能上實現了巨大的突破。雖然預訓練使得PLMs具備了通用的百科知識和語言知識,但在下游任務中使用PLMs仍然需要進行任務特定的適應。然而,充分訓練這樣的模型通常需要大量的標記訓練樣本,這在NLP任務中往往是昂貴的。隨著神經模型的規模不斷增大,訓練它們需要巨大的計算能力,以及龐大的時間和存儲預算。為了進一步提高模型性能,解決數據稀缺問題,并實現成本效益的任務適應,結合PLM和MTL的方法[2]被用于處理NLP任務。
NLP的MTL-并行架構
NLP的MTL-層級架構
基于任務之間的關聯性如何被利用,MTL架構可分為以下幾類:并行架構、層級架構、模塊化架構和生成對抗架構。并行架構將模型的大部分共享給多個任務,每個任務有自己的任務特定輸出層。層級架構模型化了任務之間的層級關系。這種架構可以從不同任務中層級地組合特征,將一個任務的輸出作為另一個任務的輸入,或者明確地模型化任務之間的交互。模塊化架構將整個模型分解為共享和任務特定的組件,分別學習任務不變和任務特定的特征。與上述三種架構不同,生成對抗架構借鑒了生成對抗網絡的思想,以提高現有模型的能力。需要注意的是,不同類別之間的邊界并不總是固定的,因此一個具體的模型可能適用于多個類別。盡管如此,這個分類體系可以闡明MTL架構設計背后的重要思想。NLP中多任務學習的架構和優化技術可參考[3]。
2 業界類目預測方法
意圖理解在電商中扮演著不可或缺的角色,對于提升電商平臺的競爭力和用戶體驗至關重要。這里的意圖理解指狹義的類目預測(CP),其目標是識別給定文本的意圖類別。
阿里[4]提出了一個深層次分類框架,將多尺度層級信息納入神經網絡中,并根據類別樹引入了一種表示共享策略。作者還定義了一種新穎的聯合損失函數,以懲罰層級預測損失。
Deep Hierarchical Classification
美團[5]將意圖識別分為兩步,第一步是意圖召回,這塊是轉換為了分類任務,只判斷某個查詢是否包含某種意圖。線上采用詞典匹配+規則+模型的方式進行識別,詞典主要包含業務和領域相關數據,詞典和Pattern規則,能比較好的解決熱門識別,針對長尾部分,主要靠Bert模型來解決泛化識別問題;第二步是意圖分布,意圖召回完了以后,作者還要知道當前搜索的各個意圖的強弱,尤其是找到主意圖,就是圖上面部分的意圖分布,作者將其轉化成排序問題。由于線上展示的每條POI結果,后臺都有明確的業務歸屬,所以作者就可以依據這個業務歸屬信息和用戶點擊行為,獲得有標注的訓練語料,來訓練排序模型。模型特征主要分為兩部分,一是統計類的特征,包括一些CTR、CVR及相關的用戶行為的特征。二是Embedding類特征,進行語義的表達。
美團意圖識別
京東到家[6]在搜索品類預測場景下主要嘗試的方法有兩種,一類是直接采用層級性多標簽分類,第二類是采用語義模型,結合用戶點擊,訂單,成交等特征進行融合模型擬合出對應不同品類的得分取topN作為預測的品類傾向。
京東意圖識別
3 多任務學習在轉轉的實踐
轉轉平臺致力于促進低碳循環經濟的更好發展,能夠覆蓋全品類商品。在N品類第二曲線背景下,我們需要在保證手機3C領域效果的同時,提升N品類的搜索體驗。
3.1 多任務學習在類目預測的實踐
轉轉的類目預測包含類目、品牌和型號三個層級。我們數據存在如下特點:(1)不同類目數據不均衡。(2)層次不一致: 有些query到類目,例手機、平板和吉他;有些query到品牌,例華為手機和卡西歐手表;有些query到型號,例realmegt大師驍龍778和airpods pro 二代。(3)類別巨大:品牌有上千個,型號有上萬個。考慮到數據特點,我們從數據采樣、技術選型和訓練技巧三個層面通過組合拳提升類目預測效果。
我們基于優勢品類降采樣和弱勢品類重采樣的方式彌補數據不均衡問題,例如手機類目采樣50%,4類目采樣80%,N類目重采樣200%。我們將類目預測轉換為類目、品牌和型號三個任務,緩解某任務空標簽占比較高的情況。我們使用分類解決類別較少的任務,類別較多的任務用文本匹配做,也即類目和品牌使用分類、型號使用匹配。
技術選型
對于類目和品牌分類任務,我們使用roberta[7]產出query文本向量后接全連接層獲取類別得分;對于型號匹配任務,我們使用roberta孿生網絡分別產出query和型號的文本向量再計算出相似度得分。分類模型使用交叉熵損失函數,匹配模型使用對比學習SimCSE[8]損失函數, MTL的loss使用三個任務loss的加權和。
我們利用多任務學習提升模型性能、增強泛化能力、提高數據效率,并促進知識遷移和跨任務學習的優勢,應用到意圖理解給線上帶來下單提袋率的提升。
3.2 多任務學習在轉轉的未來規劃
通過人工評估以及線上AB實驗,充分確認了多任務學習訓練多個相關任務的有效性,在類目預測模塊落地后,可以用于意圖理解其他模塊,例命名實體識別。召回模塊的向量召回或es召回都用到了文本的特征,也可以將多任務學習用于召回模塊。
參考文獻
[1]A Survey on Multi-Task Learning.
[2]Multi-Task Deep Neural Networks for Natural Language Understanding.
[3]Multi-Task Learning in Natural Language Processing: An Overview.
[4]Deep Hierarchical Classification for Category Prediction in E-commerce System.
[5]https://zhuanlan.zhihu.com/p/370576330
[6]https://www.modb.pro/db/152185
[7]RoBERTa: A Robustly Optimized BERT Pretraining Approach.
[8]SimCSE: Simple Contrastive Learning of Sentence Embeddings.
關于作者
李瑩瑩,轉轉算法工程師,主要負責搜索意圖理解&召回、智能客服相關工作。