馬曉寧,趙志峰
(中國民航大學(xué)計算機科學(xué)與技術(shù)學(xué)院,天津300300)
隨著大眾點評等在線網(wǎng)絡(luò)平臺的興起,越來越多的用戶開始通過在線網(wǎng)站的評論了解商家的各方面服務(wù)信息,進而做出選擇。另一方面商家通過分析用戶的消費評價,了解消費者的需求與滿意度,并針對性地調(diào)整經(jīng)營方針政策,滿足消費者需求,提高消費者滿意度。在線網(wǎng)絡(luò)平臺積累了海量的用戶評論數(shù)據(jù),有效挖掘處理這些評論數(shù)據(jù),從中挖掘消費者的情感態(tài)度意義重大。
文本情感分析(Sentiment Analysis)指使用自然語言處理和文本挖掘技術(shù)對帶有情感色彩的主觀性文本進行分析、處理和抽取的過程[1]。通過文本對評論文本中的情感信息進行分析,可提取出用戶在一段評論文本中所表達的情感態(tài)度[2]。在情感分析領(lǐng)域,方面級情感分析(Aspect-Based Sent-iment Classification)是一項根本的任務(wù)[3]。對于給定的文本以及這段文本的若干個方面,方面級情感分析的目的是分析文本中各個方面的情感極性。情感極性主要有三種:為積極、消極和中性。例如,“這家店的菜品口味一般,但彩色很好,讓人看了很有食欲,服務(wù)員的態(tài)度也很熱情”這段評論文本中,“菜品”方面情感極性是積極的,而且對于“菜品”之下更加細分的“口味”和“外觀”都給出了積極的評價。對于“服務(wù)”方面的情感極性也是積極的。通過方面級情感分析,挖掘用戶評論中隱含的方面的態(tài)度,深入了解用戶的需求與用餐需求,對商家的經(jīng)營決策指定有重要的指導(dǎo)意義。
使用機器學(xué)習(xí)算法建立有監(jiān)督的情感分類器是研究者常用使用的方法,其中最典型的代表方法有基于特征的支持向量機(Support Vector Mach-ine,SVM)[4]和神經(jīng)網(wǎng)絡(luò)模型[5],其中關(guān)于神經(jīng)網(wǎng)絡(luò)模型的研究越來越廣泛。Zhang等[6]詳細概述各種神經(jīng)網(wǎng)絡(luò)模型在情感分析中的應(yīng)用。Wang等[7]通過注意力機制來捕獲不同的上下文信息對給定方面的重要性,使用LSTM模型對句子進行建模,在方面級情感分析問題中取得成效。Gandhi等[8]提出結(jié)合CRF與Bi-LSTM的模型,應(yīng)用于方面級情感分析中。Kai等[9]提出一種特征提取網(wǎng)絡(luò),減少在方面級情感分析特征提取中的噪聲。Xu等[10]提出一種基于多注意力機制的神經(jīng)網(wǎng)絡(luò)模型,有效解決神經(jīng)網(wǎng)絡(luò)特征提取中的信息丟失問題。Wo-rsham等[11]對近年來多任務(wù)學(xué)習(xí)在自然語言處理領(lǐng)域的貢獻進行了全面的綜述。Akhtar等[12]提出一種基于多任務(wù)學(xué)習(xí)的方面級情感分析模型,在兩種語言情感分類任務(wù)有更好的性能。
評論中包含的各方面情感極性可以真實地反映消費者的偏好需求,針對評論文本情感方面復(fù)雜多樣,且包含多個方面情感的特點,本文提出一種融合層次注意力機制和多任務(wù)學(xué)習(xí)模型的方面級情感分析模型Multitask-Attention-Bi-GRU(簡稱:MTL-ATT-BiGRU),完成評論多方面情感分析任務(wù)。該模型可同時分析多個方面的情感極性,通過注意力機制幫助神經(jīng)網(wǎng)絡(luò)更好地對評論文本進行語義建模。構(gòu)建多任務(wù)學(xué)習(xí)模型,通過參數(shù)共享,強化每個方面情感分類能力。
LSTM神經(jīng)網(wǎng)絡(luò)避免因文本數(shù)據(jù)間隔和長延時而丟失重要的信息,增強了網(wǎng)絡(luò)模型的記憶能力。Cho等人將LSTM的單元狀態(tài)和隱藏層狀態(tài)合并在一起,提出一種更加簡單的LSTM變體——門循環(huán)控制單元(Gated Recurrent Unit,GRU)。GRU模型結(jié)構(gòu)如圖1。
圖1 GRU神經(jīng)單元
在單向神經(jīng)網(wǎng)絡(luò)模型中,狀態(tài)是單向傳遞的,而在文本情感分類任務(wù)中,往往需要將文本的前后詞語聯(lián)系起來,這樣更有利于文本深層次特征的提取,因此需要使用雙向神經(jīng)網(wǎng)絡(luò)。MTL-ATT-BiGRU使用了兩個Bi-GRU神經(jīng)網(wǎng)絡(luò)模型,應(yīng)用于詞編碼器和句子編碼器中,分別在詞層級和句子層級對語義進行建模,實現(xiàn)情感分類任務(wù)。
圖2 Bi-GRU神經(jīng)網(wǎng)絡(luò)模型
評論中的句子或詞語對于情感分析的重要程度不同,神經(jīng)網(wǎng)絡(luò)能夠很好得提取文本信息,但不能區(qū)分文本的重要程度。MTL-ATT-BiGRU模型引入注意力機制(Attention mechanism),根據(jù)任務(wù)需求,為文本中關(guān)鍵的信息分配更多的權(quán)重,使模型能夠關(guān)注到重要的信息。注意力模型結(jié)構(gòu)如圖3所示。
圖3 注意力機制模型
在注意力模型中,上下文向量s由權(quán)重系數(shù)αi和隱層狀態(tài)hi乘積累加而來,計算公式為
(2)
其中:vi和wi表示i時刻權(quán)重系數(shù)矩陣;bi表示i時刻的偏置。
多任務(wù)學(xué)習(xí)(Multi-Task Learning,MTL)任務(wù)之間共享表征,使模型更好地概括主要任務(wù)。多任務(wù)學(xué)習(xí)并行學(xué)習(xí)多個相關(guān)任務(wù),在每個任務(wù)的底層共享表示來促進學(xué)習(xí),提升模型泛化能力。神經(jīng)網(wǎng)絡(luò)中的多任務(wù)學(xué)習(xí)主要有兩種方法:Hard參數(shù)共享和Soft參數(shù)共享。共享Hard參數(shù)是神經(jīng)網(wǎng)絡(luò)MTL最常用的方法,能夠降低過擬合的風(fēng)險。Hard參數(shù)共享如圖4所示。
圖4 Hard參數(shù)共享多任務(wù)模式
針對評論文本方面級情感分類任務(wù),分別在詞級別和句子級別引入注意力機制,更好的識別情感詞語和語句。評論文本方面級情感分類過程如圖所示:
圖5 評論文本方面級情感分類過程圖
評論文本方面級情感分類步驟為:
1)評論文本詞向量為詞編碼器的輸入,詞編碼器使用Bi-GRU神經(jīng)網(wǎng)絡(luò)模型對輸入的文本向量進行特征提取。在評論文本中,地點狀語、時間狀語等對文本情感分類影響極小,而含有感情色彩的詞語將直接影響情感極性。為突出不同詞語對評論文本情感分類的重要性,詞編碼器使用注意力機制,計算每個詞向量的權(quán)重,為不同的詞向量分配相應(yīng)的權(quán)重。
2)詞編碼器處理過的向量序列作為句編碼器的輸入。句編碼器同樣使用Bi-GRU神經(jīng)網(wǎng)絡(luò)模型對輸入的句向量進行特征提取,計算相應(yīng)句向量的權(quán)重,然后輸出處理過后的向量序列。
3)句編碼器處理過的向量序列作為分類器的輸入。分類器包含指定數(shù)量的子分類器,對評論文本進行多方面情感分類,然后輸出最終的情感分類結(jié)果。每個方面的情感分類結(jié)果有四種:正向、負向、中性和未提及。對于評論文本“第一次來這家店吃,一進門就受到了服務(wù)員的熱情招待。這里的招牌菜味道非常棒,尤其推薦糖醋里脊”,“服務(wù)態(tài)度”方面的情感分類結(jié)果為正向,“菜品”方面情感分類結(jié)果為正向,而“價格”方面情感分類結(jié)果為未提及。
圖6 MTL-ATT-BiGRU神經(jīng)網(wǎng)絡(luò)模型圖
MTL-ATT-BiGRU模型通過隱藏層的Hard參數(shù)共享實現(xiàn)多任務(wù)學(xué)習(xí),在輸出層獨立輸出每個方面的情感,實現(xiàn)多方面情感極性的并行判定。模型主要由兩部分構(gòu)成:共享參數(shù)層和輸出層。共享參數(shù)層包含詞編碼器和句子編碼器,用于實現(xiàn)詞語和句子的特征提取。獨立輸出層由多個獨立的分類器構(gòu)成,實現(xiàn)不同方面的情感分類。如圖6所示,模型最底層是Bi-GRU神經(jīng)網(wǎng)絡(luò)層,用于對輸入的詞向量進行建模。詞層級的注意力機制為詞向量分配不同的權(quán)重,最后通過計算不同詞的權(quán)重來組成句子向量。同樣,句子層級也是由Bi-GRU神經(jīng)網(wǎng)絡(luò)層和注意力層組成。最后通過多個獨立softmax輸出不同方面的情感分析結(jié)果。
詞語級別的神經(jīng)網(wǎng)絡(luò)模型的主要作用是對輸入的詞向量進行特征提取。詞注意力層對詞嵌入進行重點詞提取,通過注意力機制識別權(quán)重不同的詞,提高神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)能力。第一個Bi-GRU網(wǎng)絡(luò)的輸入是一條評論文本中的每個詞向量wit,計算公式為
xit=Wvwit,t∈[1,T],i∈[1,L]
(3)
(4)
文本中不同的詞語對于文本情感分類的重要程度不同,引入注意力機制來突出不同詞對文本情感分類的重要度。注意力機制層的權(quán)重系數(shù)為
uit=tanh(Wwhit+bw)
(5)
(7)
其中:hit為Bi-GRU神經(jīng)網(wǎng)絡(luò)層輸出的向量;Ww表示詞向量的權(quán)重系數(shù);bw表示偏置系數(shù);uw表示初始的注意力矩陣。
使用線性層對雙向GRU的輸出進行變換,然后使用sofmax函數(shù)計算單個詞的重要程度,最后通過對雙向GRU的輸出進行加權(quán)平均運算得到最終的句子表示。
句子層的雙向GRU輸入為詞層級加權(quán)得到的句子,經(jīng)過加權(quán)計算不同句子的重要程度,組成一條評論的序列化表示,輸出到輸出層進行情感分類任務(wù)。句子層面的注意力模型與詞層面的注意力模型類似,其計算公式為
(8)
ui=tanh(Wshi+bs)
(9)
(11)
輸出層實現(xiàn)不同方面情感分析的判定,利用多個softmax函數(shù)對上一層的輸入進行相應(yīng)的計算,得到不同方面的情感分類結(jié)果,計算公式為
yj=softmax(w1v+b1)
(12)
其中,w1為權(quán)重系數(shù)矩陣;b1為偏置矩陣;yj為輸出的預(yù)測結(jié)果。
由于采用多任務(wù)學(xué)習(xí)方式,因此在聯(lián)合訓(xùn)練的過程中最終的損失函數(shù)由不同任務(wù)的損失和相加求得,損失函數(shù)為
(14)
使用AI Challenger細粒度情感分析數(shù)據(jù)集作為訓(xùn)練和測試語料,該數(shù)據(jù)集包含了美團和大眾點評網(wǎng)站上約十三萬條評論數(shù)據(jù),數(shù)據(jù)集中的評價對象主要有六個方面,分別是:位置、服務(wù)、價格、環(huán)境、菜品和其它。每個大方面下又有若干細分方面的劃分,總共有20個方面評價對象。每個方面的情感傾向有四種狀態(tài):正向(1)、負向(-1)、中性(0)、未提及(-2)。將數(shù)據(jù)集按照8:2劃分為訓(xùn)練集和測試集,使用Word2Vec模型訓(xùn)練語料的詞向量,詞向量的維度為100。
實驗采用準確度(Accuracy)和F1值作為實驗評價指標。表1表示二分類的混淆矩陣。
表1 二分類混淆矩陣
精確度
(15)
召回率
(16)
準確度
(17)
F1值
(18)
由于本文模型要解決的是多分類問題,因此實驗評估指標精確度和F1值是所有分類指標平均值,即Macro-Accuracy和Macro-F1,計算公式為
(20)
MTL-ATT-BiGRU模型的參數(shù)設(shè)置如表2所示。
表2 模型參數(shù)設(shè)置
主要對比模型有:Attention-LSTM、At-tention-BiLSTM和Attention-DeepLSTM。Attention-LSTM由單向的神經(jīng)網(wǎng)絡(luò)和單個注意力層組成,Attention-BiLSTM包含了前向和后向兩個LSTM以及單個注意力層,而DeepLSTM由兩層LSTM神經(jīng)網(wǎng)絡(luò)和單個注意力層構(gòu)成。
對比模型與本文提出的模型在參數(shù)設(shè)置上保持一致,均按表1中的參數(shù)設(shè)置。由于本文的模型可以同時實現(xiàn)多個方面的情感分類,而上述三種對比模型只能實現(xiàn)單方面的情感分類,因此三種對比模型分別進行兩次實驗,分別選取服務(wù)和價格作為實驗對比的方面。實驗過程中,每種模型迭代20次,取在測試集上取得最高F1值的作為模型的F1值,相應(yīng)的精確度為模型的精確度。
表3 服務(wù)方面實驗結(jié)果
從實驗結(jié)果可以看出,得益于層次注意力機制和多任務(wù)學(xué)習(xí)的相互強化能力,MTL-ATT-BiGRU神經(jīng)網(wǎng)絡(luò)模型經(jīng)過訓(xùn)練之后,在測試集上的精確度和F1值比其它三個模型要好。相比于普通的注意力機制模型,層次注意力能夠在詞層面和句子層面進行權(quán)重賦值,能夠有效提升模型情感分類性能。相較于LSTM網(wǎng)絡(luò)及其改進網(wǎng)絡(luò)模型,本文模型采用的雙層BiGRU網(wǎng)絡(luò)能夠有效提升模型特征提取能力,提升情感分類結(jié)果準確性。
表4 價格方面實驗結(jié)果
MTL-ATT-BiGRU神經(jīng)網(wǎng)絡(luò)模型采用多任務(wù)學(xué)習(xí)模型,可以同時完成多個方面的情感分類任務(wù),從實驗結(jié)果可以看出,由于數(shù)據(jù)集的不均衡性,普通神經(jīng)網(wǎng)絡(luò)在服務(wù)和價格兩個方面的分類任務(wù)中,有一定的波動。而多任務(wù)學(xué)習(xí)模型,通過參數(shù)共享,在多個方面情感分類任務(wù)性能相對穩(wěn)定。
針對評論文本多方面情感分類問題,本文提出來一種融合了注意力機制和多任務(wù)學(xué)習(xí)的評論情感分析模型,使用兩個雙向GRU對評論文本進行詞語和句子特征提取,同時在詞級別和句子級別分別引入了注意力機制,為不同的詞語和句子分別不同的權(quán)重,將不同的權(quán)重引入的詞向量和句向量中,幫助提高語義識別的準確性。同時,模型融合了多任務(wù)學(xué)習(xí)模型,能夠同時完成多個方面的情感分析任務(wù)。實驗結(jié)果表明,本文所提出的模型在精確度提高的同時,具有更高的效率。本文的模型在實現(xiàn)多任務(wù)學(xué)習(xí)時采用的單一訓(xùn)練模型,只考慮了總體的損失函數(shù),而沒有針對單個任務(wù)得到最優(yōu)的損失函數(shù)。下一步可以考慮引入多訓(xùn)練模型,優(yōu)化每個方面任務(wù)的訓(xùn)練與預(yù)測。