朱顥東 李雯琦
關(guān)鍵詞:微博情感;表情符;情感詞;語義規(guī)則
摘要:針對目前中文微博情感分析方法考慮因素不全面,從而導(dǎo)致情感分析結(jié)果欠佳的問題,提出一種基于語義規(guī)則和表情加權(quán)的中文微博情感分析方法.該方法在使用傳統(tǒng)情感詞典分析中文微博情感傾向的基礎(chǔ)上,在普通情感詞典中融入否定詞、程度副詞和網(wǎng)絡(luò)新詞,根據(jù)中文微博文本獨有的語言特點和句式特點,采用從詞語到分句再到復(fù)句的方式對整個中文微博進行情感分析,進而使用表情加權(quán)和語義規(guī)則進行權(quán)值求和,以確定情感傾向.實驗結(jié)果表明,較另外3種中文微博情感分析方法,該方法效果更顯著,其平均準(zhǔn)確率為78.4%,平均查全率為75.2%,平均F值為76.7%.
Abstract:Aiming at the problem that the current Chinese micro-blog emotional analysis methods were not comprehensive, which led to poor sentiment analysis results, a Chinese micro-blog emotional analysis method based on semantic rules and expression weighting was proposed.On the basis of using traditional emotion dictionary to analyze the emotion tendency of Chinese micro-blog, negative words, degree adverbs and network neologisms were incorporated into the general emotion dictionary.According to the unique language characteristics and sentence pattern characteristics of Chinese micro-blog text, the method of emotional analysis from words to clauses and then to complex sentences was adopted to analyze the whole Chinese micro-blog.Expression weighting and semantic rules were used to perform weight summation to determine emotional tendency.The experimental results showed that compared with the other three Chinese micro-blog emotional analysis methods,the proposed method was more effective.It had an average precision rate of 78.4%, an average recall rate of 75.2%, and an average F value of 76.7%.
0 引言
伴隨著互聯(lián)網(wǎng)和社交媒體的不斷發(fā)展及廣泛應(yīng)用,其所承載和產(chǎn)生的數(shù)據(jù)信息迅速增長.微博中承載著海量有價值的信息,如何對其進行合理的分析和利用,受到了國內(nèi)外學(xué)者的廣泛關(guān)注.用戶通過微博平臺可以隨時隨地獲取信息、表達情感,海量的微博信息包含著用戶對事件、產(chǎn)品、政策等的態(tài)度、意見和評價,對這些信息進行情感趨向分析,能夠很好地挖掘網(wǎng)絡(luò)群體的行為規(guī)律,獲得潛在信息.因而,如何快速準(zhǔn)確地分析微博情感傾向是當(dāng)前研究的熱點之一.
當(dāng)前微博情感分析的主流方法為基于語義的分析方法,該方法通過情感詞典統(tǒng)計出微博文本中情感詞的情感權(quán)值,對其進行相關(guān)運算,計算出整個語句或文本的情感值,由此判斷微博的情感傾向.
國外的網(wǎng)絡(luò)社交媒體文本情感分析研究主要針對Twitter數(shù)據(jù).Y.Yu[1]提出了針對Twitter的情感分析方法,將從Twitter中提取的詞語與情感詞典中被標(biāo)注為正向或負向的情感詞語進行比較,而后計算出文本的情感值.A.Pak等[2]在標(biāo)注Twitter文本情感極性數(shù)據(jù)集的基礎(chǔ)上,設(shè)計實現(xiàn)了基于樸素貝葉斯算法、支持向量機和條件隨機場的情感分類器.E.Riloff等[3]利用人工定制模板,選取種子情感詞語,運用迭代法獲取了名詞詞性的情感詞語,以此對微博進行情感傾向分析.
由于國內(nèi)外語言結(jié)構(gòu)和表達方式不同,中文微博的情感分析比英文微博的情感分析要復(fù)雜得多.國內(nèi)的網(wǎng)絡(luò)社交媒體文本情感分析研究主要針對新浪微博數(shù)據(jù)展開.朱嫣嵐等[4]基于HowNet中情感詞匯的情感信息,通過語義相似度和語義相關(guān)場來計算詞語情感傾向,以提高情感分析的準(zhǔn)確率.譚皓等[5]引進表情符和注意力機制,將表情符和詞語同時訓(xùn)練,使用表情加權(quán)與普通情感詞相結(jié)合的方式進行情感分類.李繼東[6]結(jié)合普通情感詞典和語義規(guī)則計算感情值,對中文微博進行情感分析.王文等[7]基于普通情感詞典計算語義相似度,考慮正面情感增強因素,綜合表情和語義規(guī)則獲得情感傾向結(jié)果.劉志明等[8]通過對比3種機器學(xué)習(xí)算法、3種特征權(quán)重計算方法和3種特征選擇算法后發(fā)現(xiàn),使用支持向量機、詞頻-逆文本頻率(TF-IDF)和信息增益(IG)選擇特征項權(quán)重時,情感傾向分析效果最佳.但是上述研究對于影響中文微博情感傾向分析結(jié)果的因素考慮不夠全面,導(dǎo)致情感傾向分析結(jié)果欠佳.
鑒于此,本文擬提出一種基于語義規(guī)則和表情加權(quán)的中文微博情感分析方法,根據(jù)中文微博特有的語言特點,在情感詞典的基礎(chǔ)上,融入語義規(guī)則和表情符號,計算文本情感值以確定微博情感傾向,以期有效改善中文微博情感分析結(jié)果.
1 中文微博情感分析方法與流程
中文微博情感分析方法的流程一般分為以下4個步驟:
1)通過微博爬蟲和API接口獲取微博語料信息;
2)對獲取的微博數(shù)據(jù)進行預(yù)處理,通過中文分詞將微博文本中的句子劃分為詞語,并進行詞性標(biāo)注;
3)對微博文本情感詞和常用的表情符號進行抽取和極性標(biāo)注;
4)借助情感詞典和語義規(guī)則計算情感值,對其進行加權(quán)處理,根據(jù)最終情感值將微博文本劃分為正向、中性和負向3類.
中文微博情感分析流程如圖1所示.
1.1 中文微博語料的收集和文本預(yù)處理
中文微博數(shù)據(jù)的獲取方法主要有兩種:一種是通過爬蟲獲取微博數(shù)據(jù),將解析到的數(shù)據(jù)流內(nèi)容轉(zhuǎn)換成文本存入數(shù)據(jù)庫,該方法可以收集大量的微博數(shù)據(jù),但受限于訪問速度,且需要下載大量的頁面,因而效率不高;另一種是利用微博官方API獲取數(shù)據(jù)[9],但如果僅使用API接口,所采集到的數(shù)據(jù)范圍不夠廣泛,并且微博API開放接口會限制每段時間的請求次數(shù),而過度或者惡意調(diào)用又會對微博平臺性能產(chǎn)生不良影響.
因此,本文使用爬蟲與API接口相結(jié)合的方式來獲取微博數(shù)據(jù),而后對其進行預(yù)處理.對沒有價值的信息進行降噪處理,如刪除微博中的廣告、具有轉(zhuǎn)發(fā)性質(zhì)的微博、只含有表情符號的微博等.本文運用當(dāng)前使用頻率較高、性能較穩(wěn)定、準(zhǔn)確率較高的jieba組件(Python版)對獲取的微博文本進行分詞處理,并分析詞法,標(biāo)注詞性.
1.2 微博文本表情符號標(biāo)注
表情符號直接影響著微博這種短文本的最終情感分析結(jié)果.中文微博中常常存在大量的表情符號,其中使用最為廣泛的就是微博中的默認表情符和輸入法中自帶的emoji表情符[10].這些表情符大多具有明顯的情感傾向,在輸入表情符號時,會出現(xiàn)相對應(yīng)的標(biāo)注,可以利用它們進行明確的情感傾向劃分.
對于表情符號的情感分析研究主要有3種方式:將文本中表情符的情感極性直接作為句子的情感極性,忽略文本信息對情感極性的影響;將表情符和情感詞視為相同級別的元素,賦予相同的權(quán)值進行情感極性計算;將表情符和文本視為相同級別的元素,但使用不同的權(quán)值對微博情感極性進行計算[11].本文選擇第3種方式對微博的情感值進行計算.通過人工方式選擇微博常用的表情符號,刪除其中不具有情感傾向的表情符號.常用表情符情感傾向標(biāo)注如表1所示.
除了對表情符號進行情感極性標(biāo)注,本文對表情符號的情感強度也進行了相應(yīng)的標(biāo)注.利用王文等[7]對正向和負向表情情感權(quán)值的定義,正向表情情感權(quán)值在(0,1]區(qū)間內(nèi)取值,負向表情情感權(quán)值在[-1,0)內(nèi)取值,部分表情符號及其權(quán)值如表2所示.
1.3 微博文本情感詞的抽取和標(biāo)注
微博文本情感詞的抽取和標(biāo)注離不開情感詞典.在情感分析領(lǐng)域,目前使用較為廣泛的情感詞典有知網(wǎng)的HowNet情感詞典、大連理工大學(xué)詞匯本體庫和臺灣大學(xué)的中文情感詞典[12].
三者各有優(yōu)缺點,HowNet情感詞典和中文情感詞典對正向和負向情感詞進行了細致的劃分,但未標(biāo)注情感詞詞性及其情感權(quán)值,而詞匯本體庫雖然不如HowNet情感詞典詞匯豐富,卻對詞性和情感權(quán)值都進行了標(biāo)注.因此,本文將融合HowNet情感詞典和詞匯本體庫來確定情感詞的極性及其情感權(quán)值,并在此基礎(chǔ)上,針對微博文本特點,加入否定詞詞庫、網(wǎng)絡(luò)新詞詞庫和程度副詞詞庫,以提高情感分析的準(zhǔn)確性.
在對網(wǎng)絡(luò)新詞進行詞性標(biāo)注時,引入PMI算法,通過計算基準(zhǔn)詞與網(wǎng)絡(luò)新詞之間的相似度來判斷其情感極性,具體公式為若SO-PMI(word1)>0,則網(wǎng)絡(luò)新詞word1為正向情感詞匯,否則為負向情感詞匯.
在對微博進行情感分析時,應(yīng)充分考慮到微博文本中程度副詞和否定詞對情感極性判定的影響.程度副詞會加重或減輕微博情感傾向的程度,根據(jù)藺璜等[13]對程度副詞的特點、范圍和分類的研究,將程度副詞分為4個級別,即極度、高度、中度和微度,如果某個情感詞語前出現(xiàn)多個程度副詞,只對其前面出現(xiàn)的3個以內(nèi)程度副詞進行權(quán)值求積,超出3個的程度副詞按無效詞處理.否定詞在情感分析中的作用更是不容小覷,若一個分句中存在兩個否定詞,雙重否定則表示為否定之否定即肯定.因此,本文將否定詞的權(quán)值設(shè)置為負值,用累乘的方式來計算其情感權(quán)值[14].部分網(wǎng)絡(luò)新詞、程度副詞和否定詞示例見表3—表5.
1.4 語義規(guī)則
中文的微博情感分析不同于英文微博,不僅要考慮情感詞(表情符、否定詞、網(wǎng)絡(luò)新詞和程度副詞)的權(quán)值,還要考慮語義規(guī)則對整體情感分析的影響[15].本文的語義規(guī)則主要包括句型關(guān)系語義規(guī)則和句間關(guān)系語義規(guī)則.
1.4.1 句型關(guān)系語義規(guī)則
在進行情感分析時,先根據(jù)標(biāo)點符號將復(fù)句分割成若干個小的分句,再對每個分句進行分析.用戶在發(fā)布微博時,常用的句型主要有陳述句、問句和感嘆句.陳述句對整體的情感影響不大;問句又分為反問句和疑問句,反問句會使整個句子的情感傾向從正向變?yōu)樨撓蚧蛘邚呢撓蜃優(yōu)檎?,疑問句通常只是傳遞疑惑的態(tài)度,句子本身無情感變化;感嘆句具有加強情感傾向的作用[16].如果用si來表示整個句子的影響權(quán)值,那么這3種句型的影響權(quán)值如下:陳述句si=1;疑問句si=0,反問句si=-1.5;趙天奇等[17]研究發(fā)現(xiàn),當(dāng)感嘆句si=2時合格率最大,本文根據(jù)目前中文微博的語言習(xí)慣,對其研究成果進行改進,如果感嘆句的尾部只有1個或2個感嘆號,則si=2,如果有3個或3個以上感嘆號,則si=3.
1.4.2 句間關(guān)系語義規(guī)則
除句型關(guān)系外,句間關(guān)系也會對情感分析產(chǎn)生重要的影響.在中文的日常表達中,復(fù)句存在眾多句間關(guān)系,如并列關(guān)系、遞進關(guān)系、選擇關(guān)系、轉(zhuǎn)折關(guān)系、假設(shè)關(guān)系、條件關(guān)系、因果關(guān)系等,本文僅對中文微博中出現(xiàn)頻率較高的轉(zhuǎn)折、遞進和假設(shè)3種句間關(guān)系進行權(quán)值分析.通常使用集合{C1,C2,…,Ci,Cj…,Cn}來表示整個復(fù)句,其中Ci用于表示復(fù)句中的分句,S(Ci)用于表示影響權(quán)值.
1) 轉(zhuǎn)折關(guān)系影響權(quán)值:對于存在轉(zhuǎn)折詞“但是”“然而”“卻”的句型,其情感表達的重點在后半句,因此其S(Ci)=0,S(Cj)=1;對于只有一個轉(zhuǎn)折前接詞(如“盡管……”)的句型,其情感表達的重點在含有轉(zhuǎn)折詞的分句中,因此其S(Ci)=1,S(Cj)=0.
2) 遞進關(guān)系影響權(quán)值:遞進關(guān)系常用的關(guān)聯(lián)詞有“不但……而且”“甚至”“更”等,帶有關(guān)聯(lián)詞的句子所表達的情感更加強烈,所以其S(Ci)=1,S(Cj)=1.5.
3) 假設(shè)關(guān)系影響權(quán)值:如果是形如“如果……那么”的肯定句型時,前面分句的情感傾向更強一些,則S(Ci)=1,S(Cj)=0.5;如果是形如“如果不……就”的否定形式時,因為有否定詞,則S(Ci)=-1,S(Cj)=-0.5.
1.5 本文方法流程
根據(jù)上述分析,在對中文微博文本進行情感分析時,首先應(yīng)對整個中文微博文本進行詞語劃分,統(tǒng)計情感詞,然后對網(wǎng)絡(luò)新詞、程度副詞和否定詞進行權(quán)值分析,將這些權(quán)值進行累乘計算,再融入表情符號和語義規(guī)則進行權(quán)值求和,以確定其情感傾向.本文提出的中文微博情感分析方法流程如圖2所示.
其中,adv表示用于修飾情感詞的情感副詞權(quán)值,Neg表示否定詞權(quán)值,new表示網(wǎng)絡(luò)新詞權(quán)值,sen表示情感詞在情感詞典中的情感權(quán)值.
整個句子的情感值需要考慮到語義規(guī)則對情感傾向的影響,首先是對于分句而言的句型關(guān)系,根據(jù)上文對句型關(guān)系的分析,以E(ti)來表示融入句型關(guān)系的分句情感權(quán)值,其計算公式為
轉(zhuǎn)折、遞進和假設(shè)關(guān)系在復(fù)句中對情感分析有著重要的影響,對其情感權(quán)值進行求值時,要先對各個分句的情感權(quán)值進行求和,再乘以句型關(guān)系權(quán)值,以最終確定復(fù)句的情感權(quán)值,其計算公式為
其中,E>0.1表示微博情感傾向為正向,值越大則正向情感越強烈;E∈[-0.1,1]表示微博情感傾向為中性情感;E<-0.1表示微博情感傾向為負向,值越小則負向情感越強烈.
2 實驗結(jié)果與分析
2.1 實驗數(shù)據(jù)與評價指標(biāo)
為驗證本文提出的情感分析方法的有效性,將其與文獻[5-7]的3種方法進行對比實驗.采用將網(wǎng)絡(luò)爬蟲與API接口相結(jié)合的方式從新浪微博中獲取8000條微博數(shù)據(jù),剔除無效數(shù)據(jù),經(jīng)過篩選,有效微博為6834條,通過人工的方式將這6834條微博進行情感標(biāo)注后得到具有正向情感傾向的微博1358條,具有中性情感傾向的微博2349條,具有負向情感傾向的微博3127條.
在信息檢索、模式識別等領(lǐng)域,準(zhǔn)確率(P)和查全率(R)是最基本的評價指標(biāo),可以從不同側(cè)面對結(jié)果進行質(zhì)量評估,而F值是綜合這兩項指標(biāo)的評估指標(biāo),用于綜合反映實驗結(jié)果的整體質(zhì)量.在對微博情感進行分析時,選擇這3項指標(biāo)作為判別分析結(jié)果的標(biāo)準(zhǔn),其計算公式分別為
P=TPTP+FP
R=TPTP+FN
F=2P×RP+R
其中,TP表示微博情感分析中正確分類的微博文本數(shù)量,F(xiàn)P表示檢索到但分類錯誤的微博文本數(shù)量,F(xiàn)N表示未檢索到但屬于此類別的微博文本數(shù)量.本文使用Matlab分析計算結(jié)果.
2.2 結(jié)果與分析
4種情感傾向分析方法對6834條有效微博數(shù)據(jù)的測試結(jié)果如圖3—圖5所示.
由圖3可知,文獻[7]方法對中文微博分析平均準(zhǔn)確率高于文獻[5]方法和文獻[6]方法,說明在中文微博情感傾向分析中,表情加權(quán)和語義規(guī)則對情感分析具有一定的積極作用.本文方法針對中文微博的語言特點和獨有的表情特點,在結(jié)合了表情加權(quán)和語義規(guī)則的基礎(chǔ)上,又融入一些特殊的影響情感傾向的情感詞,從多個方面對情感傾向進行分析,對情感傾向的判別具有一定的修正作用,相比較其他3種方法,本文提出的微博情感傾向分析的平均準(zhǔn)確率達 78.4%,整體上提高了情感傾向分析的準(zhǔn)確率.
由圖4可知,4種情感傾向分析方法的平均查全率都大于70%,而本文方法的平均查全率最高,為 75.2%.這是因為中文微博比較口語化且時效性強,經(jīng)常出現(xiàn)一些新興的網(wǎng)絡(luò)詞匯,而普通情感詞并不包含這些.因此,本文方法在普通情感詞中同時融合否定詞、程度副詞和網(wǎng)絡(luò)新詞的方式,對情感傾向的分析更加全面、準(zhǔn)確.
由圖5可知,本文方法的平均F值最高,為76.7%,其中中性傾向的中文微博F值整體上都低于正向和負向情感傾向的F值.這主要是因為正向和負向情感傾向的中文微博通常都帶有明顯的情感傾向標(biāo)志,而中性情感傾向的中文微博容易因為中文語言特點造成誤判,例如“垃圾分類是一個嚴(yán)肅的問題”,“嚴(yán)肅”一詞,在情感詞典中被劃分為負向情感詞,但此文本是在闡述事實,是一種中性情感,這就影響了中性情感分析的結(jié)果.
整體而言,隨著實驗方法中衡量微博情感傾向的因素增多,正向、中性和負向傾向的中文微博情感分析指標(biāo)都有所提高,而通過融入表情符、語義規(guī)則、否定詞、程度副詞和網(wǎng)絡(luò)新詞眾多特征后,中文微博情感傾向分析的平均準(zhǔn)確率、平均查全率和平均F值都有一定程度的提高.但即使從多方面考慮影響微博情感傾向的因素并對其偏差進行修正,本文方法的平均準(zhǔn)確率仍未突破80%.造成這種狀況的原因可能是,用戶在發(fā)布微博時,存在語言、符號和表情濫用的情況,或者文本中存在著諷刺意味,這對微博情感傾向的分析帶來較大的干擾.
3 結(jié)語
針對目前中文微博情感分析方法考慮因素不全面,從而導(dǎo)致情感分析結(jié)果不佳的問題,本文根據(jù)中文獨特的語言方式和微博文本信息量大、時效性強、隨意性強等特點,充分考慮影響情感分析結(jié)果的各方面因素,提出了一種基于語義規(guī)則和表情加權(quán)的中文微博情感分析方法.該方法從微博文本的多方面特征考慮,在傳統(tǒng)情感詞的基礎(chǔ)上進行拓展,融入了否定詞、程度副詞、網(wǎng)絡(luò)新詞,并使用表情加權(quán)和語義規(guī)則進行權(quán)值求和確定情感傾向.實驗結(jié)果表明,本文提出的中文微博情感分析法效果顯著,相較于其他3種分析方法,本文方法的平均準(zhǔn)確率(78.4%)、平均查全率(75.2%)和平均F值(76.7%)相對較高.但該方法對于歧義句的分析效果還不令人滿意,在對具有諷刺意味的語句進行情感分析時,發(fā)生誤判的概率較高,后續(xù)將會結(jié)合具體領(lǐng)域和情境對中文微博情感分析做更深入的研究.參考文獻:
[1] YU Y.Text emotional analysis based on Twitter data[J].Information and Computer,2018,46(19):151.
[2] PAK A,PAROUBEK P.Twitter as a corpus for sentiment analysis and opinion mining[C]∥European Language Resource Association.Proceedings of International Conference on Language Resource and Evaluation.Valletta:LREC,2010:1320.
[3] RILOFF E,WIEBE J.Learning extraction patterns for subjective expressions[C]∥Association for Computational Linguistics.Proceedings of the 2003 Conference on Empirical Methods in Natural Language Processing(EMNLP-03).Sapporo:EMNLP,2013:105.
[4] 朱嫣嵐,閔錦,周雅倩,等.基于HowNet的詞匯語義傾向計算[J].中文信息學(xué)報,2006(1):14.
[5] 譚皓,鄧樹文,錢濤,等.基于表情符注意力機制的微博情感分析模型[J].計算機應(yīng)用研究,2019,36(9):2647.
[6] 李繼東.基于擴展詞典和規(guī)則的中文微博情感分析[D].北京:北京交通大學(xué),2018.
[7] 王文,王樹鋒,李洪華.基于文本語義和表情傾向的微博情感分析方法[J].南京理工大學(xué)學(xué)報(自然科學(xué)版),2014(6):733.
[8] 劉志明,劉魯.基于機器學(xué)習(xí)的中文微博情感分類實證研究[J].計算機工程與應(yīng)用,2012,48(1):1.
[9] 于韜,李偉,代麗偉.基于Python的新浪新聞爬蟲系統(tǒng)的設(shè)計與實現(xiàn)[J].電子技術(shù)與軟件工程,2018(9):188.
[10]林江豪,顧也力,周詠梅,等.基于表情符號的情感詞典的構(gòu)建研究[J].計算機技術(shù)與發(fā)展,2019,29(6):181.
[11]梁亞偉.基于表情詞典的中文微博情感分析模型研究[J].現(xiàn)代計算機(專業(yè)版),2015(21):7.
[12]宋沛玉.面向中文微博情感分析的多特征融合方法研究[D].廣州:廣東工業(yè)大學(xué),2018.
[13]藺璜,郭姝慧.程度副詞的特點范圍與分類[J].山西大學(xué)學(xué)報(哲學(xué)社會科學(xué)版),2003(2):71.
[14]楊立月,王移芝.微博情感分析的情感詞典構(gòu)造及分析方法研究[J].計算機技術(shù)與發(fā)展,2019,29(2):13.
[15]姜杰,夏睿.機器學(xué)習(xí)與語義規(guī)則融合的微博情感分類方法[J].北京大學(xué)學(xué)報(自然科學(xué)版),2017,53(2):247.
[16]陳國蘭.基于情感詞典與語義規(guī)則的微博情感分析[J].情報探索,2016(2):1.
[17]趙天奇,姚海鵬,方超,等.語義規(guī)則與表情加權(quán)融合的微博情感分析方法[J].重慶郵電大學(xué)學(xué)報(自然科學(xué)版),2016,28(4):503.
[18]王志濤,於志文,郭斌,等.基于詞典和規(guī)則集的中文微博情感分析[J].計算機工程與應(yīng)用,2015,51(8):218.