文字情感分析

2021-10-03 03:51:39 字數 1950 閱讀 8444

基於情感詞典的方法:

基於情感詞典的文字情感分類規則比較機械化。簡單起見,我們將每個積極情感詞語賦予權重1,將每個消極情感詞語賦予權重-1,並且假設情感值滿足線性疊加原理;然後我們將句子進行分詞,如果句子分詞後的詞語向量包含相應的詞語,就加上向前的權值,其中,否定詞和程度副詞會有特殊的判別規則,否定詞會導致權值反號,而程度副詞則讓權值加倍。最後,根據總權值的正負性來判斷句子的情感。基本的演算法如圖。

★ 更新/新增情感詞典庫的方法:

詞典方法和機器學習方法的區別:(詞典方法以snownlp為例)

1. 使用詞典不能區分情感上的程度級別,如「非常好看」和「好看」的情感判別概率分數是一樣的

2. 詞典判斷不出含否定詞的情況

3. 由於語義表達的豐富性,詞典匹配會出現很大的誤差,判斷不出一些中性詞或正詞反用或反詞正用的情況,如「油耗高」(高是正面的詞彙,但表達的是負面的意思)、」話費減少了「(減少是負面的詞彙,但表達的是正面的意思),【奧結局這類問題需要用到深度學習,機器學習可能也沒辦法完全解決】。而機器學習的方法精確度更高,可使用的場景更多樣。無論是主客觀分類還是正負面情感分類,機器學習都可以完成任務。

4. 詞典的語料是通用的,無論是手機、電腦這些商品,還是書評、影評這些語料,都可以適用。但機器學習則極度依賴語料,把手機語料訓練出來的的分類器拿去給書評分類,那是注定要失敗的。

5. 詞典匹配是直接計算文字中的情感詞,得出它們的情感傾向分值。而機器學習方法的思路是先選出一部分表達積極情感的文字和一部分表達消極情感的文字,用機器學習方法進行訓練,獲得乙個情感分類器。再通過這個情感分類器對所有文字進行積極和消極的二分分類。

基於機器學習的方法:

主要會用到nltk、scikit-learn(機器學習)或深度學習的程式包,參考

nltk 主要負責處理特徵提取(雙詞或多詞搭配需要使用nltk 來做)和特徵選擇(需要nltk 提供的統計方法);

scikit-learn 或深度學習包主要負責分類演算法,評價分類效果,進行分類等任務。

1.  有監督意味著需要人工標註,需要人為的給文字乙個類標籤 —— 「積極」或「消極」

比如這句話「手機非常好用!」,我給了它乙個類標籤「positive」。裡面有四個詞(把感嘆號也算上),「手機」,「非常」,「好用」,「!」。我可以認為這4個詞都對分類產生了影響,都是分類的依據。也就是無論什麼地方出現了這四個詞的其中之一,文字都可以被分類為「積極」。這個是把所有詞都作為分類特徵。

3.   降維(詞向量化):通過一定的統計方法找到資訊量豐富的特徵。

特徵降維說白了就是減少特徵的數量。這有兩個意義,乙個是特徵數量減少了之後可以加快演算法計算的速度(數量少了當然計算就快了),另乙個是如果用一定的方法選擇資訊量豐富的特徵,可以減少噪音,有效提高分類的準確率。

4. 轉換成適合的特徵形式:在使用分類演算法進行分類之前,第一步是要把所有原始的語料文字轉化為特徵表示的形式。

在nltk 中,所選擇作為特徵詞其形式是這樣的:[ , positive]

5. 把用特徵表示之後的文字分成開發集和測試集,把開發集分成訓練集和開發測試集。

6. 用不同的分類演算法給訓練集構建分類器,用開發測試集檢驗分類器的準確度(選出最佳演算法後可以調整特徵的數量來測試準確度)。

在選出最好的分類演算法之後,就可以測試不同的特徵維度對分類準確度的影響了。一般來說,特徵太少則不足以反映分類的所有特點,使得分類準確率低;特徵太多則會引入噪音,干擾分類,也會降低分類準確度。所以,需要不斷的測試特徵的數量,這樣才可以得到最佳的分類效果。

7. 選擇出開發集中最佳的分類演算法和特徵維度,使用測試集檢驗得出情感分類的準確度。

參考:1) 

2)3)

snownlp文字情感分析使用

snownlp為python版的文字分析工具,ubuntu安裝snownlp命令為 pip install snownlp。利用snownlp可以進行分詞 詞性標註 文字摘要提取 文字情感分析等,下面貼出snownlp分詞 詞性標註 情感分析 如下 from snownlp import snown...

文字情感分析當前研究熱點

先介紹文字情感分析主要的資料集 stanford sentiment treebank11855個句子劃分為239231個短語,每個短語有個概率值,越小越負面,越大越正面鏈結 imdb100,000句子,正面負面兩類鏈結 附lstm和cnn實現imdb資料集 yelp無 鏈結 multi domai...

NLP文字情感分析資料收集

基於tensorflow中文情感分析 後續再調研更新的模型 分析 這幾個 其中三個的資料集都是中文繁體,可以用翻譯軟體翻譯成簡體作為訓練資料。上邊的第三個 比較簡單,易於實現。a.傳統方法 利用積極消極詞典進行打分分類 b.基於機器學習的文字分類方法 基於特徵,利用文字分類模型。在進行文字分類過程中...