趙文輝,吳曉鸰,凌 捷,HOON Heo
(1.廣東工業(yè)大學(xué)計算機(jī)學(xué)院,廣東 廣州 510006;2.三星電機(jī),韓國 水原 16674)
隨著互聯(lián)網(wǎng)的發(fā)展,人們生活的各個領(lǐng)域都與互聯(lián)網(wǎng)產(chǎn)生了緊密的聯(lián)系,人們會在各個互聯(lián)網(wǎng)平臺發(fā)表評論。通過分析這些文本中的情感傾向,挖掘有價值的信息,是自然語言處理中一個重要的研究方向。
目前情感分析方法主要基于情感詞典、機(jī)器學(xué)習(xí)和深度學(xué)習(xí)。深度學(xué)習(xí)常用的神經(jīng)網(wǎng)絡(luò)模型有卷積神經(jīng)網(wǎng)絡(luò)CNN(Convolutional Neural Network)、循環(huán)神經(jīng)網(wǎng)絡(luò)RNN(Recurrent Neural Network)、長短期記憶LSTM(Long Short-Term Memory)網(wǎng)絡(luò)和門控循環(huán)單元GRU(Gated Recurrent Unit)。這些模型均被廣泛應(yīng)用到情感分析任務(wù)中。Kalchbrenner等[1]提出把 CNN 應(yīng)用于自然語言處理,并設(shè)計了一個動態(tài)卷積神經(jīng)網(wǎng)絡(luò)模型,以處理不同長度的文本。Monika等[2]提出使用循環(huán)神經(jīng)網(wǎng)絡(luò)模型RNN對序列信號進(jìn)行建模,通過在網(wǎng)絡(luò)模型中引入記憶單元來處理長期依賴關(guān)系,同時能避免RNN 的梯度消失問題。
近年來,預(yù)訓(xùn)練語言模型PLM(Pre-trained Language Model)飛速發(fā)展,相繼提出了BERT(Bidirectional Encoder Representations from Transformers)[3]、RoBERTa(Robustly optimized BERT pretraining approach)[4]和T5[5]等基于Transformer的模型。因為PLM通過自注意力機(jī)制解決一詞多義的問題,同時還能捕獲詞與詞、句與句之間的高維情感特征,加上巨大的模型規(guī)模與從大規(guī)模預(yù)訓(xùn)練語料中獲得的通用知識,微調(diào)PLM的全模型參數(shù)后進(jìn)行情感分析取得了非常優(yōu)異的性能,成為了情感分析的主流方法[6-8]。Man等[9]提出使用BERT模型作為文章特征提取模型,并利用深度卷積神經(jīng)網(wǎng)絡(luò)提取文章的局部信息,效果好過傳統(tǒng)深度學(xué)習(xí)模型的。梅俠峰等[10]提出了結(jié)合ALBERT(A Lite BERT)和BiFASRU-AT(Bidirectional built-in Fast Attention Simple Recurrent Unit-ATtention)的情感分析模型,借助預(yù)訓(xùn)練模型賦予詞上下文動態(tài)語義,解決了一詞多義問題;再采用雙向內(nèi)置快速注意力簡單循環(huán)單元BiFASRU對上下文進(jìn)行建模,模型獲得了較高的F1值。
然而,情感文本的表達(dá)方式與文本所屬領(lǐng)域密切相關(guān),不同領(lǐng)域的情感描述之間有著明顯的差別。例如,“這真的把我看哭了?!边@句話,描述一部電影可能是感動而哭的積極評價,而若是放在餐飲領(lǐng)域,則可能是因為菜品賣相太差的消極評價。因此,直接將某特定領(lǐng)域訓(xùn)練的情感分析模型應(yīng)用于其它領(lǐng)域會存在適應(yīng)度不佳的問題[11]。傳統(tǒng)的模型微調(diào)(model tuning)方法對多個不同領(lǐng)域進(jìn)行情感分析,需要對每個領(lǐng)域分別建模。比如,楊修遠(yuǎn)等[12]提出了一種自適應(yīng)多領(lǐng)域知識蒸餾框架,分別訓(xùn)練多個不同領(lǐng)域的BERT教師模型;然后,利用基于多領(lǐng)域?qū)?yīng)的多個BERT模型,對單個學(xué)生模型進(jìn)行進(jìn)一步的蒸餾學(xué)習(xí)。而訓(xùn)練各個領(lǐng)域?qū)?yīng)的情感模型,需要保存每個領(lǐng)域?qū)?yīng)的大量參數(shù),這將會極大地耗費存儲空間,如圖1a所示。
Figure 1 Comparison of multi-domain sentiment analysis methods based on model fine-tuning and prompt tuning圖1 基于模型微調(diào)與基于提示微調(diào)的 多領(lǐng)域情感分析方法對比
Brown等[13]提出了prompt design(或priming),可通過給出任務(wù)描述或者幾個范例來調(diào)動GPT-3模型,模型無需微調(diào),可直接應(yīng)用于下游任務(wù)。這種方法無需為每個下游任務(wù)訓(xùn)練相應(yīng)的模型參數(shù),單個模型可以同時服務(wù)于許多不同的任務(wù)。在當(dāng)今模型參數(shù)量持續(xù)增加的情況下,“凍結(jié)”預(yù)訓(xùn)練模型的方法產(chǎn)生了巨大的影響。然而這種通過人工設(shè)計的prompt和少量范例來調(diào)動模型的方法,在下游任務(wù)上的性能遠(yuǎn)遠(yuǎn)落后于模型微調(diào)的。
近期,有研究人員提出了自動生成(設(shè)計)prompt的方法。Shin等[14]提出了一種在下游任務(wù)訓(xùn)練數(shù)據(jù)的指導(dǎo)下,搜索多個離散的模型基本輸入單元(token)組成prompt的算法。雖然這優(yōu)于人工設(shè)計的prompt,但其效果與模型微調(diào)的仍有差距。
Li等[15]提出了前綴微調(diào)(prefix tuning)方法,凍結(jié)模型參數(shù)并在編碼器中的每層加入了“前綴”。與人工設(shè)計和自動生成的prompt不同的是,“前綴”完全由可微調(diào)的自由參數(shù)組成,與離散的token不是一一對應(yīng)的。此方法在生成任務(wù)上取得了優(yōu)異的結(jié)果。后來,Hambardzumyan等[16]將可訓(xùn)練參數(shù)僅添加到掩碼語言模型(Masked Language Model)的輸入和輸出子網(wǎng)絡(luò)中,簡化了上述方法,在分類任務(wù)上取得了尚可的結(jié)果。
Lester等[17]提出了prompt tuning,進(jìn)一步簡化了prompt的形式,此方法保持模型凍結(jié),僅僅把k個可微調(diào)的token添加到輸入文本的前端作為soft prompt,不同的下游任務(wù)學(xué)習(xí)不同的soft prompt。當(dāng)模型規(guī)模變得很大時,prompt tuning的效果接近于模型微調(diào)的,但在中小型的模型中,prompt tuning的效果與模型微調(diào)的還存在較大差距。值得注意的是,實驗中發(fā)現(xiàn),對prompt使用不同的初始化方法,對最終的效果有很大的影響。
因此,一些研究工作中提出,在prompt應(yīng)用到下游任務(wù)之前,先用有監(jiān)督或自監(jiān)督學(xué)習(xí)的方法進(jìn)行訓(xùn)練得到一個或幾個prompt,作為下游任務(wù)prompt的初始化,取得了非常好的效果。Gu等[18]提出了PPT(Pre-trained Prompt Tuning),通過自監(jiān)督學(xué)習(xí)的方法訓(xùn)練prompt作為下游任務(wù)的初始化,在少樣本學(xué)習(xí)(few-shot learning)中的效果顯著。幾乎同時,Vu等[19]提出了SPoT(Soft Prompt Transfer),首先在一個或多個有標(biāo)注的數(shù)據(jù)集上訓(xùn)練soft prompt,作為下游任務(wù)prompt的初始化,此方法在全量數(shù)據(jù)學(xué)習(xí)中效果優(yōu)于模型微調(diào)的。但是,在應(yīng)用于下游任務(wù)進(jìn)行prompt tuning時,訓(xùn)練步數(shù)竟然達(dá)到了驚人的218(262 144),需要耗費大量的計算資源,而且在訓(xùn)練步數(shù)較少時,SPoT的效果與模型微調(diào)的還存在一定差距。
以上方法,要么效果無法與模型微調(diào)的媲美,要么訓(xùn)練步數(shù)過多導(dǎo)致耗費巨量的計算資源。因此,本文提出了MSAPT(Multi-domain Sentiment Analysis approach based on Prompt Tuning),把prompt tuning進(jìn)行適當(dāng)調(diào)整,應(yīng)用于多領(lǐng)域情感分析,并通過訓(xùn)練一個情感分析“通才模型”,減少下游任務(wù)中的訓(xùn)練步數(shù),同時保留其僅微調(diào)少量參數(shù)即可達(dá)到模型全參數(shù)微調(diào)效果的優(yōu)點。
MSAPT首先為情感分析的各個領(lǐng)域設(shè)計hard prompt添加到輸入文本中,同時也添加soft prompt,再為情感分析預(yù)訓(xùn)練一個統(tǒng)一的 “通才模型”,在下游的各領(lǐng)域文本學(xué)習(xí)中,保持模型凍結(jié),通過提示微調(diào)(prompt tuning)使模型學(xué)習(xí)到各領(lǐng)域情感文本的特征,如圖1b所示。因為預(yù)訓(xùn)練“通才模型”會被反復(fù)用到各個不同領(lǐng)域的情感分析任務(wù)中,所以MSAPT保持了prompt tuning參數(shù)高效的優(yōu)點,僅需保存一個模型和一些參數(shù)量遠(yuǎn)遠(yuǎn)小于模型的prompt。本文還設(shè)置了4個消融實驗,分別對適應(yīng)特定領(lǐng)域的prompt tuning、hard prompt、soft prompt的長度和中間訓(xùn)練數(shù)據(jù)集的大小進(jìn)行消融,探索這4個因素對情感分析效果的影響。綜上所述,本文的主要工作概括如下:
(1) 提出了MSAPT,把prompt tuning進(jìn)行適當(dāng)調(diào)整后應(yīng)用到多領(lǐng)域情感分析,僅保存一個模型和一些參數(shù)量遠(yuǎn)遠(yuǎn)小于模型的prompt,即可進(jìn)行高效的多領(lǐng)域情感分析,并且其效果能與模型微調(diào)的相媲美。
(2) 設(shè)計hard prompt幫助模型識別不同的情感領(lǐng)域,并提供了在特定情感領(lǐng)域中檢索合適的hard prompt的方法。
(3) 在對下游各領(lǐng)域文本進(jìn)行prompt tuning時,訓(xùn)練的輪次(epoch)數(shù)固定在10,總共的訓(xùn)練步數(shù)控制在1 960~17 980,在減少訓(xùn)練步數(shù)的同時,效果可與模型全參數(shù)微調(diào)的相媲美。
(4) 在消融實驗中證明了添加hard prompt、進(jìn)行prompt tuning對改善情感分析效果存在顯著作用;增加中間訓(xùn)練數(shù)據(jù)集的大小有助于提升方法在下游各領(lǐng)域情感分析任務(wù)中的效果;soft prompt的長度對模型效果有顯著影響。
本文遵循使用T5模型將NLP(Natural Language Processing)任務(wù)統(tǒng)一為“text to text”形式的方法[5],同樣把多領(lǐng)域情感分析轉(zhuǎn)換為文本生成任務(wù)。對于T5的模型微調(diào),通常將分類任務(wù)建模為Prθ(Y|X),即給定輸入文本X,預(yù)測類標(biāo)簽token序列Y的概率,其中θ是T5模型由編碼器和解碼器[20]構(gòu)成的Transformer模塊的參數(shù)。
prompt是添加在輸入文本X前端的一系列token,可看做是為模型預(yù)測Y輸入的額外信息。prompt可分為離散的prompt和連續(xù)的prompt。人工設(shè)計或自動生成的prompt由模型詞匯表中的token構(gòu)成,其參數(shù)化為模型參數(shù)θ中詞向量表的一部分,固定且不可微調(diào)。因此,尋找最佳的prompt需要通過人工設(shè)計或搜索算法來完成,這2種方法都不可微[21],所以它是離散的prompt,或稱為hard prompt。
Figure 2 Comparison of input forms of multi-domain sentiment analysis based on model fine tuning and prompt tuning圖2 基于模型微調(diào)與基于prompt tuning的多領(lǐng)域情感分析輸入形式對比
2.1.1 為輸入文本添加hard prompt
為了使模型能更好地學(xué)習(xí)到不同領(lǐng)域情感文本的特征,受到hard prompt可以將幾個不同的任務(wù)統(tǒng)一為一個任務(wù)的啟發(fā)[22],MSAPT在輸入文本X的前面添加了人工設(shè)計的hard prompt,記為H。hard prompt表示該情感文本的所屬領(lǐng)域和待選的情感標(biāo)簽,如一個電影領(lǐng)域三分類的情感文本的H可表示為:“領(lǐng)域:電影;標(biāo)簽:消極,適中,積極;文本:”,如圖2b所示。將標(biāo)簽詞以多選的形式放入到H中,目的是增強(qiáng)H的可擴(kuò)展性。未來隨著分類類別的增多,可以將新增的情感標(biāo)簽添加到H中,比如細(xì)粒度情感分析的標(biāo)簽詞“憤怒”“開心”“嫉妒”等。值得注意的是,MSAPT以“領(lǐng)域:”“標(biāo)簽:”和“文本:”3個固定的詞幫助模型區(qū)分輸入中的不同信息,又因為H是添加在輸入文本X之前的,所以在H的最后加上了“文本:”。同時,因為H由離散的token組成,所以由模型參數(shù)θ中詞向量表的參數(shù)進(jìn)行參數(shù)化,不可學(xué)習(xí)更新。在為輸入文本添加hard prompt后,可將多領(lǐng)域情感分析任務(wù)建模為Prθ(Y|[H;X])。
2.1.2 為輸入文本添加soft prompt
連續(xù)的prompt消除了prompt由模型參數(shù)θ初始化的限制,可自由選擇初始化形式,包括隨機(jī)初始化、用詞匯表中的高頻詞初始化和用標(biāo)簽詞初始化等。關(guān)鍵是,連續(xù)的prompt的向量空間是連續(xù)的,所以它是可微的,可通過反向傳播更新參數(shù)尋找最佳的prompt。因為可微調(diào),所以又稱為soft prompt。
得到一個“通才模型”后,為了能讓模型在未知領(lǐng)域或數(shù)據(jù)集中學(xué)習(xí)到相應(yīng)的情感文本特征,MSAPT在輸入文本和hard prompt前面添加了soft prompt,記為P,如圖2b所示。P的參數(shù)獨立于T5模型,而且可通過學(xué)習(xí)更新,記為θP。在為輸入文本添加soft prompt后,可將多領(lǐng)域情感分析任務(wù)建模為Prθ;θP(Y|[P;H;X])。
2.1.3 輸入矩陣
輸入一個含有n個token的句子{x1,x2,…,xn},T5模型首先把這些token向量化,形成一個矩陣Xe∈Rn×e,其中e是詞向量的維度。然后將soft prompt參數(shù)化為矩陣Pe∈Rp×e,其中p是soft prompt的長度;將hard prompt參數(shù)化為矩陣He∈Rh×e,其中h是hard prompt的長度。最后將Pe、He、Xe依次連接,形成單個矩陣[Pe;He;Xe]∈R(p+h+n)×e作為最終的輸入,經(jīng)過編碼器和解碼器最終輸出Y,如圖3所示。
Figure 3 Formation of input matrix圖3 形成輸入矩陣
通過Prθ;θP(Y|[P;H;X])可以看出,MSAPT目標(biāo)是通過優(yōu)化參數(shù)θ和θP,最大化預(yù)測正確Y的概率。為了提高prompt tuning的性能,并且減少soft prompt在下游各領(lǐng)域情感分析任務(wù)中的訓(xùn)練步數(shù),本文改進(jìn)了SPoT方法,將模型訓(xùn)練分為了2個階段。第1個階段訓(xùn)練“通才模型”,不凍結(jié)模型任何參數(shù),即θ和θP都進(jìn)行更新。第2個階段應(yīng)用到下游特定領(lǐng)域或數(shù)據(jù)集,凍結(jié)模型參數(shù)θ,僅更新θP,即prompt tuning。prompt tuning因為微調(diào)的參數(shù)較少,具有擬合慢的特點。在第1階段訓(xùn)練“通才模型”擬合情感分析的通用知識,在prompt tuning階段僅需擬合特定領(lǐng)域的情感特征,從而可以減少prompt tuning步數(shù),且不會導(dǎo)致對情感特征的欠擬合。
Figure 4 Flow chart of multi-domain sentiment analysis method圖4 多領(lǐng)域情感分析方法流程圖
多領(lǐng)域情感分析方法流程如圖4所示。首先,為訓(xùn)練“通才模型”準(zhǔn)備大量的情感分析文本,并加入soft prompt和hard prompt,為了方便下文闡述,把修改后的數(shù)據(jù)集命名為中間訓(xùn)練數(shù)據(jù)集。接著,在語言模型預(yù)訓(xùn)練和對下游各領(lǐng)域情感分析任務(wù)進(jìn)行prompt tuning之間加入一個中間訓(xùn)練階段,基于中間訓(xùn)練數(shù)據(jù)集,把原T5模型訓(xùn)練為一個無特定領(lǐng)域的情感分析“通才模型”。但是,必須強(qiáng)調(diào)的是,若此時直接應(yīng)用于下游任務(wù),還無法達(dá)到模型微調(diào)的效果,詳見本文4.1節(jié)。與SPoT方法不同,本文方法在這個階段沒有凍結(jié)T5模型,對θ和θP都在進(jìn)行更新。最后,在應(yīng)用到下游各領(lǐng)域的情感分析任務(wù)時,先將在交叉驗證集上表現(xiàn)最好的hard prompt加入到文本中,并且凍結(jié)模型參數(shù)θ,僅微調(diào)θP,即通過prompt tuning學(xué)習(xí)該領(lǐng)域的文本情感特征,因為在這個過程中模型參數(shù)不變,所以只需要存儲訓(xùn)練好的特定于該領(lǐng)域的soft prompt而不是整個模型的參數(shù),即一個領(lǐng)域存儲一個soft prompt。
MSAPT保留了prompt tuning的優(yōu)點,因為其反復(fù)利用一個統(tǒng)一的“通才模型”,只需為下游各領(lǐng)域或特定數(shù)據(jù)集選擇適合的hard prompt,訓(xùn)練并存儲特定于各領(lǐng)域的soft prompt,即用一個固定的模型和一些參數(shù)量很小的soft prompt進(jìn)行多領(lǐng)域的情感分析。若設(shè)置soft prompt的長度p=50,則其參數(shù)量為768×50=38400。base版本的T5參數(shù)量約為2.4億,所以soft prompt的參數(shù)量僅為模型參數(shù)量的1.5。
本文對游戲、外賣、書籍、衣服和酒店等多個領(lǐng)域的文本進(jìn)行情感極性預(yù)測,涉及的數(shù)據(jù)集介紹詳見3.1.2節(jié)。傳統(tǒng)微調(diào)方法需要為每個領(lǐng)域訓(xùn)練相應(yīng)的模型參數(shù),耗費存儲空間。MSAPT先通過中間訓(xùn)練數(shù)據(jù)集訓(xùn)練一個“通才模型”,再通過prompt tuning學(xué)習(xí)上述各領(lǐng)域相應(yīng)的情感特征。
本文實驗的T5模型使用瀾舟科技開源的中文預(yù)訓(xùn)練語言模型Langboat/mengzi-t5-base[23],模型版本為base。本節(jié)中的所有soft prompt的長度p都設(shè)置為50。
3.1.1 “通才模型”的訓(xùn)練數(shù)據(jù)
為了訓(xùn)練一個情感分析的通用模型,本文構(gòu)建了一個由174萬條情感分析數(shù)據(jù)組成的數(shù)據(jù)集,即中間訓(xùn)練數(shù)據(jù)集。這個數(shù)據(jù)集由公開的simplifyweibo_4_moods、yf_amazon、yf_dianping和douban_movies數(shù)據(jù)集組成。通過有監(jiān)督學(xué)習(xí)使原T5模型轉(zhuǎn)換為一個適用于各領(lǐng)域的情感分析“通才模型”。
Figure 5 Computing method of the score圖5 分?jǐn)?shù)的計算方法
3.1.2 測試數(shù)據(jù)與評價標(biāo)準(zhǔn)
為了驗證本文方法的有效性,分別評估了MSAPT在全量數(shù)據(jù)學(xué)習(xí)和少樣本學(xué)習(xí)2種情況下的效果。在實驗過程中發(fā)現(xiàn),若從中間訓(xùn)練數(shù)據(jù)集中隨機(jī)篩選一部分樣本用于評估測試,因為模型在這些領(lǐng)域已經(jīng)進(jìn)行了大量的學(xué)習(xí),效果遠(yuǎn)好于模型微調(diào)的。所以,為了增強(qiáng)實驗結(jié)果的說服力,本文避免使用上述數(shù)據(jù)進(jìn)行評估測試。全量數(shù)據(jù)采用的數(shù)據(jù)集有:online_shopping_10_cats、game-taptap、waimai_10k、NLPCC14-SC、ASAP_SENT和ChnSentiCorp[24]。少樣本學(xué)習(xí)采用的數(shù)據(jù)集是EPRSTMT[25]。本文分別就32個樣本和160個樣本的情況進(jìn)行了測試。二分類任務(wù)的極性標(biāo)簽為消極和積極,三分類任務(wù)增加適中(neutral)情感標(biāo)簽。測試數(shù)據(jù)集涉及的情感領(lǐng)域有游戲、外賣、微博、衣服、手機(jī)、水果、電腦、書籍、DVD、牛奶和酒店等。本文把這些數(shù)據(jù)集都劃分為訓(xùn)練集、交叉驗證集和測試集。對于一些標(biāo)簽為分?jǐn)?shù)的數(shù)據(jù)集,則轉(zhuǎn)換為三分類的情感分析任務(wù)。
因為數(shù)據(jù)集中各類情感樣本數(shù)量基本平衡,所以本文直接采用正確率來評估各方法在數(shù)據(jù)集上的效果,并計算每種方法的分?jǐn)?shù)。
為了方便直觀地看出每種方法的效果,本文定義了一個分?jǐn)?shù),表示一種方法相對于被比較的所有方法的平均性能提升了多少,計算方法如圖5所示。假設(shè)有3種方法:M1、M2、M3,有3個測試數(shù)據(jù)集T1、T2、T3,axy表示在數(shù)據(jù)集Tx上方法My的正確率,x,y∈{1,2,3}。首先計算T1、T2、T3上所有方法的平均正確率{A1,A2,A3},如圖5a所示;再計算M1、M2、M3在T1、T2、T3上相對平均正確率提升的百分比,并計算每種方法的平均值即為M1、M2、M3的分?jǐn)?shù)SM1、SM2、SM3,如圖5b和圖5c所示。本文認(rèn)為在各個測試集的正確率相差較大時,分?jǐn)?shù)相比直接計算平均正確率更能代表方法的性能。
3.1.3 基線方法
本文將所提出的MSAPT與以下微調(diào)方法進(jìn)行對比:
(1)隨機(jī)初始化的prompt tuning:隨機(jī)初始化soft prompt,直接在測試數(shù)據(jù)集上訓(xùn)練,下文記為RIPT (Random Initialization Prompt Tuning)。
(2)SA-SPoT(Sentiment Analysis SPoT):將SPoT應(yīng)用于多領(lǐng)域情感分析,通過中間訓(xùn)練數(shù)據(jù)集訓(xùn)練一個soft prompt,作為應(yīng)用在測試數(shù)據(jù)集上的soft prompt的初始化(訓(xùn)練epoch數(shù)也固定為10)。
(3)model tuning:模型微調(diào)是優(yōu)化模型的標(biāo)準(zhǔn)方法,模型的全部參數(shù)都會更新。本文將MSAPT與T5、BERT、RoBERTa 3種模型的全參數(shù)微調(diào)方法進(jìn)行對比。為了對比的公平性,BERT和RoBERTa也采用了base版本。BERT采用hugging face的Transformers庫中開源的“bert-base-chinese”版本。RoBERTa采用哈工大訊飛聯(lián)合實驗室開源的“RoBERTa-wwm-ext”版本[26]。
3.1.4 實驗環(huán)境與參數(shù)選取
本文實驗環(huán)境參數(shù)如表1所示。
在全量樣本(full sample)測試數(shù)據(jù)集上的訓(xùn)練參數(shù)設(shè)置如下:對于MSAPT、RIPT和SA-SPoT,在測試數(shù)據(jù)集上固定進(jìn)行10個epoch的訓(xùn)練,初始學(xué)習(xí)率為5e-2,預(yù)熱比例為0,批處理大小為20,優(yōu)化器為AdamW[27],損失函數(shù)為交叉熵函數(shù);對于model tuning,在測試數(shù)據(jù)集上固定進(jìn)行3個epoch的訓(xùn)練;BERT和RoBERTa初始學(xué)習(xí)率為1e-5,T5初始學(xué)習(xí)率為1e-4,預(yù)熱比例為0.1,批處理大小為20,優(yōu)化器為AdamW,損失函數(shù)為交叉熵函數(shù)。每一輪保存一個checkpoint,選用在交叉驗證集上正確率最大的checkpoint在測試集上測試,將測試結(jié)果作為最終結(jié)果。
Table 1 Experimental environment parameters表1 實驗環(huán)境參數(shù)
在少樣本測試數(shù)據(jù)集上的訓(xùn)練參數(shù)除了epoch數(shù)和批處理大小不一樣外,其他與在全量樣本測試數(shù)據(jù)集上的訓(xùn)練參數(shù)保持一致。對于MSAPT、RIPT和SA-SPoT,訓(xùn)練epoch為100,批處理大小為8。對于model tuning,訓(xùn)練epoch為8,批處理大小為16。
在中間訓(xùn)練數(shù)據(jù)集上的訓(xùn)練參數(shù)設(shè)置如下:對于MSAPT,初始學(xué)習(xí)率為1e-4,預(yù)熱比例為0,批處理大小為16,優(yōu)化器為AdamW,損失函數(shù)為交叉熵函數(shù);對于SA-SPoT,初始學(xué)習(xí)率為5e-2,預(yù)熱比例為0,批處理大小為20,優(yōu)化器為AdamW,損失函數(shù)為交叉熵函數(shù)。
為確保實驗的可對比性,降低隨機(jī)誤差,本文選取3次冷啟動實驗的平均結(jié)果作為最終實驗結(jié)果。
3.2.1 全量樣本學(xué)習(xí)的結(jié)果與分析
本節(jié)比較了6種方法在6個全量樣本數(shù)據(jù)集上的表現(xiàn),結(jié)果如表2所示。在表2中,分別用加粗和下劃線突出性能最佳和次佳的方法。
從表2可以看出:
(1)本文提出的MSAPT在3個數(shù)據(jù)集上獲得了最佳的性能,分?jǐn)?shù)在6種方法中第二高,稍低于RoBERTa模型微調(diào)的,但超過了T5和BERT模型微調(diào)的。
(2)SA-SPoT在比較少的訓(xùn)練步數(shù)下,平均效果相比隨機(jī)初始化的prompt tuning提高了3.05%,但仍無法達(dá)到模型微調(diào)的效果。MSAPT改進(jìn)了SA-SPoT方法訓(xùn)練步數(shù)過多的問題,依靠“通才模型”對通用文本情感特征進(jìn)行擬合,解決了SA-SPoT方法欠擬合的問題,在較少的訓(xùn)練步數(shù)下能達(dá)到甚至超過一部分模型微調(diào)的效果。
本文提出的MSAPT在對游戲、外賣、書籍、衣服和酒店等多個領(lǐng)域的文本進(jìn)行情感極性預(yù)測時,先通過“通才模型”對通用文本情感特征進(jìn)行擬合,再進(jìn)行prompt tuning,以適應(yīng)各領(lǐng)域的情感特征,從而提高預(yù)測準(zhǔn)確率。如表3所示,模型在學(xué)習(xí)游戲領(lǐng)域特有的文本情感特征前,會將帶有很多正向詞匯的語句預(yù)測為積極評論(錯誤),而在對該領(lǐng)域prompt tuning后,則能分辨出該評論指示游戲為抄襲,轉(zhuǎn)而預(yù)測為消極評價(正確)。同樣地,剩下的領(lǐng)域中也存在大量的這種情況。prompt tuning擬合各領(lǐng)域情感特征后能糾正“通才模型”的錯誤預(yù)測結(jié)果,提高預(yù)測準(zhǔn)確率??梢?MSAPT僅需保存一個模型和一些參數(shù)量遠(yuǎn)小于模型的soft prompt,其效果就能媲美甚至超過模型微調(diào)的。
3.2.2 少量樣本學(xué)習(xí)的結(jié)果與分析
本節(jié)比較了6種方法在2個少樣本數(shù)據(jù)集上的表現(xiàn),結(jié)果如表4所示。
Table 2 Experimental results based on full sample learning表2 基于全量樣本學(xué)習(xí)的實驗結(jié)果 %
Table 3 Comparison of predicted results of sentimentpolarity before and after using prompt tuning表3 prompt tuning前后情感極性預(yù)測結(jié)果對比
通過分析表4可以得出以下結(jié)論:
(1)無論是在32個還是160個樣本的數(shù)據(jù)集上,MSAPT都獲得了最佳的效果。因為SA-SPoT和MSAPT都經(jīng)過了大量情感分析數(shù)據(jù)的訓(xùn)練,受益于遷移學(xué)習(xí),在少樣本學(xué)習(xí)中表現(xiàn)很好。值得注意的是,MSAPT的效果依然比SA-SPoT的好。
(2)MSAPT在少樣本學(xué)習(xí)的多領(lǐng)域文本情感分析任務(wù)中依然表現(xiàn)優(yōu)秀,效果遠(yuǎn)好于模型微調(diào)的。
本節(jié)設(shè)置了4個消融實驗,分別對適應(yīng)特定領(lǐng)域的prompt tuning、hard prompt、soft prompt的長度和中間訓(xùn)練數(shù)據(jù)集的大小進(jìn)行消融,探索這4個因素在MSAPT中對情感分析效果的影響。除了soft prompt長度的消融實驗外,其他消融實驗均設(shè)置soft prompt的長度p=50。除了4.1節(jié)中的實驗,本節(jié)其它實驗均在中間訓(xùn)練數(shù)據(jù)集上訓(xùn)練過,所以本節(jié)把從中間訓(xùn)練數(shù)據(jù)集分割出來的2個數(shù)據(jù)集加入到4.2節(jié)~4.4節(jié)測試評估使用的數(shù)據(jù)集中,這2個數(shù)據(jù)集涉及的領(lǐng)域分別是電影和大眾點評。
本節(jié)設(shè)置了3組實驗。第1組是“通才模型”(在中間訓(xùn)練數(shù)據(jù)集上訓(xùn)練出的適用于各領(lǐng)域的情感分析統(tǒng)一模型)直接應(yīng)用于下游各領(lǐng)域情感分析任務(wù),而不進(jìn)行適應(yīng)特定領(lǐng)域文本情感特征的prompt tuning。第2組是先把下游的6個不同領(lǐng)域情感分析數(shù)據(jù)集的訓(xùn)練集和交叉驗證集融合為一個大的下游情感分析數(shù)據(jù)集,用原T5模型在此數(shù)據(jù)集上進(jìn)行模型全參數(shù)微調(diào),并選出交叉驗證集上效果最好的,分別在6個數(shù)據(jù)集的測試集上進(jìn)行測試。第3組實驗將第2組實驗的原T5模型換為“通才模型”,其它設(shè)置均與第2組的相同。因為MSAPT的優(yōu)點是利用一個統(tǒng)一模型進(jìn)行各領(lǐng)域情感分析而無需保存多個大模型,所以設(shè)置第2組和第3組實驗的目的是:驗證在只有一個統(tǒng)一模型的情況下,prompt tuning的效果(MSAPT的)好于模型直接在各領(lǐng)域集合的數(shù)據(jù)集上訓(xùn)練(第2組和第3組的)。
各組實驗結(jié)果如圖6a所示,分?jǐn)?shù)如表5所示,各個數(shù)據(jù)集上的詳細(xì)結(jié)果見表6。通過分析可知,直接把“通才模型”應(yīng)用于下游各領(lǐng)域的效果是最差的,但這也展現(xiàn)了“通才模型”強(qiáng)大的零樣本學(xué)習(xí)能力。將原T5模型在6個數(shù)據(jù)集組成的大數(shù)據(jù)集上訓(xùn)練,其效果稍好于T5模型在各個數(shù)據(jù)集上訓(xùn)練的效果,但若要應(yīng)用到新領(lǐng)域的數(shù)據(jù)集,則需重新訓(xùn)練模型,可擴(kuò)展性差。雖然第3組實驗受益于遷移學(xué)習(xí)[28,29],效果好于第2組的,但仍然不及prompt tuning的效果,同樣具有可擴(kuò)展性差的缺點??梢?MSAPT不僅能更方便地應(yīng)用到不同領(lǐng)域的情感分析任務(wù)中(凍結(jié)模型參數(shù)),而且能使模型更好地適應(yīng)下游各領(lǐng)域的情感文本特征。
為了證明在文本中添加hard prompt能提高方法性能,本節(jié)設(shè)置了一組不添加hard prompt的實驗,并在全量數(shù)據(jù)集和少樣本數(shù)據(jù)集上進(jìn)行了測試。實驗結(jié)果如圖6b所示,分?jǐn)?shù)如表7所示,各個數(shù)據(jù)集上的詳細(xì)結(jié)果見表8。通過分析可知,在文本中添加hard prompt能顯著提升方法的效果,因為其能指示情感文本的所屬領(lǐng)域和待選的情感標(biāo)簽,有利于調(diào)動模型這一部分的知識。
Table 4 Experimental results based on few-shot learning表4 基于少量樣本學(xué)習(xí)的實驗結(jié)果 %
Table 5 Score of each group of prompt tuning ablation experiments表5 prompt tuning的消融實驗各組分?jǐn)?shù)表
Figure 6 Results of ablation experiment on each dataset圖6 消融實驗在各組數(shù)據(jù)集上的結(jié)果
Table 6 Results of ablation experiments of prompt tuning
Table 7 Score of hard prompt ablation experiments表7 hard prompt消融實驗分?jǐn)?shù)
Table 8 Results of hard prompt ablation experiments表8 hard prompt消融實驗結(jié)果 %
本節(jié)設(shè)置了3組實驗,分別把soft prompt的長度p設(shè)置為5,10和20,其它實驗設(shè)置保持不變,目的是探索soft prompt長度對方法效果的影響。實驗結(jié)果如圖6c所示,分?jǐn)?shù)如表9所示,各個數(shù)據(jù)集上的詳細(xì)結(jié)果見表10。通過分析可知,soft prompt的長度對MSAPT的效果存在比較顯著的影響,當(dāng)soft prompt的長度從20增加到50的時候,方法效果仍有比較明顯的提升。相比Lester等[17]的方法,MSAPT在soft prompt長度超過20時,不是只會產(chǎn)生邊際收益,而是仍然存在較大的性能提升,原因是訓(xùn)練步數(shù)固定且較少,同時減少訓(xùn)練參數(shù)會導(dǎo)致對下游領(lǐng)域的情感特征欠擬合,所以MSAPT中增加soft prompt的長度非常有必要。
Table 9 Scores of hard prompt ablation experiments表9 soft prompt長度消融實驗分?jǐn)?shù)
Table 10 Results of ablation experiments of the length soft prompt 表10 soft prompt長度的消融實驗結(jié)果 %
通過分析還發(fā)現(xiàn),當(dāng)soft prompt的長度從5增加到10和從10增加到20的時候,方法效果提升較大,而從20增加到50的時候,提升幅度減小,這說明在MSAPT中soft prompt增加到一定長度以后再增加長度,也會像Lester等[17]的方法一樣,只會產(chǎn)生邊際收益。
為了探究中間訓(xùn)練數(shù)據(jù)集大小對MSAPT性能的影響,本節(jié)設(shè)置了2組實驗,分別把中間訓(xùn)練數(shù)據(jù)集的大小調(diào)整為原來的1/2和1/10,其它實驗條件保持一致,在全量數(shù)據(jù)集和少樣本數(shù)據(jù)集上進(jìn)行了測試。實驗結(jié)果如圖6d所示,分?jǐn)?shù)如表11所示,各個數(shù)據(jù)集上的詳細(xì)結(jié)果見表12。
通過分析可知,增加中間訓(xùn)練數(shù)據(jù)集的大小,能提升MSAPT的性能,其原因是更大的中間訓(xùn)練數(shù)據(jù)集能使模型學(xué)習(xí)到更多情感分析的知識,能更好地泛化到各領(lǐng)域情感分析任務(wù)中。
Table 11 Scores of ablation experiments of the size of intermediate training dataset表11 中間訓(xùn)練數(shù)據(jù)集大小的消融實驗各組分?jǐn)?shù)
Table 12 Results of ablation experiments of the size of intermediate training dataset表12 中間訓(xùn)練數(shù)據(jù)集大小的消融實驗結(jié)果 %
本文提出了一種基于prompt tuning的多領(lǐng)域情感分析方法MSAPT,并在多個數(shù)據(jù)集上驗證了該方法的效果。在全量數(shù)據(jù)學(xué)習(xí)和少樣本學(xué)習(xí)的多領(lǐng)域中文文本情感分析任務(wù)中,保持模型凍結(jié),僅在下游各領(lǐng)域情感分析任務(wù)中學(xué)習(xí)各領(lǐng)域適應(yīng)的soft prompt,保存一個模型和一些參數(shù)量遠(yuǎn)遠(yuǎn)小于模型的prompt,即可進(jìn)行高效的多領(lǐng)域情感分析,效果媲美甚至超過模型微調(diào)的。相比于把一個模型在多個領(lǐng)域的數(shù)據(jù)集上訓(xùn)練,MSAPT不僅效果更好,而且具有易擴(kuò)展的優(yōu)點。在文本中添加hard prompt,指示情感文本的所屬領(lǐng)域和待選的情感標(biāo)簽,有利于調(diào)動模型這一部分的知識,提升方法的效果。其次,soft prompt的長度對MSAPT的情感分析效果存在比較顯著的影響,不過仍然會在到達(dá)特定長度后,僅產(chǎn)生邊際效益。通過增加中間訓(xùn)練數(shù)據(jù)集的大小,能使模型學(xué)習(xí)到更多情感分析的知識,更好地泛化到各領(lǐng)域情感分析任務(wù)中,提升MSAPT的性能。本文僅在句子級情感分類任務(wù)上進(jìn)行了實驗。在接下來的工作中,將嘗試將模型應(yīng)用到方面級的情感任務(wù)中,還將嘗試探索在soft prompt長度較短時,通過其他方法使其效果逼近soft prompt長度較長時的效果。