胡新榮,王 哲,劉軍平*,彭 濤,何儒漢
(1.湖北省服裝信息化工程技術研究中心,湖北 武漢 430200;2.武漢紡織大學 數(shù)學與計算機學院,湖北 武漢 430200)
Web2.0時代,網(wǎng)購逐漸走入人們生活,網(wǎng)購后會留下大量評論。這些文本會蘊含一些買家的使用信息和使用態(tài)度。通過深度神經(jīng)網(wǎng)絡算法對這些文本進行分析,提取商品評論中蘊含的情感傾向,廣泛運用于商品的推薦中,為推薦系統(tǒng)提供參考。
目前,關于商品評論的情感分析,主流方法有如下兩種:一種是通過人工構建對應的情感詞典,然后用規(guī)則詞典去完成情感分析。步驟是,首先需要通過人工構建一系列的情緒詞典,然后去指定一些規(guī)則,通過構建的詞典把文本中非結構化的情緒特征提取出來。但人工構建詞典會浪費許多時間,在魯棒性方面表現(xiàn)很一般。另外一種就是通過機器學習算法來完成情感分類,人工標注好實驗數(shù)據(jù)集,然后運用機器學習算法來提取文本的情感特征,最后完成文本的情感預測結果。主要的機器學習分類算法有支持向量機(SVM)、決策樹等。這些算法雖然可以很簡單快速地對文本進行情感分類,但是在文本情感特征提取方面比較弱,而且忽略了文本上下的結構關系。很難達到比較高的準確率。
近幾年,隨著深度學習的飛速發(fā)展,各類的神經(jīng)網(wǎng)絡模型也被運用于很多方面,在自然語言處理中也得到了廣泛的運用。但是因為文本存在一定的口語表達,缺乏邏輯性,情感特征表現(xiàn)不明顯,而且很容易忽略文本上下文的結構信息,因此深度學習方法雖然取得了不錯的效果,但仍然存在一定的缺陷。
為了解決以上問題,該文提出一種基于多層注意力機制(SD-Attention),融合雙向門控循環(huán)網(wǎng)絡(BiGRU)的服裝電商評論情感分析模型(BiGRU-SD-Attention)。因為學術界缺乏現(xiàn)有的數(shù)據(jù)集,難以對模型的準確性進行驗證。因此,該文首先采用了分布式爬蟲框架從各大電商網(wǎng)站采集到服裝評論數(shù)據(jù)集,對數(shù)據(jù)集進行清洗,通過gensim訓練出文本專有的情感詞向量,對詞向量進行一定的拼接并作為服裝電商評論情感模型的輸入。利用雙向門控循環(huán)網(wǎng)絡來提取文本的情感特征,并針對詞語級和句子級分別使用注意力機制,重新加權計算得到最后的情感特征權重,輸出分析結果并進行可視化。實驗結果表明,該模型相對目前的機器學習和深度學習循環(huán)神經(jīng)網(wǎng)絡在各方面都取得了不錯的效果,驗證了模型的有效性。
文本情感分類任務主要是通過算法分析文本中蘊含的情感傾向,來判斷用戶存在的主觀態(tài)度。最早期Pang在文本情感分類方面,運用人工構建的詞袋模型來進行研究。后續(xù)有研究人員嘗試設計更合理的詞典來提高情感分類的準確率,但是這些方法都是基于詞典規(guī)則的。Taboada等人根據(jù)不同的詞性構建了不同強度的情感詞典,然后對文本中進行加權得分最后實現(xiàn)文本情感分類。肖紅等人通過人工構建情感詞典,然后與文本句法相結合,最后運用于網(wǎng)絡輿情的情感分析研究。楊鑫等人通過人工構建民宿方面的情感詞典,來完成民宿評論的情感分析。
為了解決傳統(tǒng)機器學習方法中構建特征工程存在的問題,人們開始將深度學習方法運用于文本情感分類中。Hinton首次提出了詞向量的概念。主要對分詞處理后的文本,運用對應的映射關系,將文本詞語投影到低維向量空間,從而極大地保留了文本詞語之間的語義關系。Bengio實現(xiàn)了n-gram三層神經(jīng)網(wǎng)絡語言模型,Mikolov首次提出Word2Vec模型,還實現(xiàn)了CBOW方法。隨著詞向量的提出,極大地促進了深度學習在自然語言處理文本情感分類方面的運用。如Kim等將卷積神經(jīng)網(wǎng)絡(CNN)運用于電影評論文本的情感分析。雖然這些深度學習方法相比傳統(tǒng)的機器學習和人工構建情感詞典的方法取得了不錯的效果,但是也存在一定的缺陷。因為忽略了文本之間存在的上下文關系,無法獲取到文本的結構信息。對此,Mikolov首次將循環(huán)神經(jīng)網(wǎng)絡(RNN)運用于文本情感分類,取得了比CNN更好的效果,但是在處理時序性文本的時候,也會出現(xiàn)梯度爆炸、梯度消失等現(xiàn)象。Wang等在Twitter文本數(shù)據(jù)集上采用了LSTM網(wǎng)絡模型來進行情感傾向的預測。
注意力機制最先應用在圖像處理方面。隨后Bahdanau等將注意力機制運用于機器翻譯,Google也采用了這項技術。而后注意力機制得到了廣泛應用,比如在關聯(lián)提取、命名體識別、文本摘要中都有不錯的效果。
深度學習神經(jīng)網(wǎng)絡已經(jīng)在人工智能領域取得了不錯的效果,但是作為算法模型驗證的基礎,一個良好的數(shù)據(jù)集,加上優(yōu)秀的算法模型,才能更好地解決遇到的各種實際問題。針對目前學術界尚未存在公開的服裝電商評論文本數(shù)據(jù)集的問題,該文首先設計了一種分布式爬蟲系統(tǒng),可以有效地從各類電商網(wǎng)站采集到服裝評論文本,并經(jīng)過清洗處理制作成文本實驗所需數(shù)據(jù)集。其次針對現(xiàn)有算法存在的缺陷,提出了一種融合多層注意力機制的電商服裝情感分類模型(BiGRU-SD-Attention)。經(jīng)過實驗驗證,得出該模型可以更有效地提取到評論文本中的情感傾向特征,通過多層注意力機制對這些情感特征加權,達到提高準確率的效果。
該文構建的用于情感分析的模型結構如圖1所示。
該算法框架主要包含文本輸入層、多層情感特征提取層、多層注意力機制層和情感分析輸出層。
對于文中算法模型,在學術界缺乏相關的服裝電商評論文本。而文本數(shù)據(jù)集作為算法模型最重要的部分,數(shù)據(jù)集的質量往往對算法模型起著至關重要的作用。為了解決這一問題,采用分布式爬蟲技術從各類服裝電商網(wǎng)站采集了眾多服裝電商評論文本,經(jīng)過清洗整理后,作為文中算法模型的驗證數(shù)據(jù)集和輸入。
因為服裝評論文本包含了人們評價的主觀色彩,具有很強的口語化,因此在使用文中算法模型訓練的時候,需要將采集好的電商文本情感數(shù)據(jù)集進行清洗。刪除掉重復文本,去掉停用詞及一些特除的符號,然后分詞。如“這件、衣服、質量、還不錯,手感、舒服、顏色、鮮艷”,將切分好的詞語文本進行詞向量訓練,通過Word2Vec模型生成服裝電商文本的詞向量,將獲取到的詞向量輸入到后續(xù)的詞編碼器。
圖1 算法框架
GRU作為LSTM的一種變體模型,取消了單元狀態(tài),通過隱藏狀態(tài)來傳遞信息。相對于LSTM更加簡單高效,提高了訓練的速度。BiGRU模型如圖2所示。
圖2 BiGRU模型
z
=σ
(x
+h
-1)(1)
其中,x
為輸入序列X
的第t
個分量,通過線性變換與矩陣相乘。h
-1為前一時刻t
-1的分量,通過線性變換與矩陣相乘,相加輸入到Sigmoid中并壓縮。更新門決定多少信息傳輸?shù)轿磥怼?p>r=σ
(x
+h
-1)(2)
重置門r
與更新門一樣,x
和h
-1通過線性變換與矩陣相乘然后相加。(3)
x
和h
-1通過線性變換,分別右乘矩陣和,然后計算與重置門的Hadamard乘積,該乘積決定需要保留和遺忘的信息。(4)
最后需要計算h
,它表示當前單元信息傳遞到下一個單元。z
為更新門的激活結果,它同樣控制了信息的輸入。(5)
GRU作為一種前向傳播算法,但是單向傳播忽略了反向的特征信息,因此本模型針對服裝電商評論文本的特殊性,采用了雙向的GRU算法Bi-GRU作為提取到文本的前后有用信息。
該文將采集好的服裝電商評論文本數(shù)據(jù)集,按照詞語級別和句子級別進行劃分,然后分別對詞語級別和句子級別使用注意力機制,通過不斷的調整計算,分權求和,最后求出最終影響較大的權重特征,有效提高了情感分類的準確效果。
基于詞語級別的注意力機制的具體流程如下所示:
u
=tanh(W
h
+b
)(6)
(7)
s
=Σα
h
(8)
式(6)中的u
表示為BiGRU輸出h
的隱藏單元,然后通過式(7)中softmax歸一化得到更新后的權重系數(shù)α
。u
是一個初始訓練參數(shù),s
是最后得到第i
個句子的向量。基于句子級別的注意力機制的具體流程如下所示:
u
=tanh(W
h
+b
)(9)
(10)
v
=Σα
h
(11)
在句子級別方面,式(9)~式(11)計算方式類似于上面,最后通過雙層的注意力機制,輸出得到最終整條評論基于單詞和句子文本的情感特征向量v
。v
是文本的高級表示方法,在向量v
上通過式(12)softmax分類輸出服裝電商評論文本的最后情感傾向。p
=softmax(W
v
+b
)(12)
與其對應的損失函數(shù)如式(13)所示:
L
=-∑logp
(13)
實驗環(huán)境配置如表1所示。
表1 實驗環(huán)境配置
實驗流程如圖3所示。
圖3 實驗流程
3.2.1 數(shù)據(jù)的獲取和處理
數(shù)據(jù)的獲取和預處理作為算法模型的第一步,任何一個算法模型的訓練都離不開基礎數(shù)據(jù)的獲取和處理。而文中的算法模型,服裝電商評論文本情感分析,現(xiàn)有的學術界難以找到存在的相關數(shù)據(jù)集。為了驗證算法模型的有效性,文中利用相關技術,從服裝電商網(wǎng)站采集了相關的服裝電商評論文本數(shù)據(jù)。
首先搭建了一個分布式爬蟲系統(tǒng),通過本系統(tǒng)的相關功能,從主流電商平臺爬取了關于電商服裝的評論。各類電商網(wǎng)站,為了防止惡意訪問和采集數(shù)據(jù),也設置了一定的反爬蟲措施,禁止同一時刻多次采集網(wǎng)站內(nèi)容,從而影響了服裝電商評論文本數(shù)據(jù)的采集效率。文中的分布式爬蟲系統(tǒng),通過設置IP代理池,偽造請求頭,采用分布式Redis緩存,可以高效采集文本數(shù)據(jù)集。
經(jīng)過人工刪除部分重復的評論和少數(shù)沒有情感傾向的評論,最終收集到服裝電商評論文本10 000條。通過人工對采集好的服裝電商文本進行簡單的標注。Pos、Neg傾向分別標注為1、0。最后根據(jù)實驗需要,劃分好數(shù)據(jù)比例,如表2所示。
表2 商品評論數(shù)據(jù)集劃分
而電商文本通常具有一定的口語化特征,也會融入一些特殊的字符和表情符號,例如,好評:“面料不錯,穿起來很舒服,夏天穿著很涼爽”,差評:“質量不是一般的差,褪色粘毛,還起球”。在算法模型訓練之前需要對這些電商文本進行預處理。去掉重復字、繁體字及特殊字符,劃分好服裝電商評論文本,然后用jieba進行分詞,用Word2Vec訓練文本的情感詞向量,作為后續(xù)算法模型的輸入。
3.2.2 模型的訓練與參數(shù)設置
本模型是在PyCharm開發(fā)工具上面,基于TensorFlow深度學習框架搭建的服裝商品評論模型。通過清洗、劃分、訓練詞向量,輸入到本文構建的服裝商品評論模型中。訓練過程中,為了使得模型訓練參數(shù)最優(yōu),模型最后輸出結果最佳,采用了網(wǎng)格調參法。
為了得到更好的模型參數(shù),對采集到的服裝電商評論文本做了簡單的分析,如圖4所示。
圖4 服裝文本數(shù)據(jù)長度分布
根據(jù)文本數(shù)據(jù)長度得知,當選取長度為42時,可以覆蓋91%的長度文本。具體的參數(shù)設置如表3所示。
表3 模型參數(shù)設置
最后根據(jù)模型在驗證集上的效果,來決定是否進行下一次迭代。
3.2.3 實驗結果分析
在模型驗證過程中,設置了對比實驗。分別采用SVM、LSTM、BILSTM、BiLSM-Attention與文中提出的基于多層注意力機制的BiGRU-SD-Attention進行對比。在服裝電商評論文本分類過程中,為了驗證模型的優(yōu)劣,主要采用精確率(Precision)、準確率(Accuracy)、召回率(Recall)和F1值(F1-score)作為評價指標,結果如表4所示。
表4 實驗結果比較 %
根據(jù)表4的實驗數(shù)據(jù)進行分析對比:
(1)基于深度學習的循環(huán)神經(jīng)網(wǎng)絡模型LSTM、BILSTM對比機器學習模型SVM在性能上有了顯著的提升,考慮了服裝電商文本存在一定的時序性,因此證明循環(huán)神經(jīng)網(wǎng)絡對比傳統(tǒng)的機器學習算法在性能上有了不錯的提升。
(2)加入注意力機制的循環(huán)神經(jīng)網(wǎng)絡Attention-BILSTM相比LSTM、BILSTM在性能上有了顯著的提升。因為注意力機制的引入,可以更好地分配不同詞語特征之間的特征權重,從而得到更加準確的服裝電商評論文本的最終情感傾向,進一步證明了注意力機制在本算法模型中的有效性。
(3)文中提出的基于多層注意力機制的BiGRU-SD-Attention模型,既考慮了服裝電商文本的時序性,融入了BiGRU門控循環(huán)網(wǎng)絡,又考慮了在不同層次之間情感特征權重的不同,在詞語級別和句子級別分別引入了Attention注意力機制。最終的實驗結果也很理想,其中準確率達到了94.23%,相比其他算法有了顯著的提升??梢愿玫亟鉀Q文中提出的服裝電商評論文本情感分析問題。因此,BiGRU-SD-Attention模型對比其他的算法模型取得了較高的性能提升和不錯的效果。
為了驗證模型算法的可靠性,將部分驗證集的服裝電商文本權重特征進行了可視化。通過不同的顏色深度反映在注意力權重計算中不同情感特征的影響力。顏色越深代表影響越重,反之如此。從圖5可以看出,對于積極和消極影響權重較大的詞語都做了標注,由此驗證了BiGRU-SD-Attention模型的有效性。
圖5 注意力機制情感特征可視化
針對傳統(tǒng)的機器學習分類方法存在文本特征提取不足的缺陷,該文提出一種基于多層注意力機制的BiGRU-SD-Attention模型。通過實驗表明,經(jīng)過分布式爬蟲采取到的數(shù)據(jù)集,通過預處理訓練出來的詞向量,通過雙向門控網(wǎng)絡來提取特征,最后融入注意力機制來提高重要特征的權重,進行電商文本的情感分類,得到了不錯的效果。