?

基于深度神經網絡的微博文本情感傾向性分析①

2018-11-14 11:37鈕成明詹國華李志華
計算機系統應用 2018年11期
關鍵詞:隱層準確率向量

鈕成明,詹國華,李志華

(杭州師范大學 信息科學與工程學院,杭州 311121)

2017年11月,新浪發布了第三季度財報,財報指出,截至2017年9月,微博每月有3.76億活躍用戶,日常約1.65億活躍用戶,繼續保持持續穩定的增長.隨著日益火熱的微博,海量的信息在微博迅速傳播.這些看似瑣碎的信息卻富含觀點、傾向和態度,蘊含了龐大的社會價值和商業價值,以辨別微博文本中的情感傾向性,具有重大的現實意義[1].

對文本情感分析國外已經取得了不少研究成果,但是國內由于起步晚,使得對微博短文本的研究成果較少.目前常用的淺層文本情感分析方法: 一是基于情感詞典的文本情分析,二是基于傳統的機器學習方法.第一種分析方法的效果依賴于情感詞典的好壞,而構造一個好的情感詞典需要耗費大量的人力和物力,且在長難句、無情感詞情感傾向明顯的情況下,這種情感分析方法就會失效.基于監督學習的機器學習的方法分類效果比人工效果要好,但是機器學習方法的關鍵之處在于特征組合的選取以及分類器的選取,往往要耗費大量精力,同時,機器學習算法對復雜函數表示能力有限,未深入考慮文本內部含義連接,從而影響了分類的準確.鑒于此問題,本文研究提出了融合深度學習的方法建立模型,研究中文微博情感分析.

1 相關工作

深度學習起源于對人工神經網絡(ANN)的研究[2],它能夠通過模擬人類大腦的結構,提取外部輸入的復雜數據的特征,準確、高效地自動學習知識,因此能夠高效地解決問題[3].傳統的基于詞典的方法與機器學習算法也能夠解決文本的情感傾向性分析工作.文獻[4]對比了Naive Bayes、ME和SVM 這三種機器學習算法對文本進行情感分類的效果.隨著深度學習的研究深入,深度學習也被研究者們成功地應用與自然語言處理領域.如: 文獻[5]提出一種獲取詞向量的基于神經網絡語言模型,統籌考慮局部文本信息與全局文本信息的神經網絡從而更加快速準確的學習到詞語表征,從而可獲得文本主題,結果表明比單獨使用局部文本或單獨使用全局文本的效果要好; 文獻[6]首先基于循環神經網絡(RNN)和卷積神經網絡(CNN)訓練了文本的向量,最終使用普通的人工神經網絡ANN進行序列短文本分類,實驗證明了添加順序信息可以提高預測質量; 文獻[7]用遞歸神經網絡對Twitter數據進行了分析,證明了深度學習應用在文本情感分析領域的可行性; 文獻[8]設計了一個基于注意力的LSTM網絡,用于跨語種情感分類,它能有效的將情感信息從資源豐富的語言適應于資源貧乏的語言,并且有助于提高情感分類的性能.文獻[9]提出了一個統一的CNNRNN模型,用于視覺情感識別.該體系結構利用CNN的多個層次,在多任務學習框架內提取不同級別的特征,并提出了一種雙向RNN,將在CNN模型中不同層次的學習特征整合在一起,從而大大提高了分類性能.一系列的研究表明,深度學習在解決此類問題更具有優勢.

2 算法描述

2.1 基于Word2Vec的情感詞的向量轉換

自然語言處理任務是為了讓計算機使用人類語言,而其中詞向量的任務是要用數字化來表示語言,從而轉變成計算機能夠理解的語言.Word2Vec就是這樣一款用于產生詞向量的相關模型,能夠將自然語言轉換成數值形式,即詞嵌入(Word Embbeding)[10].這個模型既可以在海量的詞典和大規模的數據集上進行高效的訓練,得到的結果又能夠較好的度量詞與詞之間的相似度.Word2Vec這一開源工具用到了CBOW模型和Skip-gram模型這兩個模型(見圖1)[11].

圖1 CBOW模型和Skip-gram模型

由圖1可見,CBOW模型和Skip-gram模型都分別含有輸入層,投影層,輸出層這三層.CBOW模型是依據當前要預測的詞wt的上下文的詞wt–2,wt–1,wt+1,wt+2來預測當前詞wt; Skip-gram模型是依據當前詞wt,預測wt的上下文wt–2,wt–1,wt+1,wt+2.本文使用的是Word2Vec的Skip-gram模型,根據Hierarchical Softmax進行設計的.下面以樣本(w,context(w))為例進行分析.

