专心做搜索也能登顶CLUE分类榜?在快手做搜索是一种怎样的体验
文 | 快手搜索
短視頻和直播,越來越成為重要的內容供給形式,而內容供給側的改變,也在潛移默化地推動著用戶搜索習慣的變化。據報道,截止今年4月,超過50%的用戶都在使用快手搜索功能,每天搜索達到2.5億次,每天有超百萬部作品被用戶搜索到,截止今年8月,快手搜索日均搜索次數超過3億,用戶利用快手搜索的習慣似乎在逐步養成。
區別于傳統的網頁搜索,在快手的短視頻搜索場景中的主要挑戰為:
主要內容是短視頻
網頁的主要信息載體為文字,往往具備比較豐富的上下文描述,而相對來說,短視頻的表達載體更加多元化,一部分上下文信息可以通過視覺或者聽覺的方式傳遞給用戶,而不再需要額外的文本描述,最終導致短視頻的文本信息往往相對網頁來說更加短小精悍;上下文的缺乏,就對模型的文本語義刻畫能力和多模態理解能力有了更高的要求。
較顯著的社區特性
快手搜索的內容生產者和消費者,都帶有比較顯著的社區特性:由于快手更加強調其社交屬性,用戶在日常的相互溝通和討論中,往往會產生一系列這個社區內獨有的“黑話”,這些社區文化的產生,一定程度上就會造成相同的文字在快手社區內和全網范圍內,表義完全不同的現象,例如:同樣是搜索“禮物”,在傳統搜索引擎中,獲取到的往往是例如“禮物如何購買”,“禮物推薦”等相關內容,而在快手社區內,term“禮物”還有另一層含義,就是網紅“小禮物”,這類具有特色的社區文化,就會使得一些開源的模型和算法,在實際場景中難以發揮出較強的作用。
▲圖2 快手網紅小禮物破圈挑戰
滿足社區內需求的同時,也需要不斷應對破圈過程中的各種挑戰:用戶規模的不斷增加和搜索需求的不斷增加,就需要相應的搜索算法能夠未雨綢繆,想辦法具備更強的泛化能力,能夠同時處理社區內(in-domain)和社區外(out-of-domain)的不同輸入和信息,從而達到為整體業務破圈保駕護航的作用。
PERKS
為了應對上述挑戰,快手搜索的NLPers針對快手搜索場景,打造了一套更加全面的模型評估體系,同時涵蓋了內部業務數據集和外部公開數據集,以此來模擬對in-domain任務和out-of-domain任務的處理能力,同時,面向快手搜索業務特點,打造了一個具有快手搜索特色的預訓練語言模型:PERKS(Pre-trained Embedding Representation for Kuai Search),相比于其他開源的預訓練語言模型,PERKS在技術上具有以下特點:
數據準備層面
分別收集了TB級別的內部和外部語料,其中,內部語料包括視頻中文字標題,高置信度的視頻ocr識別結果,和高置信度的視頻asr識別結果,該視頻的相關評論和點擊query,通過視覺學習到的視頻tag等文本內容,并通過文字出現的位置和時間等信息,將一個視頻中的文字組織成一個文檔,以便于進行訓練。外部語料中,除了常見的開源百科數據,還包括一些開源的新聞網站內容。經過各種預處理過濾掉不置信內容,去除冗余信息后,一個高質量,同時包含內部特色和外部特色的數據集就構造出來了。
訓練任務層面
為了讓模型能夠同時學習到不同領域,不同粒度的語言知識,參考MMOE思想,設計了一個多階段,多任務的學習模式,包括,第一階段(pre-pretrain)使用百科數據學習Masked Langauge Model(采用了dynamic whole-word-masking),去學習基礎的語言知識。
二階階段(pre-train),使用內部語料和外部語料進行混合,并且將訓練任務擴展為:dynamic-whold-word-masking,char-reorder,knowledge-masking(通過百科和內部關鍵實體識別技術,對齊到的知識信息進行mask),important-whole-word-masking等,并在這個階段引入sentence-order-prediction,sentence-distance-prediction,sentence-source-prediction(這段文本是來自于ocr,asr,網頁數據,還是其他部分)等任務,用于刻畫句子級知識,通過課程學習的方式,在訓練過程中逐步調整不同任務的配比,讓模型逐漸學習到更具有挑戰的知識。
經過第二階段,模型就學習到了一個比較大而全面的通用語言知識。在最終階段(post-pretrain),PERKS會針對下游任務的特點,對in-domain和out-of-domain的語料,進行不同比例的采樣,并根據當前下游任務是處理word-level還是sentence-level任務的特點,對于訓練任務進行調整,并在一個精選數據上,進行微調,例如針對ANN召回任務和雙塔語義模型,PERKS在最終階段采用了采用對比學習作為主任務,并使用其他部分任務作為輔助任務,進行最終階段的學習。
▲圖3 ERNIE-3中所采用的Knowledge-Text Prediction模型結構層面
針對不同下游任務的特點:視頻內容理解,語義相關性,query分析等,PERKS提供了一系列不同規模和不同特點的模型。同時一些常見的模型結構優化,如pre-layer-norm,采用相對位置編碼和絕對位置編碼的混合模式等方式,也都在PERKS的訓練過程中被驗證為有效并融入到模型中。
工程優化層面
為了讓TB級的語料可以更容易被使用,以及方便未來可以兼容BM25,ANN等hard negatives的生成和訓練,PERKS在分布式訓練過程中,抽象了一個分布式的DataSet用于掛載整體訓練樣本,其中,不同GPU節點使用ring-all-reduce進行梯度更新,在GPU計算和梯度更新過程中,異步data-loader不停跟這個分布式data-set進行交互,實時獲取不同的訓練樣本,從而提升整體訓練的迭代速度。此外,一些常見的訓練trick,如fp16,recompute,梯度累積,lamb等,也都被作為標配應用于PERKS中。
模型評估
如何評價 PERKS 在圈外場景的效果展現,快手搜索的NLPers把目光投向了公開數據集 CLUE 上,因搜索場景與分類的場景更加接近,由此選擇 CLUE 中的分類任務來驗證模型。在模型的迭代過程中,PERKS 在 CLUE 1.1分類任務中展現出了較好的表現,于11月4日成功登頂 CLUE 1.1分類任務排行榜,這也是給快手搜索的NLPers的一次激勵!
▲圖4 CLUE1.1分類任務排行榜(HUMAN 為人工標注結果,不參與模型排名)再來看看破圈后的 PERKS 在探針實驗上的表現。如圖5所示,可以驚奇的發現破圈后的模型不僅能夠準確預測“小紅心”,就連“小紅書”這樣的圈外知識也被模型吸收了進來!
▲圖5 探針(Probing)實驗最后
自然語言處理工程師在快手搜索場景中能夠施展才華的機會和空間還有很多,研究者也歡迎更多的 NLPer 加入進來,一起進步,一起用生活回答每一種生活!
后臺回復關鍵詞【入群】
加入賣萌屋NLP/IR/Rec與求職討論群
后臺回復關鍵詞【頂會】
獲取ACL、CIKM等各大頂會論文集!
總結
以上是生活随笔為你收集整理的专心做搜索也能登顶CLUE分类榜?在快手做搜索是一种怎样的体验的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 拍不完的脑袋:推荐系统打压保送重排策略
- 下一篇: ICLR2021 Oral |9行代码提