基於預訓練語言模型的行業搜尋的應用和研究

WBOY
發布: 2023-04-08 11:31:11
轉載
1700 人瀏覽過

基於預訓練語言模型的行業搜尋的應用和研究

一、業界搜尋的背景

1、達摩院自然語言智慧大圖

基於預訓練語言模型的行業搜尋的應用和研究


#上圖是達摩院自然語言處理智慧的技術框圖,從下到上包含:

  • NLP 資料、NLP 基礎的詞法、句法語義,分析的技術,以及上層NLP 技術
  • 產業應用:達摩院除了做基礎研究之外,也賦能阿里集團,以及結合阿里雲賦能產業產業。賦能的很多產業場景都是搜尋。

2、產業搜尋本質

基於預訓練語言模型的行業搜尋的應用和研究


面向產業和消費網路的搜尋本質都是一樣的:使用者有資訊取得需求,同時有資訊資源庫,透過搜尋引擎把兩者橋接起來。

以電商場景來舉例說明。例如用戶在電商裡面搜尋 aj1 北卡藍新款球鞋。為了更好地理解這樣一個用戶的query,需要進行一系列任務:

  • #查詢理解的分析:NLP 糾錯、分詞類目預測、實體辨識詞權重、 query 改寫等技術
  • (離線)文件分析:NLP分析,品質效率的分析
  • #檢索排序:透過對query 的分析以及文件的分析,來結合搜尋引擎本身一些檢索排序的機制,就能達成把兩者橋接的目標。

3、產業搜尋連結

基於預訓練語言模型的行業搜尋的應用和研究


#如果依照搜尋的範式來分,一般分為sparse retrieval 及dense retrieval。

  • sparse retrieval:傳統的基於字或基於詞去建立倒排索引,同時基於此去構建很多查詢理解的一系列的能力,包括一些文本相關性排序等;
  • dense retrieval:隨著預訓練語言模型的興起,基於預訓練底座來實現單塔、雙塔模型,再結合向量引擎建立搜尋機制。

基於預訓練語言模型的行業搜尋的應用和研究

一般將搜尋做這樣一個連結性的分割:回想、排序(粗排、精排、重排)。

基於預訓練語言模型的行業搜尋的應用和研究


#召回階段:##

  • 傳統sparse retrieval 的關鍵字召回
  • dense retrieval 向量召回,個性化召回
  • 粗排階段:使用文字相關性(靜態)分數來做過濾
  • 精排階段:相對複雜,會有相關性的模型,可能結合業務的效率模型(LTR)

基於預訓練語言模型的行業搜尋的應用和研究

從左到右,模型複雜度、效果精度變高。從右到左,處理 Doc 數變多。以淘寶電商為例,例如召回(幾十億),初排(幾十萬),到精排(幾百、上千),到重排(幾十)量級。

搜尋生產連結是檢索效果跟工程效率 trade-off 的系統。隨著算力的成長,複雜模型開始往前置換。比如說精排的模型,現在慢慢會下沉到粗排、甚至召回這個階段。

基於預訓練語言模型的行業搜尋的應用和研究

搜尋效果評估:

  • 召回:recall 或無結果率
  • 排序:相關性、轉換效率(貼近業務)
  • 相關性:NDCG、MRR
  • #轉換效率:點擊率、轉換率

4、消費互聯網和產業互聯網的搜尋

基於預訓練語言模型的行業搜尋的應用和研究

#搜尋在不同行業場景裡區別是很大的,在此把它分為消費互聯網搜尋與產業互聯網搜尋:

  • #用戶群與UV:消費網路搜尋UV 非常大,產業互聯網面向政企內部的員工。
  • 搜尋追求指標#:消費互聯網,除了追求搜得到、搜得準之外,還追求轉換率高。在產業互聯網,它更多是資訊匹配的需求,所以關注召回跟相關性。
  • 工程系統需求:消費網路QPS 的需求會很高,沉澱大量的使用者行為,需要有即時日誌分析、即時模型訓練。產業互聯網的要求會低一些。
  • 演算法方向:消費網路會從offline、nearline、online 的海量用戶行為分析建模獲得更大收益。產業互聯網的使用者行為稀疏,所以會更注重內容理解,例如 NLP 或視覺的理解,研究方向包括 low resource、transfer learning。

