?

基于提示學習的文本隱式情感分類

2023-06-05 09:14王昱婷劉一伊張儒清范意興郭嘉豐
關鍵詞:類別標簽損失

王昱婷,劉一伊,張儒清*,范意興,郭嘉豐

(1.中國科學院網絡數據科學與技術重點實驗室 中國科學院計算技術研究所,北京 100190;2.中國科學院大學,北京 100049)

0 引言

文本情感分析是自然語言處理的重要任務之一,自動挖掘社交媒體、用戶評論等文本的情感傾向性具有重要的實用價值。隨著監管不斷加強,人們在各類社交媒體上的表達方式逐漸由直白向隱晦演進,互聯網中隱晦情感的表達不斷增多,為當前情感分析領域帶來了巨大挑戰。Russo 等[1]提出,隱式情感(implicit sentiment)表達是指在文中沒有情感標記,但是仍然傳遞了人能捕捉到的明確的情感極性。在廣泛研究的方面情感分類任務中就有大量的隱式情感存在。例如,在句子“這電池的壽命估計也就一個小時”中,沒有任何情感詞或觀點詞,但是從句子含義我們可以推斷出,作者表達的是對電池壽命的負面情感。再如,“在我們吃飯的過程中,服務員來了三次讓我們買單”,該評論陳述了一件客觀事實,沒有任何的情感詞,但是從其內容可以推斷作者想表達的是對服務態度的負面情感。

隨著預訓練語言模型(Pre-trained Language Models)的不斷發展,其在諸多自然語言處理任務包括情感分析任務上[2-3]均取得了巨大的成功。然而,當前使用預訓練語言模型進行情感分類的方法主要集中表現為利用預訓練語言模型得到句子表示,微調下游模型[4]。此類方法往往在具有顯式情感標記(如情感詞,表征情感的表情符號等)的文本上表現良好,但不能很好地處理隱晦情感的問題,難以逾越隱式情感與顯式情感之間的鴻溝。此外,使用預訓練語言模型在分類任務上,微調還存在著下游任務的訓練目標和語言模型的預訓練目標不一致的問題,這會極大地限制下游任務對預訓練語言模型中知識的利用。Li 等[5]提出了一種基于監督對比損失的重新預訓練的方法,利用大量的情感評論語料庫重新訓練語言模型,此方法相比之前的模型在顯式和隱式情感分類上均有較大提升。相比僅僅微調的方法,利用外部語料庫重新預訓練學習情感的方法可以更好地利用預訓練語言模型中的知識,然而,重新預訓練和后續微調這一整個流程的成本較高,且大規模語料庫中可能存在噪聲數據,對分類結果造成一定影響。

近幾年,一種彌合預訓練階段和微調階段訓練目標的新的訓練范式:提示學習(prompt learning)被提出。其主要思想是將下游任務的訓練目標統一形式化成為掩碼語言模型的預測問題,設計提示模板,與原輸入句子相組合,并采用預訓練語言模型來預測提示模板中被掩蓋([MASK])的詞,最后通過預測詞與類別的對應關系確定分類任務最終預測的類別。提示學習作為一種簡單有效的訓練方法,已經在許多自然語言處理任務上取得了良好的效果[6-7],尤其在低資源情況下效果更加顯著。

本文提出采用提示學習的方法解決隱式情感分類的問題。通過對提示學習中提示模板和標簽詞映射器的設計,更好地利用預訓練語言模型中包含的大量知識。由于在提示模板中要預測的[MASK]的候選詞均為顯式情感詞,提示學習的方法可以在直白情感和隱晦情感中架起橋梁,將隱式的情感顯式化,從而得到更準確的隱式情感分類效果;此外,已有情感分類模型大多采用交叉熵損失,交叉熵損失對于“正面、中性、負面”三個類別是同等對待的,但是在三分類的情感任務中,不同情感標簽之間的距離是有遠近差異的,不能一視同仁。隱式情感不包含明顯的情感詞,多為客觀事實表述,所以在隱式情感分類中,這種差異需要被強化。在隱式情感表達中,正負和中性的在句子表述上的差異不那么明顯,導致正負面和中性在分類的時候很容易混淆,不易區分,因此,本論文還對損失函數進行擴展,設計了一種以不同情感標簽間距離為依托的類別差異化損失函數,進一步提升情感分類的準確率。

