李文亮,楊秋翔,秦 權
中北大學 軟件學院,太原 030051
文本情感分析,也稱為觀點挖掘,是文本分析領域中的一個熱點問題。它以文本中的主觀信息為研究對象,識別主觀信息所表達觀點的情感取向。因此,在文本情感分析研究之前,首先需要將文本分為主觀和客觀兩部分,然后再對文本情感進行分析。
文本情感分析是一項艱巨的任務,它在文本情感表達、文本格式和文本語言等方面面臨很多問題。在文本情感表達方面,文本情感不透明,例如:“這座山很高”和“山里噪聲很高”,兩種表達都使用“很高”形容,卻表達了兩種相反的情感極性;在文本格式方面,大量文本主要來自互聯(lián)網(wǎng),具有不同的長度和格式;在文本語言方面,中文文本與英文文本的自身屬性有很大的不同:中文文本需要分詞,而英文文本的每個單詞被空格分開。上述問題為文本情感分析任務中的文本向量化表示和語義特征提取帶來了極大的挑戰(zhàn),直接影響文本情感分析的準確率。近年來,深度學習方法被廣泛應用到文本情感分析任務中,為文本向量化表示和語義特征的提取提供了有效的方法。
近年來,深度學習方法被廣泛應用到文本情感分析,為文本情感分析提供了有效的方法。其中文本卷積神經(jīng)網(wǎng)絡(Text Convolution Neural Network,TextCNN)最具代表性。但是TextCNN 的語義特征提取存在以下缺點:卷積層針對句子長度執(zhí)行一維卷積,只能提取句子維度的語義特征,丟失詞嵌入維度的語義特征;池化層采用單個最大池化操作,會造成部分語義特征的丟失;受局部窗口大小的限制,無法學習文本的長期依賴關系。針對上述缺點,本文提出了基于BiLSTM-MFCNN混合模型的文本情感分析方法,以獲得更好的文本情感分析效果。該方法首先通過BiLSTM 學習文本的長期依賴關系。同時,對TextCNN 的卷積層進行改進,提出四種不同的卷積算法,獲取句子維度和詞嵌入維度的語義特征。其次,對TextCNN 的池化層進行改進,分別使用最大池化和平均池化算法獲取句子維度和詞嵌入維度的最大池化特征和平均池化特征。以此來發(fā)掘文本隱藏的語義信息,提升文本情感分析效果。
本文在NLPCC Emotion Classification Challenge數(shù)據(jù)集、COAE2014 數(shù)據(jù)集和Twitter 數(shù)據(jù)集進行實驗,并和多種基準模型進行了對比。實驗結(jié)果表明本文提出的BiLSTM-MFCNN 模型在上述三個數(shù)據(jù)集上取得了比NBSVM、TextCNN、DCNN、MVCNN、BiLSTM 和RCNN 等一些基準模型更好的文本情感分析效果。綜上,本文的貢獻如下:
(1)改進TextCNN,提出了多特征卷積神經(jīng)網(wǎng)絡(Multiple Features Convolution Neural Network,MFCNN)。
(2)結(jié)合BiLSTM 和MFCNN 模型的優(yōu)勢,利用BiLSTM-MFCNN混合模型在中英文三個數(shù)據(jù)集上實驗,驗證了該混合模型在文本情感分析任務中的有效性。
隨著文本情感分析研究的發(fā)展,文本的情感粒度越來越詳細,從傳統(tǒng)的二元情感(正負)到三元情感(正,中性和負)。由于人類情感的復雜性,上述簡單的情感極性劃分并不能很好完成實際的文本情感分析任務。因此Wu 等[1]進一步將情感分為32 類,使情感的表達更加精細。上述文本情感粒度的詳細劃分為文本情感分析方法的研究提供了良好的基礎。
傳統(tǒng)的文本情感分析方法主要依靠高質(zhì)量的情感詞典實現(xiàn)。但對于文本情感分析的某些特定任務,通常使用合并,擴展和重建情感詞典的方法提升情感分析效果。
隨著機器學習的快速發(fā)展,許多學者將機器學習的相關算法應用于文本情感分析。例如:Arunachalam等[2]分析了情感極性分析中常用的機器學習算法,包括貝葉斯算法、LDA(Linear Discriminant Analysis)算法、樸素貝葉斯算法(Naive Bayes,NB)、支持向量機(Support Vector Machines,SVM)、最大熵算法和KNN(K-Nearest Neighbor)算法。上述基于情感詞典和機器學習算法的文本情感分析方法,不僅需要手動構(gòu)造高質(zhì)量的情感詞典和相應的特征工程,而且會耗費大量的人力資源,很難在開放領域的文本情感分析任務中得到廣泛應用。
近年來,深度學習在文本情感分析任務中取得了很大的成就。例如:Vieira等[3]提出了一種句子維度的卷積神經(jīng)網(wǎng)絡,為不同情感類型的句子設置不同的超參數(shù)進行訓練,實現(xiàn)句子維度的文本情感分析任務,為句子維度情感分析提供了很好的方法,之后許多學習者以此為基礎,從多通道特征和多視圖特征兩個方面對文本情感分析方法進行了更加深入的研究。例如:Yoon等[4]使用多通道詞嵌入的CNN-BiLSTM 模型進行文本情感分析,能夠捕獲到文本中的高級語義關系和長期依賴關系,并在Twitter提供的情感分析數(shù)據(jù)集上取得了很好的效果。Chen 等[5]提出了多通道信息交叉(Multi-channel Information Crossing,MIX)模型,MIX比較不同粒度的文本片段,形成一系列多通道相似性矩陣,并與另一組精心設計的注意力矩陣交叉使用,提取出更加豐富的句子特征。Yin等[6]提出了一種多通道和可變卷積大小的卷積神經(jīng)網(wǎng)絡(Multichannel Variable-size Convolution Neural Network,MVCNN)用于句子分類。MVCNN 使用多通道輸入的方法,集成不同特征的詞嵌入矩陣表示文本信息。然后,使用不同大小的卷積核提取句子的語義信息,實現(xiàn)句子的分類。實驗結(jié)果表明MVCNN 在Twitter 情感預測以及主客觀信息分類任務中取得很好的效果。上述基于深度學習的文本情感分析方法,無論是與句子長度相關,還是與多通道特征和多視圖特征相關,都是通過提取各式各樣的句子維度的語義特征,提高文本情感分析的準確性,完全忽略了文本的詞嵌入維度和長期依賴的語義特征。
BiLSTM-MFCNN混合模型結(jié)構(gòu)如圖1所示,由輸入層、BiLSTM-MFCNN混合模型層、輸出層三部分組成。
圖1 BiLSTM-MFCNN混合模型結(jié)構(gòu)圖Fig.1 BiLSTM-MFCNN hybrid model structure diagram
(1)輸入層:該層使用Word2Vec 語言處理工具的Skip-Gram模型實現(xiàn)文本的詞嵌入向量化表示。
(2)BiLSTM-MFCNN 混合模型層:該層由BiLSTM模型和MFCNN模型組成。BiLSTM模型用于學習文本的長期依賴關系。MFCNN模型包含卷積層、池化層和全連接層。卷積層,使用不同的卷積算法提取詞嵌入矩陣中句子維度和詞嵌入維度的語義特征;池化層,使用最大池化和平均池化算法獲取句子維度和詞嵌入維度的最大池化特征和平均池化特征;全連接層,對最大池化特征和平均池化特征降維,得到包含文本語義特征的一維向量。
(3)輸出層:該層使用激活函數(shù)對全連接層的一維向量進行計算,輸出文本情感分析結(jié)果。
Word2Vec 模型通過訓練可將文本內(nèi)容映射成為n維空間向量,以此來表示文本語義關系。Word2Vec 通過CBOW 和Skip-Gram 兩種語言模型實現(xiàn)詞語的向量表示,其中CBOW 語言模型主要根據(jù)上下文詞語預測中心詞語的概率,而Skip-Gram語言模型主要根據(jù)中心詞語來預測上下文詞語的概率。本文使用Skip-Gram語言模型對維基百科中文語料庫進行訓練生成詞向量。Skip-Gram語言模型結(jié)構(gòu)如圖2所示。
圖2 Skip-Gram語言模型結(jié)構(gòu)Fig.2 Skip-Gram language model structure
Skip-Gram語言模型將每個詞語表示成兩個n維向量,用來計算輸入的中心詞和將要預測的背景詞之間的件概率,如公式(1)所示:
其中wt為中心詞,wo為背景詞,t和o為詞語在句子中的位置,μo為背景詞的詞向量,vt為中心詞的詞向量,μi為詞語的初始向量。
2.2.1 BiLSTM模型
BiLSTM由前向LSTM模型和后向LSTM模型組成的雙向語言模型。單向LSTM 模型進行語義特征提取時會造成語義特征的丟失,嚴重影響文本情感分析的準確率。以細粒度文本情感分析為例,在進行文本情感分析時需要特別注意情感詞、程度詞、否定詞之間的交互。例如:“這個酒店臟得很厲害”“很厲害”形容“臟”的程度,BiLSTM 模型能夠更好地提取類似的語義特征,提高文本情感分析的準確率。BiLSTM 模型的結(jié)構(gòu)如圖3所示。
圖3 BiLSTM模型Fig.3 BiLSTM model
其中{T1,T2,…,Tn}表示每一時刻輸入BiLSTM模型的文本信息,{Y1,Y2,…,Yn}表示經(jīng)過BiLSTM 模型學習得到的每一時刻的文本特征,W0表示輸入層與向前層之間更新語義信息的權重矩陣,W1表示前一時刻隱含層與當前時刻隱含層之間更新語義信息的權重矩陣,W2表示輸入層與向后層之間更新語義信息的權重值,W3表示向前層與輸出層之間更新語義信息的權重矩陣,W4表示后一時刻隱含層與當前時刻隱含層之間更新語義信息的權重矩陣,W5表示向后層與輸出層之間更新語義信息的權重矩陣,LSTM 模型的結(jié)構(gòu)如圖4所示。
圖4 LSTM模型Fig.4 LSTM model
其中包括遺忘門ft、輸入門it、和輸出門ot。t時刻LSTM模型信息的更新如下式所示:
其中σ表示sigmoid 激活函數(shù),Wf表示遺忘門權重矩陣,Wo表示輸出門權重矩陣、Wi表示輸入門權重矩陣,Wc表示當前文本信息權重矩陣,bf表示遺忘門偏置值矩陣,bi表示輸入門偏置值矩陣,bo表示輸出門偏置值矩陣,bc表示文本信息偏置值矩陣,Ct表示t時刻文本信息,Ct-1表示t-1 時刻的文本信息,xt表示t時刻輸入的文本信息,ht-1表示t-1 時刻的隱含層文本信息,ht表示t時刻隱含層文本信息。
2.2.2 MFCNN模型
MFCNN 模型分別在句子維度和詞嵌入維度設計不同的卷積運算提取語義特征。句子維度的卷積過程(MFCNN_S)如圖5 所示,其中詞向量的維度為3,句子長度為4,卷積核大小為3×2。
圖5 句子維度卷積過程Fig.5 Sentence dimension convolution process
詞嵌入維度包含整個詞嵌入維度(MFCNN_1),單個詞嵌入維度(MFCNN_2)、詞向量的相鄰語義維度(MFCNN_3)和詞向量的單個語義維度(MFCNN_4)4種不同的卷積過程(如圖6所示)。其中句子長度為4,詞向量維度為3,MFCNN_1有1個1×2的卷積核,MFCNN_2有3 個1×2 的卷積核,MFCNN_3 有1 個2×4 的卷積核,MFCNN_4有3個1×4的卷積核。
圖6 詞嵌入維度卷積過程Fig.6 Word embedding dimension convolution process
MFCNN 模型的在句子維度和詞嵌入維度的特征提取過程如圖1所示。該模型主要對BiLSTM模型訓練得到的語義矩陣進行卷積、池化和全連接運算。
(1)輸入
輸入層n表示句子長度,k表示詞嵌入維度,卷積核寬度為h。句子維度,xi表示第i個詞的詞向量,xi:j表示從第i個詞到第j個詞的詞向量的鏈接,輸入矩陣x可以表示為包含長期依賴關系的k維n個詞向量的鏈接(如公式(1)所示)。詞嵌入維度,xi代表詞向量維度中第i個詞的句子向量,xi:j代表從第i個詞到第j個詞在詞嵌入維度中的句子向量鏈接。輸入矩陣x可以表示為包含長期依賴關系的n維k個句子向量的鏈接(如公式(9)所示)。公式(8)和(9)中表示向量拼接。
(2)卷積運算
卷積層對句子維度和詞嵌入維度的向量進行卷積運算。句子維度的卷積運算,對輸入矩陣第i個詞向量xi:j+h-1進行卷積運算得到特征 如公式(10)所示,其中f表示非線性函數(shù),Ws表示句子特征提取的權重矩陣,bs表示句子特征提取的偏置矩陣。句子特征Cs如公式(11)所示。
詞嵌入維度的卷積運算,MFCNN_1 屬于二維卷積運算,對輸入矩陣第i個詞嵌入維度的第j列向量進行卷積運算得到特征如公式(12)所示,其中W1表示MFCNN_1 特征提取的權重矩陣,b1表示MFCNN_1 特征提取的偏置矩陣。設計卷積窗口為,第i個詞嵌入維度的特征 如公式(13)所示,n表示句子長度,則MFCNN_1特征提取結(jié)果CMECNN_1 如公式(14)所示,k表示詞嵌入維度。
MFCNN_2 屬于一維卷積運算,每個詞嵌入維度都有對應的卷積核,共有k個卷積核,卷積核大小為1×h,分別對輸入矩陣第i個詞嵌入維度的第j列向量進行卷積運算得到特征如公式(15)所示,其中W2表示MFCNN_2 特征提取的權重矩陣,b2表示MFCNN_2特征提取的偏置矩陣。第i個詞嵌入維度的特征如公式(16)所示,則MFCNN_2 特征提取結(jié)果CMFCNN_2如公式(17)所示。
MFCNN_3屬于一維卷積運算,卷積核大小為n×h,對輸入矩陣的第i個詞嵌入維度的向量xi:i+h-1進行卷積運算得到特征如公式(18)所示,其中W3表示MFCNN_3 特征提取的權重矩陣,b3表示MFCNN_3特征提取的偏置矩陣。MFCNN_3 特征提取結(jié)果CMFCNN_3如公式(19)所示。
MFCNN_4 屬于一維卷積運算,每個詞嵌入維度都有對應的卷積核,共有k個卷積核,每個卷積核的大小為n×1。對輸入第i個詞嵌入維度的向量xi進行卷積運算得到特征如公式(20)所示,其中W4表示MFCNN_4特征提取的權重矩陣,b4表示MFCNN_4 特征提取的偏置矩陣。MFCNN_4 特征提取結(jié)果CMFCNN_4 如公式(21)所示。
(3)池化操作
池化層對句子維度的特征Cs和詞嵌入維度的特征Ce(CMFCNN_1,CMFCNN_2,CMFCNN-3,CMFCNN_4) 進行最大池化運算(max)和平均池化運算(mean),得到句子維度特征,詞嵌入維度特征如下列公式所示。
(4)全連接運算
全連接層對Cp進行全連接運算得出全連接層的輸出結(jié)果Cf如公式(27)所示,其中Relu 表示全連接層激活函數(shù),Wf和bf表示全連接層的權重矩陣和偏置矩陣。
輸出層對Cf進行softmax激活函數(shù)處理,輸出文本情感分輸出文本情感分析結(jié)果Cy如公式(28)所示:
為驗證本文混合模型的有效性,本文在英文Twitter數(shù)據(jù)集[7]、中文Natural Language Processing Emotion Classification Challenge(NLPECC)數(shù)據(jù)集[8]和Chinese Opinion Analysis Evaluation(COAE)數(shù)據(jù)集[9]進行實驗。從Twitter 數(shù)據(jù)集中標注6 940 帶有情感極性的數(shù)據(jù),其中積極情感極性1 734條,中性情感極性3 473條,消極情感極性1 733條。從NLPECC數(shù)據(jù)集標注44 875條數(shù)據(jù),數(shù)據(jù)分為其他、喜好、悲傷、厭惡、憤怒和高興6種情感,情感類型的標號依次為{0,1,2,3,4,5}。從COAE 數(shù)據(jù)集中標注6 000 條帶有情感極性的數(shù)據(jù),其中正面情感極性3 022條,負面情感極性2 987條。詳細的數(shù)據(jù)集劃分信息如表1所示。
表1 數(shù)據(jù)集劃分詳細信息Table 1 Data set division details
首先,去除Twitter、NLPECC 和COAE 數(shù)據(jù)集中與情感分析無關的噪音數(shù)據(jù)(例如:停用詞(標點符號等)和網(wǎng)站鏈接等)。然后,根據(jù)數(shù)據(jù)集的實際情況進行句子長度對齊,將句子的長度設置30,如果句子長度太短用
本文采用分類模型常用的準確率P(Precision)、召回率R(Recall)和F值(F-value)作為評價指標,如下列公式所示。以NLPECC 數(shù)據(jù)集中“悲傷”的文本情感分析結(jié)果為例:P值表示分類模型預測文本情感類型是“悲傷”的數(shù)目中,實際是“悲傷”情感的文本數(shù)目的占比;R值表示所有表達“悲傷”情感的文本數(shù)目中,被成功預測為“悲傷”情感的文本數(shù)目的占比;F值是對P值和R值的綜合評價指標。評價指標的計算如下列公式所示,其中A表示預測是“悲傷”情感,實際是“悲傷”情感的文本數(shù)目,B表示預測是“悲傷”情感,實際不是“悲傷”情感的文本數(shù)目,C表示預測不是“悲傷”情感,實際是“悲傷”情感的文本數(shù)目。
本文BiLSTM模型的訓練過程使用文獻[11]提出的Adagrad 方法來更新參數(shù),并在測試數(shù)據(jù)集上選擇文本情感分析效果最好的模型參數(shù),如表2所示。
表2 BiLSTM模型超參數(shù)設置Table 2 BiLSTM model hyper parameters setting
為確定本文混合模型的最優(yōu)參數(shù),驗證本文模型有效性,提升文本情感分的準確率,本文分別選取不同的句子長度和向量維度在NLPECC、Twitter、NLPECC 和COAE數(shù)據(jù)集上進行對比實驗。其中,句長度根據(jù)數(shù)據(jù)集的實際情況設置為20、30、40 和50,詞向量維度根據(jù)維基百科文詞向量模型和Glove 詞英文次向量模型設置為100、200、300和400,學習率為0.01,批量訓練的大小Batch Size 為50,λ 大小為10-8。不同句子長度和詞向量維度設置下,3種數(shù)據(jù)集的文本情感分析F值如表3和表4所示。
表3 不同句子長度文本情感分析F值Table 3 Sentiment analysis F value of text with different sentences length %
表4 不同詞向量維度文本情感分析F值Table 4 Text sentiment analysis F value of different word vector dimensions %
從表3的實驗結(jié)果可以看出,句子長度為20文本情感分析的F值較句子長度30、40 和50 降低了29.22%,說明句子長度設為20 會丟失大量的語義分析,影響文本情感分析結(jié)果。句子長度為30、40和50,文本情感分析的F值沒有變化,因此,本文將句子長度設置為30,既能合理利用計算機存儲空間,又能得到最優(yōu)的文本情感分析結(jié)果。
從表4 的實驗結(jié)果可以看出,詞向量維度為100 和200,文本情感分析的F值在有所提高,詞向量維度為300,3 個數(shù)據(jù)集的F達到最大,分別為80.18%、84.55%和89.03%,詞向量維度為500,F(xiàn)值有所下降。由此可知,向量維度為100 和200,訓練結(jié)果存在欠擬合情況,詞向量維度較大(400維)會出現(xiàn)過擬合情況。因此,本文將詞向量維度設為300。
綜上所述,本文得出了如表5 所示的MFCNN 模型卷積核參數(shù)設置。
表5 MFCNN模型卷積核參數(shù)設置Table 5 MFCNN model convolution kernel parameters setting
將本文的BiLSTM-MFCNN混合模型的方法與以下方法在如表1 的數(shù)據(jù)集上進行實驗。本文的對比方法分為3 組:傳統(tǒng)機器學習方法、單一深度模型方法和混合深度模型方法。下面對上述3組方法進行簡單介紹。
(1)傳統(tǒng)機器學習方法
NBSVM:該方法使用本文Tri-gram 方法提取文本特征,然后將樸素貝葉斯SVM模型作為分類器,實現(xiàn)文本情感分析。
(2)單一模型方法
TextCNN[12]:該方法在句子維度進行卷積運算獲取句子維度的語義信息,通過最大池化運算得到表示文本的語義特征。
DCNN[13]:該方法使用動態(tài)卷積神經(jīng)網(wǎng)絡對句子的語義表示進行建模,模型由一維卷積層和動態(tài)k-max池化層組成。其中,一維卷積層使用寬卷積運算更有效的提取句首和句尾的語義特征;動態(tài)k-max池化層通過k值得設置,動態(tài)地提取更豐富的語義特征。
MVCNN[14]:該方法首先使用多通道輸入的方法實現(xiàn)文的向量化表示,然后使用可變大小的卷積運算對每個通道的不同粒度的短語特征進行提取,最后使用動態(tài)k-max池化運算得到文本的語義特征。
BiLSTM[15]:該方法通過正向LSTM 和反向LSTM學習文本的長期依賴關系,提取文本上下文的語義特征。
(3)混合模型方法
RCNN[16]:該方法采用雙向循環(huán)神經(jīng)網(wǎng)絡獲取文本上下文語義信息,利用最大池算法獲取文本情感分析最重要的特征,經(jīng)過softmax 函數(shù)處理后得到文本所表達的情感。
LSTM-CNN[17]:該方法充分利用兩種不同神經(jīng)網(wǎng)絡模型的優(yōu)勢,分別使用LSTM 提取文本的長期依賴關系,使用卷積神經(jīng)網(wǎng)絡(CNN)提取文本的語義特征。
BiLSTM-MFCNN:本文提出的基于BiLSTM-MFCNN混合模型的文本情感分析方法。
首先,從表6、表7 和表8 的文本情感分析實驗結(jié)果可以看出,在3個數(shù)據(jù)集上,本文提出的BiLSTM-MFCNN混合模型的F值最高為80.18%、84.55%和89.03%,并且在NLPECC 數(shù)據(jù)集上F值提升最明顯,為1.56 個百分點。圖7、圖8和圖9直觀地反應出BiLSTM-MFCNN混合模型的F值最高,這表明BiLSTM-MFCNN混合模型不僅適用于中文和英文不同語言的文本情感分析任務,而且能夠在細粒度的中文文本情感分析任務中取得更好的效果。同時,在3 個數(shù)據(jù)集上BiLSTM 混合模型和比NBSVM 模型的F值提升了18.49 個百分點、14.4個百分點和17.64個百分點。這表明BiLSTM混合模型能夠提取到比傳統(tǒng)的機器學習方法更高層次的語義特征,取得更好的文本情感分析效果。
表6 Twitter數(shù)據(jù)集實驗結(jié)果Table 6 Twitter dataset experimental results%
表7 NLPECC數(shù)據(jù)集實驗結(jié)果Table 7 NLPECC dataset experimental results%
表8 COAE數(shù)據(jù)集實驗結(jié)果Table 8 COAE dataset experimental results%
圖7 Twitter數(shù)據(jù)集實驗結(jié)果直方圖Fig.7 Histogram of experimental results on Twitter dataset
圖8 NLPECC數(shù)據(jù)集實驗結(jié)果直方圖Fig.8 Histogram of experimental results on NLPECC dataset
圖9 COAE數(shù)據(jù)集實驗結(jié)果直方圖Fig.9 Histogram of experimental results on COAE dataset
其次,在3 個數(shù)據(jù)集上BiLSTM-MFCNN 混合模型的F值均大于TextCNN、DCNN、MVCNN 和BiLSTM單一模型的F值。這表明TextCNN模型句子維度的語義特征提取、DCNN模型的動態(tài)語義特征提取、MVCNN模型的多通道語義特征提取和BiLSTM 模型的上下文語義特征提取,都會造成語義特征的丟失,而BiLSTMMFCNN 混合模型能夠充分利用不同深度神經(jīng)網(wǎng)絡的優(yōu)勢,不僅可以學習到上下文的長期依賴關系,而且能夠從句子維度和詞嵌入維度提取豐富的文本語義特征,取得更好的文本情感分析效果。
最后,在3 個數(shù)據(jù)集上BiLSTM-MFCNN 混合模型的F值大于RCNN 和LSTM-CNN 混合模型的F值。這表明BiLSTM 雙向語言模型比RNN 和LSTM 單向模型語言模型的語義特征提取效果更好,同時改進后的MFCNN 模型能夠從句子維度和詞嵌入維度提取文本隱藏的語義特征,并且很好地解決了單個最大池化運算造成的語義特征不足的問題,因此BiLSTM-MFCNN混合模型能夠進一步提升文本情感分析的效果。
為進一步分析BiLSTM-MFCNN混合模型比其他模型在文本情感分析任務中的優(yōu)勢,本文通過幾個具體樣例進行分析。如表9所示,從NLPECC數(shù)據(jù)集的測試集挑選出一些經(jīng)典樣例的文本情感分析結(jié)果進行對比分析。
表9 經(jīng)典樣例Table 9 Classic examples
如表10所示,樣例1和樣例2屬于結(jié)構(gòu)簡單并且情感表達準確的文本,此類文本是表達情感常用的文本結(jié)構(gòu),BiLSTM 模型、TextCNN 模型、MFCNN 模型LSTMCNN 模型和BiLSTM-MFCNN 模型都可以準確識別此類文本的情感。
表10 樣例情感分析結(jié)果Table 10 Sample sentiment analysis results
樣例3 的文本包含大量的網(wǎng)絡用語,例如“杯具”“太牛了”“霸氣”等等。這些網(wǎng)絡詞在進行文本向量化表示時大部分無法識別,只能用0向量補充,同時,對于“霸氣”等網(wǎng)絡詞在不同的領域所表達的情感類型也有所不同,因此BiLSTM 模型、TextCNN 模型、MFCNN 模型LSTM-CNN模型和BiLSTM-MFCNN模型都無法正確識別此類文本的情感類型。
樣例4也屬于文本的一種常見類型,此類文本包含大量的否定詞,在進行文本情感分析時,需結(jié)合上下文語義對其進行理解。TextCNN 模型和MVCNN 模型受局部窗口大小的限制,只能提取文本的局部語義特征,由于LSTM模型獨特的門結(jié)構(gòu)特點,能夠很好地利用上下文語義信息完成文本情感分析,因此BiLSTM 模型、LSTM-CNN 模型和BiLSTM-MFCNN 模型能夠準確識別此類文本的情感。
樣例5 和樣例6 屬于具有反問語氣的文本,通過反諷的方式表達情感,此類文本結(jié)構(gòu)十分復雜,所以BiLSTM 模型、TextCNN 模型、MVCNN 模型和LSTMCNN模型都無法正確識別此類文本的情感,而BiLSTMMFCNN模型在語義特征提取過程中,不僅能夠?qū)W習到文本的長期依賴關系,而且通過從句子維度和詞嵌入維度提取更深程度和更加細膩的語義特征,因此能夠準確地識別此類復雜文本的情感。
本文提出一種基于BiLSTM-MFCNN 混合模型的文本情感分析方法。該方法首先利用BiLSTM 模型提取文本長期依賴,然后利用MFCNN 模型的卷積層,提取文本句子維度和詞嵌入維度的語義特征,利用池化層得到文本的最大池化特征和平均池化特征,最后經(jīng)過全連接層和輸出層的處理得到文本情感分析的結(jié)果。本文的實驗結(jié)果表明,BiLSTM-MFCNN 混合模型在幾個數(shù)據(jù)集上取得了較好的文本情感分析效果。但是,通過經(jīng)典樣例的對比分析結(jié)果能夠看出,本文提出的BiLSTM-MFCNN混合模型對于包含跨領域詞匯和網(wǎng)絡詞匯的細粒度文本情感分析的效果并不理想。在今后的文本情感分析研究中,會以細粒度文本情感分析的中文數(shù)據(jù)集為重點,進一步擴充網(wǎng)絡詞匯和不同領域的文檔,提升跨領域的細粒度文本情感分析效果。