摘 要:低資源場景下提示調(diào)優(yōu)比帶有額外分類器的通用微調(diào)方法(fine-tuning)分類性能好,但提示調(diào)優(yōu)中設(shè)計一個較好的提示模板和標(biāo)簽詞映射器需要花費大量的精力。針對該問題,提出問題導(dǎo)向式提示調(diào)優(yōu)的小樣本分類方法(question-oriented prompt-tuning,QPT)。首先,利用數(shù)據(jù)集標(biāo)簽和可訓(xùn)練的連續(xù)提示構(gòu)建提問形式的模板,通過預(yù)訓(xùn)練模型學(xué)習(xí)到最優(yōu)提示模板;然后,每條樣本用模板進行填充,將文本分類任務(wù)轉(zhuǎn)換成完形填空任務(wù);最后,使用外部知識及兩種細(xì)化方法構(gòu)建標(biāo)簽詞映射器,通過預(yù)測的標(biāo)簽詞與分類標(biāo)簽的映射關(guān)系得出分類結(jié)果。在公開數(shù)據(jù)集AG’s News和IMDB上進行實驗,結(jié)果表明,該方法在5-shot、10-shot和20-shot任務(wù)上性能均有所提升,在5-shot任務(wù)上準(zhǔn)確率分別提高了0.81和1.36百分點,與基線模型相比,不僅易于實現(xiàn)且性能取得了最優(yōu)。
關(guān)鍵詞:小樣本文本分類; 提示調(diào)優(yōu); 問題導(dǎo)向式模板
中圖分類號:TP391.1"" 文獻標(biāo)志碼:A
文章編號:1001-3695(2025)03-008-0708-06
doi:10.19734/j.issn.1001-3695.2024.07.0259
Few-shot text classification based on question-oriented prompt-tuning
Zhai Mengxina, Zhou Yanlingb, Yu Hangb
(a.School of Computer Science amp; Information Engineering, b. School of artificial intelligence, Hubei University, Wuhan 430062, China)
Abstract:In low-resource scenarios, prompt tuning has better classification performance than fine-tuning with additional classifiers, but it takes a lot of effort to design a better prompt template for the task. Aiming at this problem, this paper proposed a few-shot text classification method for question-oriented prompt tuning. Firstly, constructing template for question form using dataset labels and trainable continuous prompts, and the optimal prompt template learned from pre-trained models. Then, using the template to fill in each input text, converted the text classification task into a cloze-style task. Finally, using external knowledge and two refinement methods constructed verbalizer, and the final classification results obtained by the mapping relationship between the predicted label words and the classification labels. Experiments on public datasets AG’s News and IMDB demonstrate that the method improves performance on 5-shot, 10-shot and 20-shot tasks, and the accuracy improves by 0.81 and 1.36 percentage points on the 5-shot task, which is not only easy to implement but also achieves the optimal performance compared with the baseline model.
Key words:few-shot text classification; prompt tuning; question-oriented template
0 引言
從BERT(bidirectional encoder representation from Transformers)[1]開始,大規(guī)模預(yù)訓(xùn)練語言模型(pre-trained language model, PLM)的微調(diào)已經(jīng)成為解決大多數(shù)自然語言處理(natural language processing,NLP)任務(wù)的標(biāo)準(zhǔn),廣泛應(yīng)用于情感分析、主題分類和垃圾郵件檢測等分類任務(wù)中。這些任務(wù)通常需要大量的標(biāo)注數(shù)據(jù)才能取得一定的效果,但在諸如醫(yī)療和工業(yè)等很多實際的場景中,由于現(xiàn)實因素?zé)o法獲得足夠多的標(biāo)注數(shù)據(jù),所以模型無法得到有效的訓(xùn)練,從而容易出現(xiàn)過擬合。因此,如何利用少量的標(biāo)注數(shù)據(jù)得到一個分類性能較好的模型成為當(dāng)前研究的熱點。
GPT-3(generative pre-trained Transformer 3)[2]模型的成功應(yīng)用表明,在足夠大的內(nèi)存容量和預(yù)訓(xùn)練計算的情況下,PLM可以用很少的訓(xùn)練樣本來解決任務(wù)。然而,由于模型規(guī)模大、推理時間長,在計算資源有限的情況下,不可能在線部署這種PLM。Jiang等人[3]證明,PLM包含可以通過提示引出的事實和常識性知識,基于提示學(xué)習(xí)方法的提出改變了數(shù)據(jù)的輸入格式,將下游任務(wù)轉(zhuǎn)換成與預(yù)訓(xùn)練階段相似的形式,縮小了PLM上下游任務(wù)之間的差距,進而更加有效地利用PLM中語言模型任務(wù)本身的優(yōu)勢。此外,提示學(xué)習(xí)也已經(jīng)應(yīng)用于文本生成圖像[4]和文本生成聲音[5]等多模態(tài)領(lǐng)域中。
在大多數(shù)基于提示學(xué)習(xí)的方法中,存在兩種需要仔細(xì)設(shè)計的模型組件,即提示模板和標(biāo)簽詞映射器(Verbalizer)。最初的模板是手工設(shè)計的離散提示模板,但離散提示模板比較敏感,即使在語義不發(fā)生變化的情況下,表面的微小差異也會導(dǎo)致下游任務(wù)的性能發(fā)生很大變化。為了緩解此問題,Liu等人[6]提出了P-tuning使用可訓(xùn)練的連續(xù)提示嵌入,在一定程度上緩解了手工制作模板的局限性。然而,這種通過梯度進行優(yōu)化的方法通常需要大量的數(shù)據(jù)進行訓(xùn)練。此外,早期Verbalizer的構(gòu)建通常是與分類標(biāo)簽一一對應(yīng)的,這就會使標(biāo)簽詞的覆蓋范圍低,影響分類效果。所以,提示模板和Verbalizer的設(shè)計所存在的局限性都會阻礙提示調(diào)優(yōu)方法的廣泛應(yīng)用。
為了解決以上問題,本文提出了一種基于問題導(dǎo)向式提示調(diào)優(yōu)的小樣本文本分類方法(question-oriented prompt-tuning,QPT),該方法在模板構(gòu)建階段,利用數(shù)據(jù)集標(biāo)簽構(gòu)建一個詢問類別的問句,引導(dǎo)PLM根據(jù)預(yù)訓(xùn)練階段所學(xué)到的知識進行回答,因PLM的回答方式是未知的,所以在問句后使用可訓(xùn)練的連續(xù)提示進行回答。該方法一方面充分利用了標(biāo)簽信息和PLM在預(yù)訓(xùn)練階段學(xué)到的知識,另一方面緩解了提示模板設(shè)計困難以及依賴數(shù)據(jù)量的問題。Verbalizer設(shè)計階段,使用外部知識庫及兩種細(xì)化方法構(gòu)建Verbalizer,擴充標(biāo)簽詞的覆蓋范圍。本文的主要貢獻總結(jié)如下:
a)提出了一種問題導(dǎo)向式提示調(diào)優(yōu)小樣本文本分類方法QPT,該方法設(shè)計了一種利用數(shù)據(jù)集標(biāo)簽和可訓(xùn)練的連續(xù)提示的問題導(dǎo)向式提示模板和覆蓋率更高的Verbalizer,有效緩解了傳統(tǒng)提示模板和Verbalizer對小樣本文本分類效果的影響。
b)利用數(shù)據(jù)集標(biāo)簽以提問的形式構(gòu)建模板,之后嵌入可訓(xùn)練連續(xù)提示進行回答,最后根據(jù)標(biāo)注數(shù)據(jù)訓(xùn)練得到最優(yōu)提示模板;使用最優(yōu)提示模板對樣本進行填充,將分類任務(wù)轉(zhuǎn)換成與預(yù)訓(xùn)練階段相似的完形填空任務(wù),同時使用外部知識庫構(gòu)建Verbalizer,改善標(biāo)簽詞覆蓋率低的問題。
c)在公開數(shù)據(jù)集AG’s News和IMDB上進行大量實驗,實驗結(jié)果證明了所提方法的有效性。
1 相關(guān)工作
1.1 小樣本學(xué)習(xí)
在醫(yī)療領(lǐng)域,尤其是罕見疾病的分類中,常常面臨少量標(biāo)注樣本的問題。例如,對某種罕見病癥的診斷往往缺乏足夠的病例報告。社交媒體平臺上的用戶評論和帖子常用于情感分析如識別評論是正面、負(fù)面還是中立。然而,在新興的主題或產(chǎn)品上標(biāo)注的數(shù)據(jù)通常非常有限。在法律領(lǐng)域,法律文件(如判決書、法律條文)的分類對法律研究和信息檢索至關(guān)重要。然而,標(biāo)注的法律文本樣本有限,特別是針對特定法律領(lǐng)域或案件類型。小樣本學(xué)習(xí)的提出能夠很好地解決數(shù)據(jù)樣本有限的問題,其核心任務(wù)就是在面對新的領(lǐng)域任務(wù)時,能夠快速從少量樣本中實現(xiàn)精準(zhǔn)的學(xué)習(xí)。
小樣本學(xué)習(xí)(few-shot learning,F(xiàn)SL)目的是通過僅訪問少量帶有標(biāo)記的示例來提高模型的快速學(xué)習(xí)能力。FSL已應(yīng)用于許多NLP任務(wù),如文本分類和命名實體類型識別等。傳統(tǒng)的FSL可以分為基于數(shù)據(jù)增強、基于模型微調(diào)和基于度量學(xué)習(xí)三大類。
FSL的根本問題在于樣本數(shù)據(jù)量少、多樣性低,通過數(shù)據(jù)集擴充或特征增強可以提高樣本的多樣性。Wang等人[7]提出了通過數(shù)據(jù)生成模型生成更多標(biāo)記樣本,并結(jié)合元學(xué)習(xí)方法訓(xùn)練模型。Hou等人[8]提出了一個基于交叉注意力網(wǎng)絡(luò),利用注意力機制對特征進行采樣,使提取的特征更具有鑒別性來實現(xiàn)特征增強。但是使用此類方法無法擺脫現(xiàn)有數(shù)據(jù),生成全新的數(shù)據(jù),所以模型的效果提升非常有限。
基于模型微調(diào)的方法通常是在大規(guī)模數(shù)據(jù)上預(yù)訓(xùn)練模型,在目標(biāo)數(shù)據(jù)集上再次對大模型進行參數(shù)調(diào)優(yōu)。Bao等人[9]提出了從一組相關(guān)任務(wù)中學(xué)習(xí)良好初始化模型的元學(xué)習(xí),然后對每個任務(wù)進行微調(diào)。基于模型微調(diào)的方法比較簡單,但是在目標(biāo)數(shù)據(jù)集和源數(shù)據(jù)之間存在差異或者不類似的情況下,這種方法就會導(dǎo)致模型產(chǎn)生過擬合的問題。
度量學(xué)習(xí)是指用給定的距離函數(shù)計算訓(xùn)練樣本和測試樣本之間的距離來計算相似度,根據(jù)相似度來確定類別標(biāo)簽。Snell等人[10]提出了原型網(wǎng)絡(luò),同一類別的樣本向量的平均值是該類別的原型,通過模型的不斷訓(xùn)練,使得不同類別樣本之間的距離更遠(yuǎn),同一類別樣本之間的距離更近。Geng等人[11]提出動態(tài)記憶歸納網(wǎng)絡(luò),有效地捕獲并存儲文本特征以及學(xué)習(xí)新的特征表示,利用動態(tài)路由機制為小樣本文本分類提供更高的靈活性。但是,度量準(zhǔn)則容易受到數(shù)據(jù)分布的影響,因此難以確定一種可以滿足多個維度特征分布的度量準(zhǔn)則。其次,度量方法過于依賴訓(xùn)練數(shù)據(jù),當(dāng)數(shù)據(jù)較少時,分類效果不佳[12]。
FSL研究已經(jīng)取得了很大進展,但上述方法仍然是在已知數(shù)據(jù)集上提升模型效果,模型難以從少量樣本中學(xué)習(xí)到理解的能力。PLM的提出在一定程度上解決了難以獲取理解能力的問題,本文利用PLM的先驗知識,通過提示調(diào)優(yōu)的方法來解決小樣本文本分類領(lǐng)域面臨的問題。
1.2 基于提示學(xué)習(xí)的方法
提示學(xué)習(xí)使NLP技術(shù)實現(xiàn)了從之前的先預(yù)訓(xùn)練再微調(diào)到預(yù)訓(xùn)練、提示再預(yù)測的轉(zhuǎn)變。提示學(xué)習(xí)通過設(shè)計特定于任務(wù)的模板將文本分類轉(zhuǎn)換為掩碼語言問題,減小了預(yù)訓(xùn)練階段和下游任務(wù)之間的差距,使得PLM在預(yù)訓(xùn)練期間捕獲的知識可以在小樣本學(xué)習(xí)過程中充分利用。Scao等人[13]在任務(wù)和數(shù)據(jù)量相同的條件下,比較提示調(diào)優(yōu)和fine-tuning,結(jié)果表明提示調(diào)優(yōu)在低數(shù)據(jù)條件下非常有益,后續(xù)許多文獻中也提出了很多提示調(diào)優(yōu)方法[14]。提示學(xué)習(xí)的核心思想是利用PLM預(yù)訓(xùn)練階段的MLM任務(wù)模型,按照一定的模板將下游任務(wù)重新建模為MLM任務(wù)[15],其目標(biāo)是利用上下文信息預(yù)測[MASK]位置的詞。如圖1所示為fine-tuning模型、預(yù)訓(xùn)練階段MLM模型和提示學(xué)習(xí)模型的范例。Schick等人[16]提出的PET(pattern exploiting training)用于少樣本學(xué)習(xí),該方法將文本分類問題轉(zhuǎn)換成完形填空問題,并使用手工定義的模板來提供任務(wù)指導(dǎo)。但是確定適當(dāng)?shù)哪0逍枰I(lǐng)域?qū)I(yè)知識,手工制作模板的性能通常需要不切實際的大型驗證集[17],并且模板微小的差距就會引起模型的準(zhǔn)確率發(fā)生較大的變化。Liu等人[18]在PET的基礎(chǔ)上提出ADAPET模型,將模型需要預(yù)測[MASK]位置的候選詞擴展為整個詞表,并且通過正確的標(biāo)簽反向預(yù)測[MASK],進一步提高模型性能。為了解決人工設(shè)計模板的局限性,研究人員開始探索如何自動生成模板,Gao等人[19]提出了LM-BFF模型,該模型使用T5(text-to-text transfer Transformer)模型生成模板并在詞匯表中搜索標(biāo)簽詞,避免了繁雜的手工制作過程。然而,使用生成模型和帶驗證的標(biāo)簽搜索非常消耗計算資源,而且生成的模板通常不具有可解釋性。Li等人[20]提出的prefix tuning以及Liu等人[6]提出的P-tuning,都是使用連續(xù)空間內(nèi)的向量作為模板,區(qū)別是prefix tuning是把提示向量嵌入在每一層的開頭,凍結(jié)PLM的參數(shù),僅訓(xùn)練每一層的提示向量,主要用于生成任務(wù);P-tuning在輸入層通過一個雙向長短時記憶網(wǎng)絡(luò)(bi-directional long short-term memory,BiLSTM)模型,加上一個使用ReLU作為激活函數(shù)的多層感知機(multilayer perceptron,MLP)來計算模板的詞嵌入,其可以放在句中任何位置,主要用于自然語言理解任務(wù)。Hu等人[21]提出了knowledgeable prompt-tuning(KPT)使用外部知識庫擴展標(biāo)簽詞空間,改善了標(biāo)簽詞覆蓋率低的問題,在小樣本文本分類任務(wù)上證明了使用知識調(diào)優(yōu)的有效性。Min等人[22]提出一種用于提示學(xué)習(xí)的噪聲通道方法,該方法證明了使用噪聲通道計算給定標(biāo)簽的條件概率優(yōu)于直接計算給定輸入的標(biāo)簽詞概率。目前提示學(xué)習(xí)已經(jīng)應(yīng)用于文本、圖像和語音等多模態(tài)領(lǐng)域中,使用連續(xù)空間內(nèi)的向量都是通過梯度進行優(yōu)化,但是在小樣本場景下通過梯度優(yōu)化不利于模型尋找到最優(yōu)結(jié)果,而且有些大規(guī)模PLM的內(nèi)部參數(shù)是不可見的。
提示學(xué)習(xí)的方法能夠更好地利用PLM在預(yù)訓(xùn)練階段學(xué)習(xí)到的知識,緩解低資源場景下所面臨的學(xué)習(xí)到的知識不足以及大規(guī)模PLM不可用的問題。本文使用提示學(xué)習(xí)的思想,將分類任務(wù)轉(zhuǎn)換成適用于MLM的完形填空任務(wù)。在此基礎(chǔ)上針對模板構(gòu)建問題,提出了一種集離散模板和連續(xù)模板優(yōu)點的問題導(dǎo)向式模板。該方法利用數(shù)據(jù)集標(biāo)簽將模板設(shè)置成對文本提問的方式,之后嵌入連續(xù)的可訓(xùn)練模板參數(shù)使PLM自動找到最佳的回答方式;使用外部知識庫構(gòu)建Verbalizer,解決標(biāo)簽詞覆蓋率低影響模型效果的問題。
2 QPT模型
基于問題導(dǎo)向式提示調(diào)優(yōu)的小樣本文本分類方法QPT,關(guān)鍵在于提示模板的設(shè)計和在標(biāo)簽映射層使用外部知識庫構(gòu)建的Verbalizer。圖2為具體的模型結(jié)構(gòu)。首先,在模板構(gòu)建輸入層,根據(jù)數(shù)據(jù)集標(biāo)簽和可訓(xùn)練的連續(xù)提示構(gòu)建問題導(dǎo)向式的模板,將文本按照模板的方式改變其輸入模式;其次,在PLM-MLM層,將按照模板改變之后的文本輸入到該層,在候選詞集中選擇使句子語義最合理的詞填入到[MASK]位置;最后,在標(biāo)簽映射層,使用KPT中的方法來構(gòu)建Verbalizer,最終根據(jù)Verbalizer中的映射關(guān)系來確定分類結(jié)果。
2.1 模板構(gòu)建輸入層
QPT相較于手工制作的模板不需要很多的先驗知識和多次實驗,相較于使用連續(xù)向量作為模板的方法,加入離散的提問更具可解釋性,需要通過梯度優(yōu)化的可訓(xùn)練提示更少。與上述兩種構(gòu)建方法相比,本文提出的方法可以達到更好的效果。在小樣本文本分類任務(wù)中,設(shè)D=[X1,X2,…,Xi,…,Xn]代表由n個句子組成的輸入。Xi表示每個句子,Xi將會被分類到一個類標(biāo)簽y∈Y中。提示符p的功能就是和文本Xi及[MASK]組成模板T。例如,假設(shè)需要對句子Xi=“This movie is so Amazing !”進行分類,標(biāo)簽為negative(label1)或者positive(label2)。本文使用的模板T如式(1)進行句子填充,Xi最終的輸入為This movie is so Amazing !Does the above texts belong to negative or positive? P0…Pm e[Mask]。傳統(tǒng)的離散提示映射方法是將模版T直接映射到式(2),而本文方法則經(jīng)過LSTM模型優(yōu)化得到最優(yōu)模板之后進行映射。
QPT將[P0:m]視為偽標(biāo)記映射到式(3)得到新的輸入Xnewi,hj是可訓(xùn)練的嵌入張量,通過梯度下降得到最優(yōu)。在訓(xùn)練連續(xù)提示時,如果隨機初始化h,然后經(jīng)過梯度下降進行優(yōu)化,優(yōu)化器很容易陷入局部極小值。此外,提示嵌入應(yīng)該是連續(xù)的,而不是相互獨立的。因此,QPT在[P0:m]嵌入時采用BiLSTM和帶有ReLU的兩層MLP的提示編碼器進行初始化,然后文本按照模板填充之后輸入到PLM模型。
2.2 PLM-MLM層
在PLM-MLM層,PLM使用BERT的強化版本RoBERTa[23]large。RoBERTalarge取消了NSP任務(wù),使用更大的batch_size和更多的訓(xùn)練數(shù)據(jù),在訓(xùn)練方法上將靜態(tài)掩碼改為動態(tài)掩碼,并對優(yōu)化器參數(shù)進行了改進。這些調(diào)整使得RoBERTalarge能夠捕捉更多的語言表示和語義信息,提升了模型的性能和表現(xiàn)能力。使用RoBERTalarge-MLM完成完形填空任務(wù),預(yù)測句子中第一個[MASK]位置為標(biāo)簽詞集合對應(yīng)的概率,具體如式(5)所示。
其中:g是將標(biāo)簽詞的概率轉(zhuǎn)換成標(biāo)簽的概率函數(shù)。在上面的例子中,如果“science”的概率大于“sports”,模型就將實例文本分類為SCIENCE。
在上面的例子中,{“science”}→SCIENCE,意味著在PLM-MLM層只有“science”一詞填入[MASK]位置中才被認(rèn)為是正確的,而不考慮對其他相關(guān)詞如“physics”和“maths”,這些詞也具有信息性。這種手工制作的一對一映射限制了標(biāo)簽詞的覆蓋范圍,因此缺乏足夠的預(yù)測信息,并在Verbalizer中會引入偏見。為了提高人工Verbalizer的覆蓋率和減少偏差,本文沿用KPT中方法,使用外部知識庫擴展標(biāo)簽詞空間。例如V1={“science”, “physics”,…}。由于知識庫擴展的標(biāo)簽詞是完全無監(jiān)督的,KPT中提出了四種消除噪聲的細(xì)化方法。Hu等人[21]證明了在少樣本分類場景中,頻率細(xì)化和上下文校準(zhǔn)并不是必要的。因此,本文采用相關(guān)性細(xì)化和可學(xué)習(xí)細(xì)化兩種細(xì)化方法來消除噪聲。
因為標(biāo)簽詞的構(gòu)建過程是完全無監(jiān)督的,所以有些標(biāo)簽詞和標(biāo)簽的相關(guān)性不大,有些標(biāo)簽詞會同時和不同標(biāo)簽發(fā)生混淆。相關(guān)性細(xì)化方法利用TF-IDF的思想度量標(biāo)簽詞與每個類的相關(guān)性。
R(v) = r(v,f(v))|y|-1∑y∈Y,y≠f(v) (r(v,y))
(7)
其中:f(v)是v對應(yīng)的類;r(v,f(v))表示標(biāo)簽詞v和對應(yīng)類的相關(guān)性,類似于TF項。右邊一項則類似于IDF項。好的標(biāo)簽詞所屬類的相關(guān)分?jǐn)?shù)至少應(yīng)該高于其他類的平均相關(guān)分?jǐn)?shù),因此,刪除R(v)lt;1的標(biāo)簽詞。更詳細(xì)的相關(guān)性細(xì)化原理可參考KPT中的介紹。
在小樣本學(xué)習(xí)中,也可以通過學(xué)習(xí)過程去噪。為每個標(biāo)簽詞分配一個可學(xué)習(xí)的權(quán)重wv,權(quán)重組成一個矩陣w∈R|v|,以零向量作為初始化。權(quán)重在每一個Vy內(nèi)歸一化。在訓(xùn)練階段,有噪聲的標(biāo)簽詞會學(xué)習(xí)到一個較小的權(quán)重以最小化對預(yù)測的影響。
αv=exp(wv)∑u∈Vyexp(wu)
(8)
擴展細(xì)化后的標(biāo)簽詞示例如表1所示。模型的最終分類結(jié)果是由擴展后的標(biāo)簽詞與標(biāo)簽之間的映射關(guān)系決定的,在本文例子中,[MASK]位置預(yù)測為Positive標(biāo)簽詞的概率和大于預(yù)測為Negative標(biāo)簽詞的概率和,所以分類結(jié)果為Positive。
3 實驗設(shè)計及結(jié)果分析
3.1 實驗數(shù)據(jù)集
本文采用公開數(shù)據(jù)集AG’s News[24]和IMDB[25]作為實驗數(shù)據(jù)集。AG’s News來自AG新聞?wù)Z料庫,包含World、Sports、Business、Sci/Tec四個大類新聞。IMDB是電影評論數(shù)據(jù)集,這些評論被標(biāo)記為正面或者負(fù)面。實驗中小樣本是從原始訓(xùn)練集中每個類別中抽取k個實例,k∈(5,10,20),形成小樣本訓(xùn)練集,再從每個類別中抽取k個實例形成驗證集。實驗在每個數(shù)據(jù)集上使用不同的隨機種子重復(fù)實驗5次,需要注意的是在對比實驗中手工制作的模板有4個,所取結(jié)果是4×5=20次實驗的平均值;本文方法只有一個模板,故取5次實驗的平均值,在一定程度上降低了評價結(jié)果的隨機性。樣本數(shù)量介紹如表2所示。
3.2 實驗環(huán)境及參數(shù)
實驗基于OpenPrompt[26]進行,這是一個提示學(xué)習(xí)的開源工具包,它基于PyTorch實現(xiàn)了關(guān)于prompt-learning的完整生命周期需要的各個模塊,包括下游任務(wù)、PLM和prompt的各種模式。實驗環(huán)境基于python 3.7及PyTorch 1.13.0,GPU為NVIDIA Tesla P100。
實驗中所有PLM均采用RoBERTalarge,采用準(zhǔn)確率accuracy和macro-F1作為評價指標(biāo)。實驗中其他超參數(shù)如表3所示。
3.3 對比模型
在本節(jié)中,為了驗證本文方法的有效性,選取以下幾個模型作為基線進行對比。
a)fine-tuning:采用傳統(tǒng)的微調(diào)方法,將PLM的[CLS]輸入到分類層進行預(yù)測,分類層實驗中采取最簡單的全連接層。
b)PET[16]:使用手工制作的模板和Verbalizer,本文實驗中沒有使用PET中的技巧,如自訓(xùn)練和提示集成。
c)P-tuning[6]:使用連續(xù)空間內(nèi)的向量作為模板,再用LSTM進行初始化,在之后的模型訓(xùn)練過程中通過梯度進行優(yōu)化,Verbalizer采用手工制作的一對一映射。
d)KPT[21]:使用外部知識庫構(gòu)建Verbalizer,模板采用手工制作的模板。
3.4 實驗結(jié)果及分析
為了驗證本文模板構(gòu)建方法的有效性,在同一實驗環(huán)境下復(fù)現(xiàn)了3.3節(jié)中所列出的基線模型。如表4所示,基于提示學(xué)習(xí)方法在小樣本文本分類中都明顯優(yōu)于fine-tuning,反映了在小樣本任務(wù)上基于提示學(xué)習(xí)的分類模型性能的優(yōu)越性。對比實驗中,PET采用的是研究者根據(jù)數(shù)據(jù)集特點經(jīng)過多次實驗所選取的手工模板。在先前的研究中,也證明了這樣的手工模板比自動生成的模板具有更好的性能。
本文所提出的模板構(gòu)建方式,只需要根據(jù)數(shù)據(jù)集標(biāo)簽來構(gòu)建一個提問句,通過提問的方式激發(fā)大語言模型根據(jù)上下文語境自主的回答提出的問題。該方法固定了提問方式,但PLM的回答方式不明確,如果簡單的使用手工設(shè)定仍會陷入手工模板的局限性,所以QPT選擇在提問之后嵌入可訓(xùn)練的連續(xù)提示。相比于僅僅嵌入可訓(xùn)練的連續(xù)提示,QPT因有問句的嵌入,可訓(xùn)練的連續(xù)提示不需要嵌入太多就能得到較好的效果,同時參數(shù)量較P-tuning有所減少,使用外部知識構(gòu)建的Verbalizer,有效解決了標(biāo)簽詞覆蓋率低的問題。在5-shot、10-shot和20-shot的實驗中,與最佳基線相比,在AG’s News數(shù)據(jù)集上的準(zhǔn)確率分別提高了0.81、0.56和0.51百分點。在IMDB數(shù)據(jù)集上的準(zhǔn)確率則分別提高了1.36、1.23和1.17百分點。如圖3所示,訓(xùn)練樣本數(shù)量越多,模型能夠?qū)W習(xí)到知識越多,基線模型與本文方法精度相差越小,證明了在小樣本任務(wù)中本文方法能夠彌補數(shù)據(jù)量少的問題。此外,該方法可以遷移到所有帶標(biāo)簽的數(shù)據(jù)集文本分類任務(wù)上。例如需要將句子“What’s the relation between speed and acceleration?”分類到“Science”和“Sports”,本文模型能夠準(zhǔn)確地將此句子分類到“Science”類別,而基線模型可能會根據(jù)“speed”詞被誤分類到“Sports”類。本文模型能夠在k-shot下實現(xiàn)精準(zhǔn)分類。
3.5 消融實驗
為了驗證QPT各組件的有效性,本文在5-shot下對兩個數(shù)據(jù)集進行了消融實驗。消融實驗結(jié)果顯示,當(dāng)缺少提問(question)、可訓(xùn)練的連續(xù)提示(trainable continuous prompts)或包含外部知識的標(biāo)簽詞映射器(knowledgeable verbalizer)任何一個時,QPT的性能都會下降,這表明所有模塊都有優(yōu)勢。根據(jù)標(biāo)簽對文本進行提問,一方面能夠喚醒PLM在預(yù)訓(xùn)練階段所學(xué)到的知識,另一方面,提供了能夠充分利用標(biāo)簽信息的任務(wù)導(dǎo)向。如表5結(jié)果所示,在不使用question來構(gòu)建模板的情況下,準(zhǔn)確率會分別下降0.81和1.01百分點。在不使用trainable continuous prompts的情況下準(zhǔn)確率下降了3.2和1.1百分點,證明了在問題之后嵌入兩個可訓(xùn)練連續(xù)向量,可以快速優(yōu)化提升小樣本學(xué)習(xí)能力。knowledgeable verbalizer改善了手工Verbalizer覆蓋率低的問題,QPT使用問題導(dǎo)向式模板與細(xì)化后的knowledgeable verbalizer結(jié)合進行分類,實驗結(jié)果證明這種結(jié)合表現(xiàn)最優(yōu)。
3.6 應(yīng)用分析
本文方法均可用于帶有標(biāo)簽的小樣本文本分類任務(wù)中,特別在標(biāo)注數(shù)據(jù)不足的情況下,本文在5-shot下便能達到具有競爭性的準(zhǔn)確率。例如,在新聞主題分類領(lǐng)域,當(dāng)面臨一個新的主題時,缺乏標(biāo)注數(shù)據(jù),本文方法能夠根據(jù)現(xiàn)有的數(shù)據(jù)迅速優(yōu)化模型,達到精準(zhǔn)分類;在醫(yī)療領(lǐng)域,許多罕見病數(shù)據(jù)樣本嚴(yán)重不足導(dǎo)致識別此類疾病非常困難,本文方法的提出能夠幫助醫(yī)務(wù)人員識別此類疾病。總之,本文方法能夠在標(biāo)注數(shù)據(jù)不足的場景下,充分利用數(shù)據(jù)集標(biāo)簽和大模型提升分類效果。
4 結(jié)束語
本文對文本分類領(lǐng)域中的小樣本問題進行了研究,提出了一種基于提問式提示學(xué)習(xí)的方法QPT。該方法利用數(shù)據(jù)集標(biāo)簽對文本進行提問,之后嵌入可訓(xùn)練的連續(xù)向量,將傳統(tǒng)的分類任務(wù)轉(zhuǎn)換成完形填空任務(wù),充分利用了大規(guī)模預(yù)訓(xùn)練語言模型在預(yù)訓(xùn)練階段學(xué)習(xí)到的知識,最后結(jié)合基于外部知識庫構(gòu)建的標(biāo)簽映射關(guān)系得到分類結(jié)果。
實驗結(jié)果體現(xiàn)了QPT在小樣本文本分類領(lǐng)域的潛力,對于未來的研究工作還需要進一步探討:a)將本文方法整合到文本生成等其他任務(wù)的提示調(diào)優(yōu)中;b)在模板構(gòu)建和標(biāo)簽詞映射器設(shè)計方面,找到一種較好的組合方法。
參考文獻:
[1]Kenton J D M W C, Toutanova L K. BERT: pre-training of deep bidirectional Transformers for language understanding[C]//Proc of Conference on Empirical Methods in Natural Language Processing. Stroudsburg, PA: ACL Press, 2019: 4171-4186.
[2]Brown T, Mann B, Ryder N, et al. Language models are few-shot learners[C]//Proc of the 34th International Conference on Neural Information Processing Systems. New York: ACM Press, , 2020: 1877-1901.
[3]Jiang Zhengbao, Xu F F, Araki J, et al. How can we know what language models know?[J]. Transactions of the Association for Computational Linguistics, 2020, 8: 423-438.
[4]Liu Han, Wu Yuhao, Zhai Shixuan, et al. Riatig: reliable and imperceptible adversarial text-to-image generation with natural prompts[C]//Proc of IEEE/CVF Conference on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE Press, 2023: 20585-20594.
[5]Wang Chengyi, Chen Sanyuan, Wu Yu, et al. Neural codec language models are zero-shot text to speech synthesizers[EB/OL]. (2023-01-05). https://arxiv.org/abs/2301.02111.
[6]Liu Xiao, Zheng Yanan, Du Zhengxaio, et al. GPT understands, too[EB/OL]. (2021-05-18)[2024-07-14]. https://arxiv.org/pdf/2103.10385.pdf.
[7]Wang Yaqing, Yao Quanming, Kwok J T, et al. Generalizing from a few examples: a survey on few-shot learning[J]. ACM Computing Surveys, 2020, 53(3): 1-34.
[8]Hou Ruibing, Chang Hong, Ma Bingpeng, et al. Cross attention network for few-shot classification[C]//Proc of the 33rd International Conference on Neural Information Processing Systems. New York: ACM Press, 2019: 4003-4014.
[9]Bao Yujia, Wu Menghua, Chang Shiyu, et al. Few-shot text classification with distributional signatures[EB/OL]. (2020-04-30)[2024-07-14]. https://doi.org/10.48550/arXiv.1908.06039.
[10]Snell J, Swersky K, Zemel R. Prototypical networks for few-shot learning[C]//Proc of the 31st International Conference on Neural Information Processing Systems. New York: ACM Press, 2017: 4080-4090.
[11]Geng Ruiying, Li Binhua, Li Yongbin, et al. Dynamic memory induction networks for few-shot text classification[EB/OL]. (2020-05-12)[2024-07-14]. https://arxiv.org/abs/2005.05727.
[12]趙凱琳, 靳小龍, 王元卓. 小樣本學(xué)習(xí)研究綜述[J]. 軟件學(xué)報, 2021, 32(2): 349-369. (Zhao Kailin, Jin Xiaolong, Wang Yuanzhuo. Survey on few-shot learning[J]. Journal of Software, 2021, 32(2): 349-369.)
[13]Scao T L, Rush A M. How many data points is a prompt worth?[EB/OL]. (2021-03-15)[2024-07-14]. https://arxiv.org/abs/2103.08493.
[14]Schick T, Schyutze H. It’s not just size that matters: small language models are also few-shot learners[EB/OL]. (2020-09-15)[2024-07-14]. https://arxiv.org/abs/2009.07118.
[15]岳增營, 葉霞, 劉睿珩. 基于語言模型的預(yù)訓(xùn)練技術(shù)研究綜述[J]. 中文信息學(xué)報, 2021, 35(9): 15-29. (Yue Zengying, Ye Xia, Liu Ruiheng. A survey of language model based pre-training technology[J]. Journal of Chinese Information Processing. 2021, 35(9): 15-29.)
[16]Schick T, Schyutze H. Exploiting cloze-questions for few-shot text classification and natural language inference[EB/OL]. (2020-01-21)[2024-07-14]. https://arxiv.org/abs/2001.07676.
[17]Perez E, Kiela D, Cho K. True few-shot learning with language mo-dels[J]. Neural Information Processing Systems, 2021, 34: 11054-11070.
[18]Liu Haokun, Tam D, Muqeeth M, et al. Few-shot parameter-efficient fine-tuning is better and cheaper than in-context learning[C]//Proc of the 36th International Conference on
Neural Information Processing Systems. New York: ACM Press, 2022: 1950-1965.
[19]Gao Tianyu, Fisch A, Chen Danqi. Making pre-trained language models better few-shot learners[C]//Proc of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 1: Long Papers). Stroudsburg, PA: ACL, 2021: 3816-3830.
[20]Li X L, Liang P. Prefix-Tuning: optimizing continuous prompts for generation[C]//Proc of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 1: Long Papers). Stroudsburg, PA: ACL, 2021: 4582-4597.
[21]Hu Shengding, Ding Ning, Wang Huadong, et al. Knowledgeable prompt-tuning: incorporating knowledge into prompt verbalizer for text classification[C]//Proc of the 60th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). Stroudsburg, PA: ACL, 2022: 2225-2240.
[22]Min S, Lewis M, Hajishirzi H, et al. Noisy channel language model prompting for few-shot text classification[C]//Proc of the 60th Annual Meeting of the Association for Computational Linguistics(Volume 1: Long Papers). Stroudsburg, PA: ACL, 2022: 5316-5330.
[23]Liu Yinhan, Ott M, Goyal N, et al. Roberta: a robustly optimized bert pretraining approach[EB/OL]. (2019-05-24)[2024-07-14]. https://arxiv.org/pdf/1810.04805.pdf.
[24]Zhang Xiang, Zhao Junbo, LeCun Y. Character-level convolutional networks for text classification[J]. Neural Information Processing Systems, 2015, 28: 649-657.
[25]Maas A, Daly R E, Pham P T, et al. Learning word vectors for sentiment analysis[C]//Proc of the 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies. Stroudsburg, PA: ACL, 2011: 142-150.
[26]Ding Ning, Hu Shengding, Zhao Weilin, et al. OpenPrompt: an open-source framework for prompt-learning[C]//Proc of the 60th Annual Meeting of the Association for Computational Linguistics: System Demonstrations. Stroudsburg, PA: ACL, 2022: 105-113.