陶貽勇,別春洋
(安徽理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,淮南 232001)
隨著互聯(lián)網(wǎng)的普及和快速發(fā)展,電子商務(wù)取得了巨大發(fā)展,越來越多的人依賴網(wǎng)絡(luò)來獲取信息、溝通交流和購物。互聯(lián)網(wǎng)為消費(fèi)者提供了便捷的購物平臺,使他們能夠輕松瀏覽和購買各種商品和服務(wù)。越來越多的人喜歡在電商平臺上花費(fèi)大量的時(shí)間,并且對商品表達(dá)自己的情感和觀點(diǎn)。在線評論可以衡量用戶對商品的意見和反應(yīng),并且由此可以確定他們對這些商品的態(tài)度。消費(fèi)者通過這些評論可以輕松了解其他人對該產(chǎn)品的情感傾向,做出最終的購買決策。同時(shí),商家需要根據(jù)消費(fèi)者對商品的評論反饋信息,了解消費(fèi)者的情感傾向,以便提高商品的價(jià)值。然而,大量的評論就會導(dǎo)致信息過載,因此對評論內(nèi)容進(jìn)行情感分類就顯得很重要。
情感分類是NLP(natural language process)的一個(gè)重要領(lǐng)域,它的目的是對文本進(jìn)行情感識別。評論情感分類在社交媒體和在線評論中具有廣泛的應(yīng)用,對于了解用戶情感傾向具有重要意義。在情感分類的過程中,文本語義情感特征的提取是至關(guān)重要的,準(zhǔn)確地捕捉文本中蘊(yùn)含的情感表達(dá)和情感傾向是情感分析模型的核心任務(wù)。
情感分類文本的方法主要分為三種:基于情感詞典的方法、深度學(xué)習(xí)以及機(jī)器學(xué)習(xí)。
情感詞典文本分類是一種無需監(jiān)督的學(xué)習(xí)方法,它的核心思想是構(gòu)建一個(gè)包含表達(dá)觀點(diǎn)或情感的詞典,根據(jù)所構(gòu)建的詞典和文本內(nèi)容進(jìn)行匹配,計(jì)算文本的情感得分,最后獲得文本的情感傾向[1]。Strapparava 等[2]創(chuàng)建WordNet-Affect 的情感擴(kuò)展詞典,豐富了詞典內(nèi)容。周詠梅等[3]提出構(gòu)建HowNet 和SentimentWordNet 的中文情感詞典方法應(yīng)用到微博情感文本分類,提供了新的詞典資源。然而,基于情感詞典的方法研究依賴于人工標(biāo)記,文本詞語覆蓋率低,只能處理一般情感分析問題[4]。
基于機(jī)器學(xué)習(xí)分類的方法通??煞譃閮蓚€(gè)主要步驟:首先,對文本進(jìn)行特征提取,然后通過分類器來完成文本分類任務(wù)。朱軍等[5]提出了改進(jìn)的機(jī)器學(xué)習(xí)和情感詞典結(jié)合的集成學(xué)習(xí)方法。鄧君等[6]通過構(gòu)建Word2Vec 和SVM 模型,發(fā)現(xiàn)情感模型可以有效預(yù)測網(wǎng)民的情感變化趨勢。與基于情感詞典方法相比,Ravi 等[7]通過結(jié)合詞典的方法和SVM,提高了情感分類的準(zhǔn)確性。盡管機(jī)器學(xué)習(xí)在文本分類取得了顯著成果,但是機(jī)器學(xué)習(xí)方法需要大量的標(biāo)記數(shù)據(jù)進(jìn)行訓(xùn)練且時(shí)間較長。
深度學(xué)習(xí)分類算法有CNN、RNN 和LSTM等,常用于NLP 中進(jìn)行特征提取。Zhou 等[8]為提高對文本分類的準(zhǔn)確率,提出了注意力機(jī)制的雙向LSTM 模型對特征進(jìn)行選擇。Collobert等[9]將CNN 引入到自然語言處理領(lǐng)域并取得出色的效果。Lai 等[10]使用RNN 捕獲文本上下文信息,結(jié)合CNN 最大池化層選擇重要關(guān)鍵詞完成文本分類任務(wù)。Qing 等[11]提出自注意力機(jī)制處理詞向量特征并結(jié)合CNN 的文本分類模型。Huang 等[12]提出基于BERT 深度卷積神經(jīng)網(wǎng)絡(luò)和BiGRU 的文本分類模型。Guo等[13]提出一種基于CNN和BiLSTM模型進(jìn)行消費(fèi)者評論情感分析。
張謙等[14]進(jìn)行了微博文本的分類研究,采用了TF-IDF 和Word2Vec 方法。然而,他們的研究未考慮到Word2Vec 是一種靜態(tài)詞向量表示方法,也沒有考慮到詞向量在上下文語義環(huán)境中的變化。周瑛等[15]采用了帶有注意力機(jī)制的LSTM 模型來進(jìn)行文本情感分析,這一方法顯著提高了情感分類的準(zhǔn)確率,但他們的模型沒有考慮到數(shù)據(jù)之間存在長期依賴和梯度消失爆炸問題。Rezaeinia 等[16]改進(jìn)預(yù)訓(xùn)練詞嵌入并且使用CNN,但沒有考慮文本上下文信息對情感分析的影響。為了解決上述問題,本文提出了一種基于注意力機(jī)制的ALBERT-BiLSTM-CNN 模型,對評論情感進(jìn)行分析。
模型構(gòu)建如圖1 所示,主要由詞嵌入層ALBERT、BiLSTM、Attention 和CNN 層四部分組成。首先對在線評論數(shù)據(jù)進(jìn)行預(yù)處理,然后將經(jīng)過預(yù)處理的數(shù)據(jù)輸入到ALBERT 層模塊中,利用ALBERT 模型獲取文本的動態(tài)特征表示。使用BiLSTM 模塊來捕捉文本的上下文語義信息,BiLSTM 能夠同時(shí)考慮文本前后之間的關(guān)聯(lián),在BiLSTM 的輸出中,引入Attention 機(jī)制,提高對文本內(nèi)容中部分關(guān)鍵詞的權(quán)重,然后利用CNN 提取文本局部特征信息,最后經(jīng)過Softmax分類器獲得評論情感分類。
圖1 基于注意力機(jī)制的ALBERT-BiLSTM-CNN 評論情感分析模型
BERT[17]是由Google AI 語言科學(xué)家研究提出的預(yù)訓(xùn)練語言模型,它是一種基于Transformer架構(gòu)的雙向編碼器網(wǎng)絡(luò)。Transformer則是一種深度學(xué)習(xí)模型,其核心是基于注意力機(jī)制,用于學(xué)習(xí)文本數(shù)據(jù)中不同單詞的上下文之間的關(guān)系。傳統(tǒng)的語言模型如Word2Vec 只考慮從左到右或從右到左的順序讀取輸入序列。但是,BERT具有雙向性,它可以同時(shí)從兩個(gè)方向讀取輸入序列,從而能夠綜合考慮單詞在句子中的前后文信息,這種雙向性使得BERT 能夠更好地理解句子的上下文和語義。
盡管BERT 在NLP 任務(wù)中取得了顯著成果,但是由于BERT 的訓(xùn)練不僅耗時(shí),而且涉及的參數(shù)數(shù)量巨大,限制了其在實(shí)際應(yīng)用中的使用。為了解決BERT 模型的這些問題,谷歌研究人員又提出了ALBERT[18](A Lite BERT)模型作為一種改進(jìn)方法,ALBERT 和BERT 以Transformer模型作為基礎(chǔ)架構(gòu),ALBERT 是一種自監(jiān)督學(xué)習(xí)模型,它的輸入由三個(gè)部分組成,分別是詞向量、句子向量和位置向量。E1,E2,…,EN是序列化后輸入文本中的字符向量,經(jīng)過多層Transformer編碼器的處理,最后得到ALBERT 處理的TN詞向量,ALBERT模型如圖2所示。
圖2 ALBERT模型結(jié)構(gòu)圖
相比于BERT 模型,ALBERT 主要有以下三個(gè)創(chuàng)新:
(1)詞嵌入因式分解:通過將詞匯嵌入大小的one-hot 向量轉(zhuǎn)化為較低維度的空間,再映射到隱藏空間,使得隱藏層的大小與詞匯嵌入的參數(shù)大小相互隔離,參數(shù)量由O(V×H)減少到O(V×E+E×H),當(dāng)E<<H時(shí),參數(shù)量的減少會非常顯著。
(2)層參數(shù)共享:ALBERT 通過共享Transformer 編碼器的參數(shù)來減少整個(gè)模型的參數(shù)數(shù)量和模型的復(fù)雜性,提高模型的效率和訓(xùn)練速度。
(3)句間連貫性損失:BERT 句子之間的關(guān)系主要是通過NSP(next sentence prediction)實(shí)現(xiàn)的,該模型需要判斷兩個(gè)句子是否連續(xù)。ALBERT 引入SOP(sentence order prediction)以提高模型性能。
1997 年,Hochreiter 等[19]改進(jìn)RNN(recurrent neural network)只有短期記憶而不能處理長序列數(shù)據(jù)的問題,LSTM(long short-term memory)是為了解決循環(huán)神經(jīng)網(wǎng)絡(luò)中的梯度爆炸和梯度消失問題而提出的。每個(gè)LSTM 單元由輸入門、輸出門、遺忘門和一個(gè)記憶單元組成,這些門的作用是處理和管理記憶單元中的信息。LSTM的單元結(jié)構(gòu)如圖3所示。
圖3 LSTM單元結(jié)構(gòu)
其中,xt是第t個(gè)LSTM 單元的輸入,ht-1是前一個(gè)LSTM 單元的輸出,ft,it,Ot分別是遺忘門、輸入門、輸出門在t時(shí)刻的狀態(tài),LSTM 的計(jì)算如下:
其中:W和b分別對應(yīng)門的權(quán)重矩陣和偏置的向量,σ表示Sigmoid激活函數(shù)。ft決定哪些信息通過輸入狀態(tài)xt傳遞到隱藏狀態(tài)ht-1,通過ft可以判斷哪些信息需要丟棄,并將更新后的信息存儲在下一個(gè)記憶單元中。表示t時(shí)刻LSTM 單元的狀態(tài),它通過輸入門來更新信息,并使用激活函數(shù)tanh 來計(jì)算得到更新后的信息。LSTM只在單個(gè)前進(jìn)方向依靠過去的信息分析數(shù)據(jù),BiLSTM 的結(jié)構(gòu)具有兩層LSTM,其模型如圖4所示。正向LSTM 可以接收輸入序列的先前數(shù)據(jù),而反向LSTM可以接收輸入序列的后續(xù)數(shù)據(jù),隱藏層bt是由和合并而成,合并公式如下:
圖4 BiLSTM模型
Attention 機(jī)制可以根據(jù)輸入的不同特征信息,為每個(gè)輸入特征分配不同的權(quán)重,模型可以動態(tài)地調(diào)整對這些信息關(guān)注程度。在BiLSTM中引入注意力機(jī)制,可以更有效地提取關(guān)鍵特征。注意力機(jī)制的計(jì)算公式如下:
其中:ht表示t時(shí)刻BiLSTM 的輸出,Wu和b分別表示為注意力權(quán)重和偏置,S由注意權(quán)重αt和BiLSTM的輸出ut加權(quán)求和計(jì)算得出。
CNN 是一種深度學(xué)習(xí)的方法,被廣泛應(yīng)用于情感分類領(lǐng)域。CNN在文本挖掘中取得了較高的準(zhǔn)確性,因此本文使用CNN提取文本上下文顯著特征。CNN由卷積層和池化層組成,主要用于捕捉文本的關(guān)鍵特征。卷積層是CNN的核心,它是由一組卷積核組成,使用卷積核和輸入數(shù)據(jù)的局部窗口用于進(jìn)行卷積計(jì)算,公式如下:
其中:ci是卷積計(jì)算結(jié)果,f表示ReLU 非線性激活函數(shù),F(xiàn)表示卷積核,hi∶i+l-1輸出向量i到i+l-1,?是卷積運(yùn)算,b表示偏置參數(shù)。卷積窗口以步長為1向下滑動,以獲得局部特征向量C。
池化層目的是對卷積層的結(jié)果進(jìn)行采樣,保留局部最優(yōu)特征,同時(shí)減小卷積向量的大小并避免出現(xiàn)過擬合問題。本研究采用最大池化方法,因?yàn)樗兄诒A艟植繀^(qū)域中的最顯著特征,最大特征值提取計(jì)算公式如下:
CNN的輸出由特征值組合成M,公式如下:
本研究采用Python 爬蟲技術(shù)從攜程網(wǎng)站爬取了消費(fèi)者對入住酒店的在線評價(jià),作為實(shí)驗(yàn)文本數(shù)據(jù),并經(jīng)過預(yù)處理。在預(yù)處理步驟中,我們對在線評論情感進(jìn)行極性的標(biāo)注,去除一些與分類無關(guān)的特殊字符和表情符號,刪除了非中文的評論和停用詞等步驟。最后獲得了26530 條評論,其中包括積極評論18060 和消極評論8470 條,消極評論標(biāo)記為0,反之,積極評論標(biāo)記為1。本文以7∶2∶1 的比例將評論數(shù)據(jù)集劃分為訓(xùn)練集、驗(yàn)證集和測試集,情感標(biāo)注部分的數(shù)據(jù)示例見表1。
表1 部分評論數(shù)據(jù)集情感標(biāo)注
實(shí)驗(yàn)參數(shù)主要有三個(gè)部分,包括ALBERT、CNN 和BiLSTM,ALBERT 是詞向量嵌入模型,隱藏層大小為768,注意力頭數(shù)為12,最大序列長度為512,具體實(shí)驗(yàn)?zāi)P蛥?shù)見表2。
表2 模型參數(shù)
在本研究中,我們使用精確度(Precision)、召回率(Recall)和F1 值(F1)作為評價(jià)指標(biāo),評估提出的分類模型和比較模型性能,Precision是指在所有被模型預(yù)測為正例的樣本中,實(shí)際上正例所占的百分比;Recall是指被正確預(yù)測為正例的樣本數(shù)與實(shí)際正例樣本數(shù)之比;F1 是精確率和召回率的調(diào)和平均值。評價(jià)指標(biāo)公式計(jì)算如下:
其中:TP指模型正確識別為屬于該類的預(yù)測數(shù),F(xiàn)P是指模型錯(cuò)誤地分配給該類的錯(cuò)誤預(yù)測數(shù),F(xiàn)N是指模型未識別為該類樣本的錯(cuò)誤預(yù)測數(shù)。
為了驗(yàn)證本文模型的有效性,將該模型和Word2Vec-BiLSTM、Word2Vec-CNN、ALBERTBiLSTM、ALBERT-CNN、ALBERT、BiLSTMCNN六個(gè)模型進(jìn)行對比,實(shí)驗(yàn)結(jié)果見表3。
表3 不同模型情感分析實(shí)驗(yàn)結(jié)果(%)
通過實(shí)驗(yàn)結(jié)果可知,本文提出的模型準(zhǔn)確率和召回率分別是88.43% 和88.17%。 與Word2Vec-BiLSTM 模型相比,ALBERT-BiLSTM模型準(zhǔn)確率和召回率分別提高2.29 和2.84 個(gè)百分點(diǎn)。與Word2Vec-CNN 模型相比,ALBERTCNN 模型的準(zhǔn)確率和召回率分別提高2.47 和2.04 個(gè)百分點(diǎn)。使用ALBERT 獲得的動態(tài)詞向量相較于使用Word2Vec,在文本分類任務(wù)上表現(xiàn)更優(yōu),提高了文本分類準(zhǔn)確率。
本文模型與ALBERT、ALBERT-BiLSTM、ALBERT-CNN、BiLSTM-CNN 相比,準(zhǔn)確率分別提高了2.83、1.4、1.12 和0.81 個(gè)百分點(diǎn),召回率分別提高了3.15、1.42、1.55 和0.8 個(gè)百分點(diǎn)。實(shí)驗(yàn)結(jié)果表明,本文模型對評論文本的情感分類效果要優(yōu)于其他對比模型,有效克服了CNN模型不能處理文本之間長期依賴關(guān)系,BiLSTM模型不能捕獲文本關(guān)鍵信息的問題,更適合對評論文本進(jìn)行情感分類。
本文提出了一種基于注意力機(jī)制的ALBERT-BiLSTM-CNN的評論情感分析模型。利用ALBERT可以獲得文本的動態(tài)詞向量,BiLSTM根據(jù)文本上下文信息,對文本全局特征進(jìn)行提取,Attention 機(jī)制可以增強(qiáng)對關(guān)鍵特征詞的選擇,CNN 捕獲顯著局部特征,有效提升了文本分類的準(zhǔn)確度。實(shí)驗(yàn)結(jié)果表明,和其他六個(gè)對比模型相比,本文模型的F1 值平均上升2.35 個(gè)百分點(diǎn),實(shí)驗(yàn)結(jié)果均優(yōu)于對比模型。因此,本文所提出的方法對于評論文本情感分類具有一定的研究意義。本論文研究仍存在一些不足,例如實(shí)驗(yàn)文本數(shù)據(jù)僅來自酒店評論,數(shù)據(jù)集較小,在模型設(shè)計(jì)方面,后續(xù)研究可以考慮結(jié)合情感詞典方法,提高深度學(xué)習(xí)模型對文本分類的效果。