嚴(yán)馳騰,何利力
(浙江理工大學(xué) 信息學(xué)院,杭州 310018)
隨著移動(dòng)互聯(lián)網(wǎng)的高速發(fā)展,眾多互聯(lián)網(wǎng)用戶積極地參與到信息的發(fā)布中,可表現(xiàn)為微博評(píng)論、商品評(píng)論、直播評(píng)論等帶有個(gè)人情感觀點(diǎn)的文本信息。針對(duì)這些主觀性言論進(jìn)行情感分析研究可以挖掘出極具價(jià)值的信息,如對(duì)社會(huì)熱點(diǎn)新聞評(píng)論進(jìn)行輿情分析,把握輿論傾向、對(duì)商品評(píng)論進(jìn)行消費(fèi)傾向分析,獲取消費(fèi)者的消費(fèi)意向等。
文本情感分析是對(duì)帶有情感色彩的主觀性文本進(jìn)行分析、推理和歸納的過程,其目的是挖掘文本信息中用戶的情感信息?,F(xiàn)有的情感分析方法主要分為傳統(tǒng)方法、機(jī)器學(xué)習(xí)方法和深度學(xué)習(xí)方法。其中,傳統(tǒng)的方法主要利用情感詞典獲取文本中情感詞的情感值,再通過加權(quán)計(jì)算確定文本的整體情感傾向。這種方法嚴(yán)重依賴于情感詞典和評(píng)判規(guī)則的質(zhì)量,其優(yōu)劣程度取決于人工設(shè)計(jì)與先驗(yàn)知識(shí),對(duì)新詞的擴(kuò)展性差。基于機(jī)器學(xué)習(xí)的方法是指通過計(jì)算機(jī)對(duì)文本情感數(shù)據(jù)進(jìn)行學(xué)習(xí),提取數(shù)據(jù)特征,自主進(jìn)行情感分類。常用的機(jī)器學(xué)習(xí)算法有K近鄰、樸素貝葉斯、支持向量機(jī)和決策樹等,與傳統(tǒng)方法相比在分類效果上有一定的提升,但是泛化能力較差。深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的分支,通過深度學(xué)習(xí)算法可以獲得文本數(shù)據(jù)的連續(xù)且稠密的向量表示,再利用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)等模型提取數(shù)據(jù)特征進(jìn)行文本分類,這種方法可以更加充分地獲取文本中蘊(yùn)含的情感特征,分類效果更好。
在文本情感分析任務(wù)中,Kaur等人使用NGram算法對(duì)文本信息進(jìn)行特征提取,KNN算法對(duì)輸入特征進(jìn)行分類計(jì)算得到積極、消極以及中性的情感結(jié)果。Kim提出3種尺寸大小卷積核的CNN模型,在預(yù)訓(xùn)練好的詞向量上進(jìn)行特征提取,此后通過最大池化與全連接層得到分類結(jié)果,由于CNN模型只能提取文本的局部特征,因此長文本序列特征難以捕獲。Bahdanau等人最早將注意力機(jī)制應(yīng)用在機(jī)器翻譯領(lǐng)域,接下來Basiri等人、Liu等人、Yang等人將注意力機(jī)制與神經(jīng)網(wǎng)絡(luò)相結(jié)合,增強(qiáng)了算法模型對(duì)文本中關(guān)鍵情感信息的感知能力,進(jìn)一步提升了文本情感分析的準(zhǔn)確率。
文本的詞向量表示是文本分類任務(wù)的基石,詞嵌入方法最早使用ont-hot、bag-of-words等模型對(duì)文本進(jìn)行離散表示,后來基于淺層神經(jīng)網(wǎng)絡(luò)模型的Word2Vec和GloVe等方法,可以通過語料數(shù)據(jù)訓(xùn)練出文本的連續(xù)且稠密的詞向量表示,與早期方法相比降低了詞向量維度,豐富了詞向量的語義,同時(shí)能夠捕捉詞與詞之間的相似性問題。Rhanoui等人使用Word2Vec詞嵌入技術(shù)對(duì)文本數(shù)據(jù)進(jìn)行向量化表示,然后通過神經(jīng)網(wǎng)絡(luò)的模型在French newpapers數(shù)據(jù)集進(jìn)行情感分析,該模型中LSTM用于捕捉數(shù)據(jù)的時(shí)間序列特征,CNN對(duì)數(shù)據(jù)的局部特征進(jìn)行提取,實(shí)驗(yàn)結(jié)果表明雙通道特征提取優(yōu)于單模型的數(shù)據(jù)特征提取?;跍\層神經(jīng)網(wǎng)絡(luò)模型的詞嵌入方法是通過大量數(shù)據(jù)實(shí)現(xiàn)對(duì)詞的唯一向量表示,無法解決不同語境中詞語包含的語義信息,例如“小張考試得了92分,可真厲害?!薄ⅰ靶±羁荚嚨昧?2分,可真厲害!”,“厲害”在兩句話中分別呈現(xiàn)褒義和貶義的含義。2018年,Devlin等人提出了BERT模型,該模型采用雙向多層Transformer編碼器結(jié)構(gòu)在大型文本語料庫進(jìn)行預(yù)訓(xùn)練,通過預(yù)訓(xùn)練的詞向量模型在下游NLP任務(wù)中對(duì)BERT模型進(jìn)行微調(diào),實(shí)現(xiàn)不同語義環(huán)境下詞向量的動(dòng)態(tài)表示,從而解決詞向量的靜態(tài)表征問題。諶志群等人提出基于BERT和雙向LSTM的微博評(píng)論情感分析模型,該模型通過BERT生成詞向量,采用雙向LSTM模型進(jìn)行情感分析,實(shí)驗(yàn)結(jié)果表明,該模型與基于Word2Vec的雙向LSTM相比準(zhǔn)確率更高。
基于上述工作,本文提出基于BERT的雙通道神經(jīng)網(wǎng)絡(luò)模型的文本情感分析研究方法,該方法采用BERT(Bidirectional Encoder Representations from Transformers,BERT)模型作為詞嵌入層獲取文本的向量表示,構(gòu)建CNN與BiGRU雙通道網(wǎng)絡(luò)模型對(duì)詞向量進(jìn)行局部特征和全局特征的提取,利用注意力機(jī)制提高特征矩陣中關(guān)鍵的情感信息權(quán)重,使得分類效果更加準(zhǔn)確。最后本文通過對(duì)比實(shí)驗(yàn)證明了該方法的有效性。
本文提出結(jié)合BERT的CNN-BiGRU-AT情感分析模型,模型結(jié)構(gòu)如圖1所示。該模型由以下部分組成。
圖1 基于BERT的CNN-BiGRU-AT模型結(jié)構(gòu)圖Fig.1 BERT-based CNN-BiGRU-AT model structure diagram
(1)詞嵌入層:本文使用BERT預(yù)訓(xùn)練模型獲取文本序列的動(dòng)態(tài)詞向量表示。
(2)特征提取層:CNN能夠提取文本的局部特征信息,而BiGRU能夠根據(jù)文本序列的上下文語義提取到全局特征信息,因此本文通過構(gòu)建CNN與BiGRU雙通道模型進(jìn)行特征提取。
(3)注意力層:注意力機(jī)制能夠?qū)μ卣魈崛虞敵龅奶卣骶仃囘M(jìn)行權(quán)重分配,突出關(guān)鍵詞在文本序列中的重要程度。本文對(duì)局部特征矩陣和全局特征矩陣分別進(jìn)行注意力計(jì)算。
(4)輸出層:對(duì)注意力層輸出的特征向量進(jìn)行融合,使用正則化防止出現(xiàn)過擬合現(xiàn)象,并通過全連接神經(jīng)網(wǎng)絡(luò)計(jì)算后,利用函數(shù)進(jìn)行分類。
BERT(Bidirectional Encoder Representations from Transformer)是Devlin等人于2018年提出的基于雙向Transformer編碼器結(jié)構(gòu)進(jìn)行編碼的詞向量預(yù)訓(xùn)練模型。BERT采用遮擋語言模型(Masked Language Model,MLM)和下一句預(yù)測(cè)(Next Sentence Prediction,NSP)來進(jìn)行詞向量訓(xùn)練。MLM會(huì)隨機(jī)選擇一定比例的詞元作為預(yù)測(cè)的遮蔽詞元,模型通過全局上下文來學(xué)習(xí)被遮擋的詞元。盡管MLM能夠編碼雙向上下文來表示字詞,但是不能夠顯式地表達(dá)文本對(duì)之間的邏輯關(guān)系,而NSP可以看作是句子級(jí)別的二分類問題,通過判斷后一個(gè)句子是不是前一個(gè)句子合理的下一句來挖掘句子間的邏輯關(guān)系,因此BERT模型通過結(jié)合MLM與NSP兩種方法實(shí)現(xiàn)詞向量的表示與語義特征的提取。BERT模型結(jié)構(gòu)如圖2所示。
圖2 BERT模型結(jié)構(gòu)圖Fig.2 BERT model structure diagram
圖2 中,,,…,e為BERT模型的輸入序列,Trm為Transformer的Encoder模型,,,…,x為BERT模型的輸出詞向量序列。BERT的輸入序列是詞元嵌入(Token Embeddings)、片段嵌入(Segment Embeddings)和位置嵌入(Positional Embeddings)信息之和,其中詞元嵌入的文本序列需要使用詞元<cls>作為起始標(biāo)記。其輸入序列模型如圖3所示。
圖3 BERT模型輸入序列圖Fig.3 BERT model input sequence diagram
2.2.1 局部語義特征提取
卷積神經(jīng)網(wǎng)絡(luò)早期被應(yīng)用于計(jì)算機(jī)視覺領(lǐng)域,但近年來也廣泛應(yīng)用到自然語言處理領(lǐng)域中,并取得了不錯(cuò)的成績。CNN通過卷積核提取文本的局部語義特征,本文使用多尺度卷積來獲取不同距離詞語間的特征信息。CNN通過卷積層對(duì)文本進(jìn)行特征提取后,通常會(huì)使用最大池化層對(duì)特征矩陣進(jìn)行壓縮,這種方法會(huì)破壞文本序列的時(shí)序性,造成特征丟失等問題。因此本文對(duì)卷積層得到的特征矩陣進(jìn)行拼接,直接輸入注意力層進(jìn)行權(quán)重分配,模型結(jié)構(gòu)如圖4所示。
圖4 局部特征提取模型結(jié)構(gòu)圖Fig.4 Local feature extraction model structure diagram
圖4 中,,,…,x 為文本的詞嵌入向量,通過3個(gè)不同窗口大小的卷積核進(jìn)行特征提取,每種卷積核的維度768、通道數(shù)256,步長設(shè)定為1。對(duì)于窗口大小為的卷積核第次卷積操作得到的局部特征c ,此處需用到的計(jì)算公式為:
2.2.2 全局語義特征提取
門控循環(huán)單元(Gate Recurrent Unit,GRU)是長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)的改進(jìn)模型。循環(huán)神經(jīng)網(wǎng)絡(luò)模型(Recurrent Neural Network,RNN)在處理長序列數(shù)據(jù)進(jìn)行學(xué)習(xí)時(shí)會(huì)出現(xiàn)梯度消失現(xiàn)象,無法感知長時(shí)間序列的非線性關(guān)系。RNN模型的改進(jìn)版LSTM通過輸入門、遺忘門和輸出門解決了梯度消失的問題。因?yàn)長STM模型有參數(shù)較多,訓(xùn)練時(shí)間較長的問題,因此Cho等人提出了將LSTM的單元狀態(tài)和隱藏狀態(tài)合并,并將輸入門和遺忘門合為一個(gè)更新門的GRU模型,簡(jiǎn)化了其結(jié)構(gòu),因此GRU可以使用更少的參數(shù)和時(shí)間來達(dá)到LSTM的實(shí)驗(yàn)效果。GRU結(jié)構(gòu)如圖5所示。
圖5 GRU結(jié)構(gòu)圖Fig.5 GRU structure diagram
GRU模型向前計(jì)算公式為:
單向GRU的各時(shí)刻隱藏狀態(tài)是從前向后單向傳輸?shù)?,這種方式忽略了文本的全局語義信息,無法推斷出后文中的字詞對(duì)前文的影響,因此本文采用雙向門控循環(huán)單元(Bidirectional Gated Recurrent Unit,BiGRU)模型進(jìn)行全局語義特征提取,可以提取正向與反向時(shí)間序列各時(shí)刻的隱藏狀態(tài),相比于單向GRU其結(jié)果更加準(zhǔn)確,BiGRU模型結(jié)構(gòu)如圖6所示。
圖6 BiGRU模型結(jié)構(gòu)圖Fig.6 BiGRU model structure diagram
文本信息通常會(huì)包含具有情感傾向的詞匯,這些詞匯往往會(huì)對(duì)文本的情感傾向產(chǎn)生重要影響,使用注意力機(jī)制可以捕獲情感詞予以分配較大的權(quán)重分值,突出其在文本序列中的重要程度。本文分別對(duì)局部特征矩陣(,,…,r 和全局特征矩陣(,,…,h )分別使用注意力機(jī)制,加強(qiáng)文本情感極性,研究后推得的計(jì)算公式為:
其中,W 與W 為權(quán)重參數(shù)矩陣;b 與b 為偏置項(xiàng);tanh為非線性激活函數(shù)。
通過對(duì)權(quán)重向量u 與u 進(jìn)行歸一化處理,可得到關(guān)于局部特征r 和全局特征h 的注意力分?jǐn)?shù)α與α,其計(jì)算公式為:
將注意力分?jǐn)?shù)α與局部特征矩陣對(duì)應(yīng)的子向量計(jì)算加權(quán)和,可得到經(jīng)注意力機(jī)制優(yōu)化后的文本局部特征向量s ,全局特征矩陣的權(quán)重優(yōu)化類似,可得到文本全局特征向量s 。 具體的計(jì)算公式為:
雙通道注意力機(jī)制層為文本中關(guān)鍵情感詞向量分配了相應(yīng)的注意力權(quán)重,進(jìn)而提高了模型情感分析的準(zhǔn)確性。
本文模型輸出層由全連接神經(jīng)網(wǎng)絡(luò)與函數(shù)構(gòu)成。首先將注意力機(jī)制優(yōu)化后的局部特征向量s 與全局特征向量s 融合,得到文本最終的特征表示。 相應(yīng)的數(shù)學(xué)公式可表示如下:
通過在全連接神經(jīng)網(wǎng)絡(luò)層前融合方法,可以緩解模型的過擬合現(xiàn)象,全連接層的輸出使用函數(shù)進(jìn)行分類計(jì)算,該值可由如下數(shù)學(xué)公式計(jì)算得到:
其中,為全連接層的輸出向量;為權(quán)重矩陣;為偏置項(xiàng);為模型的最終輸出向量。
本文使用的是譚松波老師收集整理的酒店評(píng)論數(shù)據(jù)集,該數(shù)據(jù)集包含積極和消極評(píng)論各7 000條和3 000條。使用前對(duì)數(shù)據(jù)集進(jìn)行預(yù)處理,去除掉特殊字符,調(diào)整數(shù)據(jù)集結(jié)構(gòu),其數(shù)據(jù)集示例見表1。
表1 數(shù)據(jù)集示例Tab.1 Examples of the data set
表1中,情感標(biāo)簽1和0分別表示積極評(píng)論和消極評(píng)論。實(shí)驗(yàn)數(shù)據(jù)集以4∶1比例隨機(jī)劃分為訓(xùn)練集和測(cè)試集,每個(gè)數(shù)據(jù)集以同比例劃分積極和消極評(píng)論。數(shù)據(jù)集中文本長度與數(shù)量關(guān)系如圖7所示,可以觀察到數(shù)據(jù)集內(nèi)評(píng)論以短文本居多,其中≤100的數(shù)據(jù)占比約50%,100≤200的數(shù)據(jù)占比約25%。
圖7 文本長度與數(shù)量關(guān)系圖Fig.7 The relationship between text length and quantity
為驗(yàn)證模型在文本情感分析任務(wù)中的效果,本文采用 準(zhǔn)確率()、查準(zhǔn)率()、召回率()和(分值)作為評(píng)估指標(biāo),計(jì)算公式如下:
其中,(True Positive)表示樣本正確分類為積極情感的數(shù)量;(False Positive)表示樣本錯(cuò)誤分類為積極情感的數(shù)量;(False Negative)表示將樣本錯(cuò)誤分類為消極情感的數(shù)量;(True Negative)表示將樣本正確分類為消極情感的數(shù)量。
本文模型實(shí)驗(yàn)環(huán)境見表2。
表2 實(shí)驗(yàn)環(huán)境Fig.2 Laboratory environment
本文詞嵌入層使用Google發(fā)布的“BERT-Base Chinese”中文預(yù)訓(xùn)練模型,該模型采用12層Transformer,隱藏層的維度為768,激活函數(shù)為,多頭注意力的參數(shù)為12,模型總參數(shù)大小為110 MB。雙通道特征提取層的主要參數(shù)見表3。
表3 特征提取層模型參數(shù)設(shè)定Tab.3 Feature extraction layer model parameters setting
3.4.1 BERT模型詞向量化效果分析
為驗(yàn)證BERT預(yù)訓(xùn)練模型對(duì)文本向量化的表示能力,本文選取Word2Vec、ELMo與BERT進(jìn)行實(shí)驗(yàn)對(duì)比,文本數(shù)據(jù)分別通過3個(gè)模型向量化后輸入到BiGRU中進(jìn)行訓(xùn)練。實(shí)驗(yàn)結(jié)果見表4。結(jié)果表明基于BiGRU的BERT詞嵌入模型的準(zhǔn)確率高達(dá)0.911 0,相比Word2Vec與ELMo準(zhǔn)確率分別提高了4.5%與2.6%,證明了基于雙向Transformer編碼器的BERT模型有更出色的詞向量表示能力。
表4 詞嵌入層模型試驗(yàn)結(jié)果對(duì)比Tab.4 Comparison of test results of word embedding layer model
3.4.2 本文模型實(shí)驗(yàn)對(duì)比與結(jié)果分析
為驗(yàn)證本文模型的有效性,使用BERT模型作為詞嵌入層進(jìn)行文本的向量化表示,同時(shí)為驗(yàn)證雙通道特征提取模型與注意力機(jī)制結(jié)合的有效性,分別構(gòu)建CNN-BiGRU與CNN-BiGRU-AT模型進(jìn)行實(shí)驗(yàn)對(duì)比。在文本情感分析任務(wù)中,BiGRU、BiLSTM、TextRNN、TextCNN是情感分類中的經(jīng)典模型,本文將選取上述模型進(jìn)行對(duì)比實(shí)驗(yàn),其模型結(jié)構(gòu)如下。
(1)BiGRU:該模型為本文的全局特征提取層,對(duì)比實(shí)驗(yàn)中使用初始時(shí)刻與最后時(shí)刻的融合特征向量作為模型輸出。
(2)BiLSTM:該模型采用雙向長短期記憶網(wǎng)絡(luò)進(jìn)行特征提取,使用初始時(shí)刻與最后時(shí)刻的融合特征向量作為模型輸出。
(3)TextRNN:該模型采用雙向長短期記憶網(wǎng)絡(luò)進(jìn)行特征提取,與BiLSTM不同的是,使用最大池化對(duì)BiLSTM各時(shí)刻的輸出特征向量進(jìn)行特征提取作為模型輸出。
(4)TextCNN:該模型采用多尺度卷積對(duì)輸入向量進(jìn)行特征提取,不同尺度的卷積核獲取到不同長度詞語的特征信息,最后使用最大池化對(duì)特征向量進(jìn)行計(jì)算作為模型輸出。
(5)CNN-BiGRU:該模型為未使用注意力機(jī)制的雙通道特征提取模型,主要與本文BERT-CNNBiGRU-AT模型進(jìn)行對(duì)比,驗(yàn)證注意力機(jī)制的有效性。
所有模型對(duì)比實(shí)驗(yàn)結(jié)果見如表5。
表5 不同模型的實(shí)驗(yàn)對(duì)比結(jié)果Tab.5 Experimental comparison results of different models
實(shí)驗(yàn)結(jié)果評(píng)估指標(biāo)以與為主,根據(jù)表5可知,本文模型BERT-CNN-BiGRUAT的準(zhǔn)確率達(dá)到了92.90%,分?jǐn)?shù)達(dá)到了91.64%,均高于其他模型。其中,BERT-BiGRU與BERT-BiLSTM的模型評(píng)分相差不多,因?yàn)槎呔哂邢嗤哪P徒Y(jié)構(gòu)。TextCNN模型在本文數(shù)據(jù)集中的實(shí)驗(yàn)效果均好于循環(huán)神經(jīng)網(wǎng)絡(luò)模型,在酒店評(píng)論數(shù)據(jù)集中,短文本數(shù)據(jù)占比約為75%,TextCNN通過多尺度卷積可以更好地獲取到短文本序列詞組之間的特征信息,而循環(huán)神經(jīng)網(wǎng)絡(luò)擅長捕獲較長文本的時(shí)間序列特征。通過BERT-CNN-BiGRU與BERTCNN-BiGRU-AT對(duì)比可知,使用了注意力機(jī)制后,準(zhǔn)確率提高了約1.4%,分?jǐn)?shù)提高了約1.8%,說明注意力機(jī)制可以有效提高模型的準(zhǔn)確率。綜上所述,本文所提出的基于BERT的CNN-BiGRU-AT模型在中文文本情感分析任務(wù)上具有很好的效果,證明了本文模型的有效性。
本文提出基于BERT的雙通道神經(jīng)網(wǎng)絡(luò)模型的文本情感分類方法,首先采用BERT模型進(jìn)行文本向量化表示,結(jié)合CNN和BiGRU構(gòu)建雙通道模型提取文本中蘊(yùn)含的局部與全局情感特征,通過建立注意力權(quán)重分配機(jī)制,融合加權(quán)求和后的特征向量,經(jīng)過輸出層計(jì)算后,得出文本的情感傾向信息,在酒店評(píng)論數(shù)據(jù)集中表現(xiàn)出了較高的準(zhǔn)確率。但是依然有不足之處,表現(xiàn)為模型訓(xùn)練時(shí)間過久,其原因是BERT模型具有大量參數(shù),且模型深度較深,在對(duì)下游任務(wù)進(jìn)行微調(diào)的過程中,需要反向傳播更新大量參數(shù),消耗較多時(shí)間。針對(duì)此問題擬在后續(xù)研究中加以改進(jìn)。