?

基于半監督學習的微博情感分析?

2018-09-28 02:30黎樹俊
計算機與數字工程 2018年9期
關鍵詞:置信度分類器準確率

陳 珂 黎樹俊 謝 博

(廣東石油化工學院計算機科學與技術系 茂名 525000)

1 引言

隨著互聯網的發展,作為社交應用的微博,已經逐漸改變人們的交流方式。微博的注冊用戶已經超過5億,每天的微博發博量超過1億條,這些龐大的數據蘊含著很高的價值,其中包含著用戶的情感和觀點。通過對這些數據的分析,可以了解用戶對某個事件的看法和觀點,對某種產品的評價與滿意度和對熱門事件的態度傾向,企業可以利用這些數據來進行產品的生產調整和改進營銷策略,政府可以利用這些數據了解民意,進行輿論監督,合理地進行制度的改進和提高工作效率。

所謂微博情感分析,也就是對用戶情感傾向的判定。如今情感分類的方法很多,典型的方法有基于情感詞典的分類方法[1~2],該方法不需要任何標注樣本,但是其性能并無明顯優勢。比較流行的分析算法有監督學習方法[3],它是利用大量已經有情感標注的樣本來訓練分類器,其準確性高,但是在實際應用中,微博的數據容易獲得但它并沒有情感標注,所以它需要大量的人工來標注樣本,其工作量大大增加,降低其工作效率。面對這種情況,半監督學習方法[4~5]解決辦法。半監督學習是利用少量已標注的樣本和大量未標注樣本來進行有效的情感分類。本文就是利用基于分類器集成的self-training半監督學習方法來分析微博的情感傾向。在半監督學習中,對于已標注文本數量比較少時,集成分類器能比較好地判定樣本的情感傾向,其預測的能力比單個分類器的能力要強,子分類器的意見越統一,說明置信度越高,分歧越大,說明置信度越低。這樣進行情感分類準確率更高。這方面也有不少的人進行研究[6~7],得到可觀的分類效果。子分類器并不是越多越好,子分類器太多不但增加計算的復雜性,也增加了時間復雜度。根據訓練集的大小和分類器的分類特點,合理地選擇分類器起到關鍵的作用。

本文利用子分類器的特點,選擇了三個分類器來進行集成,并根據訓練集的大小,合理地設置了各個子分類器的情感貢獻權重,綜合子分類器的分類結果和其分類能力,將置信度高的預測文本連同它們的預測的標簽一同加入訓練集,有效地降低了時間復雜度,同時也兼顧了準確性。

2 相關研究

情感分析來源于對Tweet的情感分析工作。隨著情感分析技術的不斷發展,提出了很多情感分析的方法,包括監督學習,無監督學習和半監督學習。在最早期的情感分析工作中,Pang等[2]對電影評論文本采用監督學習的方法進行情感分類,Turney等[8]基于無監督的學習方法對文本進行情感分類。

監督學習情感分類是當前的主流。Pang等利用機器學習對文本的情感進行分類,取得很好的分類效果。Melville等[9]在文本情感分類中加入了詞典知識來進行情感分類,提高分類的準確率,盡管監督學習的準確率高,但是由于需要大量的標注樣本,使得情感分類需要很大的標注代價。一種解決辦法便是無監督學習方法,該方法不需要情感標注樣本,但是依賴一些先驗經驗,比如情感詞典、語料庫等來判斷文本的情感。徐群玲[10]等基于SO-PMI方法提出一種計算詞語傾向性的方法,并將其用于中文文本情感分類。Zagibalow[11]等針對中文的商品評價應用一種自動種子詞選取技術的無監督學習方法來進行文本的情感分類。雖然無監督免去大量的人工標注,但是卻由于分類效果不佳,難于滿足實際要求。而半監督是利用少量已標注的情感樣本來標注大量未標注的樣本,有著很好的實用性。近年來,半監督越來越受研究者的喜愛,Wan[12]采用協同訓練的半監督學習方法進行中文文本的情感分類。Li等[13]從個人視圖和非個人視圖出發,將評論語句采用協同訓練進行半監督情感分類。Sindhwani和Melville提出了基于二部圖的半監督學習方法[14]。高偉[15]也對基于集成學習的半監督情感分類進行了研究。Liu等[16]關于微博語料情感不平衡問題,提出了reserver self-trainging的半監督學習方法。

3 基于半監督的微博情感分析

3.1 self-trianing方法

自我學習(self-training)方法是一種最早提出的半監督學習方法,它利用少量的標注樣本來訓練分類器,進一步對未標注的微博文本進行情感預測,找出結果置信度比較高的文本和其預測的情感極性加入到已標注的文本中來,用來繼續訓練分類器,然后進行迭代,從而實現了用少量已標注的文本進行情感分類。圖1是self-training方法的框架。

圖1 self-training方法框架

用一個分類器對未標簽的樣本進行情感預測的結果置信度不夠高,而且由于半監督學習標注的樣本數量不夠多,導致早期無法很好地訓練出準確度高的分類器,很大機率產生錯誤標注,從而引入噪聲。隨著噪聲的增加,會嚴重的影響分類器的分類效果。本文為了說明這種情況,利用傳統的基于SVM的self-training方法與本文方法的對比實驗。

