張偉舒 呂云翔
【摘要】為了提升對(duì)微博數(shù)據(jù)分析的準(zhǔn)確度,首先對(duì)微博的發(fā)展現(xiàn)狀及文本特點(diǎn)進(jìn)行分析;其次提出全新的情感傾向詞典構(gòu)建方案,在改進(jìn)現(xiàn)有詞典的同時(shí)加入三個(gè)全新類型的詞典,并以此作為詞法分析的基礎(chǔ);隨后建立可解析詞與詞、子句與子句之間的邏輯關(guān)系的語法庫,從而實(shí)現(xiàn)對(duì)微博文本的語法分析;最后,應(yīng)用本文提出的改進(jìn)算法,設(shè)計(jì)、實(shí)現(xiàn)算法驗(yàn)證程序并進(jìn)行測(cè)試。結(jié)果表明,改進(jìn)算法在處理微博文本數(shù)據(jù)時(shí)正確率為80.74%,較原算法提高了22.72%。
【關(guān)鍵詞】情感傾向分析 微博 情感詞典 算法
微博情感傾向算法的改進(jìn)與實(shí)現(xiàn)
自2006年Twitter在國外興起開始,微博以其方便、快捷的特點(diǎn)迅速風(fēng)靡全球。據(jù)統(tǒng)計(jì),Twitter在2012年平均每天都有1億7 500萬Tweet被發(fā)布;在國內(nèi),新浪在率先推出微博服務(wù)后,已經(jīng)聚集了4.24億微博用戶,平均每天活躍用戶多達(dá)4 230萬[1]。同時(shí),騰訊微博也借助于其在即時(shí)通訊領(lǐng)域的優(yōu)勢(shì),用戶數(shù)量很快就突破了2億,處于強(qiáng)勢(shì)追趕階段。各種形式的微博服務(wù)已經(jīng)成為網(wǎng)民發(fā)布信息、交換對(duì)于事件的看法、觀點(diǎn)與態(tài)度的重要途徑。
微博用戶數(shù)量的快速增長,使得網(wǎng)絡(luò)上出現(xiàn)了海量的、以文本形式存在的數(shù)據(jù)信息。這些信息包含了用戶對(duì)于特定事物的心情、看法、評(píng)價(jià)等。由于微博特有的文本長度限制,單條微博所能提供的信息相對(duì)有限,因此需要通過增加數(shù)據(jù)量來彌補(bǔ)這一缺陷。面對(duì)大量的文本數(shù)據(jù)信息,采用人工手段進(jìn)行傾向分析往往會(huì)力不從心,因此,需要一種可以快速準(zhǔn)確地對(duì)大規(guī)模文本進(jìn)行傾向標(biāo)注的方法,微博情感傾向分析研究就是在這種背景下發(fā)展起來的。
背景及相關(guān)研究
微博情感傾向性分析就是對(duì)說話人的態(tài)度(或稱觀點(diǎn)、情感)進(jìn)行分析,也就是對(duì)文本中的主觀性信息進(jìn)行分析[2]。早期的微博情感傾向分析主要是進(jìn)行詞語語義的傾向計(jì)算[3]和文本情感分類[4-6]等工作。隨著研究的不斷深入,分析的重點(diǎn)逐漸轉(zhuǎn)移到了更加精細(xì)的粒度上,如產(chǎn)品屬性挖掘[7]、情感摘要[8]、情感分類器等[9]。
現(xiàn)有的情感傾向分析大致可以分成4個(gè)級(jí)別: 詞語級(jí)別、短語級(jí)別、語句級(jí)別和篇章級(jí)別[10]。詞語級(jí)別的分析主要是基于詞典的語義相似度或?qū)哟谓Y(jié)構(gòu)來計(jì)算單詞的情感傾向[11]。短語級(jí)別的情感傾向分析是在詞語級(jí)別之上引入了程度詞、否定詞等分析內(nèi)容,從而增加了判斷情感傾向正負(fù)強(qiáng)弱的準(zhǔn)確性。短語級(jí)別的情感傾向分析可以采用語料庫[12-13]和詞典[14-15]兩種方法。句子級(jí)別的情感傾向分析主要包括主客觀語句的區(qū)分、主觀語句的傾向性計(jì)算以及語句中細(xì)粒度內(nèi)容的提取[16-18]。篇章級(jí)別的情感傾向分析就是從一個(gè)整體的角度對(duì)文本進(jìn)行情感傾向性分析[19-20]。在這4個(gè)級(jí)別上已有了一定數(shù)量的研究成果。
2009年,Yang Shen[14]提出了MBEWC微博情感傾向計(jì)算器。 該方法在算法設(shè)計(jì)時(shí)考慮了目標(biāo)數(shù)據(jù)的特殊性,并進(jìn)行了一些針對(duì)微博文本分析的改進(jìn)。但在進(jìn)行數(shù)據(jù)分析時(shí),仍然存在以下缺陷:①沿用了由情感詞詞典、程度詞詞典和否定詞詞典三個(gè)詞典組成的短語情感傾向分析體系,沒有添加其他針對(duì)微博數(shù)據(jù)特征的詞典系統(tǒng);②計(jì)算子句傾向時(shí),采用的是直接統(tǒng)計(jì)的方式,沒有將詞匯之間的修飾關(guān)系考慮在內(nèi);③分析子句之間關(guān)系時(shí),雖然考慮到了子句先后順序?qū)ψ泳淝楦袃A向權(quán)重的影響,但是卻沒有進(jìn)一步將邏輯關(guān)系考慮在內(nèi),導(dǎo)致該算法在分析轉(zhuǎn)折句、感嘆句等特殊句式時(shí)正確率下降。
本文在Yang Shen等所提出的MBEWC微博情感傾向計(jì)算器的基礎(chǔ)上,在清華大學(xué)人機(jī)交互與媒體集成研究所的支持下,提出了針對(duì)微博文本信息的特殊性的改進(jìn)算法。本算法以微博文本中的情感傾向元素以及相關(guān)的語法特征作為情感傾向證據(jù),在原有的以情感詞、程度詞、否定詞為核心的分析系統(tǒng)基礎(chǔ)上,針對(duì)微博的語言特征及用戶使用習(xí)慣,添加了表情、語氣詞以及用于進(jìn)行主客觀判斷的部分特殊詞,以有效地提升情感傾向分析的準(zhǔn)確度。除此之外,本算法還引入了修飾語法和邏輯語法的概念,以確定文本信息中詞與詞之間、子句與子句之間的邏輯關(guān)系。新算法通過子句分割、子句傾向計(jì)算、邏輯關(guān)系計(jì)算、整句傾向匯總等步驟實(shí)現(xiàn)。算法驗(yàn)證程序可根據(jù)獲取的詞典、語法庫等數(shù)據(jù)信息,對(duì)微博情感傾向進(jìn)行自動(dòng)標(biāo)定。最后進(jìn)行了網(wǎng)絡(luò)真實(shí)微博信息的相關(guān)測(cè)試。
情感傾向詞典構(gòu)建與分析
文本情感傾向分析的基礎(chǔ)是判斷詞語的語義傾向[21]?,F(xiàn)有的情感傾向詞典構(gòu)建中,比較常見的是情感詞詞典、否定詞詞典以及程度詞詞典。分析時(shí)通常以單個(gè)詞作為目標(biāo),而忽略了詞與詞之間的順序、修飾關(guān)系,導(dǎo)致分析準(zhǔn)確率有限。本文在對(duì)現(xiàn)有的上述三個(gè)詞典進(jìn)行改進(jìn)的基礎(chǔ)上,添加了特殊標(biāo)識(shí)符詞典、表情詞典以及語氣詞詞典三個(gè)新的詞典。以這六個(gè)不同功能的詞典構(gòu)成一個(gè)新的詞典系統(tǒng),對(duì)文本數(shù)據(jù)進(jìn)行綜合分析,以期得到一個(gè)更加準(zhǔn)確的結(jié)果。
首先,本文對(duì)現(xiàn)有的情感傾向詞典系統(tǒng)進(jìn)行了改造與重構(gòu)。新的情感傾向詞典系統(tǒng)不僅對(duì)MBEWC中提到的情感詞詞典、程度詞詞典和否定詞詞典進(jìn)行了內(nèi)容和結(jié)構(gòu)上的改進(jìn),而且新添加了表情詞典、語氣詞詞典以及特殊標(biāo)記符詞典,從而提升文本分析的準(zhǔn)確度。其中,情感詞詞典包含可以反映用戶情感傾向的名詞、形容詞和副詞,如“高興”、“失望”等;程度詞詞典包含可以反映用戶情緒激烈程度的形容詞和副詞,如“非常”、“特別”等;否定詞詞典包含表示否定關(guān)系的詞匯,如“不”、“非”等;表情詞典包含微博中可能出現(xiàn)的表情符號(hào),如“ ”(大笑)、“OTZ”(膜拜)等;語氣詞詞典包含各種語氣助詞和感嘆詞,如“哈哈”、“唉”等;特殊標(biāo)識(shí)符用于識(shí)別微博中的特定標(biāo)記,包含各種新聞、廣告的對(duì)應(yīng)標(biāo)記。在以上六個(gè)詞典中,前三個(gè)詞典適用于大多數(shù)文本傾向分析工作,后三個(gè)則是針對(duì)微博的文本特征特別設(shè)計(jì)的,可以有效地提升分析的準(zhǔn)確率。
隨后,對(duì)網(wǎng)絡(luò)上1萬條新浪微博數(shù)據(jù)進(jìn)行分詞、統(tǒng)計(jì),為詞典中的各個(gè)詞條計(jì)算對(duì)應(yīng)的權(quán)值:情感詞、表情詞與語氣詞的權(quán)值表示用戶的基礎(chǔ)傾向,權(quán)值范圍是[-20,20];否定詞表示否定關(guān)系,權(quán)值為-1;程度詞表示情感激烈程度,權(quán)值范圍是[0.7,1.3];特殊標(biāo)記符用于判斷情感傾向的可信度,權(quán)值為1或0。每個(gè)詞條均由多人分別進(jìn)行標(biāo)記,取其平均值作為結(jié)果,從而保證這一過程的客觀性。
新建立的詞典系統(tǒng)共包括詞條2 637條(見表1)。
通過這種方法建立的詞典系統(tǒng)的優(yōu)點(diǎn)是:①針對(duì)性強(qiáng)。由于詞典組中的詞條均來自真實(shí)的微博數(shù)據(jù),因此與其他方式建立的詞典組相比,該詞典組包含了較多的網(wǎng)絡(luò)用語和專有詞匯(這些內(nèi)容在其他文本數(shù)據(jù)中十分少見),從而更加適合處理微博數(shù)據(jù)。②分析全面。這個(gè)詞典組由六個(gè)詞典構(gòu)成,可以對(duì)微博文本數(shù)據(jù)進(jìn)行表情符號(hào)、語氣特征以及可信度進(jìn)行評(píng)判,使得整個(gè)分析過程更加全面合理。
微博情感傾向算法主要流程
在進(jìn)行數(shù)據(jù)分析之前,先要對(duì)數(shù)據(jù)進(jìn)行篩選,剔除微博系統(tǒng)自動(dòng)發(fā)布的廣告和新聞信息,僅保留能夠反映用戶真實(shí)情感傾向的微博數(shù)據(jù)。這部分工作主要依靠特殊標(biāo)識(shí)符詞典的識(shí)別和判斷。
微博情感傾向分析改進(jìn)算法的主要流程如下:
● 子句分割。根據(jù)標(biāo)點(diǎn)符號(hào)將讀入的微博數(shù)據(jù)分割為多個(gè)子句c1,c2,…,cn。由于部分標(biāo)點(diǎn)符號(hào)會(huì)對(duì)子句的傾向值產(chǎn)生影響(例如小括號(hào)中的內(nèi)容多為解釋說明,屬于次要信息),因此需要對(duì)部分子句進(jìn)行額外的權(quán)值運(yùn)算,權(quán)值取值范圍為[0.5,1.5]。
● 表情符號(hào)分析。利用表情詞典,對(duì)于ci中的表情符號(hào)a1,a2,…,an進(jìn)行匹配(見圖1),并累計(jì)表情符號(hào)的權(quán)值為Ai。如果Ai大于特定閾值,則以Ai作為子句ci的情感傾向值Eci,并直接執(zhí)行“重復(fù)計(jì)算”流程;如果Ai小于特定閾值,則將表情符號(hào)從ci中刪去,生成ci,并進(jìn)行后續(xù)分析。
● 修飾關(guān)系分析。利用情感詞詞典、程度詞詞典以及否定詞詞典識(shí)別ci中的情感詞(e1,e2,…,en)、程度詞(d1,d2,…,dn)和否定詞(n1,n2,…,nn)。修飾關(guān)系的分析主要是根據(jù)特定方向的最近原則來確定,即根據(jù)每個(gè)程度詞和否定詞在詞典中的修飾標(biāo)記位,確定其修飾方向,并將該方向最近的一個(gè)情感詞作為其修飾目標(biāo)。程度詞和否定詞的權(quán)值會(huì)與被修飾的情感詞相乘,作為修飾后的情感詞權(quán)重ei。隨后,已經(jīng)完成修飾的程度詞和否定詞會(huì)被從ci中刪去,生成ci(見圖2)。
● 語氣分析。利用感嘆詞詞典,識(shí)別ci中的語氣詞(m1,m2,…,mi),從而進(jìn)行子句的語氣分析。
● 子句傾向匯總。將子句中的表情(ai)、情感詞(ei)以及語氣詞(mi)的系數(shù)進(jìn)行加和,得到子句的傾向值Eci。
● 重復(fù)計(jì)算。當(dāng)子句ci的傾向值計(jì)算完成后,轉(zhuǎn)至下一子句,并重復(fù)上述的過程,直至所有子句的傾向值計(jì)算完成。
● 子句邏輯分析。根據(jù)子句中所包含的邏輯連詞,對(duì)特定子句進(jìn)行額外的權(quán)值運(yùn)算,從而增強(qiáng)和削弱部分子句的重要程度。此外,還需要根據(jù)子句的先后順序,進(jìn)行權(quán)值運(yùn)算,突出位置靠后子句的重要程度,得到邏輯分析后的子句傾向值Eci。
● 子句傾向匯總。對(duì)每一個(gè)子句傾向值Eci進(jìn)行累加,得到該微博的情感傾向系數(shù)E。
至此,微博數(shù)據(jù)的情感傾向分析已經(jīng)完成,E即為所求的傾向系數(shù)。
算法測(cè)試評(píng)估
在完成上述工作后,利用C++編寫算法驗(yàn)證程序。該程序可以讀入詞典系統(tǒng)以及微博數(shù)據(jù),并按照算法流程進(jìn)行計(jì)算,最后得出相應(yīng)的情感傾向。筆者使用這個(gè)程序?qū)λ惴ㄟM(jìn)行測(cè)試。測(cè)試中將以下結(jié)果視為判斷成功:積極傾向微博的計(jì)算結(jié)果>0;中立傾向微博的計(jì)算結(jié)果=0;消極傾向微博的計(jì)算結(jié)果<0。
4.1 數(shù)據(jù)準(zhǔn)備
利用網(wǎng)絡(luò)爬蟲重新獲取了一定量的微博數(shù)據(jù),并從中隨機(jī)抽取了10 000條用于測(cè)試。這樣做可以有效降低爬蟲軟件帶來的數(shù)據(jù)來源局限性,使得測(cè)試結(jié)果更加客觀。
測(cè)試數(shù)據(jù)的情感傾向由多人分別進(jìn)行標(biāo)定,并在最后進(jìn)行統(tǒng)一匯總。匯總時(shí),將情感傾向標(biāo)定意見相同的微博作為樣例,對(duì)意見不同的微博進(jìn)行討論,直至所有測(cè)試數(shù)據(jù)的情感傾向被確定。測(cè)試數(shù)據(jù)的分布如表2所示:
4.2 算法測(cè)試
使用對(duì)比試驗(yàn)的方式,借用現(xiàn)在比較成熟的ROST_EA[14]微博情感傾向分析系統(tǒng)與本文所提出的改進(jìn)算法進(jìn)行比較,從而明確新算法的特點(diǎn)、優(yōu)勢(shì)與不足。本文主要比較了兩種算法的召回率與準(zhǔn)確率。
召回率代表原有的某種傾向微博(積極、中立或消極)被算法成功識(shí)別的概率。即召回率越高,算法在處理該類微博時(shí)遺漏越少。
測(cè)試結(jié)果如表3所示:
準(zhǔn)確率代表在算法做出某種傾向判斷(積極、中立或消極)時(shí),判斷為正確的概率,即準(zhǔn)確率越高,算法在做出該類判斷時(shí)錯(cuò)誤越少。
測(cè)試結(jié)果見表4。
從表4可以看出,與ROST_EA相比,新算法在處理情感傾向比較明顯的微博時(shí)略遜于ROST_EA,分別低0.84%和3.48%;但是在處理情感傾向比較模糊或偏向中性的微博時(shí),準(zhǔn)確率提高了46.53%。 整體而言,在分析微博數(shù)據(jù)的過程中,新算法的正確率高達(dá)80.74%,遠(yuǎn)高于ROST_EA的58.02%。
盡管ROST_EA在處理情感傾向明顯的微博時(shí)召回率略微高于本算法,但是這并不代表該算法的分析模式占優(yōu)。在分析這些微博時(shí),ROST_EA總共將4 901條微博標(biāo)記為積極傾向、將3 053條微博標(biāo)記為消極傾向,但它們之中判斷正確的僅有2 678條和1 314條。這說明該算法在判斷出較多的具有傾向性微博的同時(shí),也包含了大量的錯(cuò)誤判斷,導(dǎo)致整體效果有限。反觀新算法,其不但在判斷傾向性明顯的微博時(shí)表現(xiàn)優(yōu)秀,在面對(duì)中立傾向的微博時(shí)也一樣具有很高的召回率,達(dá)到了召回率和正確率的平衡。改進(jìn)的算法與
4.3 測(cè)試結(jié)果分析
新算法針對(duì)現(xiàn)有算法的缺陷進(jìn)行了改進(jìn)和完善,具體改進(jìn)效果如表5所示:
從表5可以看出,新算法在詞典系統(tǒng)、詞法分析和語法分析等方面的改進(jìn)提升了數(shù)據(jù)分析的正確率。其中,僅詞典系統(tǒng)改進(jìn)就使得分析正確率提升了16.05%,從而證明了詞典系統(tǒng)改進(jìn)方案的有效性。此外,詞法分析與語法分析分別使分析正確率提升了4.15%和3.52%,這一方面顯示出本文所提出的詞法語法分析體系的合理性,另一方面也反映了現(xiàn)有的修飾規(guī)則和語法庫還不夠完善,有進(jìn)一步改善的空間。最后,改進(jìn)算法中的格式統(tǒng)一、文字翻譯等其他改進(jìn)項(xiàng)也使得正確率得到了0.33%的提升。
整體而言,本文提出的改進(jìn)算法對(duì)現(xiàn)有算法的缺陷進(jìn)行了彌補(bǔ),并提出了一系列改進(jìn)措施,使得微博文本數(shù)據(jù)分析的正確率有了較大的提升。
結(jié) 語
本文提出了一種針對(duì)微博系統(tǒng)的情感傾向分析算法,用于對(duì)網(wǎng)絡(luò)微博文本進(jìn)行傾向性分析。與現(xiàn)有的微博情感傾向分析算法相比,這套算法考慮了更多的語法因素,從而使分析計(jì)算過程更加科學(xué)合理。最后,本文還對(duì)所提出的算法進(jìn)行了測(cè)試并與現(xiàn)有的微博情感傾向算法進(jìn)行對(duì)比,證明新算法具備明顯的優(yōu)勢(shì)和特點(diǎn)。
[參考文獻(xiàn)]
[1] 新浪網(wǎng). 新浪2012年第三季度財(cái)務(wù)報(bào)告[EB/OL].[2013-04-17].http://tech.sina.com.cn.
[2] 馮希瑩,王來華. 輿情概念辨析[J]. 社會(huì)工作(學(xué)術(shù)版), 2011(5):83-87.
[3] Hatzivassiloglous V, MCKeown K. Predicting the semantic orientation of adjectives[C]// Proceedings of ACL-97, 35th Annual Meeting of the Association for Computational Linguistics. Madrid: ACL, 1997:174-181.
[4] Zagibalov T, Carroll J. Automatic seed word selection for unsupervised sentiment classification of Chinese text[C]//Proceedings of the 22nd International Conference on Computational Linguistics (Coling 2008).Manchester: Coling 2008 Organizing Committee, 2008:1073-1080.
[5] Pang B, Lee L, Vaithyanathan S. Thumbs up? Sentiment classification using machine learning techniques[C]//Proceedings of the 2002 Conference on Empirical Methods in Natural Language Processing(EMNLP 2002). Philadelphia:ACL,2002:79-86.
[6] Turney P D, Littman M L. Measuring praise and criticism: Inference of semantic orientation form association[J]. ACM Transactions on Information Systems, 2003, 21(4):315-346.
[7] 王素格. 基于Web的評(píng)論文本情感分類問題研究[D].上海:上海大學(xué), 2008.
[8] Tan S, Wu G, Tang H. A Novel scheme for domain-transfer problem in the context of sentiment analysis[C]//Proceedings of the 16th ACM Conference on Information and Knowledge Management. Lisbon: ACM, 2007:979-982.
[9] Hu M, Liu B. Mining and summarizing customer reviews[C]//Proceedings of the 10th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. Seattle: ACM, 2004:168-177.
[10] 魏韡,向陽. 中文文本情感分析綜述[J].計(jì)算機(jī)應(yīng)用,2011(12):3321-3323.
[11] 杜偉夫,譚松波,云曉春,等. 一種新的情感詞匯語義傾向計(jì)算方法[J].計(jì)算機(jī)研究與發(fā)展,2009,46(10):1713-1720.
[12] Yuen R W M, Chan T Y W, Lai T B Y. Morpheme-based derivation of bipolar semantic orientation of Chinese words[C]//Proccedings of the 20th International Conference of Computational Linguistics. Stroudsburg: Association for Computational Linguistics, 2004: 1008 - 1014.
[13] 張靖,金浩. 漢語詞語情感傾向自動(dòng)判斷研究[J]. 計(jì)算機(jī)工程, 2010, 36(23): 194-196.
[14] Yang Shen. Emotion mining research on Micro-blog[C]//2009 1st IEEE Symposium on Web Society(SWS 2009). Lanzhou: Lanzhou University,2009.
[15] 朱嫣嵐,閔錦,周雅倩,等. 基于HowNet的詞匯語義傾向計(jì)算[J]. 中文信息學(xué)報(bào), 2006, 20(1): 14-20.
[16] 熊德蘭,程菊明,田勝利. 基于HowNet的句子褒貶傾向性研究[J]. 計(jì)算機(jī)工程與應(yīng)用, 2008, 44(22): 143- 144.
[17] 李實(shí),葉強(qiáng),李一軍. 中文網(wǎng)絡(luò)客戶評(píng)論的產(chǎn)品特征挖掘方法研究[J]. 管理科學(xué)學(xué)報(bào), 2009, 12(2): 142-152.
[18] 劉鴻宇,趙妍妍,秦兵,等. 評(píng)價(jià)對(duì)象抽取及其傾向性分析[J]. 中文信息學(xué)報(bào), 2010, 24(1): 84-88.
[19] 唐慧豐,譚松波,程學(xué)旗. 基于監(jiān)督學(xué)習(xí)的中文情感分類技術(shù)比較研究[J].中文信息學(xué)報(bào), 2007, 21(6):88 - 94.
[20] 李壽山,黃居仁. 基于Stacking組合分類方法的中文情感分類研究[J]. 中文信息學(xué)報(bào), 2010, 24(5): 56 - 61.
[21] 吳迪. 漢語微博文本特征研究[D]. 長春:吉林大學(xué), 2012.