本文在方面級情感分類標準數據集上進行大量實驗,結果表明,使用提示學習可以有效提高隱式情感分類的效果;此外,在低資源設置下的實驗也表明我們的模型在缺少大量標注數據的場景下依然能保證良好的情感分類效果。同時,引入類別差異化損失函數的設計,可以進一步提升隱式情感分類效果。

1 相關工作

本章主要從三個方面對相關工作進行介紹:方面情感分類,隱式情感以及模板學習。

1.1 方面情感分類

方面情感分類的方法主要分為傳統基于規則和統計機器學習方法和基于深度神經網絡的方法。本節主要介紹基于神經網絡的方面情感分類方法。該類方法主要分為三個發展階段:基于循環神經網絡和注意力機制的方法,基于圖神經網絡的方法和基于知識增強的方法。

早期方面情感分類的方法主要基于長短時記憶網絡[8](Long Short Term Memory)和注意力機制[9](Attention Mechanism)。一個句子中可能出現多個方面詞,基于注意力機制的方法關鍵在于找尋句子中哪些詞對方面詞更重要[10-13]。

隨著圖神經網絡的不斷發展,許多方法提出結合語法樹中的語法信息來更好地捕捉方面詞與句子中其他部分的關系[4,14]?;谡Z法樹和圖神經網絡的方法關鍵在于如何建圖以及如何將語法樹上點和邊的信息與方面情感分類任務更好地結合。

方面情感分類的對象一般是評論數據,長度較短,可能包含的信息不夠,因此有研究者提出利用大規模語料庫或預訓練語言模型作為外部知識增強方面情感分類的效果[2,15]?;谥R增強的方法關鍵在于如何選擇有效的外部知識,如何將外部知識信息編碼到模型結構中。上述模型在具有顯式情感的文本上分類效果很好,但是均沒有關注到隱式情感的問題。

1.2 隱式情感

目前關于隱式情感沒有一個官方認可的定義,Liu 等[16]認為一個包含隱式情感的觀點句通常是對客觀事實的陳述,這樣的客觀句通常表達了一種理想的或不理想的事實。而Russo等[1]提出,隱式情感是指句子中不包含明顯的情感標記,但是卻清晰地傳達了的情感傾向??偨Y來看,關于包含隱式情感的文本大家普遍共識的是,不含有顯式情感詞,但卻表達了主觀情感的事實陳述。

Chen 等[17]研究了觀點對象和情感雙重隱含的觀點挖掘問題,并且構建了一個隱含觀點的中文旅館評論語料庫,語料庫標注了觀點對象的類別和極性。Cai 等[18]提出了一個四元組抽取的新任務,專門處理隱式方面和隱式情感的問題。Li 等[5]提出了一種基于對比學習的預訓練模型,通過引入大規模評論語料重新訓練針對方面情感分類任務的語言模型。同時該論文還基于前人標注[19]的觀點詞對方面情感分類的兩個標準數據集做了隱式情感的標注,如果句子中包含觀點詞那就標記為顯式情感(explicit),反之則標記為隱式情感(implicit),該模型可以較好地處理隱式情感的分類問題,但是重新訓練語言模型成本較高。

1.3 提示學習

隨著GPT-3[20]的出現,提示學習作為一種新的預訓練語言模型范式,受到了越來越多的關注?;谔崾緦W習的方法在許多自然語言處理任務上都取得了良好的效果[6-7]。Schick等[7]提出了人工構建模板以及利用大規模無標注的外部語料庫進行知識蒸餾的方法用于文檔級情感分類任務。Hu 等[21]提出利用外部知識庫來擴展分類任務的標簽詞映射器。Shin等[22]提出一種基于梯度指導的方法為下游任務自動構建提示模板。Li 等[23]提出將情感知識引入模板設計中,從而實現端到端的方面詞、觀點詞和情感極性統一抽取。但是這些模型都沒有關注到在隱式情感上的效果。

