?

基于多特征提取的中文微博輿情分類研究

2016-02-21 00:56
關鍵詞:表情符號情感性輿情

林 偉

(福建警察學院偵查系, 福建福州 350007)

基于多特征提取的中文微博輿情分類研究

林 偉

(福建警察學院偵查系, 福建福州 350007)

對微博情感分類,及時掌握微博上發布信息狀態是網絡輿情監控的重要研究內容。為能有效提取微博樣本的特征,結合微博書寫時口語化、時代化、含表情等特點,提出基于改進N-Gram的微博的多特征項提取算法,并給出基于聚類的KNN分類模型。實驗結果表明,本文提出的算法能夠有效提高微博輿情分類性能。

多特征; 微博輿情; 特征選擇; KNN

0 引言

隨著互聯網技術和移動通信技術的快速發展,微博作為一種新的社交方式具有傳播速度快、交互性強、發布方便等特點而深受廣大網民歡迎。然而,微博在便于人們獲取信息的同時,也為負面信息的快速傳播提供了便利條件。在現實生活中,群體性事件發生時有些惡意分子往往會在微博平臺上同時發布大量虛假信息,通過不知情的用戶及粉絲不斷轉發,借此煽動人們的情緒,使事態進一步惡化。如“郭美美事件”“毒膠囊事件”等公共輿情事件,往往借力微博的傳播速度和廣度導致重大負面影響[1]。

為此,通過對微博的情感進行分類,及時掌握微博上發布信息的動態,對一些帶有煽動、惡意的負面信息的進行輿情監控為網監部門提供參考。目前微博輿情分類的方法有很多。其中采用機器學習算法對微博的情感性進行分類,是微博輿情分類的有效方法之一[2]。

基于機器學習的中文微博情感性分類方法一般先用中文切詞算法提取微博樣本中的特征選項,然后用向量空間模型(Vector Space Model,簡稱VSM)對微博樣本形式化描述。常用的中文切詞分詞算法有基于統計的切詞分詞算法和基于詞典的切詞分詞算法。對于基于詞典的切詞分詞算法,由于微博的書寫偏口語化、時代化(如坑爹、童鞋)的特點,并且微博作者常常用表情符號以表達自己的情感傾向,比如說發布“”表情符號往往表示一種正向的情感傾向。因此,此類算法應用到微博情感性分類中,會因詞典的覆蓋有限而無法有效提取出微博樣本中的特征選項。對于基于統計的切詞分詞算法的典型代表算法——N-Gram切分算法,由于避免了在切詞分詞過程中對詞典的依賴搜索,允許中文微博書寫過程中口語化、隨意化等噪聲數據,更適用于對微博的情感性分類。

本文在分析中文微博書寫特點的基礎上提出一種多特征的微博特征項提取算法,實驗結果表明,該方法能夠有效提高微博輿情分類的性能。

1 微博預處理

1.1 N-Gram切分算法

N-Gram切分算法的思路是:假設有字符串S,那么S的N-Gram項就表示按一個字符進行窗口移動且長度N切分原詞得到的詞段,也就是S串中所有長度為N的子串。以漢字為例,對于句子“元芳,你怎么看”,如果n=1,該句子(去掉標點符號)的N-Gram切分為“元”“芳”“你”“怎”“么”“看”,簡稱“unigram”。如果n=2,則該句子的N-Gram項為“元芳”、“芳你”、“你怎”、“怎么”、“么看”5個語言單元,簡稱“bigram”。由于現代漢語中75%為雙字詞,如果將長度超過兩字的詞劃分為兩字詞并不會損失太多的信息量[3],因此,在本研究中我們取N-Gram項為兩字詞bigram。

1.2 多特征提取算法(Multi-N-Gram)

N-Gram切分算法應用到微博情感性分類中,由于微博書寫的時代化[4],中文微博短文本中甚至可能還含有英文單詞,如“asshole,我恨死你了,748,”,按照bigram的機械劃分,對于英文單詞“asshole”、表情符號“”及數字串“748”均無法有效提取,而這3個特征選項在表達微博的情感傾向時有較大的貢獻,如對英文單詞“asshole”進行bigram機械劃分為“assh,ssho,shol,hole”,會因與本意相差較大而損失較大的信息量,直接影響情感性分類效果。為能夠有效提取出中文微博中可能含有的英文單詞、數字串、表情符號甚至其他語言類型的文字符號,我們在N-Gram切分算法的基礎上對算法進行改進。

改進的基本思路是對微博字符流每次按一個字節的字符進行窗口滑動,在滑動的過程中判斷字符的編碼,對于英文單詞和數字串我們用漢字、標點符號、停用詞做分界符提取,對于表情符號我們以左、右方括號([、])作為分界符進行提取,對于漢字編碼則采用bigram方法進行提取。同樣,對于其他類型的語言,只要能夠判斷其編碼的類型,按照其成詞規律進行切詞,算法可做到與語言無關性。具體如算法1所示:

