黃奇景 付偉
(哈爾濱師范大學 黑龍江省哈爾濱市 150025)
隨著社交網(wǎng)絡的發(fā)展,越來越多的人在社交媒體(如微博,貼吧,論壇等)平臺上進行分享或記錄自己對生活的想法和心情,對生活和事物的理解和看法等,而在這其中也就潛藏了巨大的社會意義和龐大的商業(yè)價值。例如對于電商購物平臺來說,獲取一個用戶對該平臺商品的情感評論和傾向可以使該平臺知道用戶通過該平臺的商品被社會大眾的關(guān)注和接受程度,而通過社交網(wǎng)絡媒體類型比如微博獲得一個用戶的對商品以及實時社會熱點問題的關(guān)注情感和評論傾向則可以防止不良的社會現(xiàn)象和情緒的產(chǎn)生和傳播,以便于有效維護國家和社會的優(yōu)良形象和風氣,而且由于深度的機器學習和移動大數(shù)據(jù)等信息技術(shù)的迅速普及和發(fā)展,給這一點提供了實現(xiàn)的方法和途徑。深度的學習模型具有不需要人為的去構(gòu)建或者調(diào)置神經(jīng)網(wǎng)絡模型的諸多優(yōu)點,只需要簡單的通過把大量的文本情感分析數(shù)據(jù)直接注入和擬合到一個基于神經(jīng)網(wǎng)絡的模型中去就已經(jīng)可以快速的獲得一個能夠具有較好的數(shù)據(jù)擬合和分析能力的深度學習模型,而且隨著數(shù)據(jù)的擬合規(guī)模擴大,模型的分析準確率也同樣就會隨之大幅度的提升。
目前對于短文本的情感分類研究日趨增長,基于詞庫和規(guī)則的情感詞典分類方法屬于一種比較早期的情感分類處理方法,如情感活動詞典分類作為一種重要的中文情感詞典分類處理方法,能夠充分體現(xiàn)文本的非高度結(jié)構(gòu)化的特征。Paltoglou等人[1]采取情感詞典的方法,借助情感活動強弱、極性等多種結(jié)構(gòu)化的語言學因素來設計用來預測分析的函數(shù),對微博文本進行了情感活動分類.在Twitter,MySpace,Digg等多種基于社交網(wǎng)絡媒體的情感分類實驗中,該情感分類方法的準確率最高可達86.5%。在跨領(lǐng)域的情感分類研究中,以機器學習[2]為基礎(chǔ)的分析方法大放異彩,最大程度的規(guī)避了特征工程的影響的同時又通過詞向量[3]獲取了語義信息。Glorot等[4]提出了一種跨領(lǐng)域的SDA方法,該方法首先使用給定的包含多個領(lǐng)域的樣本來訓練神經(jīng)網(wǎng)絡,然后通過利用神經(jīng)網(wǎng)絡學習得到的文本特征表示在源領(lǐng)域上訓練SVM情感分類器。該方法雖然簡單,但是對其訓練時沒有充分的考慮到目標專有領(lǐng)域與源領(lǐng)域間的差異。Dong等人提出將遞歸神經(jīng)網(wǎng)絡應用到方面級別情感分類上,先利用遞歸神經(jīng)網(wǎng)絡獲取情感極性信息,然后后加入句子的句法結(jié)構(gòu)信息輔助模型來提高情感分類準確率[5]。但此類模型對句法依賴性較強,在處理非書面表達時性能表現(xiàn)不穩(wěn)定,如Twitter、微博類數(shù)據(jù)時容易受句法分析錯誤的影響。近年來基于RNN的情感分類模型取得了較好的性能表現(xiàn)[6],例如,Tang等為了對句子之間的關(guān)系進行建模,提出采用層次化RNN模型來對篇章級文本進行建模[7]。但由于RNN網(wǎng)絡本身的特點,如LSTM網(wǎng)絡和門限網(wǎng)絡傾向于重視短期輸入,因此僅僅基于RNN的模型無法很好地捕捉到復雜語句中相對距離較遠的情感極性詞或短語與反面詞之間的潛在關(guān)聯(lián)。后續(xù)的研究表明,通過引入注意力機制有助于解決該問題。
圖1:注意力機制
深度網(wǎng)絡學習方法分類進行詞匯文本分類的第一步工作就是將詞匯文本向量化,利用大量的詞匯文本向量嵌入來表示詞匯文本,作為深度網(wǎng)絡學習模型的文本輸入。詞向量嵌入將一個詞匯向量表中的詞向量表示為一個多維空間中的一個真實值詞匯向量。Word2Vec是一種基于Skip-gram和模型架構(gòu)CBOW的“人工神經(jīng)網(wǎng)絡預測”的模型(連續(xù)預測單詞包)基于模型架構(gòu)。CBOW模型是通過學習文本的上下文信息來對當前單詞進行預測,而Skipgram的模型架構(gòu)恰恰相反,是使用當前的單詞直接預測當前上下文可能出現(xiàn)的單詞。在NLP中傳統(tǒng)的做法都會使用one-hot方法來編碼一個詞,但是這種編碼方法會存在如下的問題:
(1)詞表通常會非常大,致使詞表的向量維度也會非常大,導致向量維度的大爆炸。
(2)使用one-hot對每個詞語進行編碼,無法表征詞與詞之間的內(nèi)在聯(lián)系,因此損失了語義信息。
所以word embeding的優(yōu)勢如下:
(1)每個詞語都被預訓練好的模型映射成為一個固定維度的向量,由此縮減了向量空間大小。
(2)在詞語間具有相似的語義條件下,可能會將它們置于相近的向量空間當中,并且可以通過不斷的訓練獲取特征學習到這組詞語間的內(nèi)在聯(lián)系。
Word2Vec使得我們對于較大的文本進行情感分析成為了可能,避免了維度爆炸和大量無意義的計算,并且還具備有一定的詞語語義的表征能力。
LSTM的即長短時記憶網(wǎng)絡,它是循環(huán)神經(jīng)網(wǎng)絡RNN(Recurrent Neural Network)的一種。標準RNN可以訪問的上下文信息的范圍非常有限,問題在于標準RNN給定了輸入對隱藏層的影響,因此對網(wǎng)絡輸出的影響,因此隨著時間推進會呈指數(shù)級衰減,這被稱為消失梯度問題。長短期記憶(LSTM)是專門設計用于解決消失梯度問題的RNN體系結(jié)構(gòu)。長短時記憶網(wǎng)絡在基本的循環(huán)神經(jīng)網(wǎng)絡中添加了一個核心元素cell。LSTM通過輸入門、輸出門和遺忘門來控制 cell的狀態(tài),并對其刪減或者增加信息。原始的循環(huán)神經(jīng)網(wǎng)絡的隱含層只有一個對短期輸入敏感的狀態(tài),長短時記憶網(wǎng)絡增加了一個用來保存長期輸入的狀態(tài)。
傳統(tǒng)RNN的一個缺點是它們只能利用先前的上下文,而BiLSTM通過使用兩個單獨的隱藏層在兩個方向上處理數(shù)據(jù)來獲取前后雙向的上下文特征,然后將這兩個隱藏層前饋到同一輸出層,這意味著對于給定文本中的每個詞語,BiLSTM都具有關(guān)于其前后所有詞語的完整的序列信息。
如圖1所示,Attention機制是模仿人類的視覺注意力被提出來的,人類的視覺注意力雖然存在很多不同的模型,但它們都基本上歸結(jié)為給予需要重點關(guān)注的目標區(qū)域(注意力焦點)更重要的注意力,同時給予周圍的圖像低的注意力,然后隨著不同時間的需求調(diào)整焦點。注意力機制就是對輸入權(quán)重分配的關(guān)注,最開始使用到注意力機制是在編碼器-解碼器(encoder-decoder)中,注意力機制通過對編碼器所有時間步的隱藏狀態(tài)做加權(quán)平均來得到下一層的輸入變量。從算法上來理解,我們可以把注意力機制和池化做類比,即將卷積神經(jīng)網(wǎng)絡中的池化看成一種特殊的平均加權(quán)的注意力機制,或者說注意力機制是一種具有對輸入分配偏好的通用池化方法(含參數(shù)的池化方法)。
使用注意機制,我們不再讓解碼器嘗試將完整的源語句編碼為固定時間長度的向量。相反,我們已經(jīng)允許解碼器在根據(jù)輸出句子生成的每個句子中按步驟"參加"到源句子的不同組成部分,學習一些需要特別注意的內(nèi)容,解碼器的模型會非常有順序地進行選擇需要做的事情。
在這里,X是我們的輸入文本,Y是我們由目標解碼器分析和產(chǎn)生的目標詞。注意力機制核心體現(xiàn)在每個目標解碼器輸出字符的Yt,不是取決于最后一個輸入狀態(tài),而是所有解碼器輸入狀態(tài)的一個加權(quán)組合。α是對輸入狀態(tài)的非線性分布,一般都被歸一化成總和為1,它代表的是每個解碼器輸入狀態(tài)對輸出字符的影響因子。例如,假設輸入狀態(tài)α7,5是一個較大數(shù)字,這就意味著輸入文本中的第5個輸入狀態(tài)對解碼器在產(chǎn)生目標句子的第7個單詞時的影響比重較大,亦即目標詞對該輸入狀態(tài)給予了很大的關(guān)注。
本文中開發(fā)實驗的環(huán)境如下:使用的操作系統(tǒng)為Windows 7,cpu是Intel corei5-7500,內(nèi)存大小DDR3 16gb,開發(fā)環(huán)境為tensorflow 1.13.1,開發(fā)工具使用的是jupyter notebook。
表1:模型訓練集和測試集Accuracy
本文數(shù)據(jù)集為IMDB電影評論數(shù)據(jù)集,分為積極和消極評價兩類分類,訓練集25,000樣本,測試集25,000樣本。
為了驗證本文主要提出的神經(jīng)元模型的分類和性能,傳統(tǒng)的機器智能學習采用SVM兩個模型進行了對比分析實驗。其中兩個模型的參數(shù)優(yōu)化器分別為:關(guān)鍵詞向量為200維,BiLSTM層神經(jīng)元的數(shù)目128個,采用了交叉熵計算的損失函數(shù),優(yōu)化器為:Adam,epoch為20。實驗結(jié)果表明本文提出的模型在測試集的精度可以達到91.8%,而SVM則為85.7%。如表1所示。
本文與傳統(tǒng)的機器學習算法SVM模型進行對比,實驗結(jié)果表明本文分類效果明顯優(yōu)于SVM,提高了文本分類的準確性。
本文主要提出了一種基于BiLSTM的機器學習模型用于進行文本數(shù)據(jù)分類的研究,與其他基于傳統(tǒng)的機器智能學習模型SVM的研究進行了比較,結(jié)果表明本文所提特征融合模型在分類準確率上優(yōu)于對比的模型,本文模型有效地提升了文本分類的準確率。然而本文融合模型并未使用深度較深的BiLSTM網(wǎng)絡,未來將研究深度較深的BiLSTM網(wǎng)絡對文本分類準確率的影響。