二、相關技術研究

基於預訓練語言模型的行業搜尋的應用和研究

搜尋是跟系統框架緊密耦合的:包括離線數據,搜尋服務框架(綠色部分),搜尋技術演算法體系(藍色部分),其底座是Alicemind 預訓練語言模型體系,同樣會匯聚做文件分析、query 理解、相關性等。

#

1、AliceMind 體系

基於預訓練語言模型的行業搜尋的應用和研究

#AliceMind 是由達摩院建構的層次化預訓練語言模型系統。包含了通用預訓練模型,多語言、多模態、對話等,是 NLP 所有任務的底座。

2、分詞

基於預訓練語言模型的行業搜尋的應用和研究

#搜尋的分詞(原子能力),決定了檢索索引粒度,同時也與後續相關性、BM25 粒度有關。針對 task specific 任務,如果去客製化一些預訓練,能比通用的預訓練效果更好。例如最近研究希望在原生 BERT 預訓練任務上增加無監督的統計資料的任務,例如統計字詞、Gram 粒度、或邊界熵,然後以 mse-loss 增加到預訓練。在 CWS/POS、NER上(右圖),的許多任務都達到 SOTA。

基於預訓練語言模型的行業搜尋的應用和研究

另一個研究是跨領域。每次需要標數據、建構監督任務的成本很高,所以需建構跨領域無監督分詞的機制。右下角的表格為例,電商分詞相較於開源的分詞品質有明顯改善,這套方法也發佈到 ACL2020。

3、命名實體識別

基於預訓練語言模型的行業搜尋的應用和研究


#搜尋命名實體辨識主要是對query 、Doc 進行結構化的理解,辨識出關鍵字詞及類型。同時搜尋知識圖譜的建構也依賴 NER 功能。

搜尋 NER 也面臨一些挑戰。主要是例如 query 常常是比較短的,上下文不足。比如說電商裡面 query 實體的歧義性很高,知識性很強。所以這幾年在 NER 核心的最佳化思路,就是透過脈絡或引入知識的方式來增強 NER 的表徵。

基於預訓練語言模型的行業搜尋的應用和研究

在 2020年、2021年做了隱含增強的工作 combo embedding。把已有 word extractor 或 GLUE 的表徵動態融合,能搭載在很多業務任務上面達到 SOTA。

2021年,研發基於明確的檢索增強,對一則文字會透過搜尋引擎得到增強的上下文,融合到 transformer結構。這份工作發表在 ACL 2021 上了。

基於這個工作,我們參加了 SemEval 2022 多國語言 NER評測拿了 10 項冠軍,以及 best system paper 。

基於預訓練語言模型的行業搜尋的應用和研究


# 檢索增強:輸入句子本身之外,檢索得到額外context 並concat 到輸入,結合KL 的loss 來幫助學習。在很多開源資料集拿到 SOTA。

#

4、自適應多任務訓練

基於預訓練語言模型的行業搜尋的應用和研究

#BERT 本身效果是很好的,但實際生產很少有GPU 集群,每個任務都要去做inference效能代價很大。我們思考能否只做一次 inference,在 encoder 之後每個任務自己再做適配,就能得到比較好的效果。

基於預訓練語言模型的行業搜尋的應用和研究

一個直覺的方法就是透過 meta-task 的框架納入 NLP query 分析任務。但傳統的 meta-task 是均勻採樣的分佈。我們提出了 MOMETAS,一個自適應基於元學習的方法,來自適應不同任務的取樣。在多個任務去學習的過程中,我們會階段性用 validation data 做測驗看不同任務學習的效果。 reward 反過來指導前面訓練的採樣。 (下方表格)在許多任務上結合這個機制,相比 UB(均勻分佈)有不少提升。

基於預訓練語言模型的行業搜尋的應用和研究

把上述機制應用在搜尋很多產業的場景裡去,帶來的效益是只透過一次BERT 的編碼並存儲,在很多的下游任務直接重複使用,能大幅​​提升效能。

5、搜尋回想預訓練語言模型

基於預訓練語言模型的行業搜尋的應用和研究