算法1.

Input:微博信息流

Output:特征集

Begin: 初始化參數Bow,Tvsm,Lastchar //Bow為候選特征項臨時存放區,Tvsm特征向量存放區

以一個字節為單位讀取字符U //Lastchar為上一個字符類型

If U為ASCII碼

If U為字母或數字

If Bow長度>0 && Lastchar=’漢字’

Bow加入向量表Tvsm中,并清空Bow

End

If U為表情分隔符‘[’

將表情符號加入特征向量Tvsm中,置Lastchar=‘表情’

esle

將字符放入Bow,置Lastchar=‘英文’

Endif

Endif

Endif

If U為漢字編碼

If Bow長度>0 && Lastchar!=‘漢字’

Bow加入向量表中,并清空Bow

Endif

進行bigram切分,并將Bow加入向量表中

Endif

If U 為其他編碼 //算法可擴展性、語言無關性

……

Endif

1.3 特征選擇

由以上切分算法分出來的特征候選項構成的微博向量空間往往會因特征維數過大而造成特征冗余,特征冗余不僅會增加計算量還會影響微博情感性分類度,因此需要選取一定的特征選擇算法對維數進行壓縮。常用的特征選擇算法有互信息(MI)、信息增益(IG)、文檔頻率(DF)、期望值交叉算熵等[5]。本研究中采用互信息(MI)做為特征選擇算法,特征項wi與情感類別C之間的互信息量定義為:

(1)

其中P(wi)表示特征在所有微博中出現的概率,P(C)表示所有微博中屬于C類微博的概率,P(wi,C)表示具有特征wi且類別為C的微博在所有微博中的概率。為了減少互信息量值偏于低頻特征,互信息量計算公式通常變形為:

(2)

其中,P(wi|C)表示具有特征wi且類別為C的微博概率。由于微博情感性分類為二元分類,特征wi的互信息量為:

MI(wi)=|MI(wi,C=1)-MI(wi,C=0)|

(3)

即wi分別與正向(C=1,positive)情感微博和負向(C=0,negative)情感微博的互信息量之差的絕對值。對候選特征集中所有特征,計算其互信息量,選擇MI值最大的n個特征構成特征向量空間T(w1,w2,…,wn)。

2 分類模型

2.1KNN分類算法

KNN算法是文本分類中簡單而經典的方法之一,其基本思想是:對待分情感類別的微博使用向量空間模型描述為:Mj=〈w1,w2,w3,…,wn〉,假設特征項〈w1,w2,w3,…,wn〉間相互獨立[6]。微博輿情分類的任務就是利用向量夾角余弦公式:

(4)

來計算待分類微博Mj與微博訓練集所有樣本Mi的情感相似度,從微博訓練集中找出與待分類微博Mj最相似的K個微博樣本Ms=〈w1,w2,w3,…,wn〉 (0

(5)

其中p(Mj,c)為Mj與情感性類別c的相似度,Mj在類別c中出現(Mj,c)為1,否則為0,微博Mj的情感性類別決策為:

CMj=arg max (p(Mj,c))

(6)

基于KNN的微博情感性分類的具體流程如圖1所示。

圖1 基于KNN微博情感性分類流程

2.2 KNN-Cluster分類算法

雖然KNN算法是一種經典的文本分類算法,但隨著訓練文本的數據增加,待分類微博樣本需要計算每個樣本的相似度,其極大地影響分類速度及性能。因此,當訓練微博數量達到一定量級時,我們首先對訓練微博樣本集先進行聚類,通過對訓練微博樣本集聚類,使微博樣本組(簇)內微博具有相關性,而簇之間的微博不相關,從每簇中選取與簇中心相關性大于閾值ε的樣本,從而達到對樣本裁剪的目的。算法描述如下:

1)從樣本集中選取樣本m為初始化一個簇;

2)用公式(4)計算剩余樣本Mi與m的相似度;

3)如果sim(m,Mi)大于閾值σ,則將Mi加入當前簇,否則創建新簇;

4)重復上述過程,將原始樣本在給定相關閾值σ內劃分各個簇;

5)使用算術平均法計算各個簇中心,利用公式(4)取與簇中心相似度大于閾值ε的微博樣本為訓練樣本;

6) 根據公式(4)計算待分類樣本Mj與裁剪后訓練樣本的相似度,然后根據公式(5)、(6)確定微博的情感性類別。

3 實驗分析

3.1 實驗設置

3.1.1 實驗基礎

本實驗所使用的數據集來源于新浪開放平臺公開API抓取的中文微博樣本集[7],從中隨機選取8 000個微博樣本集進行人工標注,實驗結果采取10次交叉驗證方法,結果取平均值。

3.1.2 評價指標

