搜尋算法小知識:QP之類目識别
1.搜尋引擎中有一套多級類目體系,通常包含數十個一級類目、數百個二級類目、甚至還有三級和四級類目。每篇文檔、每條查詢詞可以屬于一個或多個類目。例如查詢詞q =“冬季衛衣推薦”,一級類目是“時尚”,二級類目是“穿搭”。再例如 q =“狄仁傑”的一級類目是“影視娛樂”和“遊戲”,二級類目是“電視”和“手遊”,原因是狄仁傑即是電視劇中的人物形象,也是王者榮耀中的遊戲角色,有的使用者想搜電視劇,有的使用者想搜王者榮耀遊戲。在文檔釋出和更新時,系統會計算文檔類目,将其作為文檔特征存儲。查詢詞的類目由 QP 子產品線上計算,供下遊的召回和排序使用。
2. 文檔類目和查詢詞類目識别。有多種方法可以實作:a.基于多标簽的分類;b.基于層次分類實作的分類;c.基于查詢詞類目識别的分類;
3.類目識别看做多标簽的二分類問題,使用 micro F1 和 macro F1 作為評價名額。模型輸出預測 p = [p1, · · · , pk],其中 pi 表示查詢詞(或文檔)屬于類目 i(比如美甲這個類目)的機率。設定一個門檻值 τ,如果 pi > τ,則判定查詢詞(或文檔)屬于類目 i;一條查詢詞(或文檔)可以同時屬于多個類目。
4.文檔和查詢詞共享同一個多級類目體系。一篇文檔(或一條查詢詞)可以屬于多個類目,且類目是多級的,是以類目識别屬于多标簽層次分類問題。多标簽分類的基線模型以 BERT 為底座,輸出層使用 sigmoid 激活函數。做訓練時,使用 BCE 或 focal loss 作為損失函數。如果考慮到多級類目屬于層次分類問題,可以進一步使用遞歸正則,将多級類目的資訊用于訓練。
5.文檔的字數多、資訊量大,類目識别相對容易。而查詢詞很短,類目識别很困難。是以,在預訓練和微調中間,可以做後預訓練,提升查詢詞類目識别的準确性。如果把類目識别看做多個二分類問題,可以用 micro F1 和 macro F1 作為離線評價名額。如果把類目識别看做排序問題,可以用 MAP 作為評價名額。