于碧輝,蔡興業(yè)*,魏靖烜
(1.中國科學(xué)院大學(xué),北京 100049;2.中國科學(xué)院 沈陽計算技術(shù)研究所,沈陽 110168)
文本是信息傳播的重要途徑和載體,將文本數(shù)據(jù)正確歸類,從而更好地組織、利用這些信息,具有重要的研究意義。文本分類致力于解決上述問題,是自然語言處理(Natural Language Processing,NLP)領(lǐng)域的經(jīng)典任務(wù)之一,被廣泛應(yīng)用于輿情監(jiān)測、情感分析等場景中。目前比較有效的文本分類方法,如經(jīng)典的應(yīng)用于文本的卷積神經(jīng)網(wǎng)絡(luò)(Text Convolutional Neural Network,Text-CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(Text Recurrent Neural Network,Text-RNN)[1]等,多為建立在具有大量的標注數(shù)據(jù)下的有監(jiān)督學(xué)習(xí)。在很多實際場景中,由于領(lǐng)域特殊性和標注成本高,導(dǎo)致標注訓(xùn)練數(shù)據(jù)缺乏,模型無法有效地學(xué)習(xí)參數(shù),從而易出現(xiàn)過擬合現(xiàn)象。因此,如何通過小樣本數(shù)據(jù)訓(xùn)練得到一個性能較好的分類模型是目前的研究熱點。
在算法層面,超大規(guī)模預(yù)訓(xùn)練模型成為備受關(guān)注的熱點之一,推動技術(shù)效果不斷提升。依托預(yù)訓(xùn)練模型,NLP 的各項任務(wù)取得了飛速發(fā)展,小樣本任務(wù)也因此受益。利用預(yù)訓(xùn)練模型進行遷移微調(diào)逐漸成為NLP 領(lǐng)域開展小樣本學(xué)習(xí)的主要手段,提示學(xué)習(xí)的興起更是減小了預(yù)訓(xùn)練階段和下游任務(wù)之間的差異,在小樣本任務(wù)上取得了顯著的成果。
在上述研究基礎(chǔ)上,本文提出了基于提示學(xué)習(xí)的小樣本文本分類方法,分析了提示學(xué)習(xí)的優(yōu)勢與不足,并提出了一種基于預(yù)訓(xùn)練模型的自適應(yīng)模板生成的方法用于小樣本場景下的文本分類。采取構(gòu)建模板和空缺的方式將分類任務(wù)轉(zhuǎn)化為完形填空問題,并使用預(yù)訓(xùn)練模型自動構(gòu)建模板代替?zhèn)鹘y(tǒng)的人工定義方法。在FewCLUE 的文本分類數(shù)據(jù)集上的實驗表明,所提方法相較于直接微調(diào)的方法以及諸如度量學(xué)習(xí)等傳統(tǒng)小樣本學(xué)習(xí)方法,展現(xiàn)出了更優(yōu)的性能。
小樣本學(xué)習(xí)(Few-Shot Learning,F(xiàn)SL)是研究利用目標類別的少量監(jiān)督信息來訓(xùn)練機器學(xué)習(xí)模型的方法[2],主要分為基于模型優(yōu)化、度量學(xué)習(xí)及數(shù)據(jù)增強三類學(xué)習(xí)方法。
基于模型優(yōu)化的研究方法多采用元學(xué)習(xí)的方式。它期望模型具備學(xué)習(xí)能力[3],模型在訓(xùn)練過程中會根據(jù)樣本集制定學(xué)習(xí)策略,即讓模型學(xué)習(xí)得到優(yōu)化器,自行學(xué)習(xí)調(diào)參策略,有學(xué)者基于該框架提出了新算法。如Andrychowicz 等[4]最早采用訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型的方式,學(xué)習(xí)優(yōu)化神經(jīng)網(wǎng)絡(luò)的規(guī)則,在當時取得了較好的效果。在此研究基礎(chǔ)上,Ravi 等[5]發(fā)現(xiàn)長短期記憶(Long Short-Term Memory,LSTM)網(wǎng)絡(luò)的更新規(guī)則與前饋網(wǎng)絡(luò)的梯度下降過程相似,于是嘗試利用LSTM 的結(jié)構(gòu)訓(xùn)練神經(jīng)網(wǎng)絡(luò)的更新機制,學(xué)習(xí)到新的網(wǎng)絡(luò)參數(shù)。Finn等[6]提出的模型無關(guān)元學(xué)習(xí)算法是元學(xué)習(xí)領(lǐng)域中標志性文章與代碼框架,相較于梯度下降的基步長,該方法新增了采用隨機梯度下降優(yōu)化的元步長,即通過雙層的梯度下降實現(xiàn)跨任務(wù)的元優(yōu)化。
基于度量學(xué)習(xí)的研究方法通過計算訓(xùn)練樣本和測試樣本的相似度來確定樣本的類別標簽,從而實現(xiàn)分類。此類方法降低了模型復(fù)雜性,提高了泛化能力。Vinyals 等[7]提出的匹配網(wǎng)絡(luò)為支持集和查詢集構(gòu)造了不同的特征編碼器,采用對最近鄰加權(quán)的方法計算待測樣本與支持集樣本的相似度。Cai 等[8]提出的記憶匹配網(wǎng)絡(luò)將樣本上下文信息集成到嵌入式體系結(jié)構(gòu)中,提高了匹配網(wǎng)絡(luò)的單樣本學(xué)習(xí)能力。Snell等[9]提出的原型網(wǎng)絡(luò)以嵌入空間支持集中各類別均值的中心作為類別的原型表達,將小樣本學(xué)習(xí)問題轉(zhuǎn)化為嵌入空間中的最近鄰問題。但是度量學(xué)習(xí)存在數(shù)據(jù)分布易對度量準則產(chǎn)生顯著影響的問題,難以確定一種度量準則來滿足多個維度特征的分布。
基于數(shù)據(jù)增強的小樣本學(xué)習(xí)方法主要包括擴充數(shù)據(jù)集及特征增強。Mehrotra 等[10]提出了生成對抗殘差成對網(wǎng)絡(luò),將生成對抗網(wǎng)絡(luò)引入到單樣本學(xué)習(xí)問題中。Hou 等[11]基于直推式學(xué)習(xí)的思想,提出了一種交叉注意力網(wǎng)絡(luò),利用注意力機制為每對特征和查詢生成交叉注意映射,對特征進行采樣,從而達到特征增強的效果。
上述方法主要應(yīng)用于計算機視覺的科研工作中,原因在于圖像處理問題更多強調(diào)感知智能,依靠統(tǒng)計特征發(fā)現(xiàn)和函數(shù)擬合進行問題求解。目前針對NLP 下的小樣本文本分類問題,阿里小蜜團隊在對話場景中的意圖識別任務(wù)中提出了歸納網(wǎng)絡(luò)來解決少樣本文本分類的問題,結(jié)合動態(tài)路由算法和元學(xué)習(xí)框架模擬人類的歸納能力[12]。Yu 等[13]提出了多指標文本分類方法,通過任務(wù)聚類組合多個指標,自動地從一組新出現(xiàn)的少量任務(wù)的元訓(xùn)練任務(wù)中確定最佳加權(quán)組合。Bailey 等[14]提出了基于預(yù)訓(xùn)練詞嵌入和人工監(jiān)督的小樣本文本分類方法,通過聚類和度量學(xué)習(xí)的思想得到某一類別的向量表示,依據(jù)主題模型的思想進一步確定樣本類別。
盡管上述科研工作均面向小樣本領(lǐng)域,但它們的主要思想仍為在已知數(shù)據(jù)集上提高模型的學(xué)習(xí)上限,但是NLP 更注重感知之后的認知和理解,并非淺層的統(tǒng)計語義,少量的樣本難以讓模型學(xué)習(xí)到理解的能力,這就要求NLP 領(lǐng)域的小樣本問題仍需要大量數(shù)據(jù)的支持。近年來預(yù)訓(xùn)練模型的提出在一定程度上解決了知識的獲取和重復(fù)利用問題,因此本文利用預(yù)訓(xùn)練模型的先驗知識,通過遷移的方式為模型引入更多的外部信息,從而解決小樣本場景下的文本分類問題。
預(yù)訓(xùn)練語言模型(Pre-trained Language Model,PLM)是先在多元任務(wù)上預(yù)訓(xùn)練獲得通用知識,然后使用少量目標任務(wù)上的標注數(shù)據(jù)進行微調(diào)的模型。模型訓(xùn)練和使用分別對應(yīng)兩個階段:預(yù)訓(xùn)練階段和微調(diào)階段。在自然語言處理領(lǐng)域,首先通過一批文本語料進行模型訓(xùn)練,用自監(jiān)督的方法從海量無監(jiān)督數(shù)據(jù)中獲取知識;然后在初步訓(xùn)練好的模型基礎(chǔ)上繼續(xù)訓(xùn)練,通過調(diào)整PLM 的參數(shù)來解決下游任務(wù),包括文本分類、實體識別、關(guān)系抽取等。
預(yù)訓(xùn)練模型成功的關(guān)鍵在于自監(jiān)督學(xué)習(xí)與Transformer的結(jié)合,具有代表性的工作是GPT(Generative Pre-trained Transformer)[15]和BERT(Bidirectional Encoder Representation from Transformer)[16]系列模型,同時還有XLNet[17]、MPNet[18]等。
GPT 采用單向Transformer 作為主要結(jié)構(gòu),應(yīng)用了生成式預(yù)訓(xùn)練和鑒別式微調(diào)。BERT 使用雙向深度Transformer 作為主要結(jié)構(gòu),在預(yù)訓(xùn)練階段包含兩個任務(wù):MLM(Masked Language Model)和NSP(Next Sentence Prediction)。前者類似完形填空,遮蓋掉待預(yù)測單詞,然后利用這句話的其他單詞去預(yù)測被遮蓋部分的這個單詞;后者是給定兩句話,判斷這兩句話在原文中是否是相鄰的關(guān)系。二者的主要區(qū)別在于GPT 是單向自回歸語言模型,BERT 是自編碼模型[19],MLM任務(wù)使它能夠?qū)W習(xí)到雙向的語義信息。因此,普遍認為GPT擅長自然語言生成,而BERT 更側(cè)重于自然語言理解。
在小樣本任務(wù)場景下,由于少量的數(shù)據(jù)無法支持模型學(xué)習(xí)到足夠的參數(shù),容易在訓(xùn)練集上過擬合,因此需要引入外部知識,應(yīng)用遷移學(xué)習(xí)的思想將預(yù)訓(xùn)練模型遷移應(yīng)用在小樣本場景下。鑒于BERT 的雙向編碼能力能夠更好地學(xué)習(xí)提示模板,而且模板的相對位置可以自由調(diào)整,因此本文采用BERT 模型作為學(xué)習(xí)器,然后利用BERT 的兩個預(yù)訓(xùn)練任務(wù),相較于微調(diào)的方法能更好地利用預(yù)訓(xùn)練模型。
提示學(xué)習(xí)(Prompt Learning)[20]是最近興起的模型訓(xùn)練方法,它實現(xiàn)了NLP 技術(shù)中由之前的先預(yù)訓(xùn)練再微調(diào)的模式轉(zhuǎn)變?yōu)轭A(yù)訓(xùn)練、提示再預(yù)測的模式。自預(yù)訓(xùn)練模型提出后,NLP 任務(wù)就開始傾向于采用對預(yù)訓(xùn)練模型進行微調(diào)的方法,從而避免了重新學(xué)習(xí)的缺點,降低了NLP 任務(wù)的訓(xùn)練與應(yīng)用難度,使NLP 各項任務(wù)取得了不同程度的突破。由于預(yù)訓(xùn)練與下游任務(wù)不一致,在基于預(yù)訓(xùn)練模型解決下游任務(wù)時的策略為讓預(yù)訓(xùn)練模型調(diào)整參數(shù)去適應(yīng)下游任務(wù)。提示學(xué)習(xí)的核心思想是按照特定模板處理輸入的文本信息,把任務(wù)重構(gòu)成一個更能充分利用預(yù)訓(xùn)練語言模型處理的形式。將下游任務(wù)轉(zhuǎn)換為語言模型的任務(wù),即完形填空。提示學(xué)習(xí)能廣泛激發(fā)出預(yù)訓(xùn)練語言模型中的先驗知識,讓預(yù)訓(xùn)練語言模型和下游任務(wù)更接近,從而更好地利用預(yù)訓(xùn)練模型。
提示學(xué)習(xí)最初由人工設(shè)計模板。人工設(shè)計一般依賴于語言學(xué)知識,力求得到語義流暢且高效的模板。Schick 等[21]提出了PET(Pattern Exploiting Training),主要的思想是借助由自然語言構(gòu)成的模板,將下游任務(wù)轉(zhuǎn)化為一個完形填空任務(wù),從而使用BERT 的MLM 進行預(yù)測。但是PET 方法的局限性在于需要人工選擇模板,而且PET 的準確率對于模板的質(zhì)量依賴性較高。為了解決人工設(shè)計模板的不足,探究如何自動學(xué)習(xí)到合適的模板成為一大研究熱點。Li 等[22]提出Prefix tuning 和Liu 等[23]提出的P-tuning(Prompt-tuning)均放棄了模板由自然語言構(gòu)成這一常規(guī)要求,使用了連續(xù)空間內(nèi)的向量作為模板,二者都是連續(xù)空間內(nèi)的模板優(yōu)化方法,區(qū)別在于:P-tuning 中模板在句中的相對位置可變,主要面向自然語言理解任務(wù);而Prefix tuning 的模板是前綴,只能放在句子開頭,針對的是自然語言生成任務(wù)。
提示學(xué)習(xí)的方法使模型更多地利用先驗知識,緩解了小樣本場景下可學(xué)習(xí)到的知識不足的問題。本文借助了提示學(xué)習(xí)的思想,將文本分類任務(wù)轉(zhuǎn)化為完形填空任務(wù),進一步提出了利用預(yù)訓(xùn)練模型在標注數(shù)據(jù)上自動學(xué)習(xí)提示模板的方法,用于提高模板的提示能力,進而提高模型的性能。
本章主要介紹整體模型結(jié)構(gòu)、各個層的實現(xiàn)方法和作用以及優(yōu)化策略等。
本文提出了基于提示學(xué)習(xí)的分類方法BERT-P-tuning,即基于BERT 的連續(xù)提示微調(diào)方法,采用可學(xué)習(xí)的連續(xù)向量作為提示模板。圖1 為整體的模型結(jié)構(gòu),主要由三部分組成:模板學(xué)習(xí)層、BERT-MLM 層和標簽映射層。其中:BERT模板學(xué)習(xí)層的作用是利用模型的雙向Transformer 結(jié)構(gòu)和在預(yù)訓(xùn)練階段學(xué)習(xí)到的先驗知識,在標注數(shù)據(jù)上學(xué)習(xí)到一組向量作為提示模板;BERT-MLM 層主要用于完形填空任務(wù),在候選詞集合中選擇使句子概率最高、語義最合理的詞填入空缺中;標簽映射層用于定義描述候選詞和標簽之間的對應(yīng)關(guān)系,通過映射來確定樣本的類別標簽,從而實現(xiàn)分類。
圖1 BERT-P-tuning模型結(jié)構(gòu)Fig.1 Structure of BERT-P-tuning model
本文的自動構(gòu)建提示模板方法基于P-tuning 的思想,利用連續(xù)空間內(nèi)的向量表示作為提示模板,將模板的構(gòu)建轉(zhuǎn)化為連續(xù)參數(shù)優(yōu)化問題。即在標注樣本集上學(xué)習(xí)到使整個句子表示置信度最高的一組向量作為模板提示,如圖2 所示。
圖2 模板提示Fig.2 Template prompt
圖2 中的[u1]~[u4]代表BERT 詞表中的[unused1]~[unused4]。該部分標記在BERT 預(yù)訓(xùn)練階段未使用,通常用于擴充詞表等。即本文通過未使用過的標記來初始化構(gòu)成模板表示,之后通過標注數(shù)據(jù)計算出該模板。
在P-tuning[23]中,作者通過一個小型的LSTM 模型計算出提示模板部分的詞嵌入,目的在于提高每個字符的相關(guān)性,幫助模板的向量表示更貼近自然語言。但LSTM 的捕捉距離與抽取特征能力較弱,并且它順序處理的特性導(dǎo)致難以處理模板置于句首的情況;而BERT 模型經(jīng)過預(yù)訓(xùn)練階段同樣可以讓模板貼近自然語言,而且它的特征抽取能力更強,因此本文采用BERT 模型作為模板層的學(xué)習(xí)器。
將任務(wù)定義為在連續(xù)向量空間內(nèi)搜尋最優(yōu)向量使得在標注樣本上獲得最小損失的問題。具體如下:
定義語言模型為M,輸入樣本表示為X={X0,X1,…,XN},標簽對應(yīng)的詞為Y,模板為P={P0,P1,…,Pk},定義E(X)表示X的詞嵌入,E(Y)表示Y的詞嵌入,因此完整的輸入構(gòu)成如下:
其中,E(P)為可求解的模板向量,在輸入中與原始文本和標簽詞的相對位置可以自由確定。首先,隨機初始化生成(k,768)維度的向量,利用下游損失函數(shù)L,采用隨機梯度下降的方法訓(xùn)練連續(xù)優(yōu)化模板部分對應(yīng)的參數(shù)。求解目標為式(2):
在得到提示模板對應(yīng)的向量后,將它拼接到BERT 的詞嵌入層中作為完形填空模型的輸入。自動構(gòu)建模板的優(yōu)勢在于打破了人工構(gòu)建模板的局限性,可以學(xué)習(xí)到超出原始詞匯表限制的提示模板,得到模型可學(xué)習(xí)到的向量空間內(nèi)的最優(yōu)解。雖然可解釋性不如人工構(gòu)建模板的方案,但是模型在分類性能上具有優(yōu)勢。
BERT 在訓(xùn)練階段為了使模型具備有效的學(xué)習(xí)到雙向編碼的能力,使用了基于遮蓋的語言模型,即隨機對輸入序列中的某些位置進行遮蔽,然后通過模型來進行預(yù)測。因此BERT 模型在完形填空任務(wù)上具備先驗優(yōu)勢。
本文采用BERT-MLM 層用于完成完形填空任務(wù)。預(yù)測句中空缺部分為候選詞集合對應(yīng)的概率,以及它們填入文中的語義合理性。具體實現(xiàn)如下:
定義候選詞集合W={W0,W1,…,Wm},對于每個句子S,M(S|W)表示語言模型在空缺位置為W時的得分。因此每個候選詞對應(yīng)的得分為:
之后通過Softmax 函數(shù)將它轉(zhuǎn)化為概率分布,選擇概率最大的詞填入到空缺中。
在得到空缺部分的詞之后,將結(jié)果輸入標簽映射層。標簽映射層的主要作用為定義MLM 任務(wù)中的候選詞和標簽之間的對應(yīng)關(guān)系。例如根據(jù)不同任務(wù)將[好,壞],[體育,軍事,…,金融]等集合作為完形填空的候選詞,構(gòu)建[好→積極,壞→消極]的標簽映射關(guān)系。因此文本分類任務(wù)可通過預(yù)測選取候選詞集合中的詞,之后通過映射關(guān)系得到最終的標簽。
在模型訓(xùn)練階段,本文采取MLM 的損失作為最終的目標。通過預(yù)測空缺部分是候選集里的哪個詞之后,標簽映射得到最終的標簽。由于標注數(shù)據(jù)的不足,僅通過少量數(shù)據(jù)很難學(xué)習(xí)到整個模型的參數(shù),而且易出現(xiàn)過擬合。因此,在模型訓(xùn)練階段借助了Adapter[24]的思想,固定模型原始權(quán)重,在BERT 的基礎(chǔ)上添加殘差模塊,即本文的提示模板部分;并且在訓(xùn)練過程中只優(yōu)化殘差模塊的參數(shù),它的梯度回傳過程如圖2 反向傳播部分所示。本文將需要優(yōu)化的模板部分參數(shù)重新構(gòu)建一個嵌入層,為圖中E(P)。將它拼接到BERT 模型的嵌入層中,在訓(xùn)練過程中通過矩陣遮蓋住原始模型的嵌入層E(M),使得它在回傳過程中的梯度為0,不參與反向傳播的計算,從而實現(xiàn)在更新階段只更新模板部分的參數(shù)。
此外模型訓(xùn)練目標在于收斂模型預(yù)測標簽和真實標簽間的差距,采用交叉熵損失函數(shù)。由于僅預(yù)測空缺位置的詞,全文計算損失無意義,因此在將模型的輸入文本轉(zhuǎn)化為序列的同時,將其他詞以-1 的標注遮蓋掉,使它們不參與交叉熵損失的計算。
本文采用的數(shù)據(jù)集來自中文語言理解權(quán)威測評榜單的子榜FewCLUE[25]。由于提示模板的長度有限,在長文本分類句子中的占比較小,因此選擇其中的短文本二分類任務(wù)情緒分析電子商務(wù)產(chǎn)品評論數(shù)據(jù)集(EPRSTMT)和多分類任務(wù)新聞標題多分類數(shù)據(jù)集(Tnews)。EPRSTMT 共有兩類標簽:正向和負向;每條數(shù)據(jù)有3 個屬性,分別是id、sentence 和label,對于label 標簽,Positive 表示正向,Negative 表示負向。Tnews 來自今日頭條的新聞版塊,共包含15 個類別的新聞,包括軍事、體育、文化等;每條數(shù)據(jù)有3 個屬性,分別是分類ID、分類名稱與新聞標題字符串。數(shù)據(jù)集具體信息如表1 所示。
表1 實驗中使用的數(shù)據(jù)集Tab.1 Datasets used in experiments
實驗基于PyTorch 框架搭建神經(jīng)網(wǎng)絡(luò)模型,詳細實驗環(huán)境參數(shù)如表2 所示。
表2 實驗環(huán)境Tab.2 Experimental environment
實驗采用的BERT 模型為RoBERTa-wwm-ext[26]。RoBERTa-wwm-ext 相較于BERT 主要有兩方面的優(yōu)化:1)在模型規(guī)模、算力和數(shù)據(jù)上均有提升;2)基于全詞掩碼的中文訓(xùn)練方式更適用于中文任務(wù)。
在模型訓(xùn)練的過程中,由于訓(xùn)練樣本較少,為保證學(xué)習(xí)到更多的特征,因此采用較大的樣本長度來避免截斷所帶來的語義信息丟失問題;其他參數(shù)通過實際實驗中的手動調(diào)參,最終確定最優(yōu)情況下的訓(xùn)練參數(shù)如表3 所示。
表3 實驗參數(shù)Tab.3 Experimental parameters
為探究不同模板對模型性能的影響,同時選取對比實驗中PET 部分采用的人工模板。本文使用BERT 的預(yù)訓(xùn)練任務(wù)NSP[27],即下一句預(yù)測,來完成零樣本文本分類任務(wù)。人工構(gòu)造模板“這是一條[MASK]的評價:”,分別在測試樣本前加入由模板和候選詞組成的前綴來構(gòu)成新的句子。
例1 “這是一條正面的評價:很好,已經(jīng)第二次購買了?!?/p>
“這是一條負面的評價:很好,已經(jīng)第二次購買了?!?/p>
通過BERT 模型的NSP 任務(wù),計算兩句話的概率,其中概率較大的前綴的候選詞對應(yīng)的標簽,即為該條樣本的標簽。實驗結(jié)果如表4 所示。
表4 零樣本實驗結(jié)果Tab.4 Results of zero-shot experiment
從表4 可以看出,在提示階段,不同的提示模板對應(yīng)的分類準確率不同且相差較大,模板的長度、候選詞的選擇均影響最終的實驗結(jié)果,且模板中存在轉(zhuǎn)折時在一定程度上影響了拼接后的語義,導(dǎo)致準確率較低。因此尋求最優(yōu)模板是提示學(xué)習(xí)能否取得較好性能的關(guān)鍵。
人工構(gòu)建模板時,通常傾向于選擇模板句和待測樣本的語義匹配度更高、更符合人類語言學(xué)知識的自然語句,在此限制下得到的模板由離散空間內(nèi)的字符組成,它的解空間遠小于連續(xù)空間,因此難以尋求到提示效果最好的模板。而采用連續(xù)向量作為模板則跳出這一限制,直接在編碼階段通過模型學(xué)習(xí)得到向量模板,從而使模型取得更優(yōu)的實驗效果。
為了體現(xiàn)提示學(xué)習(xí)方法在小樣本任務(wù)上的優(yōu)勢,在同一實驗環(huán)境下,本文復(fù)現(xiàn)對比了目前小樣本學(xué)習(xí)領(lǐng)域的幾類主流方法的實驗結(jié)果。包括LSTM 分類方法、基于BERT 的微調(diào)方法(簡寫為BERT)、基于BERT 的度量學(xué)習(xí)(簡寫為Metric BERT)及PET[21]。其中Metric BERT 采用BERT 的CLS層的對應(yīng)輸出作為文本表征,使用歐氏距離作為度量標準;PET 采用模板為表4 中的最優(yōu)模板,使用BERT-MLM 實現(xiàn)完形填空任務(wù)。在五個單條訓(xùn)練集上進行測評,實驗的評價標準為平均準確率(Acc)和F1。
對比實驗結(jié)果如表5 所示。通過表5 的實驗結(jié)果可以看出,度量學(xué)習(xí)的方法在小樣本任務(wù)上的表現(xiàn)效果較差,其原因主要在于標注樣本不充足,覆蓋的樣本空間過小導(dǎo)致難以搜尋到與測試樣本相似度最高的支持數(shù)據(jù),從而出現(xiàn)匹配偏差問題。LSTM 相較于BERT 微調(diào)的方法的準確率較低,說明它的特征抽取能力弱于預(yù)訓(xùn)練模型,且在實驗過程中應(yīng)對多分類任務(wù)時經(jīng)過多輪迭代訓(xùn)練仍無法收斂,表明該類傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型難以直接處理低資源場景下的問題;基于人工構(gòu)建模板的PET 方法,以及本文提出的自動構(gòu)建模板方法BERT-P-Tuning,相較于直接使用BERT 微調(diào)性能都有一定程度的提升。與BERT 相比,在二分類任務(wù)上,BERT-P-Tuning的準確率與F1 分別提高了25.2 和26.7 個百分點;在多分類任務(wù)上,準確率與F1 分別提高了6.6 和8.0 個百分點。與PET 相比,BERT-P-Tuning 在兩個任務(wù)上準確率提升了2.9 和2.8 個百分點,F(xiàn)1 值提升了4.4 和4.2 個百分點。以上結(jié)果說明在小樣本任務(wù)上,基于提示學(xué)習(xí)的分類模型性能要優(yōu)于傳統(tǒng)的模型,更適用于小樣本的場景。
表5 不同模型的結(jié)果對比 單位:%Tab.5 Comparison of results of different models unit:%
為了進一步驗證本文方法提高了模板的提示能力,針對優(yōu)化策略部分和模板學(xué)習(xí)層開展消融實驗,其中BERT-PTuning-1、2、Final 分別對應(yīng)全模型優(yōu)化、全文計算損失和優(yōu)化后的方法,實驗結(jié)果如表6 所示。
表6 消融實驗結(jié)果 單位:%Tab.6 Results of ablation experiment unit:%
在對模板進行編碼過程中,分別采用LSTM 和BERT 模型,通過實驗結(jié)果表明其中BERT-P-Tuning-1、2、Final 學(xué)習(xí)到的模板性能略優(yōu)于LSTM-P-Tuning,體現(xiàn)了基于注意力機制的預(yù)訓(xùn)練模型在上下文的語義方面具有更強的理解能力,模型的雙向編碼在學(xué)習(xí)模板方面具備更強的優(yōu)勢。
在進行MLM 預(yù)測中,實驗結(jié)果表明只對空缺詞計算交叉熵損失的方法性能優(yōu)于計算全文計算損失的方法,其原因在于非空缺詞對于模型來說是可見的,無預(yù)測意義,這一點和BERT 預(yù)訓(xùn)練階段的MLM 任務(wù)保持一致,而且在實際訓(xùn)練過程中損失收斂得更快。此外,只優(yōu)化模板層部分參數(shù)的方法取得了更好的表現(xiàn),因為它的參數(shù)較少,即使在樣本不充足條件下也能學(xué)習(xí)到模板,不易出現(xiàn)過擬合的現(xiàn)象。`
綜上所述,本文所提BERT-P-Tuning 相較于傳統(tǒng)的文本分類方法,在小樣本場景下取得了更優(yōu)的表現(xiàn),其中所采用的優(yōu)化策略也進一步提高了模型的性能。
本文對文本分類方法進行了研究,提出了一種基于提示學(xué)習(xí)的文本分類方法BERT-P-Tuning。該方法利用BERT 模型根據(jù)上下文信息和標簽自適應(yīng)地生成提示模板,通過拼接提示模板和空缺,將傳統(tǒng)分類任務(wù)轉(zhuǎn)化為完形填空任務(wù),充分利用預(yù)訓(xùn)練模型的先驗知識,最后通過標簽映射關(guān)系得到樣本的標簽,從而實現(xiàn)文本分類。
實驗結(jié)果表明,本文方法性能優(yōu)于傳統(tǒng)分類模型在小樣本任務(wù)上的表現(xiàn),且相較于其他小樣本方法性能也有一定的提升。未來的研究工作將進一步擴大研究范圍,包括長文本分類、英文任務(wù)等,提高模型的泛化能力;并研究將該方法擴展到自然語言處理的其他領(lǐng)域的方法,如實體識別、關(guān)系抽取等。