已知當前詞w,需要對其上下文Context(w)中的詞進行預測,因此目標函數如下:

其中p(context(w)|w)構造的條件概率,定義如下:

其中,

將式(4)依次帶回前面各式,得到對數似然函數的具體表達式,即Skip-gram模型的目標函數:

接著用隨機梯度上升法對其優化,每取一個樣本(context(w)|w)就要對目標函數中的相關參數進行刷新.

θuj–1的更新公式可寫為:

V(w)的更新公式為:

通過對Word2Vec的訓練,可以把中文文本內容轉化成空間向量運算,詞向量的維度與隱層節點數致,從而可以通過向量的相似度判斷詞語相似度.

2.2 基于LSTM改進的循環神經網絡模型

為了實現中文微博情感分析,本文提出了基于Word2Vec和針對LSTM改進的神經網絡模型的網絡結構.該模型是循環神經網絡RNN的變體,RNN結構如圖2所示.

圖2 循環神經網絡的簡化結構

RNN帶有環結構,能夠記住序列前的信息,因此文本序列的處理更適合具有記憶功能的RNN來處理,典型的RNN如圖3所示.

圖3 典型的RNN

圖3中,x為輸入層,o為輸出層,s為隱藏層,V、W、U分別為輸入層、隱層與輸出層的權重,t為第t次的計算次數,其中計算第t次的隱含層狀態時為:

從而實現了當前隱層計算結果與當前的輸入與上一次的隱層計算結果相關,達到了記憶功能的目的.但是由于RNN自身的局限性,使它不能學習到距離相對較遠的相關文本信息,且會導致梯度爆炸或者梯度消失的問題,因而會影響分類效果[12].鑒于此,本文的提出LSTM改進的神經網絡模型模型,將RNN的每個隱藏層全部替換成具有記憶功能的cell,它在處理時間序列和語言文本序列十分有優勢; 且相比于CNN的輸入十分固定,它對非定長數據的輸入表示更加靈活,能很好的學習到距離相對較遠的信息,從而很好的解決了上述的問題[13].

原始的LSTM神經網絡模型是由一個個神經元組成的,每個神經元都相當于一個記憶細胞(cell),細胞彼此循環連接.每個細胞都有輸入門、遺忘門和輸出門三個門.具體結構如圖4所示[14].改進的LSTM循環網絡在各個門進行計算時,接受細胞狀態輸入.一個Cell由輸入門、遺忘門和輸出門以及一個cell單元組成,門使用一個Sigmoid激活函數,Sigmoid激活函數將權重設置為0到1之間的值,而輸入門和細胞狀態通常會使用tanh來轉換.

首先計算輸入門的激活值it和細胞狀態在t時刻的輸入變換:

其次,計算遺忘門記憶細胞在時刻t的激活值:

圖4 LSTM循環網絡“細胞”框圖

本文模型的整體流程如圖5所示: 首先對輸入的預處理之后的句子進行特征提取,即向量化,將句子轉換為詞向量表示之后再輸入改進的LSTM轉換成句向量,最后經過深度神經網絡分類器,輸出最終結果.本模型設計了三層網絡,含有一個隱層,由于增加隱層節點數比增加隱層數的訓練效果更好且更容易實現.為了避免節點過少引發的網絡性能差與節點過多引發的訓練時間過長以及易陷入局部極小值而達不到最優,綜合考慮下用節點刪除法與擴張法確定隱層節點數為128.模型在選擇和決策時參考了上一時刻隱層的狀態,保證了記憶功能.模型權值調整時,前后時間帶來的影響能夠同時作用,保證了訓練出來的模型具有較長時間的記憶功能.

圖5 微博情感分析深度學習模型

3 實驗

3.1 數據收集與預處理

由于本文實驗使用了Word2Vec進行特征提取,而Word2Vec訓練時,樣本量越多,詞量越大,結果可靠性越高; 且本文的模型是基于監督學習的,因此需要已經分好類的句子越多越好.為了實驗的可靠性,從網上搜集了兩萬多條中文標注語料,包含6個不同話題.進過去重與清理空數據,最終選用了21 107條語料,其中包含積極情感的為10 428條,消極情感的為10 679條,以保證在樣本量有限的情況下,詞量盡可能多.將語料大致按照3:1的比例劃分為訓練集與預測集,其中隨機抽取15 000條作為訓練語料,剩下的6105條作為測試語料.