3.2 基于SVM的self-training算法

基于SVM的self-training算法的基本思想就是利用少量的已標注的樣本進行訓練SVM分類器,利用訓練的分類器來對未標注的文本進行分類預測,挑選出距離SVM分類超平面比較遠的文本向量加入到已有標簽的訓練集中,標簽就是分類器預測的結果,用獲得的新的訓練集進一步訓練分類器,一直迭代,直到達到訓練的閾值,其算法見表1。

表1 基于self-training的SVM算法

3.3 基于分類器集成的self-training算法

由于只有少量的標注樣本,無法訓練出準確度高的分類器,導致在對未標注的文本進行情感分類預測時的置信度不高。針對這種情況,本文將采用三種分類器(支持向量機(SVM)、樸素貝葉斯(NB)、基于情感詞典的無監督分類器),同時對文本進行分類預測,整合三種分類器的結果進行最后標簽的確定。設微博文本d的置信度為CS,SVM、樸素貝葉斯、基于情感詞典的分類器對文本d的置信度貢獻值分別定義為SCS、NCS和QCS,則:

其中K1,K2,K3表示各個子分類器的情感貢獻權重。當每個分類器對微博文本進行情感分類預測時,如果情感結果為積極時,則各個分類器的置信度貢獻值設為1,如果情感結果為消極時,則各個分類器的置信度貢獻值設為-1,當|CS|值越大,表示各個分類器的預測意見越統一,置信度越高。利用半監督學習的self-training,將置信度高的樣本加入已標記樣本集,循環迭代,重新利用新的樣本集訓練分類器。

各個子分類器的情感貢獻權重指的是對文本的情感分類結果的影響程度。不同的分類器在對文本進行情感分類時,除了要考慮到該分類器的最終結果,還應該考慮到該分類器的分類能力,分類能力強的分類器對分類結果的影響程度要比分類能力弱的分類器大,而不是一樣大,針對這種情況,本文引入了各個子分類器的情感貢獻權重。分類能力的強弱體現在分類器的分類準確率上,對于同一訓練文本,分類器分類能力強的,其分類準確率也就越高。所以各子分類器的情感貢獻權重(K1,K2,K3)的取值等于各子分類器對同一測試集的分類準確率。

由于訓練階段的不同,各個子分類器有著不同的性能和優勢。為了充分地利用各個子分類器的優勢,本文根據訓練集的數量分為三個訓練階段來調整三個分類器的情感貢獻權重,分別為早期,中期和后期。在各個階段,利用該階段訓練集訓練出的各子分類器對測試集進行情感分類預測,將得到的各子分類器的準確率作為其情感貢獻權重值進行進一步的訓練。在半監督學習中,隨著訓練集的不斷增加,在不同的階段設置不同的情感貢獻權重來提高分類的準確率。該方法充分利用了標注樣本,也有效地降低噪音,從而提高分類的效果。圖2是基于多分類器集成的self-training框架,詳細算法見表2。

圖2 基于多分類器集成的self-training框架

3.4 基于情感詞典的分類

本文利用已有的情感詞典來分析,對于一段微博,里面有很多情感詞語,比如開心、傷心等。根據含情感的詞語的情感程度,人工進行情感權重的賦值,正面詞語賦值為正數,負面詞語賦值為負數。對于程度詞,比如非常、極其等給文本的情感強弱程度上有著很大的影響,根據程度副詞的情感傾向強弱程度人工地設置相應的權值。其分類的步驟如下:

表2 基于多分類器集成的self-training算法

1)將未標注的文本進行分詞和去停用詞等處理。

2)根據文本中的情感詞、否定詞、以及程度詞來計算情感置信度。

對照情感詞典,當:

(1)情感詞在其前后沒有程度詞和否定詞時:按照情感詞的情感權重來計算。

(2)程度詞和否定詞沒有修飾情感詞時:直接忽略。

(3)情感詞有程度詞修飾時:程度詞的權重乘以情感詞的權重。

(4)情感詞有否定詞修飾時:情感詞的權重乘以-1。

3)將一條微博的所有詞的權重相加便得到該文本情感致信度QC。

4)如果QC最后為正數,表明該文本的情感為積極的,如果該文本的QC為負數,表明該文本的情感為積極的。

4 實驗與分析

4.1 特征提取

文本特征是指文本中能區分其他不同文本的特征項,微博文本特征提取要考慮到其短小、快速、碎片化的特點。本文將采用CHI統計方法來提取能顯著表示文本類別的詞匯。CHI統計方法是一種比較好的和廣泛應用的特征選擇方法。對于每個特征項W與類別P的開方值x2的計算方式為

在上式中,N表示文本的總篇數,A表示特征項w在類別p中出現的次數,B表示的是特征項w不在類別p中出現的次數,C表示為類型P時,特征項w不出現的次數。D表示特征項w和類型p都不出現的次數。利用上式計算每個特征項的X2,然后根據開方值的大小來排序,選擇前面值較大的數個詞匯作為特征項。

