張順香,余宏斌,朱廣麗
(安徽理工大學計算機科學與工程學院,安徽 淮南 232001)
社交網(wǎng)絡已經(jīng)成為信息共享和傳遞的重要平臺。在人和信息的雙向關系中,評論是人對信息的評價反饋。社交網(wǎng)絡中的評價反饋往往包含人們的主觀情感傾向。挖掘人們評論中的主觀情感傾向,對政治、商業(yè)、廣告和營銷有著重要的意義和價值。文本情感分析技術可以幫助人們更高效地從評論文本中挖掘出用戶的情感信息。其研究方法可以分為三大類:基于情感詞典的方法、基于機器學習的方式、基于深度學習的方法。近年來,受遷移學習的影響,以Bert為代表的預訓練模型結合深度學習技術被廣泛地應用在自然語言處理的各個研究領域。但是,基于Bert的文本情感分析模型仍然存在一些問題。
大多數(shù)的預訓練模型都是為下游任務作準備的,而在實際的應用中,需要對模型的一些初始參數(shù)微調。一般的預訓練模型會在預訓練過程中添加[MASK]作為一種噪聲訓練模型,而在微調階段是不會用到它的。因此,傳統(tǒng)的預訓練模型在遮蓋訓練和微調過程會出現(xiàn)不一致現(xiàn)象,影響下游任務中模型對文本情感特征學習的準確度。嵌入層向量的表示粒度也會影響文本情感特征學習的準確度。以Bert為代表的模型只對部分遮蓋的輸入token進行學習,缺乏對字、詞更細粒度的向量表示。因此,基于Bert的文本情感分析模型緩解分詞準確性依賴程度的能力有限。
針對上述問題,本文提出一種基于ELECTRA的商品短評論文本情感分類方法。該方法在嵌入層用ELECTRA替換BERT,能夠避免上述不一致現(xiàn)象,同時可有效降低文本情感分析方法中對分詞準確性的依賴程度。在訓練層,選擇自注意力機制捕捉評論語句中關鍵詞所處的上下文信息,并加強情感詞的權重。然后,LSTM獲取語料中存在的時序信息,獲取情感語義中的長期依賴關系。在輸出層,該方法通過Softmax進行分類。
近年來,學者將情感詞典與其他技術相結合以構建文本情感分析模型。為解決使用共同的預訓練單詞嵌入無法很好地區(qū)分具有相反情感的兩個單詞的問題,文獻[1]提出兩種利用情感詞典,并在學習單詞嵌入時考慮單詞極性的方法。文獻[2]提出基于越南語言特征的規(guī)則,確定在特定情況下帶有情感的越南形容詞短語的情感價值。用情感詞典計算語義相似度[3],結合詞向量的嵌入特征可以擴充語義特征數(shù)量。
文獻[4]提出了一種根據(jù)用戶微博文本,用戶配置文件和用戶行為,基于多核SVM的模型來識別抑郁癥患者。文獻[5]用word2vec方法描述單詞之間的關聯(lián),用多個維度的多標簽數(shù)據(jù)集訓練SVM模型。文獻[6]提出一種使用SVM融合聲學和文本網(wǎng)絡的預測模型來進行二維情感識別的方法。文獻[7]通過實驗證明SVM模型比樸素貝葉斯的模型能更有效地區(qū)分情感特征。
為了緩解預訓練詞嵌入的弱點以及注意力機制中特定方面與上下文之間的弱交互性問題,文獻[8]提出一種記憶神經(jīng)網(wǎng)絡ReMemNN,將預訓練詞嵌入轉換為調整詞嵌入并設計了一種多元素注意力機制來生成強大的注意力權重和更精確的與方面級別相關的情感表示。以神經(jīng)網(wǎng)絡為代表的深度學習技術依賴特征的選擇,而特征的組合可以獲得更準確的文本屬性[9],進而提高文本情感分析的準確性。文獻[10]融合文本局部特征和上下文全局特征以提高文本情感分析的準確性。
文獻[11]提出了一種多頭自注意力機制與字符級嵌入相結合的神經(jīng)網(wǎng)絡模型,用以解決現(xiàn)有文本情感分析方法中情感詞提取能力不足的問題以及預訓練詞向量的OOV(out-of-vocabulary)問題。文獻[12]提出一種單詞交互門控的自注意機制,以識別一些重要的單詞并建立單詞之間的關系。文獻[13]通過注意力機制自適應的提取文本情感特征并融合不同模型提取的特征。
如何通過語言模型更好地獲取文本特征是當今研究的一個熱點。文獻[14]采用BERT來克服傳統(tǒng)嵌入方法無法結合上下文信息的缺點,提出了一種結合預訓練語言模型嵌入,多尺度傳輸網(wǎng)絡和上下文摘要的模型用以獲取特定產(chǎn)品評論的實時信息。文獻[15]改進預訓練模型,利用增強的預訓練模型和掩碼實體語言模型來消除命名實體歧義。也有學者利用預訓練的語言模型獲取成分要素,用以在短文本上生成摘要[16]。
通過上述相關研究內(nèi)容可以看出,替換Bert模型以優(yōu)化嵌入層,然后結合注意力機制和神經(jīng)網(wǎng)絡方法的可行性。
本文的實驗模型主要由三個部分組成:Electra預訓練語言模型[17]、注意力機制、LSTM長短期記憶神經(jīng)網(wǎng)絡。2017a以前的NLP自然語言處理研究還未引入預訓練語言模型,主要以分詞嵌入為主。預訓練語言模型的代表是GPT和BERT。 近年來, 文本情感分析模型一般在嵌入層使用Bert模型。 但是無論是早期的基于詞嵌入的方式, 還是近期的基于Bert預訓練語言模型的方式,對計算機資源的開銷和訓練代價相對較大。 在嵌入層用Electra替換傳統(tǒng)的Bert模型, 可以避免Bert模型在預訓練過程和微調階段不一致現(xiàn)象所帶來的問題, 并且這種替換可以有效緩解傳統(tǒng)文本情感分析方法中對分詞準確性的依賴程度,減少計算機資源的開銷和訓練代價。本文提出模型架構如圖1所示。
圖1 基于Electra的模型架構圖
Electra模型通過將預訓練文本編碼器作為標識符來處理一些現(xiàn)存的語言模型問題。例如,Bert作為一種基于masked langage modeling(MLM)的預訓練模型,主要是使用[MASK]替換輸入序列中的部分token,然后訓練一個模型來修復原來的token。這樣做可以在下游的NLP任務中體現(xiàn)出一些良好的結果,缺點是需要大量的計算資源。Electra語言模型采用一種更高效的預訓練方式,即替換遮罩檢測的方式。這種判別式任務的特點在于它不是遮罩部分輸入的token,而是通過小型的生成器生成樣本以代替輸入中的[MASK]標記。Elecrra和Bert不同的是它不是訓練一個模型來預測被[MASK]的原來的token,而是訓練一個判別模型來預測輸入中每個token是否被生成器所生成的樣例所替換。Electra的任務主要是學習如何區(qū)分真正的輸入的token和看似合理但是是生成而來的替換的字詞,在這個過程中學習和理解詞匯。它的訓練任務是在所有輸入的token上定義的,不僅僅是在被屏蔽掉的一部分子集上定義的。即,判別器會計算所有token上的損失值。而以往計算BERT的損失值時會忽略沒被mask的token,所以Electra的訓練會比Bert更加有效。
Electra模型主要訓練兩個神經(jīng)網(wǎng)絡,分別是一個生成器和一個判定器。編碼器將輸入序列映射成對應的向量,選擇部分數(shù)據(jù)序列作為token交給生成器。對于每一個給定的位置,生成器會替換其中一些被mask的token,然后通過判別器檢測各位置的向量是否被替換。在這個過程中,Electra的替換遮罩檢測方式如圖2所示。
圖2 替換遮罩檢測
添加注意力機制可以使得混合的神經(jīng)網(wǎng)絡具備專注其輸入子集或特征的能力。它可以應用于任何類型的輸入而不管其形狀如何。注意力網(wǎng)絡層對編碼器的所有輸出進行加權組合后輸入到當前位置的解碼器中來影響解碼器的輸出。通過這種加權的方式,它可以在實現(xiàn)輸入和輸出的同時利用更多的原始數(shù)據(jù)上下文。
由于本文的目標語料為商品短句,需要的是獲取句子內(nèi)部的依賴關系和內(nèi)部結構,所以本文選擇transform中的self-attention注意力機制作為模型的組成部分。self-attention是注意力機制的一種,它加強的是句子內(nèi)部的權重。例如,“今天早上的菜太難吃”這句話,可以通過加強“難吃”的權重來強調該詞在上下文中的語氣程度。計算自注意力權值的過程是使用一個Query,計算它和每個key的相似程度,然后對所有的Value進行加權求和。self-attention的權重計算方式如圖3所示。其中,Query、key和value都是由所輸入的句子中的單詞以embedding的方式轉換后經(jīng)過不同的線性變換得到的。
圖3 self-attention權重計算
由于LSTM設計的門限結構的特點,可以解決梯度消失和梯度爆炸問題,因此它被廣泛地應用于文本數(shù)據(jù)的建模。一般采用相加的方式將詞的表示組合成為句子的表示,即將所有的詞相加求和,或取其平均值。這些方法沒有考慮詞語在句子中的先后順序帶來的差異性。例如,“我不覺得他家好”這句話中“不”這個詞是對后面的“好”的否定,選擇LSTM可以捕捉句子中各成分之間這種較長的依賴關系。
如圖4所示,對于情感分類任務來說, LSTM會通過3個門構建記憶單元。這個單元決定輸入的信息哪一些需要被遺忘,哪一些需要被記住。由此選擇并保留句子各成分間的語義和結構上長距離的依賴關系。
圖4 LSTM結構
本實驗包括兩組實驗數(shù)據(jù), 都是網(wǎng)上的用戶評論數(shù)據(jù)集。 其中, 數(shù)據(jù)集1是從美團外賣上爬取的餐飲外賣用戶評論的數(shù)據(jù)語料。 它分為訓練集和測試集, 其中訓練集一共有9 600條短評語料, 測試集有2 386條語料數(shù)據(jù)。 訓練集中積極的語料評論3 200條, 消極語料評論6 400條, 正負比為1∶2。數(shù)據(jù)集2為Github上用戶bigboNed3在chinese_text_cnn文件中分享的汽車銷售的用戶評論語料。其中,訓練集包含56 700條評論語料,測試集包含6 299條評論語料。它的訓練集語料中包括28 425條積極的數(shù)據(jù)評論和28 275條消極的數(shù)據(jù)評論,測試集語料中包括3 156條積極的數(shù)據(jù)評論,3 143條消極的數(shù)據(jù)評論。數(shù)據(jù)集1為實驗設計的小規(guī)模數(shù)據(jù)測試,測試本文提出的實驗模型在小規(guī)模數(shù)據(jù)集上的應用效果。數(shù)據(jù)集2為實驗設計的中等偏大規(guī)模數(shù)據(jù)測試,測試本文提出的實驗模型在中等偏大規(guī)模數(shù)據(jù)集上的應用效果。實驗數(shù)據(jù)集的設置如表1所示。
表1 實驗數(shù)據(jù)
本文選擇python開發(fā)環(huán)境,通過Anaconda下載torch、sklearn等工具包。并調節(jié)Bert以及Electra的預訓練權重。其中Bert的注意力層丟包率為0.1,激活函數(shù)為gelu,隱藏層dropout丟包率為0.1, 隱藏層大小設為768, 初始化范圍為0.02, 中間層大小為3 072, 詞典詞數(shù)大小為21 128。 相對應的, Electra的相關參數(shù)設置與Bert盡可能地保持了一致。
本文的評價指標選擇準確率和準確率的均值。模型的準確率可以反映模型預測的正確性。本文的目標是希望構建出一個模型,能夠經(jīng)過簡單的訓練,更快更準確地預測出用戶評論的情感傾向。大數(shù)據(jù)時代,縮短模型的訓練成本可以節(jié)省很多的訓練資源。因此,評價標準選擇分類的準確率和準確率的均值。對于二分類問題,可將語料樣本根據(jù)它的真實類別與學習模型預測類別的組合劃分為真正例、假正例、真反例、假反例。分別用TP、FP、TN、FN表示其對應的樣例數(shù)。于是,可以得到準確率Acc的計算公式。準確率Acc越大,說明訓練出的模型預測越準確。
(1)
(2)
(3)
本文實驗在相同的環(huán)境下設置了4組對照模型,分別在2個數(shù)據(jù)集上驗證本文提出的Electra+atten +LSTM組合模型對分類準確率的增益效果。4種組合模型分別為
(1)Electra+atten+LSTM(本文);
(2)Bert+atten+LSTM;
(3)Bert+atten+BiLSTM;
(4) FastText+BiRNN。
其中,Electra+atten+LSTM為本文提出的模型。每種模型分別經(jīng)過10輪的神經(jīng)網(wǎng)絡迭代訓練,以此驗證各個模型分別在小規(guī)模(數(shù)據(jù)集1)、中大規(guī)模數(shù)據(jù)集(數(shù)據(jù)集2)上表現(xiàn)出的效果。每輪迭代訓練后,會通過測試集測試計算該輪訓練出的模型的準確率。使用數(shù)據(jù)集1(餐飲外賣)用戶評論語料,幾種模型訓練出的準確率如圖5所示。
圖5 數(shù)據(jù)集1上各模型訓練出的模型準確率折線圖
其中,通過計算10輪迭代訓練下來各模型準確率的均值,可以直觀地看出本文提出的Electra+atten+LSTM模型在模型分類準確率上的增益較為明顯。Bert+atten+BiLSTM模型的準確率均值為91.064%,Bert+atten+LSTM模型的準確率均值為91.968%,Electra+atten+LSTM模型的準確率均值為94.24%。Electra+atten+LSTM即為本文提出的模型,對比Bert+atten+BiLSTM模型準確率提高了3.176%,對比Bert+atten+LSTM模型準確率提高了2.272%,對比FastText+BiRNN模型準確率提高了14.2%。從圖中可以看出,經(jīng)過各模型神經(jīng)網(wǎng)絡的迭代訓練,其準確率呈現(xiàn)不斷上升的趨勢。但是,本文提出的模型始終位于各模型的上方。與此同時,可以看出基于Electra和結合注意力網(wǎng)絡層的LSTM的模型在較短的訓練輪數(shù)下(即節(jié)省文本情感分析任務中訓練資源代價的同時)能夠取得較高的分類準確度。
數(shù)據(jù)集2是汽車銷售用戶評論,各個模型均經(jīng)過10輪的神經(jīng)網(wǎng)絡迭代訓練。計算10輪迭代訓練下來各模型準確率的均值,可以看出本文提出的Electra+atten+LSTM模型在面對中大規(guī)模數(shù)據(jù)集時,模型準確率上仍然占有優(yōu)越。Bert+atten+BiLSTM模型的準確率均值為87.602%,Bert+atten+LSTM模型的準確率均值為89.198%,Electra+atten+LSTM模型的準確率均值為90.812%,F(xiàn)astText+BiRNN模型的準確率均值為88.63%。本文提出的模型對比Bert+atten+BiLSTM模型準確率均值提高了3.21%,對比Bert+atten+LSTM模型準確率均值提高了1.614%,對比FastText+BiRNN模型的準確率均值提高了2.182%。各個模型的準確率變化情況如圖6所示。
圖6 數(shù)據(jù)集2上各模型訓練出的模型準確率折線圖
從圖6中可以看出,本文提出的基于Electra組合模型的準確率曲線相對位于其余各模型的上方。盡管經(jīng)過10輪的迭代,各種模型都能將準確率提高在90%~94%之間,但明顯基于Electra的模型比基于Bert的模型更占據(jù)優(yōu)勢。另外,Bert與LSTM或BiLSTM的組合模型在10輪迭代中的準確率曲線波動較大。與此同時,Electra與LSTM的組合模型在10輪迭代中的準確率曲線波動則相對穩(wěn)定。在前兩輪epoch訓練迭代中,基于Electra的模型的分類準確率低于基于Bert的模型,這可能是由于初始迭代中,基于Electra的模型尚未來得及將龐大數(shù)據(jù)集中捕捉到的文本特征有效地抽取轉化成情感特征。另外,F(xiàn)ast+RiRNN的組合模型不適合小規(guī)模數(shù)據(jù)集,更適合大規(guī)模數(shù)據(jù)集上進行情感分類。
總結上述實驗分析,可以得到如下結論:在嵌入層用Electra替換Bert,可以獲取更細粒度的文本特征向量。LSTM模型結合注意力機制適合用來獲取文本中的情感特征。兩方式均有效地提高情感分類的精確度。
隨著語言模型特征抽取能力的提高,詞級別的特征學習可以納入為內(nèi)部特征進行表示學習。在嵌入層用electra預訓練模型替換傳統(tǒng)模型中的Bert模型,降低文本情感分析方法中對分詞準確性的依賴程度,避免傳統(tǒng)預訓練模型在[MASK]訓練階段和微調過程的不一致問題。通過注意力機制獲取上下文信息,通過LSTM獲取情感語義的依賴關系。實驗證明了通過三者的組合方式可以更快更全面地獲取評論文本更細粒度的語義表示和情感特征,進而提高分類的準確率。
盡管本文提出的基于Electra,注意力機制和LSTM構建出模型在簡單訓練后表現(xiàn)出了不錯的效果,但是它考慮的僅是二分類任務。因此接下來的任務是研究多分類的文本情感分析任務。