基於預訓練語言模型的行業搜尋的應用和研究
一、業界搜尋的背景
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中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

語言模型是對文字進行推理的,文字通常是字串形式,但模型的輸入只能是數字,因此需要將文字轉換成數字形式。 Tokenization是自然語言處理的基本任務,根據特定需求能夠把一段連續的文字序列(如句子、段落等)切分為一個字元序列(如單字、片語、字元、標點等多個單元),其中的單元稱為token或詞語。根據下圖所示的具體流程,首先將文字句子切分成一個個單元,然後將單元素數值化(映射為向量),再將這些向量輸入到模型進行編碼,最後輸出到下游任務進一步得到最終的結果。文本切分依照文本切分的粒度可以將Toke

2018年Google發布了BERT,一經面世便一舉擊敗11個NLP任務的State-of-the-art(Sota)結果,成為了NLP界新的里程碑;BERT的結構如下圖所示,左邊是BERT模型預訓練過程,右邊是對於具體任務的微調過程。其中,微調階段是後續用於一些下游任務的時候進行微調,例如:文本分類,詞性標註,問答系統等,BERT無需調整結構就可以在不同的任務上進行微調。透過」預訓練語言模型+下游任務微調」的任務設計,帶來了強大的模型效果。從此,「預訓練語言模型+下游任務微調」便成為了NLP領域主流訓

編輯|ScienceAI問答(QA)資料集在推動自然語言處理(NLP)研究中發揮著至關重要的作用。高品質QA資料集不僅可以用於微調模型,也可以有效評估大語言模型(LLM)的能力,尤其是針對科學知識的理解和推理能力。儘管目前已有許多科學QA數據集,涵蓋了醫學、化學、生物等領域,但這些數據集仍有一些不足之處。其一,資料形式較為單一,大多數為多項選擇題(multiple-choicequestions),它們易於進行評估,但限制了模型的答案選擇範圍,無法充分測試模型的科學問題解答能力。相比之下,開放式問答

編譯|星璇出品|51CTO技術堆疊(微訊號:blog51cto)在過去的兩年裡,我更參與了使用大型語言模型(LLMs)的生成AI項目,而非傳統的系統。我開始懷念無伺服器雲端運算。它們的應用範圍廣泛,從增強對話AI到為各行各業提供複雜的分析解決方案,以及其他許多功能。許多企業將這些模型部署在雲端平台上,因為公有雲供應商已經提供了現成的生態系統,而且這是阻力最小的路徑。然而,這並不便宜。雲端還提供了其他好處,如可擴展性、效率和高階運算能力(按需提供GPU)。在公有雲平台上部署LLM的過程有一些鮮為人知的

隨著語言模型擴展到前所未有的規模,對下游任務進行全面微調變得十分昂貴。為了解決這個問題,研究人員開始注意並採用PEFT方法。 PEFT方法的主要想法是將微調的範圍限制在一小部分參數上,以降低計算成本,同時仍能實現自然語言理解任務的最先進性能。透過這種方式,研究人員能夠在保持高效能的同時,節省運算資源,為自然語言處理領域帶來新的研究熱點。 RoSA是一種新的PEFT技術,透過在一組基準測試的實驗中,發現在使用相同參數預算的情況下,RoSA表現出優於先前的低秩自適應(LoRA)和純稀疏微調方法。本文將深

近幾年自然語言處理的進展很大程度都來自於大規模語言模型,每次發布的新模型都將參數量、訓練資料量推向新高,同時也會對現有基準排行進行一次屠榜!例如今年4月,Google發布5400億參數的語言模型PaLM(Pathways Language Model)在語言和推理類的一系列測評中成功超越人類,尤其是在few-shot小樣本學習場景下的優異性能,也讓PaLM被認為是下一代語言模式的發展方向。同理,視覺語言模型其實也是大力出奇蹟,可以透過提升模型的規模來提升表現。當然了,如果只是多工的視覺語言模

2月25日消息,Meta在當地時間週五宣布,它將推出一種針對研究社區的基於人工智慧(AI)的新型大型語言模型,與微軟、谷歌等一眾受到ChatGPT刺激的公司一同加入人工智能競賽。 Meta的LLaMA是「大型語言模式MetaAI」(LargeLanguageModelMetaAI)的縮寫,它可以在非商業許可下提供給政府、社區和學術界的研究人員和實體工作者。該公司將提供底層程式碼供用戶使用,因此用戶可以自行調整模型,並將其用於與研究相關的用例。 Meta表示,該模型對算力的要

譯者 | 李睿審校 | 孫淑娟BigScience研究計畫日前發布了一個大型語言模型BLOOM,乍一看,它看起來像是複製OpenAI的GPT-3的又一次嘗試。但BLOOM與其他大型自然語言模型(LLM)的不同之處在於,它在研究、開發、培訓和發布機器學習模型方面所做的努力。近年來,大型科技公司將大型自然語言模型(LLM)就像嚴守商業機密一樣隱藏起來,而BigScience團隊從專案一開始就把透明與開放放在了BLOOM的中心。其結果是一個大型語言模型,可以供研究和學習,並可供所有人使用。 B
