王昱婷,劉一伊,張儒清*,范意興,郭嘉豐
(1.中國科學院網(wǎng)絡(luò)數(shù)據(jù)科學與技術(shù)重點實驗室 中國科學院計算技術(shù)研究所,北京 100190;2.中國科學院大學,北京 100049)
文本情感分析是自然語言處理的重要任務(wù)之一,自動挖掘社交媒體、用戶評論等文本的情感傾向性具有重要的實用價值。隨著監(jiān)管不斷加強,人們在各類社交媒體上的表達方式逐漸由直白向隱晦演進,互聯(lián)網(wǎng)中隱晦情感的表達不斷增多,為當前情感分析領(lǐng)域帶來了巨大挑戰(zhàn)。Russo 等[1]提出,隱式情感(implicit sentiment)表達是指在文中沒有情感標記,但是仍然傳遞了人能捕捉到的明確的情感極性。在廣泛研究的方面情感分類任務(wù)中就有大量的隱式情感存在。例如,在句子“這電池的壽命估計也就一個小時”中,沒有任何情感詞或觀點詞,但是從句子含義我們可以推斷出,作者表達的是對電池壽命的負面情感。再如,“在我們吃飯的過程中,服務(wù)員來了三次讓我們買單”,該評論陳述了一件客觀事實,沒有任何的情感詞,但是從其內(nèi)容可以推斷作者想表達的是對服務(wù)態(tài)度的負面情感。
隨著預(yù)訓(xùn)練語言模型(Pre-trained Language Models)的不斷發(fā)展,其在諸多自然語言處理任務(wù)包括情感分析任務(wù)上[2-3]均取得了巨大的成功。然而,當前使用預(yù)訓(xùn)練語言模型進行情感分類的方法主要集中表現(xiàn)為利用預(yù)訓(xùn)練語言模型得到句子表示,微調(diào)下游模型[4]。此類方法往往在具有顯式情感標記(如情感詞,表征情感的表情符號等)的文本上表現(xiàn)良好,但不能很好地處理隱晦情感的問題,難以逾越隱式情感與顯式情感之間的鴻溝。此外,使用預(yù)訓(xùn)練語言模型在分類任務(wù)上,微調(diào)還存在著下游任務(wù)的訓(xùn)練目標和語言模型的預(yù)訓(xùn)練目標不一致的問題,這會極大地限制下游任務(wù)對預(yù)訓(xùn)練語言模型中知識的利用。Li 等[5]提出了一種基于監(jiān)督對比損失的重新預(yù)訓(xùn)練的方法,利用大量的情感評論語料庫重新訓(xùn)練語言模型,此方法相比之前的模型在顯式和隱式情感分類上均有較大提升。相比僅僅微調(diào)的方法,利用外部語料庫重新預(yù)訓(xùn)練學習情感的方法可以更好地利用預(yù)訓(xùn)練語言模型中的知識,然而,重新預(yù)訓(xùn)練和后續(xù)微調(diào)這一整個流程的成本較高,且大規(guī)模語料庫中可能存在噪聲數(shù)據(jù),對分類結(jié)果造成一定影響。
近幾年,一種彌合預(yù)訓(xùn)練階段和微調(diào)階段訓(xùn)練目標的新的訓(xùn)練范式:提示學習(prompt learning)被提出。其主要思想是將下游任務(wù)的訓(xùn)練目標統(tǒng)一形式化成為掩碼語言模型的預(yù)測問題,設(shè)計提示模板,與原輸入句子相組合,并采用預(yù)訓(xùn)練語言模型來預(yù)測提示模板中被掩蓋([MASK])的詞,最后通過預(yù)測詞與類別的對應(yīng)關(guān)系確定分類任務(wù)最終預(yù)測的類別。提示學習作為一種簡單有效的訓(xùn)練方法,已經(jīng)在許多自然語言處理任務(wù)上取得了良好的效果[6-7],尤其在低資源情況下效果更加顯著。
本文提出采用提示學習的方法解決隱式情感分類的問題。通過對提示學習中提示模板和標簽詞映射器的設(shè)計,更好地利用預(yù)訓(xùn)練語言模型中包含的大量知識。由于在提示模板中要預(yù)測的[MASK]的候選詞均為顯式情感詞,提示學習的方法可以在直白情感和隱晦情感中架起橋梁,將隱式的情感顯式化,從而得到更準確的隱式情感分類效果;此外,已有情感分類模型大多采用交叉熵損失,交叉熵損失對于“正面、中性、負面”三個類別是同等對待的,但是在三分類的情感任務(wù)中,不同情感標簽之間的距離是有遠近差異的,不能一視同仁。隱式情感不包含明顯的情感詞,多為客觀事實表述,所以在隱式情感分類中,這種差異需要被強化。在隱式情感表達中,正負和中性的在句子表述上的差異不那么明顯,導(dǎo)致正負面和中性在分類的時候很容易混淆,不易區(qū)分,因此,本論文還對損失函數(shù)進行擴展,設(shè)計了一種以不同情感標簽間距離為依托的類別差異化損失函數(shù),進一步提升情感分類的準確率。
本文在方面級情感分類標準數(shù)據(jù)集上進行大量實驗,結(jié)果表明,使用提示學習可以有效提高隱式情感分類的效果;此外,在低資源設(shè)置下的實驗也表明我們的模型在缺少大量標注數(shù)據(jù)的場景下依然能保證良好的情感分類效果。同時,引入類別差異化損失函數(shù)的設(shè)計,可以進一步提升隱式情感分類效果。
本章主要從三個方面對相關(guān)工作進行介紹:方面情感分類,隱式情感以及模板學習。
方面情感分類的方法主要分為傳統(tǒng)基于規(guī)則和統(tǒng)計機器學習方法和基于深度神經(jīng)網(wǎng)絡(luò)的方法。本節(jié)主要介紹基于神經(jīng)網(wǎng)絡(luò)的方面情感分類方法。該類方法主要分為三個發(fā)展階段:基于循環(huán)神經(jīng)網(wǎng)絡(luò)和注意力機制的方法,基于圖神經(jīng)網(wǎng)絡(luò)的方法和基于知識增強的方法。
早期方面情感分類的方法主要基于長短時記憶網(wǎng)絡(luò)[8](Long Short Term Memory)和注意力機制[9](Attention Mechanism)。一個句子中可能出現(xiàn)多個方面詞,基于注意力機制的方法關(guān)鍵在于找尋句子中哪些詞對方面詞更重要[10-13]。
隨著圖神經(jīng)網(wǎng)絡(luò)的不斷發(fā)展,許多方法提出結(jié)合語法樹中的語法信息來更好地捕捉方面詞與句子中其他部分的關(guān)系[4,14]?;谡Z法樹和圖神經(jīng)網(wǎng)絡(luò)的方法關(guān)鍵在于如何建圖以及如何將語法樹上點和邊的信息與方面情感分類任務(wù)更好地結(jié)合。
方面情感分類的對象一般是評論數(shù)據(jù),長度較短,可能包含的信息不夠,因此有研究者提出利用大規(guī)模語料庫或預(yù)訓(xùn)練語言模型作為外部知識增強方面情感分類的效果[2,15]?;谥R增強的方法關(guān)鍵在于如何選擇有效的外部知識,如何將外部知識信息編碼到模型結(jié)構(gòu)中。上述模型在具有顯式情感的文本上分類效果很好,但是均沒有關(guān)注到隱式情感的問題。
目前關(guān)于隱式情感沒有一個官方認可的定義,Liu 等[16]認為一個包含隱式情感的觀點句通常是對客觀事實的陳述,這樣的客觀句通常表達了一種理想的或不理想的事實。而Russo等[1]提出,隱式情感是指句子中不包含明顯的情感標記,但是卻清晰地傳達了的情感傾向??偨Y(jié)來看,關(guān)于包含隱式情感的文本大家普遍共識的是,不含有顯式情感詞,但卻表達了主觀情感的事實陳述。
Chen 等[17]研究了觀點對象和情感雙重隱含的觀點挖掘問題,并且構(gòu)建了一個隱含觀點的中文旅館評論語料庫,語料庫標注了觀點對象的類別和極性。Cai 等[18]提出了一個四元組抽取的新任務(wù),專門處理隱式方面和隱式情感的問題。Li 等[5]提出了一種基于對比學習的預(yù)訓(xùn)練模型,通過引入大規(guī)模評論語料重新訓(xùn)練針對方面情感分類任務(wù)的語言模型。同時該論文還基于前人標注[19]的觀點詞對方面情感分類的兩個標準數(shù)據(jù)集做了隱式情感的標注,如果句子中包含觀點詞那就標記為顯式情感(explicit),反之則標記為隱式情感(implicit),該模型可以較好地處理隱式情感的分類問題,但是重新訓(xùn)練語言模型成本較高。
隨著GPT-3[20]的出現(xiàn),提示學習作為一種新的預(yù)訓(xùn)練語言模型范式,受到了越來越多的關(guān)注?;谔崾緦W習的方法在許多自然語言處理任務(wù)上都取得了良好的效果[6-7]。Schick等[7]提出了人工構(gòu)建模板以及利用大規(guī)模無標注的外部語料庫進行知識蒸餾的方法用于文檔級情感分類任務(wù)。Hu 等[21]提出利用外部知識庫來擴展分類任務(wù)的標簽詞映射器。Shin等[22]提出一種基于梯度指導(dǎo)的方法為下游任務(wù)自動構(gòu)建提示模板。Li 等[23]提出將情感知識引入模板設(shè)計中,從而實現(xiàn)端到端的方面詞、觀點詞和情感極性統(tǒng)一抽取。但是這些模型都沒有關(guān)注到在隱式情感上的效果。
本文提出的用于隱式情感分類的基于提示學習和標簽差異化損失的模型(ImplicitPrompt)主要分為以下幾部分:提示模板設(shè)計,標簽詞映射器和損失函數(shù)的設(shè)計。模型主要結(jié)構(gòu)如圖1 所示,對于方面情感分類任務(wù)來說,輸入是句子和方面詞,通過添加設(shè)計模板得到一個新的輸入句子,輸入中帶有要預(yù)測的掩碼標識符[MASK],將新的句子輸入到預(yù)訓(xùn)練語言模型中,得到[MASK]位置關(guān)于整個詞表上的概率分布,再通過標簽詞映射器定義的詞表中的詞和情感分類類別對應(yīng)的關(guān)系,將標簽詞的概率轉(zhuǎn)換成最終的類別概率,即可得到最終預(yù)測的類別。
我們通過調(diào)研和實驗選取了在情感分類任務(wù)中常用的提示模板,這些模板天然適配方面情感分類任務(wù)。原始輸入x=(ssentence,saspect),其中輸入句子為ssentence,輸入方面為saspect,與模板進行組合后新的輸入變?yōu)镾(x)。提示模板設(shè)計如下所示:
原始的輸入x=(ssentence,saspect) 經(jīng)過添加模板后得到新的輸入S(x),再通過預(yù)訓(xùn)練語言模型M,可以得到[MASK]位置在整個詞表V上的詞概率分布PM([MASK]=v|S(x)),v∈V。需要借助標簽詞映射器處理該分布。標簽詞映射器首先要定義詞表中哪些詞是合適[MASK]位置的標簽詞,其次要定義標簽詞概率如何轉(zhuǎn)化為最終的類別概率。
關(guān)于篩選哪些詞是標簽詞,直接手工定義可能會造成選詞有偏差的問題。為實現(xiàn)映射關(guān)系設(shè)計的全面性,本文借助廣泛使用的情感詞典[24],并結(jié)合情感標簽,篩選出情感傾向明顯的且主觀性強的情感詞。由于情感詞典條數(shù)的限制,中性的情感詞條數(shù)較少,最終選取了正面和負面各1000 條標簽詞,中性213 條。
Vy代表每個類別對應(yīng)的標簽詞集合,其中y代表相應(yīng)類別,在情感分類任務(wù)上y∈{positive,negative,neutral}。通過這些主觀情感極其強烈的標簽詞,可以使得在隱式文本中的情感直白化。表1 展示了部分選取的標簽詞。
表1 部分標簽詞示例Table 1 Examples of label words
有了標簽詞集合后,我們需要定義標簽詞和類別的映射關(guān)系。為此對每個類所有標簽詞的概率取平均的方法得到最終對應(yīng)的類別y的預(yù)測概率:
本文模型的損失函數(shù)主要分為兩部分:交叉熵損失和類別差異化損失函數(shù)。
2.3.1 交叉熵損失
交叉熵損失是為了保證大量顯式情感文本基本的情感分類能力。在標簽詞映射器模塊的最后得到了各個情感類別的預(yù)測概率P(),由此可以計算預(yù)測值與真實標簽y之間的交叉熵損失:
2.3.2 類別差異化損失函數(shù)
在以往大部分情感分類的工作中,對于正負面和中性三者是同等對待的,但是從人對三個類別的理解上講,正面和負面之間的距離要大于正面和中性或負面和中性的距離,也就是說,如果模型將正面的文本誤分類成負面情感,要比誤分類成中性情感的懲罰更多。這一現(xiàn)象在隱式情感中需要被提出并顯式地解決。對于隱式情感來說,由于句子中多為陳述客觀發(fā)生的事實,沒有明顯的直白的情感詞,情感特征不明顯,導(dǎo)致正負面和中性三類文本之間的差異更加不明顯,更難以區(qū)分中性和正負面,為此,提出了類別差異化損失函數(shù),類別差異化損失函數(shù)依托于多分類的合頁損失,在樣本數(shù)為1 的時候,類別差異化損失函數(shù)計算公式如下:
其中,C為類別總數(shù),對于情感三分類來說C=3,在我們的訓(xùn)練數(shù)據(jù)中正面的類別標簽是0,中性是1,負面是2。P()為預(yù)測的類別分數(shù),y是真實類別標簽,其中0 ≤y,i≤C-1,那么P()[y]代表y這一類的預(yù)測分數(shù),P()[i]代表除了y以外的類別的預(yù)測分數(shù)。ms與mb分別代表針對不同標簽差異化的兩個邊緣值。
我們的目標是使得正面和中立類的距離,比正面和負面的距離更近。因此,采用一小一大兩個邊緣值ms與mb,小邊緣值ms負責控制類別差|y-i|≤1 的情況(即與中性相關(guān)的情況),也就是說,如果類別標簽相差小,相應(yīng)的懲罰也??;相反地,大邊緣值mb負責控制類別差|y-i|>1 的情況(也就是將正面誤分類為負面或反之的情況),這種情況懲罰要大一些。最終的模型損失是:
在帶有隱式情感標簽的SemEval 2014 任務(wù)4[25]的Restaurant 和Laptop 兩個數(shù)據(jù)集上進行實驗,這兩個數(shù)據(jù)集的情感標簽有三類:正面、中性和負面。兩個數(shù)據(jù)集的統(tǒng)計信息如表2 所示??梢钥闯觯@兩個數(shù)據(jù)集中含隱式情感的數(shù)據(jù)均占有超過27%的比例,這充分說明了研究隱式情感分類是很有必要的。
表2 數(shù)據(jù)集統(tǒng)計信息Table 2 Statistics of datasets
我們選取了四類模型作為ImplicitPrompt的基線模型,分別是:(1) 基于注意力機制的模型(ATAELSTM[11],IAN[26],RAM[13],MGAN[27]); (2) 基于圖神經(jīng)網(wǎng)絡(luò)的模型(ASGCN[14],BiGCN[28],CDT[29],RGAT[4]); (3) 基于知識增強的模型(TransCap[30],SPDAug[31],BERT-SPC[32],CapsNet+BERT[33],BERT-PT[2],BERT-ADA[15],LCF-BERT[34],RGAT+BERT[4]); (4) 基于大規(guī)模語料庫重新預(yù)訓(xùn)練的模型(TransEncAsp+SCAPT[5],BERTAsp+SCAPT[5])。
在標準的有監(jiān)督的設(shè)置下,利用整個數(shù)據(jù)集進行模板學習。對Restaurant 數(shù)據(jù)集,損失函數(shù)中的超參數(shù)設(shè)置分別是α=0.2,β=1,ms=1,mb=1,對Laptop 數(shù)據(jù)集,超參數(shù)設(shè)置分別是α=1,β=0.5,ms=1,mb=2。針對ms和mb的設(shè)置,由于原始多分類合頁損失函數(shù)的邊緣值默認為1,因此,首先在1 附近取值。通過設(shè)置不同偏大或偏小的ms和mb,驗證得到在以上情況下實驗結(jié)果是最佳的。在低資源設(shè)置下,為了兼顧類別平衡和評價需要,隨機選取了6 條(正面2 條,分別是顯式的正面情感1 條和隱式的正面情感一條,中性和負面以此類推),30 條(正面10 條,分別是顯式的正面情感5 條,隱式的正面情感5 條,另外兩類以此類推)和60 條。
本文提出的ImplicitPrompt 模型分別以BERT-base[32]和RoBERTa-base[35]作為骨干,實驗結(jié)果選取隱式情感子集上準確率最高的那一組模板的結(jié)果。
本部分我們主要回答以下幾個問題:
1) ImplictPrompt 在標準的有監(jiān)督的設(shè)置下效果如何?
2) ImplicitPrompt 在低資源設(shè)置下效果如何?
3) 類別差異化損失對模型效果有何影響?
3.4.1 標準監(jiān)督設(shè)置下的實驗結(jié)果
為了回答問題1,對比了ImplicitPrompt 與許多表現(xiàn)強勁的基線模型,實驗結(jié)果如表3 所示。可以觀察到:1)利用預(yù)訓(xùn)練語言模型中的知識做微調(diào)的方法普遍比基于圖神經(jīng)網(wǎng)絡(luò)和注意力機制的方法效果好,不論是在整體的準確率和宏平均還是在隱式的準確率上均有較大提升。這說明了微調(diào)預(yù)訓(xùn)練語言模型對模型效果的提升很有效。2) ImplicitPrompt 比基于知識增強的微調(diào)預(yù)訓(xùn)練語言模型的方法效果好。尤其是在隱式準確率上有大幅度地提升。這說明通過模板尤其是在標簽詞映射器中引入了強主觀性的顯式情感詞典可以有效彌合隱式情感和顯式情感之間的鴻溝。3) ImplicitPrompt 在整體數(shù)據(jù)集上準確率比不過基于大規(guī)模語料庫重新預(yù)訓(xùn)練的模型BERTAsp+SCAPT,但是在隱式數(shù)據(jù)集上的準確率要超過BERTAsp+SCAPT??赡苡幸韵略颍菏紫?,SCAPT 是依賴大規(guī)模外部評論語料庫重新預(yù)訓(xùn)練的語言模型,是完全針對方面情感分析這個任務(wù)訓(xùn)練的,因此重新預(yù)訓(xùn)練之后的模型在方面情感分類這個任務(wù)上效果有很大地提升,同時在整體數(shù)據(jù)集,顯式和隱式數(shù)據(jù)集上均有大幅提升,但是本文模型依賴的是通用的預(yù)訓(xùn)練語言模型,沒有進行重新訓(xùn)練,而且模型設(shè)計主要是為了提升在隱式數(shù)據(jù)集上的分類效果,而非提升方面情感分類這個任務(wù)的效果,所以整體上效果不如BERTAsp+SCAPT 模型。其次,可以看出,模型在隱式數(shù)據(jù)集上表現(xiàn)得更好,這也充分說明了本文模型設(shè)計更契合隱式情感分類。最后,我們認為,ImplicitPrompt 模型比SCAPT 模型要簡單易行,不需要重新預(yù)訓(xùn)練,只需要簡單的模板設(shè)計即可取得不錯的分類效果。
表3 標準有監(jiān)督設(shè)置下的準確率(Acc.),宏平均(Macro F1),顯式子集上的準確率(Explicit Acc.)和隱式子集上的準確率(Implicit Acc.)。其中模型右上角加 “*” 的數(shù)據(jù)來源于Li等[5],其余數(shù)據(jù)來自我們復(fù)現(xiàn)的模型,最好的結(jié)果加粗表示,第二好的結(jié)果下劃線表示Table 3 Accuracy, Macro F1, explicit accuracy, and implicit accuracy under standard supervised settings.The results with "*" in the upper right corner of the model name come from Li et al[5].And the rest results come from our reimplementation of each model.The best results are bold, and the second-best results are underlined
通過分析本文模型的兩個變形:Implicit-Prompt-BERT 和ImplicitPrompt-RoBERTa 的實驗結(jié)果,可以得出以下結(jié)論:1) 本文模型是可以擴展到多個通用的預(yù)訓(xùn)練語言模型上的。2) RoBERTa 比BERT 做骨干的效果更好,原因可能是,BERT 的預(yù)訓(xùn)練任務(wù)有兩個,分別是掩碼詞預(yù)測和下句預(yù)測,而RoBERTa 模型的預(yù)訓(xùn)練任務(wù)只有掩碼詞預(yù)測,這與提示學習的任務(wù)更契合,因此RoBERTa 的效果更好。
3.4.2 低資源設(shè)置下的實驗結(jié)果
在現(xiàn)實場景中,人工標注大量的數(shù)據(jù)用于微調(diào)預(yù)訓(xùn)練模型不僅耗費時間還耗費勞力。為了回答問題2,選取了基于知識增強的微調(diào)預(yù)訓(xùn)練語言模型中表現(xiàn)較好的RGAT-BERT 與ImplicitPrompt-BERT 作比較,分別在低資源設(shè)置下進行了實驗,在兩個數(shù)據(jù)集上的實驗結(jié)果如圖2 所示,圖中橫坐標代表訓(xùn)練集的數(shù)據(jù)量,縱坐標代表隱式情感分類的準確率。
圖2 低資源設(shè)置下的隱式分類準確率Fig.2 Implicit Acc.under low-resource settings
通過觀察兩個折線圖我們可以得出以下結(jié)論:1) 不管是微調(diào)預(yù)訓(xùn)練模型(RGAT-BERT)還是我們的提示學習模型(ImplicitPrompt-BERT),隨著數(shù)據(jù)量的增加,在隱式情感分類上的準確率都在不斷地提升。2) Implicit-Prompt-BERT 模型一直穩(wěn)定地比微調(diào)模型效果好。3) 但是隨著數(shù)據(jù)量的增加,這二者之間的差異在不斷地縮小,說明在小樣本的情況下ImplicitPrompt 的效果更顯著。
3.4.3 消融實驗
為了回答問題3 和驗證本文類別差異化損失函數(shù)的有效性,在兩個數(shù)據(jù)集上進行了消融實驗,結(jié)果如表4 所示。可以看出,我們的模型在不加類別差異化損失函數(shù)的情況下在兩個數(shù)據(jù)集上的隱式準確率均有所下降,尤其是在Laptop 數(shù)據(jù)集上。這也說明了考慮類別之間的差異可以更好地刻畫正面負面和中性三種情感,尤其是在隱式數(shù)據(jù)集上,隱式數(shù)據(jù)集中的情感往往隱晦,不易識別,正負面和中性的情感也不那么顯著,通過類別差異化損失函數(shù),可以將隱式情感中的正負和中性情感的差異刻畫得更明顯,從而提升隱式情感分類的效果。
表4 消融實驗結(jié)果Table 4 Implicit accuracy of ablation study
本文提出了一種基于模板學習和類別差異化損失的隱式情感分類方法。通過模板和標簽詞映射器的設(shè)計,利用顯式的情感詞將隱式的情感直白化;同時在正負、中性三分類的情感分類中,將不同情感類別之間的差異進行區(qū)別對待,提出類別差異化損失,進一步地使得隱式情感中的情感差異更明顯。通過在標準的監(jiān)督學習的設(shè)置下和低資源小樣本的設(shè)置下的實驗結(jié)果均表明,我們提出的ImplicitPrompt 方法可以顯著提升隱式情感分類的效果,更重要的是,我們的方法不需要重新訓(xùn)練預(yù)訓(xùn)練語言模型,只需要簡單的模板和預(yù)測就可以完成分類,簡單易操作。