戴天翔+岑鑫+柳珺文+王帥+歐陽帆
摘 要:該文主要針對(duì)中文微博的細(xì)粒度情緒識(shí)別技術(shù)中的關(guān)鍵技術(shù)展開研究,分析了中文微博的研究難點(diǎn)和微博情感表達(dá)特征,提出了一種微博文本情緒顯性特征的多策略集成分析法。最后實(shí)驗(yàn)組以新浪微博中某一主題為實(shí)驗(yàn)數(shù)據(jù),對(duì)“喬任梁去世”事件這一熱點(diǎn)話題的評(píng)論文本數(shù)據(jù)集進(jìn)行分析,驗(yàn)證了該文的微博情感分析能力,同時(shí)還將情感分析結(jié)果進(jìn)行了可視化展示。
關(guān)鍵詞:微博 情緒 細(xì)粒度 分析
中圖分類號(hào):F83 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2017)03(a)-0209-04
近幾年隨著網(wǎng)絡(luò)通信技術(shù)的發(fā)展,微博已經(jīng)逐漸成為人們喜歡使用的交流工具。人們喜歡在微博上抒發(fā)自己的情緒、表達(dá)自己的觀點(diǎn)。正因如此,大量充滿真實(shí)感情的微博文本已經(jīng)悄悄地成為了情緒分析的重要資源??偠灾?,微博是一種高度社會(huì)化的傳播平臺(tái):它集中了人們廣為熟悉的3種溝通方式——電子郵件、即時(shí)通信工具、媒體的優(yōu)點(diǎn),又都賦予他們社會(huì)化特征[1]。
中文微博是該文的研究對(duì)象,在微博的情感極性判斷上是目前國內(nèi)所集中的研究方向,如分析微博表達(dá)是正面還是負(fù)面,此類研究已經(jīng)取得了一定成績并開始廣泛應(yīng)用,然而若要獲取微博表達(dá)的更細(xì)致的情感時(shí)再采用傳統(tǒng)的粗粒度分析已經(jīng)無法滿足。該文介紹了一種微博情緒細(xì)粒度分析方法,并對(duì)使用上述方法,進(jìn)行了相關(guān)實(shí)驗(yàn),并給出了實(shí)驗(yàn)結(jié)果。
1 中文微博細(xì)粒度情緒分析研究主要相關(guān)技術(shù)
在1995年由麻省理工學(xué)院的Picard教授在其論文Affective Computing中提出了情感分析的概念,是指對(duì)于意見,情緒和情感的計(jì)算研究,同時(shí)情感分析也被稱為情感探測、情緒分類或意見挖掘等[2]。中文微博細(xì)粒度情緒分析研究所要達(dá)到的任務(wù)目標(biāo)為:輸入一整條微博,要求系統(tǒng)去判斷出這條微博中是否包含情緒。本文通過研究多策略集成分析,先對(duì)中文微博文本進(jìn)行預(yù)處理,再將細(xì)粒度情緒分析任務(wù)分為兩個(gè)部分。首先為微博的有無情緒兩類判別,這一部分中主要采用基于迭代的樸素貝葉斯分類算法,無情緒的微博輸出為NONE,有情緒的微博將進(jìn)入第二個(gè)部分。第二步為對(duì)分類為有情緒的微博進(jìn)行七類細(xì)粒度情緒的識(shí)別,輸出為害怕、喜歡、生氣、厭惡、傷心、驚喜、幸福著七類情緒中的一種,該步驟中的主要采用方法為KNN算法。
1.1 細(xì)粒度情緒特征表示及權(quán)值計(jì)算
詞是中文微博文本中最為主要的元素,在文本分析研究中一般是將文本表示成詞向量,然而具體到中文微博的情緒分析中,由于情感詞是本研究所要主要關(guān)注的對(duì)象,所以該研究是將每條微博表示成有關(guān)情感詞的向量。但是,因?yàn)橹形奈⒉┚哂卸涛谋镜奶匦?,所以每條微博一般只包含了很少量的情感詞,而中華漢語言的情感詞庫又極其龐大,情感極其豐富,這樣所表示出來的微博語料向量矩陣將會(huì)非常稀疏,這是不愿看到的情況,在這種情況下不單單會(huì)讓計(jì)算變得異常復(fù)雜,帶來巨大的維數(shù)災(zāi)難,更嚴(yán)重的是會(huì)對(duì)分類性能造成十分嚴(yán)重的不良影響。
該文介紹的一種解決方法是基于大連理工情緒本體庫中定義的21個(gè)小類情感[5],這種方法的大概思路就是將每條微博表示成維度為21維的向量,每一維度對(duì)應(yīng)于21個(gè)小類情感中的一類,簡而言之就是選擇大連理工情緒本體庫中固定的21個(gè)小類情感作為每條中文微博的特征。21類情感[5]為快樂(PA)、安心(PE)、尊敬(PD)、贊揚(yáng)(PH)、相信(PG)、喜愛(PB)、祝愿(PK)、失望(NJ)、疚(NH)、恐懼(NC)、羞(NG)、煩悶(NE)、憎惡(ND)、貶責(zé)(NN)、憤怒(NA)、悲傷(NB)、妒忌(NK)、思(PF)、慌(NI)、懷疑(NL)、驚奇(PC)。這樣就可以使得微博語料的特征矩陣變得不再稀疏,從而方便了計(jì)算,達(dá)到了降維的目的。
1.2 基于迭代的樸素貝葉斯有無情緒分類
樸素貝葉斯學(xué)習(xí)理論是一種基于假設(shè)先驗(yàn)知識(shí)的學(xué)習(xí)方法[3],該算法的思想是對(duì)于等待分類的那些文本,去計(jì)算出這些文本在該特征項(xiàng)出現(xiàn)的情況下各種情緒類別出現(xiàn)的概率,最后依據(jù)情緒類別的概率來進(jìn)行劃分。在預(yù)測一次拋硬幣得到正反哪一面的實(shí)驗(yàn)中,正反兩面出現(xiàn)的概率為均等的先驗(yàn)知識(shí),由一定的背景知識(shí)所得到的初始概率值就被稱為先驗(yàn)知識(shí)。在很多樸素貝葉斯分類的實(shí)際應(yīng)用中,先驗(yàn)知識(shí)通常是由訓(xùn)練集中的各類樣本所占總樣本的比例得到的[4]。例如,在有無情緒二分類中,先驗(yàn)概率可由如下公式得到:
(1)
當(dāng)i=0時(shí),P(h0)等于無情緒微博樣本數(shù)n0比上所有的微博樣本數(shù)N,表示無情緒微博先驗(yàn)概率,當(dāng)i=1時(shí),P(h1)等于有情緒微博樣本數(shù)n1比上所有的微博樣本數(shù)N,表示有情緒微博先驗(yàn)概率。
該文介紹的這種基于迭代的樸素貝葉斯分類算法[5],其主要思想是在實(shí)驗(yàn)人員手頭上有大量的待測試集合的情況下,但已標(biāo)明注釋的訓(xùn)練集偏少,就可以利用大量的待測試集合的數(shù)據(jù)來彌補(bǔ)這些不足之處,具體的過程,可先通過上文公式計(jì)算,獲得假設(shè)先驗(yàn)概率,然后利用樸素貝葉斯公式對(duì)測試集進(jìn)行第一次分類,接著將本次分類得到的結(jié)果再一次作為先驗(yàn)知識(shí)重新計(jì)算先驗(yàn)概率,這就完成了第一次迭代,如此反復(fù)迭代直至分類器的分類精度收斂至最大值或者迭代次數(shù)超過10次。
2 實(shí)驗(yàn)設(shè)計(jì)
2.1 微博文本情感強(qiáng)度判斷分析框架
首先介紹實(shí)驗(yàn)組所設(shè)計(jì)的分析框架如下:
(1)文本預(yù)處理:構(gòu)建情緒詞典、表情符號(hào)詞典,對(duì)微博文本進(jìn)行特征提取、停用詞去除、文本特征向量化等工作,將微博文本表示成可以用于機(jī)器學(xué)習(xí)的格式。
(2)情緒特征權(quán)重及強(qiáng)度計(jì)算:對(duì)特征項(xiàng)量化的文本按照一定公式進(jìn)行情感強(qiáng)度計(jì)算。
(3)情感強(qiáng)度判斷:按照所計(jì)算出的Intensity值進(jìn)行微博文本的情感強(qiáng)度判斷并給出可視化結(jié)果。
分析框架圖如圖1所示。
2.2 構(gòu)建情緒強(qiáng)度詞典
根據(jù)實(shí)驗(yàn)所抓取微博文本特性,根據(jù)某些特征詞匯在人工判定為“有情緒的”實(shí)驗(yàn)文本數(shù)據(jù)中出現(xiàn)的頻率,人工挑選出30個(gè)特征詞,并經(jīng)研究進(jìn)行了對(duì)于“悲傷”這一情緒的強(qiáng)度判定,分為3個(gè)強(qiáng)度,即“有限制的”(Limited)、“中等”(Fair)、“高”(High)。實(shí)驗(yàn)組在統(tǒng)計(jì)基礎(chǔ)之上,將詞頻在70%~100%的特征詞劃分為“High”類,將詞頻在60%~70%的特征詞劃分為“Fair”類,將詞頻在60%以下的特征詞劃分為“Limited”類,構(gòu)建情緒強(qiáng)度詞典如表1所示。
2.3 構(gòu)建表情符號(hào)詞典
表情符號(hào)是中文微博情緒分析中非常重要的顯性情緒特征之一,實(shí)驗(yàn)組在進(jìn)行文本數(shù)據(jù)的特征詞識(shí)別之后,經(jīng)過人工統(tǒng)計(jì)和判斷,將所選取的微博文本中出現(xiàn)頻率較多的表情符號(hào)進(jìn)行了整理和劃分,并分配了不同的情感強(qiáng)度,構(gòu)建表情符號(hào)詞典如表2所示。
2.4 構(gòu)建停用詞庫
停用詞是做文本分析中需要去掉的對(duì)分析無用處的詞。在很多文本分析應(yīng)用中,停用詞庫中的詞一般盡可能多的覆蓋到無實(shí)際含義的詞匯。但在實(shí)驗(yàn)組的情感強(qiáng)度分析中,我們選用最簡單的停用詞庫,諸如“你、我”之類的人稱代詞及與情緒無關(guān)的詞一律去除。
2.5 文本預(yù)處理(特征項(xiàng)量化)
抓取實(shí)驗(yàn)文本后,實(shí)驗(yàn)組將其存儲(chǔ)為txt格式,并將每條微博文本分配一個(gè)獨(dú)立的ID,經(jīng)過特征詞提取、表情符號(hào)提取、停用詞去除等文本預(yù)處理工作,將其轉(zhuǎn)化為下列類對(duì)象的形式:
class FeatureVector{
int Limited;//情緒詞典中Limited所占值
int Fair;// 情緒詞典中Fair所占值
int High;// 情緒詞典中High所占值
int Elimited;//表情符號(hào)詞典中Limited所占值
int Efair;//表情符號(hào)詞典中Fair所占值
int Ehigh;//表情符號(hào)詞典中High所占值
int Intensity;//權(quán)值
};
2.6 情感強(qiáng)度特征向量表示及強(qiáng)度計(jì)算
經(jīng)過文本預(yù)處理之后,每一條微博文本都轉(zhuǎn)換為
(2)
其中,每個(gè)特征參數(shù)的權(quán)重Weight由人工統(tǒng)計(jì)進(jìn)行給定。
3 實(shí)驗(yàn)結(jié)果與分析
3.1 實(shí)驗(yàn)環(huán)境
編程語言:C++
實(shí)驗(yàn)軟件:Visual Studio 2013
實(shí)驗(yàn)系統(tǒng):Windows 8.1
3.2 實(shí)驗(yàn)數(shù)據(jù)獲取
實(shí)驗(yàn)組從新浪微博中選取了“喬任梁去世”這一主題的評(píng)論數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù)集,利用手工方式抓取微博文本,共抓取了1500條實(shí)驗(yàn)數(shù)據(jù)。
3.3 實(shí)驗(yàn)設(shè)計(jì)與分析
由于實(shí)驗(yàn)抓取的數(shù)據(jù)經(jīng)人工判定,共99.6%的評(píng)論屬于悲傷一類情緒,因此實(shí)驗(yàn)組主要針對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行情感強(qiáng)度分類,參考文本特征選擇算法進(jìn)行實(shí)驗(yàn)。
3.4 情感強(qiáng)度分類判斷及可視化結(jié)果
實(shí)驗(yàn)組將“悲傷”情緒強(qiáng)度分為3種,分別為“Limited、Fair、High”,經(jīng)過權(quán)重計(jì)算,將每條微博文本的Intensity值按一定比例進(jìn)行了分類,實(shí)驗(yàn)數(shù)據(jù)經(jīng)過機(jī)器學(xué)習(xí)判斷,結(jié)果如圖2所示。
4 結(jié)語
(1) 基于中文微博情緒分析國內(nèi)外發(fā)展現(xiàn)狀,闡述研究背景和研究意義;然后介紹了一些中文微博文本細(xì)粒度情緒分析所用的理論知識(shí)及技術(shù)手段。
(2) 參考現(xiàn)行的理論技術(shù)手段,對(duì)1 500條同主題的新浪微博進(jìn)行了情感強(qiáng)度分析研究,根據(jù)所抓取微博文本特點(diǎn),構(gòu)建了實(shí)驗(yàn)情緒詞字典、表情符號(hào)字典以及停用詞字典,對(duì)微博文本進(jìn)行預(yù)處理工作,是微博文本特征向量化。根據(jù)特征計(jì)算權(quán)重公式對(duì)特征向量化微博文本進(jìn)行情感強(qiáng)度分析判斷,并給出實(shí)驗(yàn)結(jié)果。
參考文獻(xiàn)
[1] 李開復(fù).微博改變一切[M].上海財(cái)經(jīng)大學(xué)出版社,2010:26-74.
[2] Picard R W.Affective computing: challenges[J].International Journal of Human Computer Studies,2003,59(1):55-64.
[3] 王國才.樸素貝葉斯分類器的研究與應(yīng)用[D].重慶:重慶交通大學(xué),2010.
[4] 雷龍艷.中文微博細(xì)粒度情緒識(shí)別研究[D].湖南:南華大學(xué),2014.
[5] 徐琳宏,林鴻飛,潘宇,等.情感詞匯本體的構(gòu)造[J].情報(bào)學(xué)報(bào),2008,27(2):180-185.