深度檢索,無外乎是雙塔或單塔,通用的訓練範式是有監督信號以及預訓練模型,進行finetune 獲得embedding,對query 和doc 進行表徵。近期的最佳化路線主要是資料增強或難樣本挖掘,另外是優化預訓練語言模型。原生 BERT 不是特別適合搜尋的文字表示,所以有針對搜尋文字表示的預訓練語言模型。其他最佳化是在於做 multi-view 文字表示,以及特別的 loss 設計。

基於預訓練語言模型的行業搜尋的應用和研究

比較原生BERT 的隨機取樣,我們結合搜尋字詞權重提升詞權重比較高的字來提升取樣機率,學習到的表徵更適合搜尋召回。除此之外,增加 sentence level 對比學習。結合這兩個機制,提出了 ROM 的預訓練語言模型。

基於預訓練語言模型的行業搜尋的應用和研究

在 MS MARCO 做實驗,比較先前做法能夠達到最好的效果。在實際的場景搜尋任務中,也能帶來較大的提升。同時模型也參與了 MS 刷榜。

6、HLATR 重排模型

基於預訓練語言模型的行業搜尋的應用和研究

除了ROM 這個召回階段之外,在精排、重排階段,提出了一套list aware 的Transformer reranking,即將精排很多分類器的結果透過Transformer 有機的融合在一起,有比較大的提升。

基於預訓練語言模型的行業搜尋的應用和研究

結合 ROM 和 HLATR 兩個方案,3 月至今(7 月)仍舊是 SOTA 結果。

三、產業搜尋應用程式

#1、地址分析產品

基於預訓練語言模型的行業搜尋的應用和研究

#達摩院研發的地址分析產品,背景是各行各業有很多通訊地址。中文的通訊地址有很多特點,例如口語化表達有很多預設。同時地址本身是人事實物,是客觀世界許多實體橋接的一個重要實體單位。所以基於此建立了一套位址知識圖譜,提供解析、補齊、搜尋、位址分析。

基於預訓練語言模型的行業搜尋的應用和研究

這是產品的技術框圖。從下到上包含了地址知識圖譜的構建,以及地址預訓練語言模型,包括基於搜尋引擎的框架串接整個鏈路。上述提到的基準能力,以 API 的方式提供出來包裝成產業方案。

基於預訓練語言模型的行業搜尋的應用和研究

這套技術裡面比較重要的一個點是地理語意的預訓練語言模型。一個地址在文字表示會是字串,其實在空間裡面它往往是表徵成經緯度,在地圖中還有對應的圖片。所以這三種模態的訊息是把它有機融合成一個多模態的地理語義的語言模型,以此來支持在定址裡的任務。

基於預訓練語言模型的行業搜尋的應用和研究

上述提到需要做地址相關的許多基礎能力,例如分詞、糾錯、結構化等分析。

基於預訓練語言模型的行業搜尋的應用和研究

最核心的連結是將地理預訓練語言模型、位址基礎任務、引發搜尋引擎的方式將它們橋接起來。比如說搜尋浙一醫院,可能會對它去做結構化、同義詞糾錯、term weighting 做矢量化、Geohash 的預測。基於分析結果做召回。這個連結是標準的搜尋鏈路,進行文字召回、拼音召回、向量召回,也增加地理召回。召回之後是多階段的排序,包括多粒度的 feature 融合。

基於預訓練語言模型的行業搜尋的應用和研究

地址搜尋體系直覺的應用,就是填地址後suggestion 場景,或是高德地圖裡面去做搜索,需要把它映射到空間一個點位上。

基於預訓練語言模型的行業搜尋的應用和研究

接下來介紹兩個比較產業化的應用方案。第一個是新零售 Family ID,核心訴求是維護一套客戶的管理系統,然而各個系統使用者資訊沒有打通,無法實現有效的整合。

基於預訓練語言模型的行業搜尋的應用和研究

例如品牌廠商賣了一個空調,家人因為購買、安裝、維修而登記了各種地址、手機號,但對應的其實是同一個地址。建立的位址搜尋歸一技術,將不同表示的位址歸一,產生指紋,將不同​​使用者 ID 聚合到 Family 概念中。

基於預訓練語言模型的行業搜尋的應用和研究


基於預訓練語言模型的行業搜尋的應用和研究

