朱 杰, 劉蘇文, 李軍輝,郭立帆, 曾海峰, 陳 風
(1. 阿里巴巴集團,浙江 杭州 311100;2. 蘇州大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,江蘇 蘇州 215006)
互聯(lián)網(wǎng)的迅速發(fā)展和社交平臺的進一步擴張,為人們提供了可以快速便捷發(fā)表和分享個人言論的廣闊平臺,越來越多的人喜歡在網(wǎng)絡(luò)平臺上對事物發(fā)表評價和意見,這些觀點對于無法接觸到真實事物的潛在用戶具有很高的參考價值,他們可以通過這些具有主觀色彩的評論來了解輿論對于某一事物或者產(chǎn)品的看法。因此,挖掘這些評價中包含的情感傾向具有廣泛的實際應(yīng)用價值。
文本情感分析任務(wù)旨在判斷一句話或者一段較長篇幅文本的情感傾向,如對商品評論[1]、電影影評[2]、店面點評等。目前情感分析的主流模型為循環(huán)神經(jīng)網(wǎng)絡(luò)[3]和預(yù)訓(xùn)練模型[4]等。但深度學(xué)習(xí)模型所采用的神經(jīng)網(wǎng)絡(luò)往往都被當作“黑盒”使用,其內(nèi)部決策機制對用戶是不透明的。即模型只給出最終的決策結(jié)果,并沒有對模型的結(jié)果給出可以理解的解釋。這種不透明性,導(dǎo)致用戶對其結(jié)果不信任,增加了其落地難度,尤其是在醫(yī)療、法律等特殊領(lǐng)域。例如,一個醫(yī)療診斷系統(tǒng),如果只給出病例的判斷結(jié)果而沒有給出診斷的依據(jù),用戶便很難被說服。由此可見,在追求情感分析準確性的同時,對模型預(yù)測的結(jié)果給出合理的解釋已經(jīng)成為了情感分析任務(wù)所需解決的一個重要問題。
本文致力于研究一個可解釋的情感分析任務(wù)——情感可解釋分析,該任務(wù)在判斷文本情感極性的同時,還要抽取出所對應(yīng)的證據(jù)。例如,圖1給定一個文本“陳老師人非常好,做事很細心”,模型在判斷出情感傾向為“積極”的同時,還需要抽取出其決策所依據(jù)的證據(jù)“人好”和“做事細心”。
圖1 情感可解釋分析任務(wù)樣例
除此之外,本文面臨的另一個挑戰(zhàn)是缺乏標注數(shù)據(jù)。訓(xùn)練一個高性能的情感分析模型,往往需要大量的標注語料,但由于人工標注會耗費大量的時間和成本,現(xiàn)有的情感可解釋分析評測任務(wù)(1)https://aistudio.baidu.com/aistudio/competition/detail/159/0/introduction只存在評測數(shù)據(jù),并沒有訓(xùn)練數(shù)據(jù)。
因此,本文設(shè)計了一個基于預(yù)訓(xùn)練模型 UIE[5]的情感可解釋分析方法,通過小樣本(Few-shot)學(xué)習(xí)和文本聚類等技術(shù),極大地提高了模型的合理性和忠誠性,最終取得了“2022語言與智能技術(shù)競賽: 情感可解釋評測”任務(wù)的第一名。
傳統(tǒng)的情感分析方法往往需要人工定義特征,然后使用機器學(xué)習(xí)方法來進行文本的情感分類。常用的機器學(xué)習(xí)方法有支持向量機(Support Vector Machine, SVM)[6]、樸素貝葉斯(Na?ve Bayes, NB)[7]、深度森林(Deep Forest, DF)[8]等。但這些方法都需要針對不同的應(yīng)用領(lǐng)域手動定義不同的特征提取規(guī)則,需要專家參與。
近年來,神經(jīng)網(wǎng)絡(luò)的方法被證明了有效性,漸漸成為了主流。 Kim[9]首先將卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)應(yīng)用于情感分類任務(wù)。Socher等人[10]則提出了使用遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN)進行情感分析,取得了進一步的性能提升。隨后,長短時記憶網(wǎng)絡(luò)(Long-short Term Memory, LSTM)[11]也被于該任務(wù)。為了解決 LSTM 門控機制計算復(fù)雜度高的問題,Cho等人[12]又提出了使用門控循環(huán)單元網(wǎng)絡(luò)(Gated Recurrent Unit, GRU)?;诙囝^自注意力機制的Transformer[13]問世以來,幾乎席卷了所有任務(wù)榜單,情感分析也不例外。趙等人[14]提出用基于 Transformer 的混合模型建模方法進行短文本情感分析,性能高于其他主流方法。
信息抽取(Information Extraction,IE),即從自然語言文本中抽取出特定的事件或事實信息,幫助人們將海量內(nèi)容自動分類、提取和重構(gòu)。 這些信息通常包括實體(Entity)、關(guān)系(Relation)、事件(Event)。信息抽取主要包括三個子任務(wù): 關(guān)系抽取(RE)、命名實體識別(NER)、事件抽取(EE)。
目前主流的方法依然是基于深度神經(jīng)網(wǎng)絡(luò)的方法。Liu 等人[15]首次使用卷積神經(jīng)網(wǎng)絡(luò)來做關(guān)系抽取任務(wù)。Zeng 等人[16]引入位置特征,并使用預(yù)訓(xùn)練的詞向量進行關(guān)系抽取。隨后,Xu 等人[17]首次使用 LSTM 網(wǎng)絡(luò)捕捉句子信息來進行關(guān)系抽取。針對單向 LSTM 網(wǎng)絡(luò)無法完全抽取上下文信息的問題,Zhang 等人[18]提出 Bi-LSTM 模型抽取句子雙向的隱狀態(tài)輸出。Transformer 問世之后,Lee 等人[19]使用多頭自注意力對句子的每個單詞上下文信息進行編碼,隨后使用雙向 LSTM 網(wǎng)絡(luò)對句子進行編碼,并疊加詞語級別的注意力機制來獲取向量表示。
現(xiàn)今,從 ELMo[20]到 BERT[21],預(yù)訓(xùn)練語言模型在多項自然語言處理任務(wù)上展現(xiàn)了其優(yōu)勢。預(yù)訓(xùn)練模型,利用了大規(guī)模文本,通過掩碼預(yù)測、上下句判斷等任務(wù)進行預(yù)訓(xùn)練,隨后根據(jù)不同的下游任務(wù)進行微調(diào),在包括命名實體識別、閱讀理解問答和自然語言推理等多項自然語言處理任務(wù)上取得了當時最優(yōu)結(jié)果。預(yù)訓(xùn)練、微調(diào)的兩階段模式逐漸成為眾多自然語言處理任務(wù)的主流方法。
UIE(Universal Information Extraction),為Lu等人[5]在 ACL-2022 中提出的一種通用信息抽取統(tǒng)一框架。該框架實現(xiàn)了實體抽取、關(guān)系抽取、事件抽取、情感分析等任務(wù)的統(tǒng)一建模,并使得不同任務(wù)之間具備著良好的遷移和泛化能力。
本文的基準模型使用的是PaddleNLP 借鑒UIE的框架,基于ERNIE 3.0知識增強預(yù)訓(xùn)練模型訓(xùn)練并開源的首個中文通用信息抽取模型 UIE(2)https://github.com/PaddlePaddle/PaddleNLP/tree/develop/model_zoo/uie,整體模型框架如圖2所示。該模型可以支持不限定行業(yè)領(lǐng)域和抽取目標的關(guān)鍵信息抽取,實現(xiàn)零樣本(Zero-shot)快速冷啟動,并具備優(yōu)秀的少樣本(Few-shot)微調(diào)能力,快速適配特定的抽取目標。
圖2 UIE 模型框架
情感分類任務(wù)是給定一句話,讓模型判斷出該句話的整體情感傾向。具體的,本文的情感分類任務(wù)是需要判斷出文本是“正向”或“負向”兩類。為了將情感分類任務(wù)適用于 UIE 框架,首先需要定義出如式(1)所示的Prompt 模板。
定義Prompt模板完成之后,將其與原始文本按式(2)拼接作為模型的輸入,即可實現(xiàn) zero-shot 情感分類。
為了提高情感分類的準確性,本文使用了公開數(shù)據(jù)集 ChnSentiCorp(3)https://www.luge.ai/ - /luge/dataDetail?id=25作為訓(xùn)練集對 UIE 模型進行微調(diào)。
情感可解釋分析是指模型在判斷出文本情感傾向的同時,還需要給出模型決策所依賴的證據(jù)。如圖1中給定文本“陳老師人非常好,做事很細心”,模型需要判斷出該評論屬于“正向”情感,并且“正向”情感的證據(jù)為“人好”和“做事細心”。證據(jù)需要滿足兩個要求: 合理性和忠誠性。
對于合理性,針對每一條輸入文本t和其標準情感極性I,需要預(yù)測出極性I預(yù)測所依賴的證據(jù)。證據(jù)應(yīng)滿足充分、簡潔、完備等3個特性。充分性,表明證據(jù)包含預(yù)測所需要的足夠信息;簡潔性,表明證據(jù)中每個詞都是預(yù)測必需的;完備性,表明證據(jù)包含了所有有用信息。
對于忠誠性,以擾動下證據(jù)的一致性來評估模型的忠誠性。為此,針對每一個原始輸入文本t,依照不重要詞增刪改、重要詞同義替換、句式修改等方式構(gòu)建了擾動文本t′。然后,評估原始文本和擾動文本證據(jù)詞排序的一致性。擾動樣例數(shù)據(jù)如表1所示。
表1 擾動樣例數(shù)據(jù)
表2 實驗結(jié)果
針對本次LIC-2022 評測任務(wù)的要求,則需要模型在正確判斷文本的情感極性的同時,給出判斷所依賴的證據(jù)之一, 并且要保證原始文本和擾動文本抽取出的證據(jù)一致性。即在如表1所示的示例中,原句中存在著兩個證據(jù)“垃圾店”和“態(tài)度差”,模型需要在兩個證據(jù)中選擇其一給出即可, 并且要保證與擾動數(shù)據(jù)的證據(jù)選擇一致。
根據(jù)如上要求,本文定義了如式(3)所示的Prompt 模板。其中,該模板分為兩部分,第一部分為“評價維度: 觀點詞”對應(yīng)著“店垃圾”的證據(jù)抽取,“店”指“評價維度”,“垃圾”指的是觀點詞;第二部分,“觀點詞”則是為了抽取泛化類的擾動數(shù)據(jù)證據(jù),如表1 中的“不會再來”。
Schema= [{' 評價維度' : ' 觀點詞' }, ' 觀點詞' ]
(3)
本文從ChnSentiCorp數(shù)據(jù)集中抽取出少量評價樣本,通過同樣的擾動方法構(gòu)造類似擾動數(shù)據(jù),并使用 doccano(4)https://github.com/doccano/doccano平臺按照式(3)描述的 Schema對其進行標注,然后對 UIE 模型進行小樣本訓(xùn)練調(diào)優(yōu)。
根據(jù)一致性的要求,讓模型對原始文本和擾動文本抽取出排序一致的證據(jù)。例如,證據(jù)“店垃圾”和“垃圾店”就是不符合一致性的要求。
為了提高模型一致性分數(shù),本文首先采用了文本聚類(5)https://github.com/MachineLP/TextMatch的方法識別出每一類文本集A=[A1,A2,…,Ai],每一類文本集合A都代表著一個原始樣本和其對應(yīng)的擾動樣本組合。本文通過文本聚類的方法,在整個測試集對所有樣本進行聚類,并且為了針對競賽提高性能,本文會加入一些先驗知識規(guī)則。例如,每一類聚類結(jié)果中,“id” 值最靠前的一個默認為原始樣本,后面則為擾動樣本,且擾動樣本的“id”必須是連續(xù)的,在很大程度上提高了聚類的準確率。
最終,通過比較該類別里面文本之間的證據(jù)集合,挑選出“字”重合率最高的證據(jù)pi作為該文本的證據(jù),并且調(diào)整證據(jù)里面“字”之間的相對順序,使其保持一致。
本文采用PaddleNLP 開源的基于 ERNIE-3.0 的中文 UIE 模型作為基準模型。情感分類和觀點證據(jù)抽取在兩個不同的 UIE-base基礎(chǔ)上分別進行微調(diào)得到兩個不同的模型。 UIE-base 模型是基于 Transformer 層的預(yù)訓(xùn)練模型,其一共包含了 12 層,隱向量維度為 768,自注意力頭為 12 個。
在具體的實驗過程中,各參數(shù)設(shè)置如下: 學(xué)習(xí)率為1e-5,批處理大小batch_size為 32,最大句子長度為 512,在 NVIDIA V100 GPU 上微調(diào)了10 個 epochs。
為了驗證模型的準確性、合理性、忠誠性,本文采用了3 種評價指標,分別是ACC、Macro-F1和 MAP分數(shù)。
ACC用來評估模型對情感分類的準確率,計算如式(4)所示。
Macro-F1分數(shù)用來評估抽取出的證據(jù)合理性,計算如式(5)所示。
MAP用來評價模型的忠誠性,具體計算方法如式(8)所示。最終,根據(jù)準確率、合理性、忠誠性3個指標的加權(quán)分數(shù)得到總分數(shù) Score,對應(yīng)的權(quán)重分別是0.25,0.5,0.25。
本文使用“2022語言與智能技術(shù)競賽: 情感可解釋”賽道的評測數(shù)據(jù)集作為測試集,其包含3 135條評測數(shù)據(jù),由1 496條原始輸入和1 639條擾動輸入構(gòu)成。其中,所有原始輸入均來自真實用戶數(shù)據(jù),覆蓋了單情感、多情感和隱晦情感3類情感描述。
ChnSentiCorp作為經(jīng)典的句子級情感分類數(shù)據(jù)集,包含酒店、筆記本電腦和數(shù)據(jù)相關(guān)的網(wǎng)絡(luò)評論數(shù)據(jù),共包含積極、消極兩個類別,其中訓(xùn)練集9 600個樣本,開發(fā)集1 200 個樣本,測試集 1 200 個樣本。因為該評測任務(wù)僅提供測試集,并沒有提供訓(xùn)練集可供使用,所以本文將ChnSentiCorp作為文本情感分類的訓(xùn)練數(shù)據(jù)集,并且從中挑選出少量典型樣本使用Doccano 平臺進行證據(jù)抽取模型的數(shù)據(jù)標注。
實驗結(jié)果如表 2 所示,本文方法在情感分類準確率 ACC和證據(jù)抽取的F1上都取得了大幅的領(lǐng)先地位,MAP 分數(shù)也保持著很強的競爭力,最終,總分數(shù)Score取得了81.302分,排名位居榜單第一的位置。證據(jù)抽取F1值相比于第二名,高出了6個百分點。MAP分數(shù)相比于第二名,低了6個百分點,因為F1和MAP分數(shù)在一定程度上是成反比的。例如,“特別垃圾的攝影店,服務(wù)態(tài)度差”“特別垃圾的攝影店,服務(wù)態(tài)度含含糊糊”和“這個攝影店,我不會再來”三個樣本,前者是原始樣本,后兩者則是根據(jù)泛化方法構(gòu)建的擾動樣本。它們的證據(jù)分別是“垃圾店態(tài)度差”“不會再來”和“垃圾店態(tài)度含含糊糊”。所以,若想保證MAP分數(shù)的性能,對于前兩者則都應(yīng)該抽取出“垃圾店”作為證據(jù),而不能分別抽取出“態(tài)度差”和“態(tài)度含含糊糊”作為證據(jù)。但是,對于“這個攝影店,我不會再來”這個樣本,它與原始樣本的證據(jù)并無“字”的重合,所以只能盡可能地保證證據(jù)抽取的F1值。
綜上所述,在理想情況下,模型應(yīng)該在保證F1值最優(yōu)的前提下,盡可能地選擇MAP分數(shù)最高的那個證據(jù)。
為了進一步評估本文提出方法的有效性,本文對情感分類和證據(jù)抽取兩個任務(wù)分別做了消融實驗(Ablation Experiment)。
3.4.1 樣本數(shù)量對情感分類ACC性能的影響
為了更好地比較訓(xùn)練樣本數(shù)量和情感分類準確率之間的關(guān)系,本文添加了以樣本數(shù)量為變量的對比實驗。分別以數(shù)量0、100、300為基準進行實驗,實驗過程中,基準模型使用同樣的 UIE-base模型,各參數(shù)初始化一致。
從表3的實驗結(jié)果可以看出: ①使用 UIE-base 模型直接進行預(yù)測,ACC 的性能為 60.223%;②當使用100個訓(xùn)練樣本對基準模型進行 fine-tuning 之后,ACC 性能可以達到 80.399%,相比于基準性能大幅提升了20.116個百分點;③當樣本數(shù)量增加至300之后,ACC性能相比于基準性能提升了32.919%,相比于數(shù)量100提升了12.803%,可以看到,當樣本數(shù)量持續(xù)增加時,性能增幅也在持續(xù)收窄。
表3 樣本數(shù)量對ACC性能的影響
針對上述實驗結(jié)果,本文對測試集樣本結(jié)果進行了分析,主要原因是測試集中包含了大量轉(zhuǎn)折情感,并且最終的情感傾向往往是以轉(zhuǎn)折之后的情感為主,本文最終的實驗結(jié)果也針對該種情況進行了特定的調(diào)優(yōu)。本文在微調(diào)的過程中,特地選取了存在轉(zhuǎn)折的樣本進行訓(xùn)練,例如,文本中包含“但是”“卻”等轉(zhuǎn)折詞的樣本,本文會將其樣本情感明確標注為轉(zhuǎn)折詞后的文本情感。
3.4.2 樣本數(shù)量對證據(jù)抽取F1性能的影響
為了得到樣本數(shù)量對證據(jù)抽取F1值性能的影響,本文同樣以數(shù)量0、100、300為基準在 UIE-base上進行了對比實驗,實驗結(jié)果如表4所示。
表4 樣本數(shù)量對F1性能的影響
從實驗結(jié)果中可以看出,直接使用UIE-base模型可以得到51.338%的F1值;當增加100個訓(xùn)練樣本之后,性能取得了大幅度提升,達到了 71.282%; 當使用 300 個訓(xùn)練樣本之后,模型性能可以提升至 74.894%。
3.4.2 文本聚類調(diào)優(yōu)算法對MAP值的影響
為了表明基于文本聚類調(diào)優(yōu)算法的有效性,本文對最終的模型進行了文本聚類調(diào)優(yōu)操作。實驗結(jié)果如表5所示。
表5 文本聚類調(diào)優(yōu)算法對MAP的影響
從實驗結(jié)果中可以看出,當在最終的模型上進行基于文本聚類調(diào)優(yōu)算法的優(yōu)化,其MAP值從58.753%大幅提升至71.875%。同時,也可以看到,當使用調(diào)優(yōu)算法之后,其F1值也同樣有著較大提升,從75.919%提升至77.989%。
本文介紹了在“2022語言與智能技術(shù)競賽: 情感可解釋評測”賽道上的冠軍解決方案,通過基于 UIE 的基準模型、少樣本學(xué)習(xí)、文本聚類等方法,提高了情感分類準確性,證據(jù)抽取的合理性和忠誠性,進而達到了模型可解釋的目的。
未來工作中,我們將嘗試聯(lián)合情感分類和證據(jù)抽取,讓兩個任務(wù)互相促進,從而獲得更好的效果。