林原,李家平,許侃,楊亮,林鴻飛
(大連理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,遼寧 大連 116024)
當(dāng)今世界正處于信息爆炸中,網(wǎng)絡(luò)上每天都有不計(jì)其數(shù)的文本信息產(chǎn)生。在Twitter等社交網(wǎng)絡(luò)媒體上,人們以文本形式進(jìn)行意見表達(dá);在IMDB等影視評(píng)論網(wǎng)站上,電影的評(píng)價(jià)以文本形式呈現(xiàn)在大眾面前。這些文本信息數(shù)量龐大、內(nèi)容豐富,處理后可以成為一種重要的數(shù)據(jù)資源。
用戶在各類平臺(tái)上發(fā)表的簡短文字包含較強(qiáng)的情感傾向性,體現(xiàn)了用戶不同的觀點(diǎn)態(tài)度。收集這些用戶產(chǎn)生的海量文本信息并進(jìn)行情感分析,對(duì)各個(gè)行業(yè)都有巨大價(jià)值。例如,通過分析網(wǎng)民對(duì)同一新聞事件持有的不同態(tài)度,政府得以了解大眾對(duì)于各種社會(huì)事件及有關(guān)政策的意見與看法;通過分析用戶對(duì)產(chǎn)品某一功能的評(píng)價(jià),生產(chǎn)廠商能夠有針對(duì)性地改進(jìn)產(chǎn)品。情感分析所蘊(yùn)含的潛在價(jià)值吸引著來自數(shù)據(jù)挖掘、自然語言處理等不同領(lǐng)域研究者的廣泛關(guān)注,針對(duì)用戶產(chǎn)生文本的情感分析已成為國內(nèi)外相關(guān)領(lǐng)域的研究熱點(diǎn)。
情感分析,又稱為意見挖掘,是分析人們對(duì)于產(chǎn)品、服務(wù)、組織、個(gè)人、事件、主題及其屬性等實(shí)體對(duì)象所持有的意見、情感、評(píng)價(jià)、看法和態(tài)度等主觀感受的研究領(lǐng)域[1]。文本情感分析任務(wù)是自然語言處理領(lǐng)域中的重要任務(wù)之一,是對(duì)帶有情感色彩的文本進(jìn)行預(yù)處理、提取特征和分類的過程。對(duì)當(dāng)前表現(xiàn)較好的模型進(jìn)行比較,發(fā)現(xiàn)將句子劃分為單詞序列,以基于長短期記憶(Long Short-Term Memory,LSTM)或門控循環(huán)單元(Gated Recurrent Unit,GRU)的網(wǎng)絡(luò)模型為處理序列數(shù)據(jù)的主要工具,能有效提取句子的上下文關(guān)系。
LSTM網(wǎng)絡(luò)是遞歸神經(jīng)網(wǎng)絡(luò)的一種特殊類型,由Hochreiter與Schmidhuber提出[2],在解決很多問題上都取得相當(dāng)大的成功,并得到了廣泛的使用。它引入自循環(huán)機(jī)制,比起簡單的循環(huán)架構(gòu)更易學(xué)習(xí)長期依賴信息。雙向LSTM(Bi-LSTM)模型則將序列的前向與后向的兩個(gè)方向分別輸入LSTM網(wǎng)絡(luò),能夠更好地捕捉序列的上下文順序信息。本文采用Bi-LSTM提取文本的局部順序信息。
為進(jìn)一步提高LSTM模型處理序列數(shù)據(jù)的能力,研究者在其基礎(chǔ)上從不同方面進(jìn)行改進(jìn),主要有增加網(wǎng)絡(luò)層數(shù)、修改內(nèi)部結(jié)構(gòu)和與其他方法相結(jié)合等幾種思路[3-8]。其中一種改進(jìn)方式是將卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)與LSTM相互補(bǔ)充:在LSTM前面使用一維卷積神經(jīng)網(wǎng)絡(luò)作為預(yù)處理步驟,能夠結(jié)合卷積神經(jīng)網(wǎng)絡(luò)的高效與LSTM的順序敏感性[8],這對(duì)本文模型設(shè)計(jì)有所啟發(fā)。另一種改進(jìn)方式是本文關(guān)注重點(diǎn),即通過引入注意力機(jī)制(Attention Mechanism)過濾無關(guān)信息,提高模型處理序列數(shù)據(jù)的能力[3]。
注意力機(jī)制最早由視覺圖像領(lǐng)域提出[9],后來逐漸進(jìn)入自然語言處理領(lǐng)域。該機(jī)制的目的是能夠讓模型的關(guān)注點(diǎn)集中于重要目標(biāo),其數(shù)學(xué)上的表現(xiàn)形式就是加權(quán)求和。Google機(jī)器翻譯團(tuán)隊(duì)于2017年發(fā)表的《Attention is all you need》[9]中提出了本文使用的多頭注意力(Multi-Head Attention)機(jī)制。
對(duì)于自然語言處理任務(wù)來說,順序信息尤為重要。它代表著文本的邏輯與結(jié)構(gòu)。然而,Multi-Head Attention 機(jī)制能獲取全局結(jié)構(gòu),卻難以有效捕捉序列的順序信息。Google團(tuán)隊(duì)利用位置向量解決這一問題:他們對(duì)每個(gè)位置進(jìn)行編號(hào)并使之對(duì)應(yīng)一個(gè)詞向量,以引入位置信息,使Attention模型能夠得到文本的順序信息。本文并未采用位置向量方法,而是與LSTM網(wǎng)絡(luò)結(jié)合來捕捉序列的順序信息,提出了一種基于多頭注意力的雙向LSTM文本情感分析模型(Multi-Head Attention-based Bi-LSTM Model,MHA-B)。MHA-B將Multi-Head Attention獲取全局信息的能力與Bi-LSTM獲取局部序列信息的能力結(jié)合起來,以達(dá)到互補(bǔ)的目的。
情感分析任務(wù)一般可根據(jù)分類目標(biāo)的不同,分為二分類任務(wù)和多分類任務(wù)。在很多情況下,研究人員將文本的情感極性分為正向和負(fù)向兩類,這就是通常所謂的二分類任務(wù)。一般而言,正向表示文本的情感傾向?yàn)榉e極,負(fù)向表示文本的情感傾向?yàn)橄麡O。這種簡單的分類方法可以應(yīng)用于很多現(xiàn)實(shí)場(chǎng)景中,例如分析用戶對(duì)某一商品及文藝作品是好評(píng)還是差評(píng),網(wǎng)民對(duì)某一社會(huì)事件的輿論態(tài)度。在研究過程中,二分類也是評(píng)價(jià)模型分類能力的常用任務(wù)。
除此之外,多分類任務(wù)也是重要的研究方向。多分類任務(wù)又可被分為情感級(jí)別分類和情感細(xì)粒度分類。情感級(jí)別分類是指將文本情感傾向從消極到積極分為幾個(gè)級(jí)別,比如將情感分為1到5級(jí),就可稱為一個(gè)五分類問題。情感的細(xì)粒度[10]是依據(jù)情感的類別進(jìn)行的劃分。這種劃分沒有一個(gè)共同的標(biāo)準(zhǔn),一般根據(jù)研究的問題自行規(guī)定,比如可以把情感分為喜、怒、哀、驚訝、厭惡、恐懼和中立七種。本文主要研究文本情感分析任務(wù)中的二分類任務(wù),以評(píng)價(jià)所提模型的性能。
文本情感分析使用的方法主要可以分為兩類:情感詞典方法和機(jī)器學(xué)習(xí)方法。構(gòu)建情感詞典并將其作為工具是判斷文本情感極性的傳統(tǒng)方法[10]。情感詞典大都需要人工構(gòu)建,原理是將具有情感傾向性的情感詞進(jìn)行歸納整理,形成詞典。情感詞具有較強(qiáng)的指示能力,是文本含有情感傾向的重要信號(hào)之一。當(dāng)文本輸入后就與詞典內(nèi)容進(jìn)行匹配,尋找文本中的情感詞,從而判斷文本的情感極性。然而,情感詞典方法具有較大的局限性:情感詞典的構(gòu)建需要花費(fèi)大量人力,成本較高;它涵蓋的情感表達(dá)形式不夠充足且無法及時(shí)涵蓋新出現(xiàn)的表達(dá)形式,這使得文本情感判斷準(zhǔn)確率相對(duì)較低。
利用機(jī)器學(xué)習(xí)方法進(jìn)行文本情感分析是現(xiàn)今研究人員的常用手段。計(jì)算機(jī)根據(jù)某種特定的算法對(duì)文本進(jìn)行處理并提取文本特征后,輸出情感分析。與極為依賴人工的情感詞典的方法相比,機(jī)器學(xué)習(xí)方法具有明顯的優(yōu)勢(shì)。文本情感分析的機(jī)器學(xué)習(xí)方法主要分為:有監(jiān)督情感分析方法與無監(jiān)督情感分析方法。本文所提出的方法是一種有監(jiān)督的情感分析方法,下面對(duì)有監(jiān)督情感分析方法進(jìn)行簡要介紹。
有監(jiān)督情感分析的基本原理是利用已標(biāo)注文本訓(xùn)練模型,再利用訓(xùn)練好的模型對(duì)未標(biāo)注文本進(jìn)行情感分析。該類方法一般有數(shù)據(jù)集處理、文本向量化、分類器訓(xùn)練與分類器檢測(cè)等步驟。主要方法除傳統(tǒng)機(jī)器學(xué)習(xí)方法如支持向量機(jī)之外,還有CNN與RNN等深度學(xué)習(xí)方法。2002年,Pang等[11]應(yīng)用3種代表性分類器(支持向量機(jī)、樸素貝葉斯與最大熵)對(duì)文本情感分析任務(wù)進(jìn)行研究,結(jié)果顯示,3種分類器均具有較高的準(zhǔn)確率。2014年,Kim[12]提出的CNN文本分類工作,成為情感分析任務(wù)的重要baseline之一。2015年,Tang等[13]使用兩種不同的RNN網(wǎng)絡(luò),結(jié)合文本和主題進(jìn)行情感分析。2017年,梁斌等[14]認(rèn)為注意力機(jī)制能有效解決在進(jìn)行文本情感分析任務(wù)時(shí),經(jīng)常出現(xiàn)同一句子中有情感極性不一致的多個(gè)情感詞,于是將詞向量注意力機(jī)制、詞性注意力機(jī)制和位置注意力機(jī)制相結(jié)合構(gòu)造了多注意力卷積神經(jīng)網(wǎng)絡(luò)。近年來,在這個(gè)領(lǐng)域有越來越多的新方法出現(xiàn),許多研究人員意識(shí)到了機(jī)器學(xué)習(xí)方法的優(yōu)勢(shì),并將其應(yīng)用于文本情感分析任務(wù)中,從而達(dá)到提升分類準(zhǔn)確率的目的。
運(yùn)用Multi-Head Attention機(jī)制能夠充分捕捉長距離的文本特征,但它難以處理序列的順序信息;遞歸神經(jīng)網(wǎng)絡(luò)則可以有效獲取序列的上下文順序信息,能對(duì)Multi-Head Attention機(jī)制形成有效補(bǔ)充。本文將Bi-LSTM網(wǎng)絡(luò)與Multi-Head Attention機(jī)制相結(jié)合,構(gòu)建MHAB模型,如圖1所示。向量x1至xt為利用Word2Vec生成的詞向量。詞向量進(jìn)入BiLSTM中,產(chǎn)生前向和后向的輸出向量。拼接對(duì)應(yīng)向量,得到h1至ht。將拼接后的向量合并成一個(gè)矩陣,作為Multi-head attention模型的Q(Query)、K(Key)、V(Value)輸入(Q=K=V)。經(jīng)全連接操作后得到分類結(jié)果。
在文本進(jìn)入網(wǎng)絡(luò)分類前,一般需要將其轉(zhuǎn)換為詞向量以便計(jì)算機(jī)處理。因此,添加嵌入層(Embedding Layer)對(duì)文本進(jìn)行編碼。Word2Vec是一種常用的用于訓(xùn)練詞向量的工具[15],可以根據(jù)給定的語料庫,通過優(yōu)化后的訓(xùn)練模型快速有效地將一個(gè)詞語表達(dá)成向量形式。本文利用Word2Vec事先處理文本,預(yù)訓(xùn)練所需詞向量。加載文本后,將句子分割成對(duì)應(yīng)詞表示,并去除低頻詞和停用詞。在嵌入層中,讀取預(yù)訓(xùn)練的詞向量,作為初始化值輸入到模型中,如圖1向量x1至xt。
圖1 MHA-B模型Fig.1 MHA-B model
圖2 LSTM模型Fig.2 Framework of LSTM model
引入LSTM網(wǎng)絡(luò)來捕捉序列的上下文順序信息。LSTM網(wǎng)絡(luò)是遞歸神經(jīng)網(wǎng)絡(luò)的一種特殊類型,除了外部的循環(huán)外,還具有內(nèi)部的“LSTM細(xì)胞”結(jié)構(gòu),如圖2所示。在模型中,利用“門”結(jié)構(gòu)以實(shí)現(xiàn)信息選擇式通過。門由一個(gè)將權(quán)重設(shè)置在[0,1]區(qū)間內(nèi)的sigmoid層和一個(gè)相乘操作組成,用以實(shí)現(xiàn)去除或者增加信息到細(xì)胞狀態(tài)的功能。在每個(gè)LSTM細(xì)胞中設(shè)置3個(gè)門結(jié)構(gòu):遺忘門(Forget Gate,FG)、輸入門(Input Gate,IG)和輸出門(Output Gate,OG),分別執(zhí)行不同功能來控制細(xì)胞狀態(tài)。
在圖2所示的LSTM細(xì)胞中,xt表示當(dāng)前單元的輸入、ht-1表示上一個(gè)細(xì)胞的輸出、ht為當(dāng)前細(xì)胞輸出、Ct-1與Ct分別為上一細(xì)胞狀態(tài)與當(dāng)前細(xì)胞狀態(tài)。
模型利用遺忘門決定從細(xì)胞狀態(tài)中丟棄什么信息。該門會(huì)讀取ht-1和xt,輸出一個(gè)0到1之間的權(quán)值與細(xì)胞狀態(tài)Ct-1中的數(shù)字相乘:1表示“完全保留”,0表示“完全舍棄”。用輸入門確定如何將新信息添加在細(xì)胞狀態(tài)中。利用一個(gè)tanh層生成候選值向量,與sigmoid層的結(jié)果相乘以決定應(yīng)加入細(xì)胞狀態(tài)的值。將該值加入細(xì)胞狀態(tài),使舊細(xì)胞狀態(tài)更新為Ct。用輸出門基于細(xì)胞狀態(tài)Ct確定輸出值。把細(xì)胞狀態(tài)Ct用tanh進(jìn)行處理,并將它和sigmoid層的結(jié)果相乘,得到細(xì)胞的輸出ht。
將LSTM細(xì)胞抽象為一個(gè)輸入為ht-1和xt、輸出為ht的函數(shù),見式(1)。
ht=LSTM(xt,ht-1)
(1)
雙向LSTM(Bi-LSTM)網(wǎng)絡(luò)能從前后兩個(gè)方向提取序列的特征,能夠更好地捕捉序列的上下文順序信息。本文就采用Bi-LSTM提取文本的局部順序信息,將前向的LSTM與后向的LSTM結(jié)合成BiLSTM。前向和后向的LSTM對(duì)應(yīng)輸出向量分別為ht與ht,見式(2-3)。
ht=LSTM(xt,ht-1)
(2)
ht=LSTM(xt,ht-1)
(3)
將ht與ht首尾拼接(Concat)在一起,生成新的向量ht,其包含了前向與后向的所有信息。Bi-LSTM層的最終輸出即拼接后的向量h1至ht(圖1),見式(4)。
ht=Concat(ht,ht)
(4)
利用Multi-Head Attention機(jī)制充分地捕捉長距離的特征,獲取全局信息。Multi-Head Attention本質(zhì)上是多個(gè)自注意力(Self-Attention)結(jié)構(gòu)的結(jié)合。Bi-LSTM層輸出向量h1至ht合并形成的矩陣,將成為每個(gè)Self-Attention中的Q(Query),K(Key),V(Value)三個(gè)矩陣的輸入(Q=K=V),如圖1。在Self-Attention中,每個(gè)向量都要和該矩陣中的所有向量進(jìn)行Attention計(jì)算,其主要目的是學(xué)習(xí)到序列內(nèi)部的依賴關(guān)系,捕獲序列中的內(nèi)部結(jié)構(gòu)。
(5)
(6)
在本文Multi-Head Attention機(jī)制中,Multi-Head是指每次使用不同的參數(shù)W對(duì)Q、K和V進(jìn)行線性變換,在h次計(jì)算縮放點(diǎn)積注意力之后將結(jié)果head1至headh進(jìn)行拼接(Concat)。將拼接后的矩陣用參數(shù)W做一次線性變換,得到的值即為Multi-Head Attention(MHA)的結(jié)果,見式(7)。
MHA(Q,K,V)=Concat(head1,…,headh)W
(7)
Multi-Head Attention層將Bi-LSTM層輸出的由向量h1至ht合并成的矩陣,經(jīng)多次不同參數(shù)W的縮放點(diǎn)積注意力計(jì)算,形成多個(gè)head而后合并進(jìn)行線性變換。其中對(duì)Q、K、V的不同參數(shù)的線性變換是“多頭”的實(shí)質(zhì),用以達(dá)到從不同的維度和表示子空間里學(xué)習(xí)到相關(guān)信息的目的。
MHA-B模型利用Embedding層將輸入的文本轉(zhuǎn)換為詞向量x1至xt;詞向量在Bi-LSTM層中產(chǎn)生并拼接前向和后向的輸出向量,得到h1至ht;合并h1至ht為矩陣,作為Multi-head attention層的Q、K、V輸入,經(jīng)全連接操作后得到分類結(jié)果。Bi-LSTM層可以有效獲取序列的上下文順序信息;Multi-Head Attention機(jī)制則能夠從不同的維度和表示子空間里學(xué)習(xí)到相關(guān)的信息,充分捕捉長距離的文本特征。這兩個(gè)機(jī)制相互補(bǔ)充,能有效提高模型情感分析的能力。
在選定數(shù)據(jù)集上訓(xùn)練MHA-B模型。通過對(duì)其分類結(jié)果進(jìn)行評(píng)價(jià)并與baseline相比較,判斷該模型的情感分析能力。
實(shí)驗(yàn)在Large Movie Review Dataset[16]與Semeval2017-task4-A English[17]兩個(gè)數(shù)據(jù)集上進(jìn)行。Large Movie Review Dataset是一個(gè)常用的大型的IMDB評(píng)論情感分析數(shù)據(jù)集,其中包含積極數(shù)據(jù)25 000條與消極數(shù)據(jù)25 000條。Semeval-2017-task4-A English是semeval-2017競(jìng)賽中任務(wù)4提供的數(shù)據(jù)集,包含七千余條積極數(shù)據(jù)和三千余條消極數(shù)據(jù)。實(shí)驗(yàn)中,將所使用的Large Movie Review Dataset與Semeval-2017-task4-A English兩個(gè)數(shù)據(jù)集的全部數(shù)據(jù)分別整合并打亂。從每個(gè)數(shù)據(jù)集中選取60%的數(shù)據(jù)作為訓(xùn)練集,20%的數(shù)據(jù)作為驗(yàn)證集,20%的數(shù)據(jù)作為測(cè)試集進(jìn)行實(shí)驗(yàn)。將測(cè)試集的實(shí)驗(yàn)數(shù)據(jù)作為實(shí)驗(yàn)結(jié)果。
通過不斷優(yōu)化為MHA-B模型選取了比較適宜的各項(xiàng)超參數(shù),如表1所示。Dropout(Bi-LSTM)的選取對(duì)MHA-B模型的性能影響較大,Dropout值過小常常導(dǎo)致模型過擬合,使分類準(zhǔn)確率(ACC)下降。如圖3所示,在Large Movie Review Dataset與Semeval-2017-task4-A English兩個(gè)數(shù)據(jù)集上,準(zhǔn)確率均在Dropout(Bi-LSTM)為0.9時(shí)出現(xiàn)峰值。
表1 MHA-B超參數(shù)
圖3 Dropout (Bi-LSTM)對(duì)ACC影響Fig.3 Impact of Dropout (Bi-LSTM) on ACC
表2 數(shù)據(jù)集Large Movie Review Dataset和Semeval-2017-task4-A English的實(shí)驗(yàn)結(jié)果
采用TextCNN、Bi-LSTM與基于Attention的Bi-LSTM 3個(gè)常用模型作為baseline。
TextCNN將卷積神經(jīng)網(wǎng)絡(luò)(CNN)應(yīng)用到文本分類任務(wù),利用多個(gè)不同size的kernel來提取句子中的關(guān)鍵信息,從而能夠更好地捕捉局部相關(guān)性。是一種常用的baseline。
Bi-LSTM與基于Attention的Bi-LSTM是常用來提取文本特征的模型。Attention本質(zhì)上是一種自動(dòng)加權(quán)求和機(jī)制,使模型對(duì)于長序列有更強(qiáng)的處理能力。用這兩種baseline可以較明顯的比較出Multi-Head Attention機(jī)制對(duì)模型分類能力的增強(qiáng)作用。
表2為兩個(gè)數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果,每一列得分最高的一項(xiàng)用粗體標(biāo)出。Large Movie Review Dataset上的實(shí)驗(yàn)結(jié)果中,MHA-B模型的準(zhǔn)確率(ACC、AUC)在所有模型中保持最高,與baseline中最高的基于Attention的BiLSTM模型相比約有2%的提升;MHA-B模型的精確率(precision)與召回率(recall)都保持在較高水平。
在數(shù)據(jù)集Semeval-2017-task4-A English上的實(shí)驗(yàn)結(jié)果中,MHA-B模型的準(zhǔn)確率在所有模型中保持最高,與baseline中表現(xiàn)較好的TextCNN與基于Attention的Bi-LSTM模型相比約有4%的提升;MHA-B模型的精確率與召回率都保持在較高水平。
與Bi-LSTM相比,Multi-Head Attention機(jī)制能有效地捕捉較長距離的文本特征,MHA-B模型在兩個(gè)數(shù)據(jù)集上準(zhǔn)確率分別有1.9%與9.5%的提升。與一般的基于Attention的Bi-LSTM相比,Multi-Head Attention機(jī)制更能從不同的維度和表示子空間里學(xué)習(xí)到相關(guān)的信息,MHA-B模型的分類能力也顯著增強(qiáng),在兩個(gè)數(shù)據(jù)集上準(zhǔn)確率分別有1.6%與4.1%的提升。
本文提出了一個(gè)利用Bi-LSTM網(wǎng)絡(luò)與Multi-Head Attention機(jī)制來進(jìn)行文本情感分析的方法,并在Large Movie Review Dataset與Semeval-2017-task4-A English兩個(gè)數(shù)據(jù)集上分別進(jìn)行實(shí)驗(yàn),都取得了較好的結(jié)果。實(shí)驗(yàn)表明MHA-B模型在此類文本上的分類效果較現(xiàn)有分類模型均有所提升。
本文引入遞歸神經(jīng)網(wǎng)絡(luò):Bi-LSTM,來捕捉序列的局部順序信息,對(duì)Multi-Head Attention機(jī)制形成了有效補(bǔ)充。MHA-B模型的優(yōu)點(diǎn)在于利用Bi-LSTM網(wǎng)絡(luò)來獲取句子中前后兩個(gè)方向的內(nèi)在聯(lián)系,得到局部順序信息;并利用Multi-Head Attention機(jī)制來充分捕捉長距離的特征,并從不同的維度和表示子空間里學(xué)習(xí)到相關(guān)的信息。將Multi-Head Attention獲取全局信息的能力與Bi-LSTM獲取局部序列信息的能力結(jié)合起來,取得了較好的效果。