高瑋軍,楊 杰,張春霞,師 陽
(蘭州理工大學(xué) 計(jì)算機(jī)與通信學(xué)院,蘭州 730050)
隨著5G時(shí)代的到來以及社交媒體的快速發(fā)展,大量用戶通過博客、微博、Twitter和淘寶等來評(píng)論熱點(diǎn)事件、抒寫影評(píng)觀點(diǎn)以及描述產(chǎn)品體驗(yàn)等,從而產(chǎn)生了大規(guī)模帶有情感傾向的文本信息。文本信息爆炸式的增長使得通過文本數(shù)據(jù)發(fā)掘潛在信息成為自然語言處理領(lǐng)域的熱點(diǎn)問題之一[1],其中,對(duì)海量文本信息進(jìn)行準(zhǔn)確的情感分析是文本數(shù)據(jù)發(fā)掘中的關(guān)鍵。
情感分析通常被分為2種類型,即基于情感詞典的分類方法和基于機(jī)器學(xué)習(xí)的情感分類方法[2]?;谇楦性~典的分類方法依賴于情感詞典的構(gòu)建,情感詞典包含大量的情感詞,利用對(duì)應(yīng)的情感詞對(duì)分類文本進(jìn)行標(biāo)注[3]。從中國古代“七情(喜、怒、哀、懼、愛、惡、欲)說”對(duì)情緒的劃分,到西方學(xué)者PLUTCHIK從強(qiáng)度、相似性和兩極性三方面進(jìn)行情緒劃分,情感詞典一直在不斷的發(fā)展完善。情感詞典的構(gòu)建目前主要有4種方法,分別為基于啟發(fā)式規(guī)則的方法、基于詞對(duì)齊的方法、基于圖的方法和基于表示學(xué)習(xí)的方法[4]。然而,隨著網(wǎng)絡(luò)用語的快速增加,情感詞典的構(gòu)建和更新難度大幅提高[5],此外,文本存在二義性、前褒后貶或者前貶后褒等特點(diǎn),導(dǎo)致情感詞典的泛化能力難以提高。因此,學(xué)者們開始探究效果更好的情感分類方法。文獻(xiàn)[6]較早在電影評(píng)論的情感分析問題中應(yīng)用最大熵、SVM和樸素貝葉斯3種機(jī)器學(xué)習(xí)方法。大量的實(shí)驗(yàn)結(jié)果表明,機(jī)器學(xué)習(xí)在文本分類中能夠取得較好的效果,因此,基于機(jī)器學(xué)習(xí)的方法是目前文本分類的主流方法。
本文建立一種基于注意力機(jī)制的深度學(xué)習(xí)模型AT-DPCNN,利用注意力矩陣重點(diǎn)關(guān)注文本序列中對(duì)情感走向影響較大的部分,將提取的注意力特征矩陣與原詞向量相結(jié)合進(jìn)行運(yùn)算,形成注意力輸入矩陣,再通過卷積神經(jīng)網(wǎng)絡(luò)二次提取特征,將提取的信息特征輸入到全連接層得到最終的分類結(jié)果。
文獻(xiàn)[7]較早進(jìn)行情感分析研究,隨后眾多研究人員的參與使得情感分類取得了較好的效果。詞向量的研究為自然語言處理開辟了新路徑。文獻(xiàn)[8-9]提出Word2Vec模型,該模型包含CBOW和Skip-gram兩種框架,使單詞映射到低維度連續(xù)向量空間中,大幅提升了詞向量模型的效率,隨后Word2Vec被廣泛應(yīng)用于自然語言處理的多個(gè)領(lǐng)域。文獻(xiàn)[10]采用CNN模型對(duì)文本序列進(jìn)行分類,設(shè)置不同參數(shù)并對(duì)比不同的詞向量構(gòu)造方法。
文獻(xiàn)[11]提出神經(jīng)概率語言模型,使用注意力機(jī)制建立詞與詞之間的關(guān)系,結(jié)合神經(jīng)網(wǎng)絡(luò)后應(yīng)用于機(jī)器翻譯中,其取得了較好的效果,驗(yàn)證了注意力機(jī)制在自然語言處理中的有效性。隨后,注意力機(jī)制被廣泛應(yīng)用于基于深度學(xué)習(xí)的自然語言處理任務(wù)中。文獻(xiàn)[12]針對(duì)文本序列的不同位置提出global attention和local attention兩種注意力方式,其系統(tǒng)闡述了自然語言處理中的注意力機(jī)制。文獻(xiàn)[13]提出了結(jié)合位置注意力機(jī)制與循環(huán)神經(jīng)網(wǎng)絡(luò)的方法,以解決特定主題下的情感分類問題。文獻(xiàn)[14]在深度LSTM模型中加入注意力機(jī)制,在SemEval-2017情感分類任務(wù)中取得了較好的效果。文獻(xiàn)[15]使用不同的注意力機(jī)制關(guān)注文本序列的不同部分,并應(yīng)用于主題情感分析任務(wù)。文獻(xiàn)[16]在BiLSTM的基礎(chǔ)上加入2層注意力機(jī)制,分別針對(duì)詞語級(jí)和句子級(jí)進(jìn)行特征提取。文獻(xiàn)[17]分析句子對(duì)建模任務(wù),提出一種基于注意力機(jī)制的卷積神經(jīng)網(wǎng)絡(luò)。
相比傳統(tǒng)文本情感分析模型,上述研究在情感分析方面取得了較好的效果,但受文本復(fù)雜性的影響,多數(shù)模型仍存在泛化能力不足、特征提取不全面等問題,還需進(jìn)一步優(yōu)化。本文將改進(jìn)的注意力機(jī)制與卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合,高度關(guān)注文本序列中對(duì)情感走向影響較大的部分,并針對(duì)轉(zhuǎn)折等復(fù)雜句式進(jìn)行分池操作,在此基礎(chǔ)上,建立一種新的情感分析模型AT-DPCNN。
在自然語言處理領(lǐng)域,傳統(tǒng)統(tǒng)計(jì)特征包含的信息量過少,限制了深度學(xué)習(xí)在自然語言處理中的應(yīng)用。詞向量由于包含了更豐富的信息,深度學(xué)習(xí)借助詞向量可以提取大量的文本特征,從而更好地處理大部分NLP問題。經(jīng)典的one-hot編碼假設(shè)詞典中不同詞的數(shù)量為N,每個(gè)詞均可以和從0到N-1的連續(xù)整數(shù)相對(duì)應(yīng)。假設(shè)一個(gè)詞的對(duì)應(yīng)整數(shù)為i,為了得到該詞的one-hot向量表示,創(chuàng)建一個(gè)元素全為0、長為N的向量,并將其第i位設(shè)成1。這種表示方法有2個(gè)缺點(diǎn):一是由于深度網(wǎng)絡(luò)模型的詞表相對(duì)于傳統(tǒng)的詞表非常大,一般都在百萬級(jí)別以上,因此利用one-hot處理文本很容易受維數(shù)災(zāi)難的困擾;二是其默認(rèn)2個(gè)詞之間是孤立的,任意2個(gè)詞向量內(nèi)積為0,簡單的如“老師”和“學(xué)生”這樣的詞之間沒有語義關(guān)系。
為解決one-hot編碼存在的“語義鴻溝”問題,本文選擇Google推出的NLP詞向量工具Word2Vec。Word2Vec模型由MIKOLOV等人提出,基于當(dāng)代語言學(xué)中的重要定理——“距離相似性定理”,該定理假設(shè)詞語之間的相似性取決于其相鄰詞匯是否相識(shí)。Word2Vec通過高維向量表示詞語,相近詞語放在相近位置,映射出序列局部間數(shù)據(jù)的關(guān)聯(lián)關(guān)系,彌補(bǔ)了one-hot編碼的不足。通過Word2Vec訓(xùn)練得到的詞向量具有高維性,解決了詞語多方向發(fā)散的問題,保證了模型的穩(wěn)定性,因此,Word2Vec適合處理序列數(shù)據(jù)。Word2Vec作為一種層次較淺的神經(jīng)網(wǎng)絡(luò),其包括如下2種模型:
1)連續(xù)詞袋(CBOW)模型,如圖1所示,其通過上下文預(yù)測當(dāng)前詞。由背景詞生成任一中心詞的概率如下:
(1)
其中,T為文本序列的長度,w(t)為預(yù)測的中心詞,即時(shí)間步t的對(duì)應(yīng)詞,w(t-m)、w(t+m)分別為中心詞的上下文背景詞。
圖1 連續(xù)詞袋模型結(jié)構(gòu)Fig.1 Structure of continuous bag of words model
2)跳字(Skip-gram)模型,其通過當(dāng)前詞預(yù)測上下文。給定中心詞生成背景詞的概率如下:
(2)
文本數(shù)據(jù)無法通過CNN直接處理,必須通過詞向量將每一個(gè)句子轉(zhuǎn)化為矩陣的形式。長度為n個(gè)單詞、k個(gè)維度的文本序列表示為:
X0:n-1=X0⊕X1⊕…⊕Xi⊕…⊕Xn-1
(3)
其中,Xi∈Rd(i={0,1,…,n-1})是K個(gè)維度詞向量的文本序列中第i個(gè)單詞的向量表示。
卷積神經(jīng)網(wǎng)絡(luò)是一種改進(jìn)的前饋神經(jīng)網(wǎng)絡(luò),其避免了輸入數(shù)據(jù)的復(fù)雜預(yù)處理過程,可以直接對(duì)輸入數(shù)據(jù)進(jìn)行處理,實(shí)現(xiàn)端對(duì)端的表示。卷積神經(jīng)網(wǎng)絡(luò)改變了輸入層和隱藏層之間采用全連接結(jié)構(gòu)的方式,其采用稀疏連接,每一層的神經(jīng)元響應(yīng)一部分范圍內(nèi)的周邊單元,即每一個(gè)卷積層節(jié)點(diǎn)只與一個(gè)固定大小的區(qū)域相連接,連接的權(quán)重矩陣稱為卷積核。這種方式類似于生物神經(jīng)網(wǎng)絡(luò),以局部連接和共享x權(quán)值的方式調(diào)整參數(shù),既沒有遺漏過多的維度特征,又減少了權(quán)重規(guī)模并降低了網(wǎng)絡(luò)的復(fù)雜度,使整個(gè)網(wǎng)絡(luò)不斷地進(jìn)行并行學(xué)習(xí)。在文本數(shù)據(jù)中,情感十分強(qiáng)烈的詞語往往都依賴于同一個(gè)主語或者相關(guān)關(guān)注點(diǎn),反映在網(wǎng)絡(luò)層中即為“共享權(quán)重值”,這種共享機(jī)制使得卷積層具有變換等價(jià)性,即輸入發(fā)生變化時(shí),輸出也隨之變化。從函數(shù)角度來看,卷積通過2個(gè)函數(shù)f和g生成第3個(gè)函數(shù)的一種算子,其中,共享機(jī)制中的卷積函數(shù)f和g等價(jià),卷積公式如下:
(4)
卷積神經(jīng)網(wǎng)絡(luò)作為神經(jīng)網(wǎng)絡(luò)中的一種,是多層的監(jiān)督學(xué)習(xí)神經(jīng)網(wǎng)絡(luò),每一層有多個(gè)特征圖,每個(gè)特征圖通過一種卷積濾波器提取輸入的一種特征,每個(gè)特征圖有多個(gè)神經(jīng)元。該網(wǎng)絡(luò)模型采用梯度下降法最小化損失函數(shù),對(duì)網(wǎng)絡(luò)中的權(quán)重參數(shù)逐層反向調(diào)節(jié),通過頻繁的迭代訓(xùn)練提高網(wǎng)絡(luò)的精度。卷積神經(jīng)網(wǎng)絡(luò)的低隱層是由卷積層和池化層交替組成,高層是全連接層,對(duì)應(yīng)傳統(tǒng)多層感知器的隱含層和邏輯回歸分類器。第一個(gè)全連接層的輸入是由卷積層和子采樣層進(jìn)行特征提取得到的特征圖像,最后一層輸出層是一個(gè)分類器,輸入層為長度為n、k維的文本序列矩陣X∈Rn×d。
AT-DPCNN模型將卷積神經(jīng)網(wǎng)絡(luò)共享權(quán)值、多特征圖等特點(diǎn)與注意力機(jī)制關(guān)注局部內(nèi)容的特點(diǎn)相融合。利用Word2Vec對(duì)文本信息進(jìn)行處理得到詞向量,經(jīng)過注意力矩陣計(jì)算得到注意力詞向量,再將兩者相結(jié)合輸入到卷積神經(jīng)網(wǎng)絡(luò),經(jīng)過注意力加權(quán)、分池操作,最終通過全連接層后利用分類器進(jìn)行分類。AT-DPCNN模型結(jié)構(gòu)如圖2所示。
圖2 AT-DPCNN模型框架Fig.2 AT-DPCNN model framework
2.3.1 注意力層
傳統(tǒng)神經(jīng)網(wǎng)絡(luò)在處理數(shù)據(jù)時(shí)往往會(huì)忽略原有數(shù)據(jù)之間的聯(lián)系,特別是處理文本信息時(shí),當(dāng)輸入句子較長時(shí),中間向量難以存儲(chǔ)足夠的信息,從而限制了模型的性能。在自然語言處理過程中,注意力機(jī)制允許模型根據(jù)輸入文本以及其到目前為止已經(jīng)生成的隱藏狀態(tài)來學(xué)習(xí)要注意的內(nèi)容,不同于標(biāo)準(zhǔn)神經(jīng)網(wǎng)絡(luò)將全部原文本編碼成固定長度的不含語義的向量,注意力機(jī)制將研究聚焦到特定區(qū)域,很好地解決了中間向量存儲(chǔ)信息不足的問題。該機(jī)制靈活地為神經(jīng)網(wǎng)絡(luò)隱層單元分配不同的概率權(quán)重,使得關(guān)鍵節(jié)點(diǎn)信息得到有效關(guān)注,降低了冗余信息對(duì)情感走向的影響。利用注意力機(jī)制可以使模型更好地理解語義信息,全方位地關(guān)注更重要的內(nèi)容以及整體的情感走向。
本文定義e(xi,yj)是文本序列中各個(gè)單詞與當(dāng)前預(yù)測詞的相似度函數(shù),其計(jì)算如下:
(5)
(6)
或者使用2個(gè)狀態(tài)之間的點(diǎn)乘:
(7)
(8)
(9)
其中,cj為最終通過原文本詞向量和注意力特征矩陣運(yùn)算得到的注意力輸入矩陣。
2.3.2 卷積層
卷積層是卷積神經(jīng)網(wǎng)絡(luò)的核心網(wǎng)絡(luò)結(jié)構(gòu),卷積神經(jīng)網(wǎng)路中每層卷積層由若干卷積單元組成,每個(gè)卷積單元的參數(shù)都是通過反向傳播算法優(yōu)化而得。卷積運(yùn)算的目的是提取文本輸入的不同特征,每個(gè)卷積核的“層數(shù)”需要與輸入的“層數(shù)”一致,即局部感知野的大小對(duì)應(yīng)于卷積核的大小。卷積層的主要任務(wù)是從不同的層面來選擇前一層特征圖的各角度特征使其具有位移不變性,卷積的本質(zhì)就是對(duì)前一層的特征圖進(jìn)行處理,得到這一層的特征圖,表達(dá)式如下:
f(x)=w·x+b
(10)
其中,x為卷積核窗口詞向量矩陣,w為權(quán)重矩陣,b為偏置,f為激活函數(shù)。
長度為l的文本序列作用于卷積核矩陣V=v0⊕v1⊕…⊕vl-1得到一個(gè)卷積后的特征表示ct,則對(duì)于每個(gè)長度為l的序列,有:
Ct=f(w·xn:n+l-1)+b=
(11)
其中,子序列xt:t+l-1=xt⊕xt+1⊕…⊕xt+l-1是詞向量的串聯(lián)組合,‖·‖是二階l2范數(shù),b為偏置矩陣,l為滑動(dòng)窗口大小。此處的w和xn:n+l-1基于切比雪夫定律,f表示非線性激活函數(shù),使用該函數(shù)增強(qiáng)網(wǎng)絡(luò)的擬合能力。結(jié)合實(shí)際調(diào)參過程,利用多個(gè)卷積核進(jìn)行卷積得到:
c=(c1,c2,…,cn-l+1)
(12)
激活函數(shù)可以單獨(dú)構(gòu)成卷積神經(jīng)網(wǎng)絡(luò)的一個(gè)“空”網(wǎng)絡(luò)層——激活層,作為空層,其沒有實(shí)際可訓(xùn)練的參數(shù),僅對(duì)輸入起到激活作用。激活函數(shù)加入了非線性因素,其中,線性整流函數(shù)(ReLU)又稱修正線性單元,是一種人工神經(jīng)網(wǎng)絡(luò)中常用的激活函數(shù),通常指代以斜坡函數(shù)及其變種為代表的非線性函數(shù)。ReLU函數(shù)擁有更加有效的梯度下降以及反向傳播性能,避免了梯度爆炸和梯度消失問題,其構(gòu)建稀疏矩陣,去除數(shù)據(jù)中的冗余信息,最大可能地保留數(shù)據(jù)的特征。因?yàn)樯窠?jīng)網(wǎng)絡(luò)不斷地反復(fù)計(jì)算,實(shí)際上是在不斷嘗試用一個(gè)大多數(shù)元素為0的矩陣來表達(dá)數(shù)據(jù)特征,因此,利用ReLU函數(shù)的稀疏性可以使得梯度下降效果更好,又不會(huì)丟棄過多的文本特征。相比Sigmoid和tanh函數(shù),ReLU在使用梯度下降時(shí)收斂速度更快,其只需一個(gè)門限值,即可在得到激活值的同時(shí)加快計(jì)算速度。因此,本文的卷積神經(jīng)網(wǎng)絡(luò)中采用ReLU函數(shù)。在經(jīng)過卷積層后,得到的向量維度為d′=l-h+1。
2.3.3 池化層
池化層又稱下采樣層。通常在卷積層之后會(huì)得到維度很大的特征,將特征分成幾個(gè)區(qū)域,取其最大值或平均值,得到新的或維度較小的特征,從而更加聚焦于文本中最主要的信息。池化層抽取的信息更具有細(xì)粒度,有效防止了模型過擬合問題,在一定程度上提高了算法的泛化性能。池化對(duì)每個(gè)輸入的深度切片獨(dú)立操作,規(guī)模一般為2×2,池化層一般選擇最大池化操作,即取4個(gè)點(diǎn)的最大值。
傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)模型并未充分利用卷積神經(jīng)網(wǎng)絡(luò)的特性去理解句子的語義結(jié)構(gòu),一般選擇最大池化提取整個(gè)句子的最優(yōu)特征。對(duì)于大量的情感轉(zhuǎn)折句式,傳統(tǒng)的池化操作很難有效提取其特征。一方面,情感極性突變的轉(zhuǎn)折句往往蘊(yùn)含了大量情感信息,這很符合人類語言的特點(diǎn);另一方面,網(wǎng)絡(luò)文本信息存在大量語法結(jié)構(gòu)模糊、用詞不完整的現(xiàn)象,傳統(tǒng)的池化操作對(duì)于這種類型的文本很難準(zhǔn)確分析其情感變化。為了充分考慮轉(zhuǎn)折句前后的情感極性變化,本文對(duì)傳統(tǒng)的池化進(jìn)行“分池”操作,以“情感轉(zhuǎn)折詞”為節(jié)點(diǎn)分解為若干“小池”,各個(gè)小池分別抓取文本序列特征中最有效的部分,再利用傳統(tǒng)池化操作保留情感信息特征。具體如下:
ct=ct1+ct2+…+ctm
(13)
其中,m為分解的小池?cái)?shù)量??紤]到文本序列的邏輯性,分解的小池一般不超過3個(gè),即m≤3,原因是句子中很難出現(xiàn)3個(gè)以上的情感極性轉(zhuǎn)變。
取情感極性最高的情感特征進(jìn)行矩陣相加,得到最終的情感屬性特征向量,如下:
(14)
(15)
2.3.4 輸出層
在全連接層之前,如果神經(jīng)元數(shù)目過大,學(xué)習(xí)能力過強(qiáng),可能出現(xiàn)過擬合問題。本文引入dropout、正則化等操作隨機(jī)刪除神經(jīng)網(wǎng)絡(luò)中的部分神經(jīng)元,用以解決過擬合問題,通過局部歸一化(LRN)、數(shù)據(jù)增強(qiáng)和交叉驗(yàn)證等來增強(qiáng)模型的魯棒性。全連接層拼接所有特征,得到一個(gè)高質(zhì)量的特征圖并輸入到輸出層。輸出層通過Softmax分類器輸出預(yù)測分類節(jié)點(diǎn),每一個(gè)節(jié)點(diǎn)代表一種分類,節(jié)點(diǎn)之和為1。
(16)
(17)
其中,i為節(jié)點(diǎn)次序,zi=wix+bi。
Softmax使用交叉熵作為損失函數(shù)來衡量預(yù)測的(0,1)概率分布與實(shí)際的(0,1)值是否匹配。交叉熵越小,說明匹配越準(zhǔn)確,模型精度越高。損失函數(shù)如下:
(18)
最后選擇Adam Optimizer優(yōu)化整體網(wǎng)絡(luò)參數(shù),模型在使用梯度下降時(shí),可以合理地動(dòng)態(tài)選擇學(xué)習(xí)速率,分配梯度下降幅度。當(dāng)訓(xùn)練中損失函數(shù)接近最小值時(shí)減小每步的梯度下降幅度;如果損失函數(shù)曲線相對(duì)陡峭,則適當(dāng)增大下降幅度。
為了更好地測試模型的泛化能力,本文選擇國內(nèi)外不同類型的公開數(shù)據(jù)集,包含酒店評(píng)論、電影評(píng)論和商品評(píng)論等,具體數(shù)據(jù)集信息如下:
1)MR[1],二元情緒分類數(shù)據(jù)集,包括10 662個(gè)電影評(píng)論(5 331條正面評(píng)論和5 331條負(fù)面評(píng)論),每條評(píng)論僅包含一個(gè)句子。
2)CR[18],由用戶在不同商品上的正、反評(píng)論組成的數(shù)據(jù)集,主要用于對(duì)評(píng)論進(jìn)行情感傾向性分析。
3)MPQA(Multiple-Perspective QA)庫[19],由JANYCE W等人開發(fā)的深度標(biāo)注語料庫,包含535篇不同視角的新聞評(píng)論。
4)SemEval2014[20],SemEval發(fā)布的關(guān)于Twitter情感分析任務(wù)的語料庫,分為酒店評(píng)論集和手提電腦評(píng)論集,每個(gè)集合由訓(xùn)練數(shù)據(jù)、驗(yàn)證數(shù)據(jù)和測試數(shù)據(jù)三部分組成。
5)IMDB,互聯(lián)網(wǎng)電影評(píng)論數(shù)據(jù)集,一共收集了來自IMDB的25 000條電影評(píng)論,以正面、反面情緒進(jìn)行標(biāo)記,全部評(píng)論經(jīng)過預(yù)處理并編碼為詞索引的整數(shù)序列表示。
6)CHNSENTICORP(簡寫為CSC),國內(nèi)學(xué)者譚松波收集整理的較大規(guī)模的酒店評(píng)論語料庫,共4個(gè)數(shù)據(jù)集,包含10 000篇評(píng)論。
7)SST-2[21],斯坦福大學(xué)情緒數(shù)據(jù)集SST-1(SST-1是MR數(shù)據(jù)集的擴(kuò)展)的簡化版本,僅包含二進(jìn)制標(biāo)簽(正面和負(fù)面),共9 613條數(shù)據(jù)。
8)Subj[22],由具有二進(jìn)制類別的10 000個(gè)用戶生成的評(píng)論所組成的主觀性數(shù)據(jù)集。
實(shí)驗(yàn)數(shù)據(jù)按照8∶1∶1分為訓(xùn)練數(shù)據(jù)、驗(yàn)證數(shù)據(jù)、測試數(shù)據(jù)。中文數(shù)據(jù)選擇jieba分詞工具,英文數(shù)據(jù)選擇NLTK分詞工具。模型初始參數(shù)設(shè)置如表1所示,評(píng)價(jià)指標(biāo)為準(zhǔn)確率、F1值。
表1 模型參數(shù)設(shè)置Table 1 Model parameters setting
在其他參數(shù)保持一致的情況下,觀察不同卷積核窗口大小對(duì)模型準(zhǔn)確率的影響,結(jié)果如圖3所示。從圖3可以看出,訓(xùn)練過程中當(dāng)窗口小于3時(shí),模型的準(zhǔn)確率隨著窗口的增大而增大;當(dāng)窗口大于4時(shí),模型的準(zhǔn)確率隨著窗口的增大而減小;當(dāng)窗口大小為4時(shí),準(zhǔn)確率曲線達(dá)到峰值。由此可以看出,窗口大小直接影響模型效果,窗口大小為3、4、5時(shí),2條曲線的準(zhǔn)確率均相對(duì)較高,變化幅度也相對(duì)較小,模型處于最佳狀態(tài)。
圖3 窗口大小對(duì)模型性能的影響Fig.3 Impact of window size on model performance
3.3.1 詞向量測試
將文本信息轉(zhuǎn)化為模型可以理解的語言,對(duì)自然語言處理至關(guān)重要[23]。一方面,詞向量的訓(xùn)練可以學(xué)習(xí)到一些基本的情感信息,另一方面,不同的詞向量對(duì)模型的影響程度不同。通過對(duì)比不同的詞向量來選擇適合模型的文本轉(zhuǎn)換方式,從而為后續(xù)的模型改進(jìn)提供依據(jù)。
本文選擇CNN和BiLSTM兩種模型,測試詞向量one-hot、Word2Vec對(duì)模型的影響。為了對(duì)比詞向量效果并加快實(shí)驗(yàn)效率,詞向量測試模型參數(shù)取最簡值,2種測試詞向量的對(duì)比結(jié)果如圖4所示。
圖4 2種詞向量的性能對(duì)比結(jié)果Fig.4 Performance comparison results of two word vectors
從圖4可以看出,對(duì)于不同的數(shù)據(jù)集,2種模型在使用Word2Vec時(shí)準(zhǔn)確率均有明顯提升,主要原因是Word2Vec關(guān)注了詞向量空間位置中相同語境下相近位置出現(xiàn)的詞語語義情感。因此,后續(xù)實(shí)驗(yàn)均在Word2Vec下進(jìn)行。
3.3.2 基線實(shí)驗(yàn)對(duì)比
本節(jié)實(shí)驗(yàn)對(duì)比模型如下:
1)SVM[24]:改進(jìn)的基于支持向量機(jī)的早期機(jī)器學(xué)習(xí)算法模型。
2)LSTM[25]:使用長短期記憶網(wǎng)絡(luò),并將網(wǎng)絡(luò)的最后一個(gè)隱藏狀態(tài)反饋給一個(gè)帶有Softmax函數(shù)的線性分類器。
3)CNN[10]:較早使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行文本分類。
4)TREE-LSTM[26]:將長短期記憶網(wǎng)絡(luò)推廣到樹形拓?fù)浣Y(jié)構(gòu),解決了語義關(guān)聯(lián)情感分類問題。
5)MNB[27]:改進(jìn)的樸素貝葉斯模型。
6)DPCNN:本文的基準(zhǔn)模型,沒有添加注意力機(jī)制。
從圖5可以看出,深度學(xué)習(xí)方法明顯優(yōu)于傳統(tǒng)機(jī)器學(xué)習(xí)方法,尤其是當(dāng)文本數(shù)據(jù)量較大時(shí),深度學(xué)習(xí)可以很好地學(xué)習(xí)文本特點(diǎn)。其中,在數(shù)據(jù)量較小的MR數(shù)據(jù)集上,本文模型的準(zhǔn)確率相較于傳統(tǒng)CNN模型平均提升了0.05%,同樣在數(shù)據(jù)量較小且數(shù)據(jù)內(nèi)容隨機(jī)的MPQA數(shù)據(jù)集上,本文模型的準(zhǔn)確率相較于傳統(tǒng)深度學(xué)習(xí)模型平均提升了2.50%。
圖5 6種傳統(tǒng)模型的準(zhǔn)確率對(duì)比結(jié)果Fig.5 Accuracy comparison results of six traditional models
3.3.3 注意力機(jī)制模型實(shí)驗(yàn)對(duì)比
本節(jié)實(shí)驗(yàn)對(duì)比模型具體如下:
1)WACNN[28]:在卷積層分別提取詞語特征和整體的語義特征,并利用Padding方法模擬特征提取。
2)HAN[29]:將文本結(jié)構(gòu)化,利用注意力機(jī)制在詞、句2個(gè)不同的層級(jí)分別關(guān)注文本內(nèi)容,更好地區(qū)分文本內(nèi)容的重要程度。
3)AT-LSTM[15]:在長短期記憶網(wǎng)絡(luò)的基礎(chǔ)上引入注意力機(jī)制,在編碼、解碼過程中得到了更好的信息特征,為進(jìn)行對(duì)比實(shí)驗(yàn),本文不考慮主題層級(jí)的情感分析。
4)SELF-AT[30]:自注意增強(qiáng)遞歸神經(jīng)網(wǎng)絡(luò),主要利用多頭自注意力機(jī)制來改進(jìn)特征選擇,使信息在較長時(shí)間內(nèi)保持依賴關(guān)系。
5)AT-DPCNN:本文的基準(zhǔn)模型結(jié)合改進(jìn)的注意力機(jī)制。
從圖6可以看出,采用注意力機(jī)制的深度學(xué)習(xí)模型在自然語言處理方面優(yōu)勢明顯,準(zhǔn)確率相對(duì)傳統(tǒng)模型平均提升了2%。在平均句長較長、文本數(shù)據(jù)較為整潔的Subj數(shù)據(jù)集上,采用注意力機(jī)制的模型均達(dá)到了最佳效果。其中,基于長短期記憶網(wǎng)絡(luò)的注意力模型AT-LSTM和本文模型效果最好。主要原因在于長短期記憶網(wǎng)絡(luò)善于捕捉句子中不同位置之間詞的關(guān)系,隨著句長的增加,AT-LSTM的性能提升效果較為明顯,因此,基于長短期記憶網(wǎng)絡(luò)的文本算法模型更適合處理長文本序列以及文檔級(jí)分類工作。本文模型高度關(guān)注了長文本中對(duì)整個(gè)句子起關(guān)鍵作用的局部情感信息,結(jié)合卷積神經(jīng)網(wǎng)絡(luò)提取到關(guān)鍵節(jié)點(diǎn)內(nèi)容,模型在數(shù)據(jù)量較小的MR數(shù)據(jù)集上依舊得到了性能提升。對(duì)于文本信息嘈雜、個(gè)人主觀性較強(qiáng)的商品評(píng)論文本數(shù)據(jù)集CR,本文模型在準(zhǔn)確率上也提升明顯,從另一方面證明了本文模型較好的泛化性能。
圖6 5種注意力模型的準(zhǔn)確率對(duì)比結(jié)果Fig.6 Accuracy comparison results of five attention models
為了更好地測試轉(zhuǎn)折句與非轉(zhuǎn)折句對(duì)于文本分類結(jié)果的影響,從CSC數(shù)據(jù)集中選取數(shù)據(jù)進(jìn)行實(shí)驗(yàn),如圖7所示。
圖7 分池實(shí)驗(yàn)數(shù)據(jù)Fig.7 Experimental data of cell division
從圖8可以看出,測試模型在非轉(zhuǎn)折句式下的F1值均高于轉(zhuǎn)折句式,表明測試模型在轉(zhuǎn)折句式下的文本處理效果較差。相比WACNN和HAN模型,本文模型在轉(zhuǎn)折句式下F1值平均提升了3%,與非轉(zhuǎn)折句式下的F1值差距縮小到1.5%,說明該模型在轉(zhuǎn)折句式的處理中取得了很大的性能提升。
圖8 2種句式的實(shí)驗(yàn)結(jié)果對(duì)比Fig.8 Comparison of experimental results of two sentence patterns
本文將卷積神經(jīng)網(wǎng)絡(luò)共享權(quán)值、具有多特征圖等特點(diǎn)與注意力機(jī)制關(guān)注局部內(nèi)容的特點(diǎn)相結(jié)合,建立一種新的情感分析模型AT-DPCNN。改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)可以提取文本信息的潛在有效特征,注意力矩陣能夠獲得關(guān)鍵局部特征,從而全方位提取文本的有效特征,解決傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)在提取特征過程中存在的信息丟失問題,提高模型的準(zhǔn)確率。此外,該模型通過分池操作有效提高了轉(zhuǎn)折句式的情感判別效果。在多個(gè)不同類型的數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),結(jié)果表明,該模型具有較高的泛化性能,適用于實(shí)際中的文本信息處理任務(wù)。
大數(shù)據(jù)環(huán)境下的數(shù)據(jù)類型更加多樣,表情包等其他情感元素在文本信息中的普及使得信息的復(fù)雜性大幅提升。因此,如何更好地處理多元素復(fù)雜文本信息并利用深度學(xué)習(xí)技術(shù)在多模態(tài)領(lǐng)域進(jìn)行情感分析,將是下一步的研究重點(diǎn)。