3.2 模型參數設定

本文所提到的模型超參數包括優化函數(optimizer)、學習速率(rate)、迭代次數(epochs)等.為了找到最優超參數,本文選擇固定其他參數,改變可變參數的大小進行試驗.

(1)優化函數

由于本文所使用數據屬于文本挖掘領域,用于訓練的數據是稀疏數據且需要訓練的是一個復雜的深度網絡,因此在選取優化函數上,選擇如下幾種具有自適應性的優化函數.

從圖6可知.當優化函數為RMSprop時,模型準確率約為91.53%,準確率達到最高.從原理上來看,四種超參數都是類似的,因此本文模型單純的選取實驗結果最好的RMSprop作為優化函數.

圖6 優化函數對比試驗結果

(2)學習速率

在優化模型時,學習速率的選取相當重要,過大則容易導致震蕩.過小則會使得收斂過慢.根據學習速率選取策略不斷嘗試,

從圖7可知,隨著學習速率的改變,模型的準確率保持在91%左右,在0.5時達到最高點,隨后稍微降低.出現這種結果,分析原因為當學習效率為0.1及以下時,長時間算法無法收斂,優化效率降低; 當學習效率達到0.5以上時,每次迭代不會減少代價函數的結果,甚至會越過最優值.

圖7 學習速率試驗結果

(3)迭代次數

迭代次數是對訓練集整個訓練一遍的次數,隨著迭代的次數增加,模型逐漸逼近最優,但當迭代次數超過一定的范圍則易產生過擬合,導致模型淡化能力下降.

由圖8可知,隨著迭代次數的增加,模型準確率逐漸增加,當迭代次數為20–30之間時,準確率趨于穩定,且效果不錯.

圖8 迭代次數試驗結果

3.3 實驗結果與分析

本文使用的深度學習框架是Keras,超參數值的選擇是本模型的關鍵,在控制變量的情況下,重要參數的選擇如表1所示,能使最終結果達到最佳.

表1 重要參數選擇

為了避免實驗過程產生過擬合,用不同的測試對象和訓練對象做交叉比對進行訓練.加載預訓練模型在訓練過程中的準確率和損失率曲線如圖9、圖10所示,這樣得到的訓練集的準確率為99.84%,測試集準確率約為91.96%.

圖9 模型準確率

圖10 模型損失率

由圖9,圖10分析得出,本文的模型損失率穩步下降,訓練集的準確率接近100%,在訓練數據迭代到第20次時,準確率與損失率趨于穩定.然而,達到零虧損的模型并不是十分好的事情,應該特別注意防止模型過擬合.

3.3 模型對比實驗

為了證明本模型的有效性,本文做了一組對比實驗,使用了相同數據集,分別與SVM(采用RBF核)、CNN,RNN等模型對微博文本的情感分析效果作對比.主要參數選用相同的數值,具體見表1,實驗結果如圖11所示.本文提出的模型得到了最好的準確率.

圖11 模型對比結果

由圖11可知,相同條件下本文提出的模型準確率高達91.96%,明顯高于其他模型.分析原因: 1)SVM模型主要基于人工經驗進行特征提取,有很大的主觀性; 2) CNN更加擅長處理圖像數據,且注重全局的模糊感知; 3) RNN則注重相鄰近位置的信息,但對于距離稍遠的相關文本信息就不能夠很好的學習到,容易導致梯度爆炸或者梯度消失[15].為了克服上訴問題,本文提出的方法既有效解決了特征提取的難點,又避免了學習不到較遠距離信息的弱點,因此能夠達到更好的效果.

4 結論與展望

本文融合深度學習的思想,基于Word2Vec進行特征提取,用LSTM改進的循環神經網絡的方法實現了中文微博情感分析,且得到了較以往方法更好的測試準確率,證實本文提出的模型可以很好的解決短文本情感分析問題.實驗中尤其要注意過擬合的問題.另外本文提出的模型訓練時間消耗過長,后續將在提高模型的訓練速度做進一步探索.

猜你喜歡
隱層準確率向量
基于RTD可編程邏輯門的n變量函數實現算法
一種自適應確定隱層節點數的增量半監督超限學習機算法
向量的分解
乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
2015—2017 年寧夏各天氣預報參考產品質量檢驗分析
聚焦“向量與三角”創新題
頸椎病患者使用X線平片和CT影像診斷的臨床準確率比照觀察
一種深度梯度提升回歸預測模型
基于RDPSO結構優化的三隱層BP神經網絡水質預測模型及應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合