2 模型設計

本文提出的用于隱式情感分類的基于提示學習和標簽差異化損失的模型(ImplicitPrompt)主要分為以下幾部分:提示模板設計,標簽詞映射器和損失函數的設計。模型主要結構如圖1 所示,對于方面情感分類任務來說,輸入是句子和方面詞,通過添加設計模板得到一個新的輸入句子,輸入中帶有要預測的掩碼標識符[MASK],將新的句子輸入到預訓練語言模型中,得到[MASK]位置關于整個詞表上的概率分布,再通過標簽詞映射器定義的詞表中的詞和情感分類類別對應的關系,將標簽詞的概率轉換成最終的類別概率,即可得到最終預測的類別。

2.1 提示模板設計

我們通過調研和實驗選取了在情感分類任務中常用的提示模板,這些模板天然適配方面情感分類任務。原始輸入x=(ssentence,saspect),其中輸入句子為ssentence,輸入方面為saspect,與模板進行組合后新的輸入變為S(x)。提示模板設計如下所示:

2.2 標簽詞映射器

原始的輸入x=(ssentence,saspect) 經過添加模板后得到新的輸入S(x),再通過預訓練語言模型M,可以得到[MASK]位置在整個詞表V上的詞概率分布PM([MASK]=v|S(x)),v∈V。需要借助標簽詞映射器處理該分布。標簽詞映射器首先要定義詞表中哪些詞是合適[MASK]位置的標簽詞,其次要定義標簽詞概率如何轉化為最終的類別概率。

關于篩選哪些詞是標簽詞,直接手工定義可能會造成選詞有偏差的問題。為實現映射關系設計的全面性,本文借助廣泛使用的情感詞典[24],并結合情感標簽,篩選出情感傾向明顯的且主觀性強的情感詞。由于情感詞典條數的限制,中性的情感詞條數較少,最終選取了正面和負面各1000 條標簽詞,中性213 條。

Vy代表每個類別對應的標簽詞集合,其中y代表相應類別,在情感分類任務上y∈{positive,negative,neutral}。通過這些主觀情感極其強烈的標簽詞,可以使得在隱式文本中的情感直白化。表1 展示了部分選取的標簽詞。

表1 部分標簽詞示例Table 1 Examples of label words

有了標簽詞集合后,我們需要定義標簽詞和類別的映射關系。為此對每個類所有標簽詞的概率取平均的方法得到最終對應的類別y的預測概率:

2.3 損失函數

本文模型的損失函數主要分為兩部分:交叉熵損失和類別差異化損失函數。

2.3.1 交叉熵損失

交叉熵損失是為了保證大量顯式情感文本基本的情感分類能力。在標簽詞映射器模塊的最后得到了各個情感類別的預測概率P(),由此可以計算預測值與真實標簽y之間的交叉熵損失:

2.3.2 類別差異化損失函數

在以往大部分情感分類的工作中,對于正負面和中性三者是同等對待的,但是從人對三個類別的理解上講,正面和負面之間的距離要大于正面和中性或負面和中性的距離,也就是說,如果模型將正面的文本誤分類成負面情感,要比誤分類成中性情感的懲罰更多。這一現象在隱式情感中需要被提出并顯式地解決。對于隱式情感來說,由于句子中多為陳述客觀發生的事實,沒有明顯的直白的情感詞,情感特征不明顯,導致正負面和中性三類文本之間的差異更加不明顯,更難以區分中性和正負面,為此,提出了類別差異化損失函數,類別差異化損失函數依托于多分類的合頁損失,在樣本數為1 的時候,類別差異化損失函數計算公式如下:

其中,C為類別總數,對于情感三分類來說C=3,在我們的訓練數據中正面的類別標簽是0,中性是1,負面是2。P()為預測的類別分數,y是真實類別標簽,其中0 ≤y,i≤C-1,那么P()[y]代表y這一類的預測分數,P()[i]代表除了y以外的類別的預測分數。ms與mb分別代表針對不同標簽差異化的兩個邊緣值。

