王晰墨
(沈陽化工大學 遼寧省沈陽市 110000)
當代社會信息快速傳播,人們越來越愛上網(wǎng)瀏覽新聞,發(fā)表評論,同時也深受網(wǎng)上信息的影響。例如,在去飯店吃飯的路上,我們就會首先打開評論軟件看一下大家對這家飯店的評論和態(tài)度。在買一件東西的時候,也會下意識的看一下其他人對東西的評論。而且我們也越來越愛在各種社交軟件上發(fā)表自己的動態(tài),發(fā)表自己的日常生活。而微博正是當代最熱門的軟件之一。但是微博上的信息廣泛且雜亂,沒有什么規(guī)律,并且用語隨意。而情感分析技術能快速且準確的提取信息,提取主題,對輿論進行監(jiān)督,快速抓取情感的傾向,所以情感分析的研究意義深遠。
對情感詞最簡單的分類分析是通過詞語本身的屬性來區(qū)別的,比如可以將詞語的正負屬性作為其中的判決條件之一,如果這個詞是積極的,那么以+1 作為其詞語得分,相反的,如果這個詞表現(xiàn)的是消極的,那么就用-1 作為其詞語的得分。最后我們將句子里所有的單詞的情感得分進行簡單的相加,就會得到一個情感總的分數(shù)。最后以情感總分作為整句話的情感定性。有的文章也對情感進行更細化的劃分,分為特別喜歡的,喜歡的,無感的,討厭的,超級討厭的。很顯然,這種計算方法十分的片面,它忽略了上下文之間的銜接性,也忽略了情感之間的聯(lián)系性以及在一個句子中看似像是中性的詞匯其實是有著自己的感情傾向的。比如,在這樣一個建議的模型中,“not”作為一個消極詞,其得分為-1,相反的“good”作為一個積極詞匯,其得分為+1。然而當“not good”同時使用時,該語句會被分類到中性詞匯中,但是在實際應用中,人們更傾向于將“not good”分到消極詞語一類。
另一種常見方法是就是利用機器學習算法,例如Adaboost 分類器、支持向量機、線性回歸等方法,通過機器學習的方法可以預測未知數(shù)據(jù)的情感狀況。但是,這類有監(jiān)督學習的機器學習方法,在實際應用中,需要根據(jù)已知的情感數(shù)據(jù)作為其訓練集用作參考,并且這類方法的對數(shù)據(jù)集的規(guī)模有較高的要求,需要大量的訓練,這大大增加了工作難度。而非監(jiān)督的學習適用于樣本數(shù)量大,且沒有類別的狀態(tài)。
如圖1 所示,神經(jīng)網(wǎng)絡不需要我們告訴計算機如何處理問題,而是通過從觀測數(shù)據(jù)中學習,計算出他自己的解決方案,自動地從數(shù)據(jù)中學習。神經(jīng)網(wǎng)絡的結構如下:
輸入層的個數(shù)取決于樣本的特征數(shù)量。X1,X2,,,Xm 為輸入個數(shù)。
隱藏層就像是“”黑盒子“把輸入的數(shù)據(jù)特征進行抽象,能更好的線性劃分。
圖3:預測食物詞(藍色)、運動詞(紅色)和天氣詞(綠色)的簇
圖4:基于tweets 訓練數(shù)據(jù)的logistic 分類器ROC 曲線
輸出期望的特征分類。
本文提出了一種基于Word2Vec 的情感分析新方法,該方法可以對語境、語義進行捕捉,并且可以對數(shù)據(jù)規(guī)模進行壓縮。Word2Vec 包含有兩種不同的方法:Continuous Bag of Words(CBOW)和Skip-gram。
CBOW:可以根據(jù)上下文之間的銜接關系來預測當前詞語的幾率。
Skip-gram:通過當前詞語來對上下文的概率進行預判。這兩種方法都是利用人工神經(jīng)網(wǎng)絡作為其分類算法的基礎。在大量的訓練之后就得到了每個單詞的最優(yōu)向量。
通過每個單詞的最優(yōu)向量即可獲得到上下文之間的關聯(lián)信息。然后再利用公式來尋找各個單詞之間的關系。利用詞向量可以對未知的數(shù)據(jù)進行情感狀態(tài)的預測。這種算法模型的優(yōu)點不僅變現(xiàn)在可以銜接上下文語境信息,還可以壓縮數(shù)據(jù)規(guī)模,經(jīng)實驗檢驗500 個單詞左右的詞匯量可以達到常規(guī)分類算法20000 詞匯規(guī)模的效果。因為神經(jīng)網(wǎng)絡可以對語句中的特征信息進行提取,可以減少很多認為的工作。但是對于不同長度的文字段落,我們就只能將所有詞向量的平均值作為一個參考值,從而對整個文本進行分類。
當通過神經(jīng)網(wǎng)絡訓練,對情感文本進行分類時,我們可以將各個段落向量作為一個分類單元輸入到情感分類器中,而不用對單個的詞語進行分別處理。這也是當前情感分析領域最優(yōu)秀的方法。經(jīng)實驗證明,將此方法應用到微博情感分析分類時,該模型分類錯誤的概率僅為5.32%。在python軟件庫中word2Vec方法是可以調用的。
用word2Vec分類方法可以將各個詞語用高維向量空間來表示,用來承接文本中上下文之間的關系。首先使用word2vec 方法,對情感文本進行訓練提取出各個詞向量的權重,最后根據(jù)情感詞典對詞匯的詞性進行評價并篩選出各文本單詞的有用性特征,最后引入人工神經(jīng)網(wǎng)絡對文本的特征值進行訓練和預測,最終即可達到情感分類的目的。而word2Vec 方法則是為文本情感分類提供了一種新的聚類思路。
圖2 中黃色區(qū)域為十分喜歡,綠色為喜歡,紫色為一般,藍色為不喜歡。由此可看出用word2vec 作為基礎方法是可行的。
在訓練完成后,只要輸入想要聚類的詞,即可索引到與其意思最為接近的詞組。
情感詞典的構建:在國內的知網(wǎng)中,中文情感分析用到的詞語集為:
SO-PMI;其中PMI 指的是點互信息,PMI(a,b)=p(a,b)/(p(a)p(b));假設有一個句子的集合,總量為N,其中出現(xiàn)a 的次數(shù)為A,出現(xiàn)b 的次數(shù)為B;a 和b 同時出現(xiàn)在同一句話中的次數(shù)為C,則有p(a)=A/N,p(b)=B/N,p(a,b)=C/N 帶入到公式中就可以算出其PMI 了。
從圖3 可以很好的看出,通過word2vec 情感文本分類新方法可以將不相關的單詞進行很好的分離,并將分離后的單詞進行聚類處理。
經(jīng)訓練后得到其ROC 曲線如圖4 所示。
當我們利用Scikit-Learn 構建模型并進行神經(jīng)網(wǎng)絡訓練時,得到的預測精度為87%。我們發(fā)現(xiàn)當增加或者刪除標點符號時,預測精度會有所影響,這就說明在使用Word2Vec 模型做聚類處理時,能夠提取到文本中的標點符號所攜帶的信息。在處理單個的詞語時,如果對數(shù)據(jù)做更多的預處理工作并訓練更長時間,都能夠使模型的預測精度提高。經(jīng)過實現(xiàn)證明得出結論,在使用人工神經(jīng)網(wǎng)絡(ANN)模型時可以使預測精度再提高五個百分比達到92%左右。
Word2Vec 具有實用性和便捷性。使用一個非常容易而且簡便的算法,我們就可以獲取到非常豐富的詞向量和段落向量,然后就可以把這些向量數(shù)據(jù)應用到各種各樣的 NLP 應用之中,兩者的結合大大提高了精確度。