楊奎+段瓊瑾
摘 要: 針對網(wǎng)絡(luò)輿情中觀點的獲取問題,提出了基于情感詞典的情感傾向性分析方法。介紹了情感詞的基本概念,給出了基于HowNet概念詞典通過計算詞匯相似度構(gòu)建情感字典的方法,探討了不同類型情感詞對文本情感的影響程度并設(shè)計了情感得分策略。根據(jù)得分挖掘人們對輿情的褒貶態(tài)度,從而準確的分析文本的情感走向。
關(guān)鍵詞: 輿情分析; 情感詞典; 情感傾向性分析; 詞匯相似度
中圖分類號:TP302.7 文獻標志碼:A 文章編號:1006-8228(2017)03-10-03
Abstract: Aiming at the problem of acquisition of viewpoints in the network public opinion, this paper puts forward the method of emotional tendency analysis based on emotional dictionary. This paper introduces the basic concept of emotional words, gives the method of constructing emotional dictionary by calculating lexical similarity based on HowNet concept dictionary, and discusses the influence degree of different types of emotional words on text emotion and designs emotional score strategy. According to the scores the people's attitude of praise or censure to the public opinion is mined, so as to accurately analyze the emotional direction of the text.
Key words: public opinion analysis; emotional dictionary; emotional tendencies analysis; lexical similarity
0 引言
隨著互聯(lián)網(wǎng)的迅速發(fā)展,網(wǎng)絡(luò)成為了一個巨大的民意聚集地。微博、新聞、論壇等,都成為人們發(fā)表言論和觀點的場所。因為網(wǎng)絡(luò)上言論自由度很高,人們對待事物各持己見,想要得到一個正確的觀點,便需要對大量的信息進行分析。輿情信息量不斷增大,要了解當前社會的輿情走向變得更加困難,網(wǎng)絡(luò)輿情分析系統(tǒng)便應(yīng)運而生。
中文語義傾向性分析的研究方法可以分為兩類:基于規(guī)則和基于統(tǒng)計。基于規(guī)則是依據(jù)知識庫和規(guī)則進行文本傾向性分析,比如簡單的基于情感詞典,統(tǒng)計文本中的正、負面情感詞匯的詞頻;基于統(tǒng)計是將傾向性分析看成是文本對正、負情感傾向性的分類問題,可以使用樸素貝葉斯、SVM等統(tǒng)計學習的方法進行傾向性分析。
本文采用基于情感詞典[1]的方法,對輿情信息進行觀點挖掘,獲取人們對事物的褒貶態(tài)度。
1 基于情感詞典的文本傾向性分析框架
情感分析是指挖掘文本表達的觀點,識別主體對某客體的評價是褒還是貶,根據(jù)褒貶態(tài)度進行傾向性研究。本文利用HowNet[2]進行語義分析,求出得分,從而來評判文本的褒貶態(tài)度。得分結(jié)果若為正數(shù),則認為文本表達的是“正面情感”;得分結(jié)果若為負數(shù),則認為文本表達的是“負面情感”;得分結(jié)果若為0,文本表達的是“中性情感”。具體分析框架如圖1所示。
2 情感詞典構(gòu)建
2.1 情感詞
情感詞,是主體對于某一客體表示內(nèi)在評價的詞語,帶有強烈的情感色彩。情感詞有兩個屬性:極性和強度。
根據(jù)極性,情感詞典可以分解為褒義詞典和貶義詞典。例如“漂亮”、“善良”為褒義詞,表達正面情感;“可惡”、“卑鄙”為貶義詞,表達負面情感。褒義詞的極性設(shè)置為1,貶義詞的極性設(shè)置為-1。
強度,表示情感強弱。例如:①我討厭你;②我恨你。明顯句子②比句子①表現(xiàn)出更多的不喜歡的意思,即句子②的情感強度更強。用數(shù)字1~9表示情感強度,數(shù)值越大,情感強度越強。
HowNet整理的部分情感詞詞表如表1。
2.2 程度副詞
程度副詞本身沒有情感傾向性,但是它能夠增強或減弱情感強度。如果不考慮程度副詞對于情感詞的修飾作用,雖然不一定改變情感傾向性的結(jié)果,但一定會改變情感傾向度的結(jié)果。HowNet整理的部分程度副詞詞表如表2。
2.3 否定詞
否定詞本身也沒有情感傾向性,但是它能夠改變情感的極性。HowNet沒有整理否定詞,于是本文在情感詞典中添加了19個否定詞:
毋 非 莫 弗 勿 否 別 無 休 不 不要 不曾 無 沒 沒有 難以 未 未曾 未必
2.4 基于HowNet構(gòu)建情感詞典
劉群[3]、葛斌[4]等人對詞語的相似度計算做了深入的研究,采用“整體相似度等于部分相似度加權(quán)平均”的做法。
相似度的計算公式為:
Sim(W1,W2)為相似度,Dis(W1,W2)為詞語距離,α是一個正的可調(diào)節(jié)的參數(shù),其值不大于1。
對于兩個漢語詞語W1和W2,如果W1有n個義項(概念):S11,S12,…,S1n,W2有m個義項:S21,S22,…,S2m,則W1和W2的相似度為:
由此,就把兩個詞語之間的相似度問題歸結(jié)到兩個概念之間的相似度問題。概念的相似度計算分為虛詞概念的相似度計算和實詞概念的相似度計算。
虛詞和實詞是不能互相替換的,所以,虛詞概念和實詞概念的相似度為0。虛詞概念的相似度計算非常簡單,只需要計算其對應(yīng)的句法義原或關(guān)系義原之間的相似度即可。實詞概念的相似度計算比較復雜,公式為:
根據(jù)HowNet中總結(jié)的義原,與從語料中提取的候選詞采用上述公式計算詞匯相似度,根據(jù)相似度大小篩選出新情感詞加入情感詞典。參考陳曉東等[5]提出的微博領(lǐng)域情感詞獲取過程,本文的情感詞獲取流程圖如圖2所示。
3 設(shè)計計分策略
婁德成等人[6]認為計算語義極性時,如果忽略上下文極性,可能會使得極性傾向判斷錯誤或者極性傾向雖然判斷正確,但是強度不夠準確。因此,加入了程度副詞和否定詞以提高語義極性分析的準確率。本文在其計算方法基礎(chǔ)上稍作改進,情感計算策略如下:
⑴ 假設(shè)某語句中有情感詞word,Polarity和Strength分別為它的極性和強度,Polarity的值為1或-1。該語句的情感得分為:
ContextScore (word)=Polarity (word)*Strength (word)
⑵ 如果語句中有程度副詞intensifier修飾情感詞,Weight為它的權(quán)值。該語句的情感得分將受程度副詞的影響,得分為:
ContextScore (word)=ContextScore (word)*Weight (intensifier)
⑶ 如果該語句中有否定詞privative修飾情感詞,否定詞能改變語句的極性,此時的情感得分為:
ContextScore (word)=-ContextScore (word)/2
這里要除以2,是因為否定詞能夠減弱情感強度。比如:對于“喜歡”這個詞,得分為+2,其反向語義應(yīng)該是“討厭”,得分為-2。而不喜歡并不代表討厭,其情感強度減弱了,因此獲得的得分為-1。
⑷ 當一個句子中同時出現(xiàn)否定詞和程度副詞時,由于否定詞和程度副詞相對位置的不同,會引起情感的不同。例如:①我很不高興;②我不很高興。前者表達的是一種很強烈的負面情感,后者則表達的是一種較弱的正面情感。因此,如果否定詞在程度副詞之前,起到的是減弱情感強度的作用,得分為:
ContextScore=ContextScore (word)*Weight (intensifier)/2
如果否定詞在程度副詞之后,則起到的是逆向情感的作用,得分為:
ContextScore=-ContextScore (word)*Weight (intensifier)
4 傾向性分析過程
4.1 中文分詞
根據(jù)文本的粒度不同,情感分析的任務(wù)可以分為“篇章級”、“句子級”和“詞語級”。首先,要進行中文分詞。本文采用開源的HanLP漢語言處理包中的CRF分詞方法對語料進行分詞處理。
算法設(shè)計的最大分析對象為篇章Document。中文分詞過程的偽代碼描述如下。
⑴ 將文檔以換行符“\r\n”進行分割得到段落順序表Paragraphs。
⑵ 從左到右掃描Paragraphs的每一個段落執(zhí)行下述操作,直至遍歷完順序表:
① 將段落中的句號、分號、問號、感嘆號等劃分句意的符號作為分隔符,對段落進行切割得到句子順序表Sentences。
② 從左到右掃描Sentences中的每一個句子執(zhí)行下述操作,直至遍歷完順序表:
a. 通過CRF分詞法對句子進行分詞得到詞語順序表Words。
b. 基于情感詞典識別情感詞,計算得分。
4.2 計算得分
分詞結(jié)束后,對每個句子逐個計算得分。將處理后得到的單詞,依次與預先構(gòu)建好的情感詞表逐個查找,若能找到,則是情感詞,記錄該情感詞的位置,表示為(詞語位置, 情感詞, 得分)。然后以每個情感詞為基準,向前依次尋找程度副詞、否定詞,并作相應(yīng)分值計算。隨后對分句中每個情感詞的得分作求和運算。每個句子的得分再求和即得到文章的情感得分,根據(jù)分值可分析情感傾向性。
例:這頓飯?zhí)贸粤?,太美味了?/p>
對上述句子進行中文分詞,結(jié)果如下。
[這/rzv, 頓飯/nz, 太/d, 好吃/a, 了/ule, ,/w, 太/d, 美味/n,
了/ule, !/w]
得分詳細計算過程如下:
⑴ 從左到右掃描詞語集合,得到情感詞“好吃”,得分+2,記錄當前詞語的位置,表示為(3,“好吃”,2)。
⑵ 向前尋找程度副詞或否定詞,直至遇到分隔符結(jié)束。找到程度副詞“太”,該程度副詞的權(quán)值為1.75,計算得分2*1.75=2.5。更新情感詞得分為:(3,“好吃”,2.5)。
⑶ 在位置3向后繼續(xù)掃描詞語集合,找到情感詞“美味”,記錄為:(7,“美味”,2)。
⑷ 在位置7向前尋找程度副詞和否定詞,當?shù)竭_位置3時停止尋找,找到程度副詞“太”,更新情感詞得分為:(7,“美味”,2.5)。
⑸ 再從位置7向后掃描,直至句子結(jié)束。
⑹ 最終求得該句子的情感得分為:2.5+2.5=5,句子表達“正面情感”。
5 結(jié)束語
本文研究了基于情感詞典對文本情感進行傾向性分析的方法,重點闡述了情感詞典的構(gòu)建過程和情感得分的設(shè)計策略,主要解決從文本中獲取人們對事物褒貶態(tài)度的問題?;谠~典的方法主要是使用詞典中詞語之間的詞義聯(lián)系挖掘情感詞,所以獲取的情感詞語的規(guī)模非常可觀,從而提高了準確率。但影響文本情感的因素很多,不能僅憑借本文方法就能準確分析所有文本的情感傾向。在未來的工作中,還可以做出以下改進:提高情感詞典的覆蓋率;結(jié)合上下文語境或結(jié)尾標點符號等改進計分策略。
參考文獻(References):
[1] 李婷婷,姬東鴻.基于SVM和CRF多特征組合的微博情感分析[J].計算機應(yīng)用研究,2015,04:978-981.
[2] HowNet[R].HowNet's Home Page.http://www.keenage.com.
[3] 劉群,李素建.基于知網(wǎng)的詞匯語義相似度的計算[C]//第三屆漢語詞匯語義學研討會,2002:59-76
[4] 葛斌,李芳芳,郭絲路,湯大權(quán).基于知網(wǎng)的詞匯語義相似度計算方法研究[J].計算機應(yīng)用研究,2010.9:3329-3333
[5] 陳曉東.基于情感詞典的中文微博情感傾向分析研究[D].華中科技大學,2012.
[6] 婁德成,姚天昉.漢語句子語義極性分析和觀點抽取方法的研究[J].計算機應(yīng)用,2006.11:2622-2625