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