許 犇,徐國慶,程志宇,羅 京
武漢工程大學計算機科學與工程學院,湖北 武漢 430205
商品評論情感分析的主要方法是文本情感分析,文本情感分析[1]又稱意見挖掘,是對大量的個人發(fā)表的關于商品、服務、熱點話題及社會事件的觀點進行分析,并處理、歸納和推理這些觀點的屬性、情緒、評價和態(tài)度。情感分析通過分析文本中所表達的不同情緒,根據(jù)它的情感極性進行分類[2]。情感分析應用領域廣泛,例如在商業(yè)領域,公司可以通過分析用戶在社交媒體上的反饋和評論,來了解用戶對產(chǎn)品的評價。
文本情感分析的研究方法主要有兩大類,分別是基于情感詞典的方法和基于機器學習的方法[3]。深度學習是一項學習數(shù)據(jù)的多層特征或表征的機器學習技術,其在計算機視覺、語音識別、自然語言處理等諸多領域都有目前最好的成果。近年來,深度學習具有諸多領域的應用案例,許多學者也將其應用于情感分析問題的研究[4]。Mikolov等[5]在文本分類的研究中側重于基于詞嵌入的深度學習模型,提出了Word2vec 模型。最近的研究表明,一個有效的詞嵌入可以使基于深度學習的文本分類方法的準確率得到很大的提升[6]。Kim 等[7]使用卷積神經(jīng)網(wǎng)絡(convolutional neural network,CNN)進行句子分類,將計算機視覺中的CNN 應用到了文本分類上。Zhang 等[8]設計了字符級CNN,提出一種新的文本處理體系結構并取得良好的效果。Wang 等[9]提出深度耦合形容詞與名詞神經(jīng)網(wǎng)絡(deep coupled adjective and noun neural network,DCAN)。DCAN 分別將形容詞性文本描述和名詞性文本描述看作兩個弱監(jiān)督信號,學習兩個中間情感表征,并結合學習的情感表征進行情感分類。Liu 等[10]使用循環(huán)神經(jīng)網(wǎng)絡(recurrent neural network,RNN)的變種,長短期記憶網(wǎng)絡(long short-term memory,LSTM)來學習文本表示。Bahdanau 等[11]最早提出了注意力機制理論,后續(xù)的研究將注意力機制作為一個組成部分添加到各種文本分類模型中,使得這類模型的表示靈活性和準確率得到了進一步提高。此后Johnson 等[12]提出的基于CNN 的深度金字塔卷積神經(jīng)網(wǎng)絡(deep pyramid convolutional neural network,DPCNN)和Vaswani等[13]提出的基于注意力機制的Transformer模型均在文本分類問題上有突出的表現(xiàn)。盡管上述這些方法可以有效地提取文本局部連續(xù)詞序列的信息,但是容易忽視語料庫中詞共現(xiàn)信息。
基于圖數(shù)據(jù)的深度學習方法也有了較大的發(fā)展。Kipf 和Wlling[14]提出圖卷積網(wǎng)絡(graph convolutional network,GCN),GCN 與其他圖神經(jīng)網(wǎng)絡相比會更加簡潔高效。許多研究者已將GCN 應用于自然語言處理領域,例如Bastings 等[15]將GCN 層合并到標準編碼器中,用于機器翻譯工作。在最近的研究中,Yao 等[16]將GCN 應用到了文本分類問題上,其結果相較于其他優(yōu)秀的方法有著顯著的提升。
在使用圖神經(jīng)網(wǎng)絡處理文本問題時,通常是將語料庫中的單個文檔或句子當作圖的節(jié)點[17]。相反,在構建語料庫圖時,將文檔和單詞都當作節(jié)點,且沒有建立文檔和文檔之間的關系,將其構造成一個大型異構文本圖來利用語料庫中詞共現(xiàn)信息。首先利用GCN 對建模好的文本異構圖進行特征提取,然后在樣本標簽的監(jiān)督下,同時學習詞和文檔的分布式表示。在其基礎上添加LSTM 層,可有效地捕捉文本局部連續(xù)詞序列信息。再引入注意力機制,抓取重要特征并剔除不重要的信息。
本文工作有以下幾點:1)探索了在使用GCN利用詞共現(xiàn)信息的基礎上添加傳統(tǒng)的LSTM 并引入注意力機制以提高模型捕捉文本局部詞序列信息的思路。2)使用該方法進行商品評論情感分析,采用網(wǎng)上公開的關于洗發(fā)水的評論數(shù)據(jù)集,在正確率和F1值這2 個指標上相較于LSTM 分別提高了2.57% 和2.59% ,與GCN 相比分別提高了0.77% 和0.77% 。
為了提高文本情感分析的準確率,本文通過構造文本異構圖的方式利用語料庫中的容易被忽略的全局詞共現(xiàn)信息,提出了記憶圖卷積神經(jīng)網(wǎng)絡(memory graph convolutional neural network,MGCNN)引入注意力的模型。其網(wǎng)絡結構圖如圖1 所示。
圖1 模型網(wǎng)絡結構圖Fig.1 Network structure diagram of model
整個模型框架主要由構建文本異構圖、MGCNN 和注意力機制3 個部分構成。其中,異構文本圖包括文檔節(jié)點和詞節(jié)點,這樣的結構可以顯式地表達語料庫中的詞共現(xiàn)信息。為了提高網(wǎng)絡模型捕捉文本中的上下文特征的能力,本文在GCN 的基礎上引入了LSTM,將GCN 層和LSTM 層通過類似殘差網(wǎng)絡的結構組成了MGCNN,將多層網(wǎng)絡設計成一個殘差塊可以有效地避免像多層GCN 和LSTM 直接串聯(lián)這種結構產(chǎn)生冗余層,這樣在訓練過程中網(wǎng)絡可以自行判斷出是冗余層并使其進行恒等映射,實驗結果證明這樣的結構十分有效。引入注意力機制可以有效地篩選出重要信息。在實驗過程中,使用Dropout 方法防止過擬合,提高模型的泛用性。最后通過Softmax 分類器進行情感分類。
圖1 中的異構文本圖是由文檔節(jié)點(以“S”開頭的節(jié)點)和詞節(jié)點以及它們間的關系組成的邊所構成的。其中節(jié)點的數(shù)目為語料庫中的文檔數(shù)目和詞匯量的總和,邊包括詞-文檔邊和詞-詞邊。詞節(jié)點與文檔節(jié)點是根據(jù)某個詞是否在某個文檔中出現(xiàn)來確定是否連接,詞節(jié)點與詞節(jié)點間的邊是根據(jù)某兩個詞有沒有同時出現(xiàn)在同一個文檔中(詞共現(xiàn)信息)來確定的。
當詞節(jié)點和文檔節(jié)點之間的邊存在時,它們間的權重設置為詞頻與逆向文件頻率的乘積。詞頻表示是某一個給定的詞語在該文檔中出現(xiàn)的頻率:
其中,nij表示詞ti在文檔dj中出現(xiàn)的次數(shù)表示文檔dj中所有詞的數(shù)量之和。
逆向文件頻率是衡量一個詞語普遍重要性的指標。一個詞語的逆向文件頻率值,由文檔的總數(shù)目除以包含該詞語的文檔的總數(shù)目,再對其商取對數(shù)求得:
逆向文件頻率與詞頻的乘積可以用來量化一個詞在文檔中的重要程度,其值為:
計算兩個詞節(jié)點之間的權重時使用點互信息,統(tǒng)計兩個詞語在文本中同時出現(xiàn)的概率,概率越大,其關聯(lián)度越高:
其中,pi是詞語i出現(xiàn)在語料庫中的概率;pj是詞語j出現(xiàn)在語料庫中的概率;pij是詞語i和詞語j在語料庫中共同出現(xiàn)在同一個文檔中的概率。
除此之外,這里設相同點之間的權重值為1,沒有連接的點之間的權重值為0,可得到包含異構文本圖中所有節(jié)點關系的鄰接矩陣A,A∈Rn×n,其中n為文本異構圖的節(jié)點數(shù):
Kipf 等對GCN 的深入研究表明增加GCN 的層數(shù)并對文本分類效果不佳,本文方法使用了2~3 層GCN。構建的文本異構圖有n個節(jié)點,每個節(jié)點都有自己的特征,用一個d維向量表示,得到特征矩陣X,X∈Rn×d。
將A和X作為輸入通過GCN,就會得到
其中,?是A的度矩陣,對角線上元素依次為各個頂點的度;H是每一層提取的特征,對于輸入層,H就是X;σ是非線性激活函數(shù)。
根據(jù)上述公式,第一層GCN 的輸出為H1。接下來分別將H1作為輸入通過GCN 層和LSTM 層。
LSTM 有3 個門,分別稱為忘記門、輸入門和輸出門。LSTM 可以通過這3 個門完成刪除信息或者添加信息的功能。LSTM 首先通過忘記門來處理需要丟棄的信息:
下一步是決定添加哪些新的信息。利用ht-1和xt通過輸入門來完成:
根據(jù)上一時刻的記憶狀態(tài)Ct-1,計算當前的記憶狀態(tài)Ct:
最后計算輸出門ot,用來判斷輸出哪些狀態(tài)特征:
由此,最終的輸出ht:
其中,w f,wi,wc,wo均為權值矩陣;b f,bi,bc,bo均為偏置向量。
最終,H1通過第二層GCN 層得到特征H2,H1通過LSTM 層得到特征ht,兩者維度大小相同,將這兩組特征相加,得到高級文本特征H。
在深度學習中,注意力機制的核心目標是從大量信息中篩選出對當前任務目標來說更為關鍵的信息。在MGCNN 提取文本特征后,注意力模型通過對不同的文本特征分配不同的注意力權重來實現(xiàn)對重要信息的篩選,以此提高文本分類的準確率。
注意力層的具體流程如下:
式(13)~(15)中,ut是H的隱層表示;αt是經(jīng)Softmax 函數(shù)處理后的歸一化權重系數(shù);uw是一個隨機初始化的向量;si是第i 個句子或詞語的向量表示。
在實驗中,本文使用標記好的商品評論信息對MGCNN 模型進行測試。將實驗結果與現(xiàn)有的一些深度學習方法相比較。
實驗所用的數(shù)據(jù)集采用網(wǎng)上公開數(shù)據(jù)集,包括在京東網(wǎng)和攜程網(wǎng)上爬取的用戶對于衣服和洗發(fā)水的評論,根據(jù)評論內(nèi)容中所帶的情感色彩,將其分別打上兩類情感標簽,積極情感的標簽為1,消極情感的標簽為0。最終每類實驗數(shù)據(jù)都包含5 000 條積極情感文檔和5 000 條消極情感文檔。數(shù)據(jù)集的匯總統(tǒng)計信息如表1 所示。
表1 實驗數(shù)據(jù)設置Tab.1 Experimental data setting
模型中各層網(wǎng)絡的超參數(shù)設置如表2 所示,其中GCN_layer1 層的輸入向量維度為文本圖的總節(jié)點數(shù),表中的12 098 維是衣服評論數(shù)據(jù)集的輸入向量維度。訓練中使用Adam 優(yōu)化器來對本模型進行最多200 epochs 的訓練,如果Loss 連續(xù)20 epochs 都沒有減小,則提前停止訓練。Adam 優(yōu)化器中的超參數(shù)學習率設置為0.02。
表2 模型參數(shù)設置Tab.2 Model parameters setting
實驗針對用戶對于衣服和洗發(fā)水的評論進行情感分析,將本文的方法與多種常見的深度學習方法相比較。將經(jīng)過Word2vec 訓練的詞向量作為這些網(wǎng)絡的輸入,設置以下多組對比試驗。本文在實驗中設置了固定的隨機種子,保證每次實驗結果都是一致的。實驗主要以情感分析結果的正確率Acc(accuracy)、精度P(precision)、召回率R(recall)和F1值作為評價指標。
TextCNN[7]:單一的TextCNN。
LSTM[10]:單一的LSTM。
DPCNN[12]:單一的DPCNN。
Transformer[13]:基于Google 提出的模型框架。
GCN[16]:兩層GCN。
多組對比試驗如表3 所示,從正確率Acc和F1值兩組數(shù)據(jù)來看,在衣服評論數(shù)據(jù)集上,GCN 比DPCNN 的Acc高 約1.31%,與LSTM 相 比,Acc高 約0.52%,F(xiàn)1值達94.15%,均優(yōu)于這兩個模型;而TextCNN 和Transformer 網(wǎng)絡的表現(xiàn)比DPCNN 和LSTM 更差一點。在洗發(fā)水評論數(shù)據(jù)集上,GCN 比LSTM 的Acc高 約1.80%,比DPCNN 的Acc高 約1.23%,F(xiàn)1值達93.33%,其精度P 和召回率R 也均比其他傳統(tǒng)方法更優(yōu)。由此可見,GCN 在處理商品評論情感分析問題上的效果更好,這是因為GCN 對于文本的全局詞共現(xiàn)信息的利用更加充分。由于GCN 在將數(shù)據(jù)集構造成文本異構圖的時候就已經(jīng)對文本的信息進行了歸納和提取,因此GCN的訓練時間也要比傳統(tǒng)深度學習方法短很多。
本文的方法與原始的GCN 相比,在衣服評論數(shù)據(jù)集上,Acc高約0.49%,F(xiàn)1值高約0.50%;在洗發(fā)水評論數(shù)據(jù)集上,Acc高約0.77%,F(xiàn)1值高約0.77%;本方法在兩個數(shù)據(jù)集上的精度P 和召回率R 也都比GCN 有提高。從表3 中可以發(fā)現(xiàn)傳統(tǒng)深度學習方法中的LSTM 在兩個數(shù)據(jù)集上均有較好的表現(xiàn),LSTM 可以很好地捕捉文本中的上下文特征,這是GCN 所不擅長的。本文的方法就是在GCN 的基礎之上巧妙地整合了LSTM 的優(yōu)點,同時引入注意力機制模型,給所提取到的特征信息分配不同的權重,來獲得更重要的局部特征信息。即在網(wǎng)絡模型分析文本信息時,重點利用文本中可以表現(xiàn)情感的詞語的特征信息,從而達到提高情感分析準確率的目的。
表3 對比實驗結果Tab.3 Comparison of experimental results
為了驗證在只能夠收集到少量的商品評論作為數(shù)據(jù)集的情況下,該方法仍有較好的效果。本文設置了逐漸減少訓練集數(shù)量的對比試驗,從總數(shù)據(jù)集中隨機取出1%、5%、10%、20%的樣本作為實驗數(shù)據(jù)集,分別對應4 種不同大小數(shù)據(jù)集的情況。其中,每組都是以實驗數(shù)據(jù)集的80%為訓練集,20%為驗證集,其余的總數(shù)據(jù)集中的樣本全部作為測試集。
以衣服評論數(shù)據(jù)集為基礎的實驗結果如圖2(a)所示。從驗證集的正確率Acc上來看,在20%數(shù)據(jù)集的情況下,本文方法的Acc比GCN 稍高,與其他方法已經(jīng)拉開了差距。并且隨著數(shù)據(jù)集的減少,其正確率下降的趨勢要更加緩慢。當只有1%數(shù)據(jù)集時,本文方法仍有90%左右的正確率。圖2(b)是洗發(fā)水評論數(shù)據(jù)集的實驗結果,其中5%數(shù)據(jù)集時,本文方法比GCN 稍低。其余情況下的正確率均要高于其它模型,且更加穩(wěn)定。
總體而言,本文方法在兩個數(shù)據(jù)集上,使用少量的訓練集來訓練就能夠取得較好的分類效果。尤其在只有1%數(shù)據(jù)集,約100 個樣本的情況下,本文方法的正確率要明顯地優(yōu)于其他方法,有較高的實用性。
圖2 評論數(shù)據(jù)集小數(shù)據(jù)測試:(a)衣服,(b)洗發(fā)水Fig.2 Small data test of comment dataset:(a)cloths,(b)shampoos
本文提出了一種MGCNN 引入注意力機制的商品評論文本情感分析方法。將文本信息構建成一個大型的文本異構圖,讓LSTM 學習GCN 從文本異構圖中提取的特征,從而解決了傳統(tǒng)深度學習模型無法較好利用全局詞共現(xiàn)信息所包含的非連續(xù)和長距離語義的問題,同時也補充了GCN 捕捉文本中的上下文特征能力的不足,并引入注意力模型來篩選重要特征,以達到提高情感分析準確率的目的。通過實驗證明了MGCNN 引入注意力機制模型在商品評論情感分析問題中的有效性和實用性,同時發(fā)現(xiàn)在小樣本學習中,本方法的準確率仍有很大的提升空間,因此,下一步的工作重點就是將改進的本方法運用到小樣本學習中。