4.2 特征權值的計算

特征權值表示文本特征在其文本的權重,對分類器的分類起著關鍵的作用,本文使用基于詞頻權重(TF)來計算特征權值。計算方式:

利用上式,從而將文本轉為了詞向量,利于后面的運算。

4.3 實驗數據

本實驗包括兩個不同領域的數據集,分別是微博上關于酒店評論語料和電影評論語料,每個訓練集包含有20000篇評論,其中已標注正負面的各1500篇。從已經標注好的文本中,正負面各隨機抽取200篇來作為測試集,剩下的用來做訓練集。首先對文本進行預處理,將廣告性、重復性的文本和鏈接信息去掉,對句子的特殊符號做正規化處理。本實驗利用python中的分詞工具jieba進行分詞,去掉停用詞后(如表3),利用CHI進行特征提取,用基于詞頻進行權值的計算,最終將文本向量化。本文使用監督學習分類器的樸素貝葉斯(NB)和支持向量機(SVM),以及無監督學習的基于情感詞典分類器,其中情感詞典是來自于HowNet,HowNet包含219個中文程度級別詞語、中文負面評價詞語3116個、中文負面情感詞語1254個、中文正面評價詞語3730個、中文正面情感詞語836個。人工給每個情感詞和程度賦予情感權重,然后進行實驗。

4.4 情感分類評價標準

本文將使用準確率(precision)、召回率(recall)、和F(F-measure)值來評價分類器的性能。計算公式如下:

表3 微博文本的處理前后對比

其中TP表示指定一個類別,能正確分類的文本數目。FN表示指定一個類別,錯誤地分為其他類的文本數目,FP表示指定一個類,分類器錯誤地將其他類分為本類的文本數目。準確率是指測試結果中正確分類的文本占分類結果中分為本類的文本數量的比例。召回率指的是測試結果中正確分類的文本占測試集中所有被人工標注為該類文本的數量的比例。

4.5 實驗結果

本實驗按照上述的方式對微博上關于酒店評論和電影評論的語料分別進行情感分類的實驗,兩組實驗的語料和已標注的訓練集的大小等條件保持一致。在實驗中隨著訓練集的不斷擴大,本文根據訓練集達到總的語料的30%、40%、50%、60%、70%、80%、90%時進行了分類準確度的測試,其對比分析如下圖3和圖4。

圖3 酒店評論的分類效果

本文還在情感分類準確率最高時,分別從準確率、召回率以及F值來更加深入地分析兩種分類方法,實驗結果如表4和表5所示。

其中Proposed Method表示本文提出的方法。從圖3和圖4中的數據分析可知,在兩份語料訓練的整個過程,基于分類器集成的self-training方法分類準確率都比基于SVM的self-training要高,而且在訓練的前期,在已標注文本比較少時,本文的方法表現出可觀的分類性能,主要是因為引入基于情感詞典的無監督分類器來進行分類,提高分類的準確率,有效的控制噪聲的引入。在訓練集不斷的擴大,達到一定程度時,兩種分類方法的分類準確率都會有所降低。這是因為隨著噪聲的逐漸積累,弱化了分類器的分類性能,導致了分類準確率的降低。所以合理地控制訓練的閾值可以提高準確率。

圖4 電影評論的分類效果

從表4和表5中可以看出采用基于多分類器集成的self-training的方法在積極情感分類的準確率平均達到86%,消極情感的分類平均達到了85.8%,這兩方面都比采用基于SVM的self-training的方法準確率高,表現出很好的分類能力。同時,從召回率和F值來看,基于多分類器集成的self-training的方法都比基于SVM的self-training的方法要高。這說明本文所采用方法的有效性。

表4 酒店評論的情感分類結果

表5 電影評論的情感分類結果

5 結語

本文針對微博碎片化等特點,提出基于多分類器集成的self-training的半監督情感分析,可以利用少量已標注的樣本和大量未標注的樣本來訓練出準確率高的分類器。本文通過多個分類器(支持向量機,樸素貝葉斯、基于情感詞典的無監督分類器)參與情感分類的預測,根據訓練集和各子分類器的特點,合理的設置各子分類器的情感貢獻權重,從而達到提高分類準確率的目的,準確率達到86%,比基于SVM的self-training的半監督學習方法有所提高。下一步工作中,我們將在提高分類準確率和效率等方面進行深入研究。

猜你喜歡
置信度分類器準確率
基于數據置信度衰減的多傳感器區間估計融合方法
一種基于定位置信度預測的二階段目標檢測方法
學貫中西(6):闡述ML分類器的工作流程
乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
2015—2017 年寧夏各天氣預報參考產品質量檢驗分析
基于樸素Bayes組合的簡易集成分類器①
頸椎病患者使用X線平片和CT影像診斷的臨床準確率比照觀察
一種自適應子融合集成多分類器方法
校核、驗證與確認在紅外輻射特性測量中的應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合