透過家庭聚合的概念,可以做到更好的滲透分析、廣告投放觸達等新零售下的行銷活動。

基於預訓練語言模型的行業搜尋的應用和研究

另外一種應用場景,是 119、129、緊急應變等智慧接警應用。因為涉及老百姓的人身財產安全,所以分秒必爭。希望結合語音辨識、文字語意理解技術把這個效率提升。

基於預訓練語言模型的行業搜尋的應用和研究

(左邊例子)場景有很多特點,例如ASR 轉寫的錯字、不流暢、口語化等問題。目標是希望基於自動語音轉寫分析推斷警報地點。

基於預訓練語言模型的行業搜尋的應用和研究


基於預訓練語言模型的行業搜尋的應用和研究

基於預訓練語言模型的行業搜尋的應用和研究

我們提出了一整套系統方案,包括對話理解的口語順滑糾錯、意圖識別,以及結合一套搜尋從召回粗排精排的機制來最終實現地址推薦。鏈路已經比較成熟,在中國上百個城市的消防系統落地;消防從警報對話識別出具體的地點,結合推薦、匹配、地址圍欄判斷具體地點,對應出警。

2、教育拍照搜題基於預訓練語言模型的行業搜尋的應用和研究

#接下來介紹教育產業的拍照蒐集業務,在To C、面向老師端也有不少需求。

基於預訓練語言模型的行業搜尋的應用和研究

拍照搜尋題有幾個特點,本身有增量更新的題庫,使用者群體較大。另外,不同學科、年齡對應的領域知識性很強。同時是一個多模態的演算法,從 OCR 到後續語意理解、搜尋等一套連結。

基於預訓練語言模型的行業搜尋的應用和研究

近年來針對拍照收集建立了一整套從演算法到系統的連結。 ##########

基於預訓練語言模型的行業搜尋的應用和研究

例如,在手機拍照以及OCR 識別後,會進行拼字糾錯、學科預測、分詞、詞權重等一系列工作,幫助做到檢索。

基於預訓練語言模型的行業搜尋的應用和研究

由於OCR 對英文辨識沒有空格,訓練了一套K12 英文的預訓練演算法模型,進行英文的切分。

基於預訓練語言模型的行業搜尋的應用和研究

同時,學科、題目類型都是未知的,需要做一個提前預測。使用多模態,結合圖片和文字進行意圖理解。

基於預訓練語言模型的行業搜尋的應用和研究

拍照搜題跟普通的用戶搜尋不太一樣,用戶搜尋往往query 是比較短,拍照搜題往往是一道完整的題目。題目裡面很多字是不重要的,需要做詞權重分析,丟棄不重要的字或排序予以降權。

基於預訓練語言模型的行業搜尋的應用和研究

在拍照搜題場景中最佳化效果最明顯的是向量召回。性能上的要求不太能用 OR 的召回機制,需要用 AND 邏輯,對應特點是召回比較少。去提升 recall 的話,需要做 term weighting、糾錯等較冗餘的模組。 (右圖)透過文字加向量的多路召回效果,超過純 or 邏輯,在 latency 降低 10 倍。

基於預訓練語言模型的行業搜尋的應用和研究

拍照搜尋的連結包含了影像向量回想、公式回想、個人化回想。

基於預訓練語言模型的行業搜尋的應用和研究

提供兩個範例。第一個是純文字的OCR 結果,(左列)舊結果是基於ES,簡單的OR 召回,加上BM25 的結果,(右列)經過多路召回以及相關性召回的鏈路有較大提升。

第二個是拍照含有圖形,多路中是必須結合圖片召回。

3、電力知識庫統一搜尋

基於預訓練語言模型的行業搜尋的應用和研究

基於預訓練語言模型的行業搜尋的應用和研究


############### ##############在企業搜尋中有很多半結構化和非結構化數據,提供統一搜索,幫助企業整合數據資源。不僅在電力,其他產業也有類似需求。這裡的搜索不再是狹義的搜索,還包含了對文檔的預處理文檔的AI和知識圖譜的構建,還包括後續橋接問答的能力。以上是在電力知識庫裡,去做一套制度標準文本,從結構化到檢索,到應用端的示意圖。 ##########

以上是基於預訓練語言模型的行業搜尋的應用和研究的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:51cto.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板