為了有效評價微博情感分類性能的好壞,常用評價指標:SP(負向情感微博識別的準確率Precision)和SR(負向情感微博識別的召回率Recall)[8]。

(7)

npositive→positive為正確識別出的負向情感微博數,npositive→negative為正向情感微博被誤識別為負向情感微博數。

(8)

npositive為樣本微博中負向情感微博數的總數。

我們選取F-SCORE 作為性能評測指標 ,公式(8)為F-SCORE的公式

(9)

3.2 實驗結果分析

3.2.1 Multi-N-Gram與BIGRAM、詞典分詞比較分析

實驗中,我們用Multi-N-Gram與Bigram、中科院NLPIR漢語分詞系統(2013版)進行比較實驗。在不同特征數下的F值結果如圖1所示,從圖中可以看出,在同樣的特征數下,Multi-N-Gram算法的F值較其他兩種提出算法的F值均有不同程度的提高。當特征數為2 000左右時,Multi-N-Gram算法的F值達到最高0.875。隨后繼續增加特征數F值并無多大變化,當特征數達到4 000以上時,F值甚至還出現了下降。實驗結果表明:1、使用Multi-N-Gram切分算法對微博進行切分時因考慮中文微博書寫中可能含有的英文單詞、數字串、表情符號等特點,能夠更有效提取中文微博的特征項,從而提高微博情感性分類的性能。2、當特征數達到一定數量時,增加特征數不僅會增加分類計算的復雜性,還會因為噪聲特征項的增加影響分類性能。

圖2 3種特征提取算法的分類性能比較

3.2.2 KNN與KNN-Cluster比較分析

實驗中,我們對KNN與KNN-Cluster分類模型進行比較實驗。在不同特征數下的F值結果如圖2所示,從圖中可以看出,在不同特征數下分類算法的整體走勢與上面實驗類似,在特征數為3 000左右時F值達到峰值,進一步說明上述實驗結果第二點所反映的現象。而在相同的特征數時,KNN-Cluster分類算法在大部份情況下的F值較KNN分類算法的F值有所提高,實驗結果表明:使用聚類算法對微博樣本進行裁剪,在減少分類計算的情況下,分類性能還能夠得到一定的提高。

圖3 KNN與KNN-Cluster算法的性能比較

4 結語

對微博情感性分類,掌握微博動態對微博輿情監控具有重要的現實意義。本文結合微博書寫時口語化、時代化、含表情等特點,分析N-Gram基于詞典切分算法在微博情感性分類中提取特征項存在的缺陷,提出一種在微博字符滑動的過程中通過對字符編碼的判斷,提取英文單詞、數字串、bigram、表情符號等多特征微博候選項提取算法,從而提高微博情感性分類性能。還進一步分析了KNN分類算法存在的一些缺陷,給出一種基于聚類的KNN分類模型,通過聚類,減少訓練樣本數量,取得較好的效果。

[1] 謝麗星,周明,孫茂松.基于層次結構的多策略中文微博情感分析和特征抽取[J].中文信息學報,2012,26(1):73-82.

[2] 單月光.基于微博的網絡輿情關鍵技術的研究與實現[D].成都:電子科技大學,2013.

[3] ZHOU S,GUAN J. Chinese documents classification based on N-grams[C]∥International Conference on Intelligent Text Processing and Computational Linguistics. Berlin: Springer Berlin Heidelberg, 2002:405-414.

[4] 周鵬,蔡淑琴,石雙元.微博危機事件的用戶中心化研究[J].情報雜志,2013(3):2-10.

[5] YANG Y, PEDERSEN J. A Comparative Study on Feature Selection in Text Lategorization[C]∥Proceedings of the Fourteenth International Conference on Machine Learning. Burlington: Morgan Kaufmann Publishers, 1997:412-420.

[6] 基于機器學習的中文博感分類實證研究[J].計算機工程與應用,2012,48(1):1-4.

[7] 基于表情符號的中文微博多維情感分類的研究[J].合肥工業大學學報,2014,37(7):803-807.

[8] 張志琳,宗成慶.基于多樣化特征的中文微博情感分類方法[J].中文信息學報,2015,29(4):134-143.

(責任編輯 于瑞華)

國家自然科學基金(61472329)、福建省教育廳基金(JAT160561)、福建警察學院院級課題(YJ1411)

林偉(1983—),男,漢族,福建警察學院講師,碩士,研究方向為網絡安全、數據挖掘、信息化偵查。

D918.2

猜你喜歡
表情符號情感性輿情
微信表情符號寫入判決:你發的每個表情都可能成為呈堂證供
世界表情符號日
數字輿情
數字輿情
消費輿情
淺論高中生物課堂教學的有效性
音樂美學基本原理對音樂教育的幾點啟示
這個表情符號,你用對了嗎
表情符號玩上癮 時尚愛嘗鮮
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合