我們的目標是使得正面和中立類的距離,比正面和負面的距離更近。因此,采用一小一大兩個邊緣值ms與mb,小邊緣值ms負責控制類別差|y-i|≤1 的情況(即與中性相關的情況),也就是說,如果類別標簽相差小,相應的懲罰也??;相反地,大邊緣值mb負責控制類別差|y-i|>1 的情況(也就是將正面誤分類為負面或反之的情況),這種情況懲罰要大一些。最終的模型損失是:

3 實驗與分析

3.1 數據集

在帶有隱式情感標簽的SemEval 2014 任務4[25]的Restaurant 和Laptop 兩個數據集上進行實驗,這兩個數據集的情感標簽有三類:正面、中性和負面。兩個數據集的統計信息如表2 所示??梢钥闯?,這兩個數據集中含隱式情感的數據均占有超過27%的比例,這充分說明了研究隱式情感分類是很有必要的。

表2 數據集統計信息Table 2 Statistics of datasets

3.2 基線模型

我們選取了四類模型作為ImplicitPrompt的基線模型,分別是:(1) 基于注意力機制的模型(ATAELSTM[11],IAN[26],RAM[13],MGAN[27]); (2) 基于圖神經網絡的模型(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) 基于大規模語料庫重新預訓練的模型(TransEncAsp+SCAPT[5],BERTAsp+SCAPT[5])。

3.3 實現細節

在標準的有監督的設置下,利用整個數據集進行模板學習。對Restaurant 數據集,損失函數中的超參數設置分別是α=0.2,β=1,ms=1,mb=1,對Laptop 數據集,超參數設置分別是α=1,β=0.5,ms=1,mb=2。針對ms和mb的設置,由于原始多分類合頁損失函數的邊緣值默認為1,因此,首先在1 附近取值。通過設置不同偏大或偏小的ms和mb,驗證得到在以上情況下實驗結果是最佳的。在低資源設置下,為了兼顧類別平衡和評價需要,隨機選取了6 條(正面2 條,分別是顯式的正面情感1 條和隱式的正面情感一條,中性和負面以此類推),30 條(正面10 條,分別是顯式的正面情感5 條,隱式的正面情感5 條,另外兩類以此類推)和60 條。

本文提出的ImplicitPrompt 模型分別以BERT-base[32]和RoBERTa-base[35]作為骨干,實驗結果選取隱式情感子集上準確率最高的那一組模板的結果。

3.4 實驗結果

本部分我們主要回答以下幾個問題:

1) ImplictPrompt 在標準的有監督的設置下效果如何?

2) ImplicitPrompt 在低資源設置下效果如何?

3) 類別差異化損失對模型效果有何影響?

3.4.1 標準監督設置下的實驗結果

為了回答問題1,對比了ImplicitPrompt 與許多表現強勁的基線模型,實驗結果如表3 所示??梢杂^察到:1)利用預訓練語言模型中的知識做微調的方法普遍比基于圖神經網絡和注意力機制的方法效果好,不論是在整體的準確率和宏平均還是在隱式的準確率上均有較大提升。這說明了微調預訓練語言模型對模型效果的提升很有效。2) ImplicitPrompt 比基于知識增強的微調預訓練語言模型的方法效果好。尤其是在隱式準確率上有大幅度地提升。這說明通過模板尤其是在標簽詞映射器中引入了強主觀性的顯式情感詞典可以有效彌合隱式情感和顯式情感之間的鴻溝。3) ImplicitPrompt 在整體數據集上準確率比不過基于大規模語料庫重新預訓練的模型BERTAsp+SCAPT,但是在隱式數據集上的準確率要超過BERTAsp+SCAPT??赡苡幸韵略颍菏紫?,SCAPT 是依賴大規模外部評論語料庫重新預訓練的語言模型,是完全針對方面情感分析這個任務訓練的,因此重新預訓練之后的模型在方面情感分類這個任務上效果有很大地提升,同時在整體數據集,顯式和隱式數據集上均有大幅提升,但是本文模型依賴的是通用的預訓練語言模型,沒有進行重新訓練,而且模型設計主要是為了提升在隱式數據集上的分類效果,而非提升方面情感分類這個任務的效果,所以整體上效果不如BERTAsp+SCAPT 模型。其次,可以看出,模型在隱式數據集上表現得更好,這也充分說明了本文模型設計更契合隱式情感分類。最后,我們認為,ImplicitPrompt 模型比SCAPT 模型要簡單易行,不需要重新預訓練,只需要簡單的模板設計即可取得不錯的分類效果。

