本文對(duì)預(yù)訓(xùn)練模型在召回(retrieval), 排序(re-ranking),以及其他部分的應(yīng)用做一個(gè)總結(jié)。
1. 背景
搜索任務(wù)就是給定一個(gè)query或者QA中的question,去大規(guī)模的文檔庫(kù)中找到相似度較高的文檔,并返回一個(gè)按相關(guān)度排序的ranked list。
由于待訓(xùn)練的模型參數(shù)很多(增加model capacity),而專門針對(duì)檢索任務(wù)的有標(biāo)注數(shù)據(jù)集較難獲取,所以要使用預(yù)訓(xùn)練模型。
2. 檢索模型的分類
檢索的核心,在于計(jì)算query和document的 相似度 。依此可以把信息檢索模型分為如下三類:
基于統(tǒng)計(jì)的檢索模型
使用exact-match來(lái)衡量
代表性的模型是BM25,用來(lái)衡量一個(gè)term在doc中的重要程度,其公式如下:
懲罰長(zhǎng)文本、對(duì)詞頻做飽和化處理
實(shí)際上,BM25是檢索模型的強(qiáng)baseline。基于exact-match的檢索模型是召回中必不可少的一路。
Learning-to-Rank模型
這類模型需要手動(dòng)構(gòu)造特征,包括
query端特征,如query類型、query長(zhǎng)度(還可以加入意圖slot?);
document端特征(document長(zhǎng)度,Pagerank值);
query-document匹配特征(BM25值,相似度,編輯距離等)。
其實(shí),在現(xiàn)在常用的深度檢索模型中也經(jīng)常增加這種人工構(gòu)造的特征。根據(jù)損失函數(shù)又可分為pointwise(簡(jiǎn)單的分類/回歸損失)、Pairwise(triplet hinge loss,cross-entropy loss)、Listwise。
深度模型
使用query和document的embedding進(jìn)行端到端學(xué)習(xí)。可以分為
representation-focused models(用雙塔建模query和document,之后計(jì)算二者相似度,雙塔之間無(wú)交互,用于召回)
interaction-focused models(金字塔模型,計(jì)算每個(gè)query token和每個(gè)document token的相似度矩陣,用于精排。精排階段還可增加更多特征,如多模態(tài)特征、用戶行為特征、知識(shí)圖譜等)
3. 預(yù)訓(xùn)練模型在倒排索引中的應(yīng)用
基于倒排索引的召回方法仍是在第一步召回中必不可少的,因?yàn)樵诘谝徊秸倩氐臅r(shí)候我們面對(duì)的是海量的文檔庫(kù),基于exact-match召回速度很快。但是,其模型capacity不足,所以可以用預(yù)訓(xùn)練模型來(lái)對(duì)其進(jìn)行模型增強(qiáng)。
3.1 term re-weighting
代表論文: DeepCT (Deep Contextualized Term Weighting framework: Context-Aware Sentence/Passage Term Importance Estimation For First Stage Retrieval).
普通的exact-match中衡量一個(gè)詞在query/document中的重要程度就是通過(guò)詞頻(TF)或者TFIDF,或者TFIDF的改進(jìn)版本--BM25,例如在建立倒排索引的時(shí)候,每個(gè)term在不同document的重要程度就是用TF來(lái)衡量的。
但是,一個(gè)詞在兩個(gè)document中出現(xiàn)頻率相同,就說(shuō)明這個(gè)詞在兩個(gè)document中同樣重要嗎?其實(shí)詞的重要程度比詞頻要復(fù)雜的多。
所以,可以使用contextualized模型,例如BERT,Elmo等獲得每個(gè)詞的 上下文 表示,然后通過(guò)簡(jiǎn)單的線性回歸模型得到每個(gè)詞在document中的重要程度。文檔真實(shí)詞語(yǔ)權(quán)重的估計(jì)如下,這個(gè)值作為我們訓(xùn)練的label:
其中, 是與文檔 d 相關(guān)的查詢問(wèn)題的集合; 是包含詞語(yǔ) t 的查詢問(wèn)題集合 的子集; 是文檔 d 中詞語(yǔ) t 的權(quán)重。的取值范圍為,以此為label訓(xùn)練。這樣,我們就得到了一個(gè)詞在document中的重要程度,可以替換原始TF-IDF或BM25的詞頻。對(duì)于query,也可以用同樣的方法得到每個(gè)詞的重要程度,用來(lái)替換TFIDF。
3.2 Document expansion
除了去估計(jì)不同term在document中的重要程度,還可以直接顯式地?cái)U(kuò)增document,這樣一來(lái)提升了重要詞語(yǔ)的權(quán)重,二來(lái)也能夠召回"詞不同意同"的文檔(解決lexical-mismatch問(wèn)題)。
例如,可以對(duì)T5在query-document對(duì)上做微調(diào),然后對(duì)每個(gè)document做文本生成,來(lái)生成對(duì)應(yīng)的query,再加到document中。之后,照常對(duì)這個(gè)擴(kuò)增好的document建倒排索引,用BM25做召回。代表工作:docTTTTTquery[3]
同樣地,也可以對(duì)query進(jìn)行擴(kuò)增。例如對(duì)于QA中的question,可以把訓(xùn)練目標(biāo)定為包含答案的句子、或者包含答案的文章title,然后用seq2seq模型訓(xùn)練,再把模型生成的文本加到query后面,形成擴(kuò)增的query。
3.3 term reweighting + document expansion
那么,我們可不可以同時(shí)做term reweighting和document expansion呢?這方面的代表工作是Sparterm[4]
此模型分為兩部分:重要度預(yù)測(cè)模塊(用來(lái)得到 整個(gè)vocab上 的重要程度)和門控模塊(得到二進(jìn)制的門控信號(hào),以此來(lái)得到最終保留的稀疏token,最終只能保留 個(gè)token)。由于重要度是針對(duì)整個(gè)vocab而言的,所以可以同時(shí)實(shí)現(xiàn)重要度評(píng)估+詞語(yǔ)擴(kuò)增。
重要度預(yù)測(cè)模塊采用了類似MLM的思想,即先用BERT對(duì)句子做好contextualized embedding,然后乘上vocab embedding 矩陣 E ,得到這個(gè)詞對(duì)應(yīng)的重要度分布:
這句話整體的重要度分布就是所有詞對(duì)應(yīng)的重要度分布取relu(重要度不能是負(fù)數(shù)),然后加起來(lái)的和:
門控模塊和重要度評(píng)估模塊的計(jì)算方法類似,只是參數(shù)不再是 E , 而是另外的變換矩陣。得到gating distribution G 之后,先將其0/1化為 G' (如果G中元素>threshold則取1,否則取0);然后得到我們需要保留的詞語(yǔ)(exact-match必須保留,還增加一些擴(kuò)增的token)。
通過(guò)端到端的方式訓(xùn)練,訓(xùn)練的損失函數(shù)有兩個(gè),其中一個(gè)就是我們常見(jiàn)的ranking loss,即取
另一個(gè)loss專門對(duì)門控模塊做更新,訓(xùn)練數(shù)據(jù)是
T為真實(shí)query的bag of words
審核編輯:劉清
-
矩陣
+關(guān)注
關(guān)注
0文章
429瀏覽量
35017 -
機(jī)器學(xué)習(xí)算法
+關(guān)注
關(guān)注
2文章
47瀏覽量
6594
原文標(biāo)題:總結(jié)!語(yǔ)義信息檢索中的預(yù)訓(xùn)練模型
文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語(yǔ)言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
用PaddleNLP為GPT-2模型制作FineWeb二進(jìn)制預(yù)訓(xùn)練數(shù)據(jù)集

從Open Model Zoo下載的FastSeg大型公共預(yù)訓(xùn)練模型,無(wú)法導(dǎo)入名稱是怎么回事?
用PaddleNLP在4060單卡上實(shí)踐大模型預(yù)訓(xùn)練技術(shù)

【「基于大模型的RAG應(yīng)用開(kāi)發(fā)與優(yōu)化」閱讀體驗(yàn)】+大模型微調(diào)技術(shù)解讀
KerasHub統(tǒng)一、全面的預(yù)訓(xùn)練模型庫(kù)
什么是大模型、大模型是怎么訓(xùn)練出來(lái)的及大模型作用

直播預(yù)約 |數(shù)據(jù)智能系列講座第4期:預(yù)訓(xùn)練的基礎(chǔ)模型下的持續(xù)學(xué)習(xí)

評(píng)論