徐 超,葉 寧,2,徐 康,2,王汝傳,2
1.南京郵電大學 計算機學院,南京 210000
2.江蘇省無線傳感網(wǎng)高技術研究重點實驗室,南京 210000
微博是一種分享和評論的平臺,越來越多的用戶通過微博自由地表達自己的觀點和情感。而如今,微博已經(jīng)成為人們溝通及情感交流的重要途徑之一,產(chǎn)生的海量數(shù)據(jù)為文本情感分類提供了數(shù)據(jù)基礎,如何分析微博中用戶的情感傾向已被越來越多的研究者關注,同時成為了自然語言處理的研究熱點。文本情感分析的概念最早由Nasukawa等[1]提出,是對帶有情感色彩的主觀性文本進行分析、推理和歸納的過程,目的是挖掘文本信息中用戶的情感極性。對用戶微博進行情感分析,有助于了解公眾的情感狀態(tài),及時獲取公眾的觀點態(tài)度,可以廣泛應用于商品評價、電影評價和新聞推薦等領域,同時對于輿情控制、民意調(diào)查等工作具有重大意義。
傳統(tǒng)的情感分類技術主要為基于規(guī)則的方法和基于機器學習的方法。基于規(guī)則的方法主要通過經(jīng)驗或者專家意見得到統(tǒng)計特征、情感詞典等來對文本進行情感分類;基于機器學習的方法首先通過人工標注一部分數(shù)據(jù)建立訓練集,然后通過對訓練集數(shù)據(jù)進行特征提取和學習來構建一個分類模型,最后使用分類模型對未知標簽的數(shù)據(jù)進行情感分類。但隨著數(shù)據(jù)量的激增,文本信息的特征越來越復雜,這兩種方法的缺點也逐漸暴露出來,他們過于依賴復雜的特征工程。而深度學習的出現(xiàn)為自然語言處理任務提供了新的手段。例如,Socher等[2]基于遞歸神經(jīng)網(wǎng)絡提出了RNTN(recursive neural tensor network)模型進行情感二分類;Wang等[3]利用長短期記憶網(wǎng)絡對文本情感極性進行分析;Jiang等[4]提出了MANs(mutual attention neural networks)模型用于方面級情感分類;Zhao等[5]基于GCN(graph convolutional networks)建模情感依賴關系,進而進行情感分類。深度學習模型可以針對目標問題自動學習良好的特征,在文本情感二分類任務中取得了很好的效果,但在多分類任務中仍有改進的余地。
考慮到情感分類任務的多樣性,而深度學習模型遇到新的分類任務時往往需要大量數(shù)據(jù)重新訓練才能取得明顯的效果,本文將能夠在小樣本情況下快速適應新任務的元學習與深度學習方法結(jié)合,提出了一種基于MAML與BiLSTM的微博負面情感多分類方法,本文的主要貢獻如下:(1)通過利用現(xiàn)有的微博語料庫和爬取的微博數(shù)據(jù)構建了一個新的微博負面情感數(shù)據(jù)集用于實驗。(2)提出一種基于MAML與BiLSTM的微博負面情感多分類方法。該模型在傳統(tǒng)的BiLSTM的基礎上添加了MAML元學習框架。通過設計相關實驗驗證了新模型在微博情感多分類任務中的有效性。(3)通過設計相關實驗,驗證了在微博情感分類任務中引入MAML,對情感分類任務性能的提升作用。實驗結(jié)果表明,本文模型的性能超過一般的深度學習模型。
是否具有快速學習的能力是區(qū)分人類智能和人工智能的關鍵特征。雖然傳統(tǒng)深度學習在數(shù)據(jù)挖掘中已經(jīng)獲得了很大的成功,但用這種方法訓練出來的分類器,在遇到只有少量數(shù)據(jù)可用或者需要適應任務變化時,通常表現(xiàn)不佳。這主要是因為在學習新任務時缺乏有效的先驗知識。元學習的概念最早由Schmidhuber[6]提出,元學習通過從許多任務的學習經(jīng)驗中獲取元知識來解決上述問題[7-9]。元學習獲得的元知識提供了歸納偏差[10],使得模型可以在多個任務之間泛化,從而產(chǎn)生了高效采樣的快速學習算法。
以往基于元學習的深度學習工作已經(jīng)很多,例如,Graves等[11]研究了使用遞歸神經(jīng)網(wǎng)絡(RNNs)來解決算法任務。他們用一個由LSTM實現(xiàn)的元學習器進行了實驗,但是他們的結(jié)果表明LSTM架構不適合這類任務。然后,他們設計了一個更復雜的RNN架構,其中LSTM控制器被連接到一個外部存儲庫,它可以讀寫,并證明這些記憶增強神經(jīng)網(wǎng)絡(MANNs)實現(xiàn)了比LSTMs更好的性能。Santoro等[12]對LSTM和MANN元學習者的few-shot圖像分類進行了評價,證實了LSTM架構的不足。但是同時也發(fā)現(xiàn)MANNs具有復雜的內(nèi)存尋址體系結(jié)構,很難訓練。Ravi和Larochelle[13]在一個少樣本分類設置中使用了一個類似的LSTM元學習器,傳統(tǒng)的學習器是一個基于卷積網(wǎng)絡的分類器。將元學習算法分解為兩部分:對傳統(tǒng)的學習器初始參數(shù)進行訓練,使其適應于快速的梯度變化;LSTM元學習器被訓練成適應元學習任務的優(yōu)化算法。Finn等[14]研究了一個特殊的情況,元學習器必須使用梯度下降方法來更新分類器,并證明了這個簡化模型(稱為MAML)可以實現(xiàn)等效的性能。Munkhdalai和Yu[15]探索了一種更復雜的權重更新方案,在少樣本分類上獲得了較小的性能改進。在最新的研究中,Xu等[16]提出了一種全新的編碼器-解碼器模式的元學習方法,他們開發(fā)了一種學習迭代更新的方法將上下文信息編碼到任務表示中,元學習器在更新過程中優(yōu)化模型,最終的表示用于約束解碼器對未標記數(shù)據(jù)進行預測,實驗證明該方法在基準數(shù)據(jù)集tieredImageNet[17]取得了最好的結(jié)果。Collins等[18]在MAML的基礎上提出了“任務魯棒性”的概念,他們認為元學習方法僅在某些特定分布的任務中表現(xiàn)良好,因此他們使用新公式重構了MAML,使模型成為任務穩(wěn)健的。
微博出現(xiàn)后,以其獨特的特性吸引著廣大學者紛紛投入文本情感分析的研究。研究工作大多仍是基于規(guī)則的方法、基于機器學習的方法和基于深度學習的方法。例如,栗雨晴等[19]利用相似度計算的方法對情感詞語知識庫進行擴展,構建了一個雙語情感詞典,并采用Gauss混合模型和對稱相對熵的k近鄰算法實現(xiàn)對微博文本的情感分類;劉志明等[20]研究微博文本信息的特征,將機器學習算法和特征選擇結(jié)合對微博文本的褒貶進行分類,實驗結(jié)果表明,在特征選擇時使用信息增益的方法,微博情感分類的效果最好。但是由于這些方法過于依賴特征工程,耗費大量人力,越來越多的研究者開始使用深度學習的方法解決情感分類問題。Santos等[21]以構成單詞的字母為單位,提出基于單詞構造的CharSCNN模型(character to sentence convolutional neural network)。CharSCNN模型以CNN為基礎,采用兩個并行的卷積層分別學習單詞的構造特征和句子的語義特征,充分體現(xiàn)了CNN對文本局部特征抽象和提取能力。該模型在短文本情感二分類時展示了良好的效果。Yao等[22]提出基于Attention的BiLSTM神經(jīng)網(wǎng)絡,定性捕捉其中有用的語義信息。從句子的兩個方向?qū)W習語義特征對短文本進行情感分析,在斯坦福樹圖數(shù)據(jù)集與電影評論數(shù)據(jù)集上實驗,證明該模型較無注意力模型的LSTM性能提高3%。Abdi等[23]構建了以統(tǒng)計知識、語言知識、情感知識、情感轉(zhuǎn)換規(guī)則和詞語嵌入方面為特征向量的新特征集,并證明了使用該特征集可以有效地提升神經(jīng)網(wǎng)絡模型的分類準確率。Chen等[24]提出了新模型Tran-sCap(傳輸膠囊網(wǎng)絡)用于方面級情感分類,膠囊網(wǎng)絡已廣泛應用分類任務和特征提取,相較于CNN,膠囊網(wǎng)絡可以保留更多的信息,在該模型中,他們開發(fā)了一種動態(tài)路由方法,將句子級語義表示封裝為來自方面級和文檔級數(shù)據(jù)的語義膠囊,并使其能夠自適應遷移學習框架。
上述深度學習方法在二分類的情感分類任務上表現(xiàn)良好,但是由于情感多分類問題更細膩,許多情感詞含義之間的區(qū)別十分微妙,深度學習方法在情感多分類問題上仍需改進。并且在實際應用中,情感分類任務多樣,在面對新任務時深度學習模型往往需要大量樣本重新訓練模型。受此啟發(fā),本文將元學習方法引入情感分類任務,考察元學習分類器在小樣本微博情感多分類任務中的效果,構建了一種基于MAML與BiLSTM的微博負面情感多分類方法,同時使用微博負面情感數(shù)據(jù)集構建了情感多分類任務,并設置了多個對比實驗,對本文提出的模型進行驗證。
為滿足實驗需求,構建了一個新的數(shù)據(jù)集:微博負面情感數(shù)據(jù)集。本文將通過爬蟲程序獲取的微博文本數(shù)據(jù)和網(wǎng)絡上現(xiàn)有的微博數(shù)據(jù)資源整合,共獲得了120 566條原始數(shù)據(jù)。然后采用人工標注的方法對新浪微博文本數(shù)據(jù)進行標注,標注小組共為8人,均為實驗室成員,具有相關的專業(yè)知識和正常的認知能力。為了確保數(shù)據(jù)的可用性,采用二輪交叉標注,即每人負責標注一類標簽數(shù)據(jù),標注完成后由第二位成員檢驗,當對標注結(jié)果出現(xiàn)異議時,由第三位成員進行確認,最終構建了一個19 500條數(shù)據(jù)的多標簽數(shù)據(jù)集。
本文在BiLSTM雙向長短期記憶網(wǎng)絡的基礎上引入元學習方法,構建了基于MAML與BiLSTM的微博負面情感多分類方法,整體架構如圖1所示。
圖1 模型架構Fig.1 Model architecture
2.2.1 詞向量表示層
詞向量表示層為整個模型的輸入,在將實驗需要的數(shù)據(jù)向量化之前,首先要根據(jù)few-shot learning中的實驗設置隨機抽取樣本。例如5-way 5-shot的設置,需要從數(shù)據(jù)集中抽取5個類別的樣本,每個類別中的樣本個數(shù)要超過5個。這些樣本將之稱為一個Task,然后將一個Task分為support set和query set。support set包含中5類樣本并且每類樣本個數(shù)為5個,而query set中擁有剩余的所有5類樣本并且通常個數(shù)超過5個以此提高模型的泛化能力。接下來就是數(shù)據(jù)向量化表示階段,此階段需要一個詞典Dd×N,詞典由大規(guī)模語料庫經(jīng)過詞向量化訓練之后得到,可直接使用。其中d為詞向量的維度,N為詞語的個數(shù)。而本文的詞向量化表示就是通過預處理將每條數(shù)據(jù)變成文本序列T={w1,w2,…,wn},然后根據(jù)T中的每個詞w比照詞典中的詞向量,最終獲得整個文本序列的詞向量表示。
2.2.2 BiLSTM層
對于微博文本數(shù)據(jù),需要考慮詞語之間的依賴關系。因此,本文采用BiLSTM算法,這樣既可以同時獲取上下文的語義信息,也可以更充分提取文本中所包含的特征。
LSTM恰好對于長期依賴信息具有很強的學習能力,但一般的LSTM模型僅能捕捉文本中正向的語義關系,對于反向的語義信息無法獲取。因此,本文采用了BiLSTM模型。BiLSTM由正反兩個LSTM模型組成,假設輸入的文本序列為X={x1,x2,…,xn},其中xi(i=i1,i2,…,in)為詞向量。正向的LSTM可以學習到由x1到xn的語義關系,反LSTM同理,這樣就能夠同時獲得上下文信息。LSTM由一個個細胞單元組成,并有三個門結(jié)構來控制網(wǎng)絡中的數(shù)據(jù),它們分別為遺忘門、輸入門和輸出門。具體過程中,首先經(jīng)過的是遺忘門,它用于有選擇地保留上個隱藏狀態(tài)的信息,公式為:
其中,σ為softmax激活函數(shù),Wf為遺忘門權值,ht-1為t-1時刻的隱藏狀態(tài),xt為t時刻的輸入。接下來是輸入門,用于決定當前輸入需要保留多少信息,公式為:
其中,Wi、Wc為輸入門權值。最后為輸出門,獲得輸出以及當前時刻的隱藏狀態(tài),公式為:
其中,Wo為輸出門權值,ct為當前時刻的細胞單元狀態(tài)。在雙向長短時記憶網(wǎng)絡中,輸入n維詞向量,分別通過前后兩個細胞單元,每個時刻的輸出信息都由兩個細胞單元的輸出連接表示,表示為,并且同時考慮上下文的語義信息。在本模型中,由每個Task中support set的數(shù)據(jù)經(jīng)過BiLSTM層訓練,不斷學習并更新學習器參數(shù)。更新后,再由query set的數(shù)據(jù)經(jīng)過該層訓練并計算損失。通過以上的訓練過程,可以為元學習器的學習過程提供所需的信息。
2.2.3 元訓練層
元學習層目的是使模型可以從少量的新數(shù)據(jù)中快速學習新任務。通過元學習,可以用以前的經(jīng)驗指導新的學習任務,從而擁有學會學習的能力。MAML是很適合的算法,它可以很容易地與神經(jīng)網(wǎng)絡結(jié)合,也可以用于其他各種損失函數(shù)。
MAML直接優(yōu)化學習器的初始化參數(shù),使得學習器在面對新任務時,僅使用少量數(shù)據(jù)計算的一步或多步梯度下降步驟更新參數(shù)后,就可以在新任務上達到最大泛化性能,也就是擁有了學會學習的能力。具體過程為,從數(shù)據(jù)集中抽取數(shù)據(jù)并分為多個Task,稱為Ti。在T1的support set上經(jīng)過一次梯度下降得到當前最適應任務的參數(shù)θ,然后在T1的query set上進行測試,從而得到當前任務的損失LT1f(θ)。接下來,在抽取第二個任務,得到相應任務的損失,直到得到任務Tn的損失,并取這些任務的損失總和:
其中f(θ)為損失函數(shù),本文使用的為交叉熵損失函數(shù)。最后使用不同任務上獲得的測試誤差之和作為元學習器的優(yōu)化對象,通過梯度下降的方法更新參數(shù),最終獲得一組初始化參數(shù),將其運用在fine-tune上,以此獲得本文預想的模型,使其在微博負面情感分類任務上,可以僅適用少量數(shù)據(jù)經(jīng)過一次或多次梯度下降就可以達到很好的性能。
本文使用的實驗數(shù)據(jù)為自行標注的新數(shù)據(jù)集:微博負面情感數(shù)據(jù)集。數(shù)據(jù)集分為訓練集和測試集兩部分,每條數(shù)據(jù)包括情感標簽以及文本內(nèi)容。情感標簽總共分為13種,每類標簽擁有1 500條數(shù)據(jù),共計19 500條。各類情感標簽和數(shù)據(jù)樣例如表1所示。本文在不同模型和數(shù)據(jù)集不同劃分比例兩個維度進行了對比實驗。
表1 微博負面情感數(shù)據(jù)集樣例表Table 1 Sample of microblog negative sentiment data set
首先,根據(jù)以往元學習研究的實驗設置,在模型對比實驗中,設置的訓練集包括8類數(shù)據(jù),共計12 000條。測試集包括5類,共計7 500條。在此基礎上進行不同模型的對比實驗。
另外,因為數(shù)據(jù)集中包含的類別較少,在本文方法的基礎上采用了不同的類別比例隨機抽取數(shù)據(jù)分別作為訓練集和測試集進行比較實驗,研究當前數(shù)據(jù)集不同類別比例對實驗結(jié)果的影響。
將微博文本數(shù)據(jù)構建成詞向量時,本文使用IMDB數(shù)據(jù)集作為預訓練的詞向量詞典,訓練過程使用GloVe模型,參數(shù)均為默認設置。在對微博數(shù)據(jù)進行分詞時,使用了python中文分詞組件jieba分詞,此外本文還進行了一系列微博文本預處理,例如繁簡轉(zhuǎn)換、去停用詞、剔除無意義符號等。最終進過詞嵌入過程,得到一個包含46 357個詞的詞向量空間,每個詞的詞向量維度為300。
本文兩種實驗使用了相同的參數(shù),具體的實驗參數(shù)設置如表2所示。
表2 模型參數(shù)表Table 2 Model parameter table
MNB模型(multinomial naive Bayes)[25]:是傳統(tǒng)機器學習代表,曾在大量多分類任務中取得優(yōu)秀的效果。
MCNN模型(multichannel convolutional neural network)[26]:MCNN模型使用多通道的卷積神經(jīng)網(wǎng)絡對文本詞向量的表征進行學習,從而實現(xiàn)對文本情感的分類,它是較早將神經(jīng)網(wǎng)絡應用于情感分析任務的模型。
BiLSTM模型:該模型采用Zaremba等[27]描述的LSTM網(wǎng)絡結(jié)構,基于文本的詞向量表示,結(jié)合雙向長短時記憶網(wǎng)絡捕獲上下文信息進行分類。
Matching nets模型[28]:該模型結(jié)合比較流行的attention結(jié)構和記憶網(wǎng)絡搭建的快速學習網(wǎng)絡,包括特征提取網(wǎng)絡、記憶網(wǎng)絡、距離度量網(wǎng)絡和使用attention模塊的分類網(wǎng)絡。在訓練階段就直接去模仿測試階段時只有少量已標注樣本的情況,模型訓練的過程中會將單個support set和一個測試樣本作為輸入同時進行特征提取,之后通過記憶網(wǎng)絡進一步處理,然后通過距離度量和attention模塊獲得最終預測值,是few-shot learning中常見的模型。
Meta-learn LSTM模型[13]:該模型作者發(fā)現(xiàn)LSTM的更新規(guī)則與一般的梯度下降算法更新規(guī)則類似,因此訓練了一個元學習器LSTM,利用LSTM的單元狀態(tài)更新公式,來學習參數(shù)更新規(guī)則,從而訓練神經(jīng)網(wǎng)絡。
3.4.1 模型對比實驗分析
本文算法與其他算法在相同數(shù)據(jù)集上的實驗結(jié)果如圖2、圖3所示。
圖2 5-way 1-shot實驗結(jié)果Fig.2 5-way 1-shot experimental results
圖3 5-way 5-shot實驗結(jié)果Fig.3 5-way 5-shot experimental results
從圖2和圖3的結(jié)果來看,神經(jīng)網(wǎng)絡模型相較于傳統(tǒng)機器學習整體上更加適合微博負面情感分類任務。通過對比MCNN和BiLSTM模型的實驗結(jié)果,表明在樣本數(shù)量過少情況下,兩者的性能相近,而BiLSTM可以通過后向傳播同時獲得文本數(shù)據(jù)上下文信息,相比MCNN更適用于本任務。Matching nets是few-shot learning中常見的模型,在情感多分類任務中擁有不錯性能,相較于BiLSTM在5-way 5-shot實驗中準確率、召回率和F1值分別提高了3.19個百分點、3.87個百分點和4.68個百分點,說明了在文本情感多分類任務中,記憶增強網(wǎng)絡可以保留重要信息,但同時一個好的學習策略可以使性能繼續(xù)提升。
Meta-learn LSTM在微博負面情感數(shù)據(jù)集上兩次實驗的準確率、召回率和F1值均排在第二位,整體上來說,Meta-learn LSTM的性能明顯超過了前面四種模型,說明元學習思想對于微博負面情感分類任務更加有效。對比BiLSTM-MAML和Meta-learn LSTM模型的實驗結(jié)果,表明BiLSTM-MAML模型在本數(shù)據(jù)集上擁有最好的性能,在5-way 5-shot實驗中擁有明顯的性能提升,準確率、召回率和F1值分別提高了1.68個百分點、2.86個百分點和2.27個百分點??梢?,在數(shù)據(jù)集樣本為情感類文本數(shù)據(jù)時,學習器使用BiLSTM模型可以更加有效地促進元學習器學習過程,同時也充分證明本文方法的有效性。
3.4.2 數(shù)據(jù)集比例劃分的實驗分析
數(shù)據(jù)集不同類別比例及實驗結(jié)果如圖4所示。
圖4 數(shù)據(jù)集劃分實驗Fig.4 Data set division experiment
經(jīng)過實驗發(fā)現(xiàn)訓練集樣本類別數(shù)量過少時分類準確率明顯下降,訓練集與測試集數(shù)據(jù)比例為6∶7時準確率僅有60.48%,相較于其他比例有明顯的下降,在比例為8∶5及以上時,隨著訓練集樣本類別的增加,準確率有小幅的提升,最高提升了0.66個百分點。從總體實驗結(jié)果來看,在訓練樣本充足的情況下,多個比例下的分類準確率趨近,數(shù)據(jù)集類別個數(shù)對實驗影響較小,模型具有一定的穩(wěn)定性。
本文提出了一種基于MAML與BiLSTM的微博負面情感多分類方法,利用現(xiàn)有的情感分析資源和數(shù)據(jù),構建了一個包含13個類別的微博負面情感數(shù)據(jù)集,引入了BiLSTM模型對微博負面情感文本數(shù)據(jù)進行編碼,構建語義表示并訓練參數(shù)。本文通過將BiLSTM與MAML結(jié)合,有效地提升了小樣本學習情況下,模型對于微博文本的情感分析性能。在微博負面情感數(shù)據(jù)集上,本文提出的模型表現(xiàn)出了優(yōu)越的性能和一定的穩(wěn)定性,并在多個指標上超過了當前較好的模型,證明了本文在微博負面情感分析方面的有效性。