表3 標準有監督設置下的準確率(Acc.),宏平均(Macro F1),顯式子集上的準確率(Explicit Acc.)和隱式子集上的準確率(Implicit Acc.)。其中模型右上角加 “*” 的數據來源于Li等[5],其余數據來自我們復現的模型,最好的結果加粗表示,第二好的結果下劃線表示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 的實驗結果,可以得出以下結論:1) 本文模型是可以擴展到多個通用的預訓練語言模型上的。2) RoBERTa 比BERT 做骨干的效果更好,原因可能是,BERT 的預訓練任務有兩個,分別是掩碼詞預測和下句預測,而RoBERTa 模型的預訓練任務只有掩碼詞預測,這與提示學習的任務更契合,因此RoBERTa 的效果更好。

3.4.2 低資源設置下的實驗結果

在現實場景中,人工標注大量的數據用于微調預訓練模型不僅耗費時間還耗費勞力。為了回答問題2,選取了基于知識增強的微調預訓練語言模型中表現較好的RGAT-BERT 與ImplicitPrompt-BERT 作比較,分別在低資源設置下進行了實驗,在兩個數據集上的實驗結果如圖2 所示,圖中橫坐標代表訓練集的數據量,縱坐標代表隱式情感分類的準確率。

圖2 低資源設置下的隱式分類準確率Fig.2 Implicit Acc.under low-resource settings

通過觀察兩個折線圖我們可以得出以下結論:1) 不管是微調預訓練模型(RGAT-BERT)還是我們的提示學習模型(ImplicitPrompt-BERT),隨著數據量的增加,在隱式情感分類上的準確率都在不斷地提升。2) Implicit-Prompt-BERT 模型一直穩定地比微調模型效果好。3) 但是隨著數據量的增加,這二者之間的差異在不斷地縮小,說明在小樣本的情況下ImplicitPrompt 的效果更顯著。

3.4.3 消融實驗

為了回答問題3 和驗證本文類別差異化損失函數的有效性,在兩個數據集上進行了消融實驗,結果如表4 所示??梢钥闯?,我們的模型在不加類別差異化損失函數的情況下在兩個數據集上的隱式準確率均有所下降,尤其是在Laptop 數據集上。這也說明了考慮類別之間的差異可以更好地刻畫正面負面和中性三種情感,尤其是在隱式數據集上,隱式數據集中的情感往往隱晦,不易識別,正負面和中性的情感也不那么顯著,通過類別差異化損失函數,可以將隱式情感中的正負和中性情感的差異刻畫得更明顯,從而提升隱式情感分類的效果。

表4 消融實驗結果Table 4 Implicit accuracy of ablation study

4 結論

本文提出了一種基于模板學習和類別差異化損失的隱式情感分類方法。通過模板和標簽詞映射器的設計,利用顯式的情感詞將隱式的情感直白化;同時在正負、中性三分類的情感分類中,將不同情感類別之間的差異進行區別對待,提出類別差異化損失,進一步地使得隱式情感中的情感差異更明顯。通過在標準的監督學習的設置下和低資源小樣本的設置下的實驗結果均表明,我們提出的ImplicitPrompt 方法可以顯著提升隱式情感分類的效果,更重要的是,我們的方法不需要重新訓練預訓練語言模型,只需要簡單的模板和預測就可以完成分類,簡單易操作。

猜你喜歡
類別標簽損失
胖胖損失了多少元
玉米抽穗前倒伏怎么辦?怎么減少損失?
無懼標簽 Alfa Romeo Giulia 200HP
不害怕撕掉標簽的人,都活出了真正的漂亮
標簽化傷害了誰
服務類別
一般自由碰撞的最大動能損失
基于多進制查詢樹的多標簽識別方法
損失
論類別股東會
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合