天天看點

大資料輿情情感分析,如何提取情感并使用什麼樣的工具?(貼情感标簽)

情感分析是學術領域研究多年的課題,用google學術搜尋可以找到很多paper,基本的方法上有基于詞典規則的方法、語言文法的方法,此外還有分類器以及近幾年比較火的深度學習的方法(稍後有詳細介紹)。

大資料輿情情感分析,如何提取情感并使用什麼樣的工具?(貼情感标簽)

各類paper是有一定的借鑒意義的,不過這主要是學術界在單個問題上的細化,要真正從研究領域落地到大資料的處理還有很多工作要做。

工程上的處理流程具體包括以下幾個方面:

1、情感分析任務的界定

在進行情感分析任務的界定時,要弄清楚工程的需求到底是什麼;要分析文本的哪個層面上的情感,比如篇章、段落、句子、短語、詞等粒度;是不是要分析所有的文本還是分析其中的部分文本;準許的錯誤誤差是在個什麼範圍内等。

2、情感分析标準的制定

在實際的企業應用中往往要根據行業的特點來制定一些情感分析的标準,甚至要從客戶的立場中去建立标準。根據國雙實際接觸客戶的經驗,在行業上建立标準後,還需要再具體跟客戶做一些适度調整。

3、 語料資料加工、詞典加工

有了上一步的工作, 接下來進行加工語料或者字典的總結。這一步中不同的方法要做的工作不同,基本上是鋪人力的工作,難點是讓各個語料加勞工員能協調一緻,執行統一的标準 (通常會在這個過程中還會反作用到第二步情感分析标準的制定,因為看到實際資料後會發現标準總會有一些模糊地帶)

4、根據資料特征、規模等選擇合适的方法,并評測方法的優劣

工程中的方法并不是單一的方法,想用一個方法或者模型來解決各類資料源上的問題是不可能的。想要做出好的效果一定是采用分而治之的思想,比如,能用規則精準過的就不需要用分類器。

當應用在實際産品時,最好能結合産品的垂直特點,充分利用垂直行業的特性,比如在金融行業、汽車行業,它們一定有自己的行話,這些行話具有非常明顯的規則或者特征。

情感分析對象的粒度最小是詞彙,但是表達一個情感的最基本的機關則是句子,詞彙雖然能描述情感的基本資訊,但是單一的詞彙缺少對象,缺少關聯程度,并且不同的詞彙組合在一起所得到的情感程度不同甚至情感傾向都相反。是以以句子為最基本的情感分析粒度是較為合理的。篇章或者段落的情感也可以通過句子的情感來計算。

現階段關于情感分析方法主要有兩類:

(一)、基于詞典的方法:

基于詞典的方法主要通過制定一系列的情感詞典和規則,對文本進行拆句、分析及比對詞典(一般有詞性分析,句法依存分析),計算情感值,最後通過情感值來作為文本的情感傾向判斷的依據。

做法:

基于詞典的情感分析大緻步驟如下:

對大于句子力度的文本進行拆解句子操作,以句子為最小分析單元;

分析句子中出現的詞語并按照情感詞典比對;

處理否定邏輯及轉折邏輯;

計算整句情感詞得分(根據詞語不同,極性不同,程度不同等因素進行權重求和);

根據情感得分輸出句子情感傾向性。

如果是對篇章或者段落級别的情感分析任務,按照具體的情況,可以以對每個句子進行單一情感分析并融合的形式進行,也可以先抽取情感主題句後進行句子情感分析,得到最終情感分析結果。

參考及工具:

1. 常見英文情感詞庫:gi(the general inquirer)、sentiwordnet等;

2. 常見中文情感詞庫:知網、台灣大學的情感極性詞典;

3. 幾種情感詞典建構方法:基于bootstrapping方法的predicting the semantic orientation of adjectives及determining the sentiment of opinions兩種最為經典的詞典建構方法。

(二)、 基于機器學習的方法:

情感詞典準确率高,但存在召回率比較低的情況。對于不同的領域,建構情感詞典的難度是不一樣的,精準建構成本較高。另外一種解決情感分析的思路是使用機器學習的方法,将情感分析作為一個有監督的分類問題。對于情感極性的判斷,将目标情感分為三類:正、中、負。對訓練文本進行人工标注,然後進行有監督的機器學習過程,并對測試資料用模型來預測結果。

處理過程:

基于機器學習的情感分析思路是将情感分析作為一個分類問題來處理,具體的流程如下:

1、 文本預處理

文本的預處理過程是使用機器學習作用于文本分類的基礎操作。由于文本是非結構化資料及其特殊性,計算機并不能直接了解,是以需要一系列的預處理操作後,轉換為計算機可以處理的結構化資料。在實際分析中,文本更為複雜,書寫規範也更為随意,且很有可能摻雜部分噪聲資料。整體上來說,文本預處理子產品包括去噪、特征提取、文本結構化表示等。

特征抽取:中文最小語素是字,但是往往詞語才具有更明确的語義資訊,但是随着分詞,可能出現詞語關系丢失的情況。n-元文法正好解決了這個問題,它也是傳統機器學習分類任務中最常用的方法。

文本向量化:對抽取出來的特征,向量化是一個很重要的過程,是實作由人可以了解的文本轉換為計算機可以處理資料的重要一步。這一步最常用到的就是詞袋模型(bag-of-words )以及最近新出的連續分布詞向量模型(word embedding)。詞袋模型長度為整個詞表的長度,詞語對應次元置為詞頻,文檔的表示往往比較稀疏且次元較高。embedding的表示方式,能夠有效的解決資料稀疏且降維到固定次元,更好的表示語義資訊。對于文檔表示,詞袋模型可以直接疊加,而embedding的方法可以使用深度學習的方法,通過pooling得到最終表示。

特征選擇:在機器學習分類算法的使用過程中,特征好壞直接影響機器的準确率及召回率。選擇有利于分類的特征,可以有效的減少訓練開支及防止模型過拟合,尤其是資料量較大的情況下,這一部分工作的重要性更加明顯。其選擇方法為,将所有的訓練語料輸入,通過一定的方法,選擇最有效的特征,主要的方法有卡方,資訊熵,dp深層感覺器等等。

目前也有一些方法,從比句子粒度更細的層次去識别情感,如基于方面的情感分析(aspect based sentiment analysis),他們從産品的評價屬性等更細粒度的方面對評價主體進行情感傾向性分析。

2、分類算法選擇

文本轉換為機器可處理的結構後,接下來便要選擇進行機器學習的分類算法。目前,使用率比較高的是深度學習(cnn,rnn)和支援向量機(svm)。深度學習的方法,運算量大,準确率有一定的提高,是以都在做這方面的嘗試。而支援向量機則是比較傳統的方法,其準确率及資料處理能力也比較出色,很多人都在用它來做分類任務。

本文作者:by 崔維福

來源:51cto

繼續閱讀