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