何成萬,王 格
武漢工程大學計算機科學與工程學院,湖北 武漢 430205
隨著互聯網的普及和互聯網技術的發展,越來越多的人選擇在網上購物、發表評論.如何從如此多紛繁復雜的信息中提取出對人們有用的信息就成為一個亟待解決的課題.文本情感傾向性分析的目的是對整篇文本所體現出的態度,即文本中的主觀信息進行判斷[1].
目前進行情感傾向分析主要的方法為基于機器學習的方法和基于情感詞典的方法.基于機器學習的方法涉及特定領域,在領域相關的文本傾向性分析中有較好的表現,但是對于領域無關的文本進行分析時,效果不是很好.基于情感詞典的方法核心思想是構造情感詞典,對待分析的文本進行預處理之后,根據情感詞典進行情感詞匹配,這種方法通用性強,不需要語料處理工作,但是對于特定領域的文本,傾向分析效果不是很好.
本文以基于情感詞典的方法為基礎,借鑒機器學習的思想,在情感詞典中加入領域情感詞,并構造輔助詞典集合,提出一種改進的基于情感詞典的傾向分析方法.對于動態詞,本文給出了一種通過處理評論主體來處理動態表達的方法,同時給出一種有監督的詞典維護方法.
觀點挖掘按照挖掘粒度來分可以分為文本級、句子級、詞語級.文本級的挖掘又叫做情感傾向分析或文本分類,目的是判斷文本是褒義、貶義還是中性.
2002年Turny就提出了基于種子詞匯來發現情感詞的方法[2].Pang等使用了貝葉斯、最大熵、支持向量機(SVM)等機器學習的方法來構造分類器,并對這幾種方法進行了對比[3].NozomiKobayashi等構建了一個模式庫,收錄了8種命中率比較高且比較準的模式用來提取評價主體、評價方面和評價之間的關系[4],隨后做了大量的語料工作,研究了主體和屬性、屬性和屬性之間的層次關系,還對句子間的關系抽取做了一定的研究[5].Marrese等考慮到用戶對不同的產品發表不同的評論,找出旅游領域的特征,構造出更復雜的擴充和自然語言處理模型用于旅游領域的挖掘[6].Penalver等通過在特征選擇階段使用本體來提高基于特征的觀點挖掘,同時給傾向性分析提出了一種基于向量的分析方法[7].
朱嫣嵐提出了基于知網的語義傾向計算[8].孫建旺等利用詞典和機器學習相結合的方法來進行中文微博的情感分析[9].肖紅等提出結合句法分析和情感詞典的網絡輿情分析的方法[10].王勇等構建一種情感極性詞典來對微博情感進行分類[11].謝松縣等提出一種用語義關系構建情感詞典的方法將中文情感詞轉換為對應的英文,可以解決同一個詞語在不同語境下的傾向值分析[12].徐曉丹等利用情感詞典及特征加權相結合的方法來進行傾向性判別[13].周詠梅等針對微博上的網絡用語,使用上下文熵和詞頻統計閾值在過濾后的微博的語料部分中來濾篩選網絡用語,構建網絡情感詞典[14].
本文構造的詞典主要包括情感詞典和輔助詞典集,各詞典的關系如圖1所示.

圖1 詞典集結構關系Fig.1 Structural relationship of dictionaries
將 HowNet[15]發布的正面評價詞典、正面情感詞典、情感詞匯本體[16]中極性為“1”的詞合并去重,構成正面基礎情感詞典,且詞語的情感傾向值都為“+1”;將 HowNet中的負面評價詞典、負面情感詞典、情感詞匯本體中極性為“2”的詞合并去重,構成負面基礎情感詞典,且詞語的情感傾向值都為“-1”.
基礎情感詞典是通用詞典,這種詞典的優點通用性強.但是通用的情感詞典在領域相關的文本分析中,面對含有某些領域相關的情感詞的評論的時候并不能準確分析出結果.為了增加對特定領域的識別能力,本文借鑒機器學習的思想,對特定領域進行語料分析和學習,擴充基礎情感詞典.基礎情感詞典的擴充過程如下:
step1:對于每一條訓練語料,進行分詞和停用詞過濾.
step2:將經過預處理之后的文本與基礎情感詞典中的詞語匹配,如果匹配成功,則說明該詞語已經收錄在基礎情感詞典中,不再考慮;如果未匹配成功,則該詞語屬于未收錄詞語,將該詞語加入未收錄候選詞表中.
step3:待所有訓練語料處理完畢之后,對于未收錄候選詞表中的詞,進行人工判斷詞語的情感傾向,并且根據傾向性賦予傾向值(褒義為“+1”,貶義為“-1”),將傾向值為正的詞,加入正向基礎情感詞典中,將傾向值為負的詞,加入負向基礎情感詞典中.
本文沒有使用SO-PMI或PMI等方法去計算情感詞更為具體的傾向值,原因有如下幾點:
a.對于整個分析過程來講,正向詞傾向值定為+1,負向詞傾向值定為-1,這樣可以簡化分析過程的計算量,并且具體的傾向值對傾向分析的影響沒有否定詞、程度副詞、關聯詞等的影響大.如本文這樣定義情感詞的傾向值,在傾向值計算的時候節省了開銷,配合輔助詞典進行分析得到的分析結果已經能夠滿足要求.
b.使用SO-PMI或PMI算法計算詞語傾向值,需要選擇種子詞,而種子詞的選擇方法沒有固定標準,理論上是選擇情感傾向強烈的詞作為種子詞,但是計算詞語傾向性強烈程度本身就是要解決的問題.另外,選擇的種子詞的數量對分析結果也有影響.
2.2.1 停用詞典 停用詞是在表達中為了語義連貫而添加的沒有實際意義的詞語,或者對于情感傾向分析來說沒有幫助的詞.例如,在“這部手機太好了”和“這部手機用著真流暢”中,“了”和“著”這兩個詞在語言表達上都沒有實際的意義,僅僅只是習慣表達或者為了語意連貫而加上的.本文構建的停用詞典共收錄停用詞1 118個.
2.2.2 否定詞典 在自然語言中,否定表達根據否定詞數量的不同,分為否定表達和多重否定.否定詞數量的多少能夠直接影響情感詞的傾向值.其中否定和三重否定表示的否定的意思,而雙重否定表達的是著重肯定的意思.這里引入乘積因子β,用來處理否定詞數量對情感詞傾向值的影響.在匹配的過程中記錄否定詞的匹配的次數,匹配過程結束后,若否定詞的數量為偶數,將β置為2,若否定詞的數量為奇數,將β置為-1.
2.2.3 程度副詞詞典 程度副詞既可以改變情感詞的傾向性,又可以改變情感詞的傾向值,從而在分句及整句的傾向值計算中影響傾向分析的結果,例如“手機好用”是正面評價,“手機很好用”是對“好用”的加強.程度副詞詞典收錄了115個程度副詞,是將HowNet提供的程度級別詞典進行人工篩選過濾之后,添加進部分新詞構成的.本文定義乘積因子α來綜合表征這三類程度副詞的影響,在程度副詞詞典中記錄程度副詞的權值,在進行程度副詞匹配時,若匹配成功,則將情感詞的傾向值乘以α,并用于后續計算.程度副詞詞典結構如表1所示.

表1 部分程度副詞及權值Table 1 Weights of some degree adverbs
2.2.4 關聯詞詞典 關聯詞是對傾向性分析影響較大的一個原因,尤其在中文表達中,連詞的出現頻率非常高,忽視這些連詞對傾向性的影響可能會使傾向值的計算不準確,甚至導致傾向分析出現錯誤,例如“這個手機雖然貴,但是性價比高”,這條評論里重點要表達的是對手機的正面情感,如果不考慮關聯詞,“貴”的傾向為“-1”,“性價比高”傾向值為“+1”,綜合傾向值為“0”,為中性,但是從漢語語法來看,這條評論表達了作者正面情感.為了處理關聯詞對于傾向分析的影響,本文構建了關聯詞詞典.關聯詞詞典中收錄的是常用的漢語關聯詞,根據這些關聯詞對漢語表達不同分句之間語義的影響,賦予關聯詞所影響的分句不同的權值.定義參數θ表征重點分句的權值(非重點分句權值為1),部分關聯詞權重如表2所示.

表2 部分關聯詞及權重Table 2 Weights of some conjunctivewords
2.2.5 動態詞典 動態詞的處理是近年中文情感傾向分析中的一個難點.所謂動態詞,就是情感傾向不固定,隨著語境和評論主體的不同會發生變化的詞,如“快”、“高”等情感詞,單獨從詞語的傾向性來看是褒義的,收錄在正面情感詞典中,但是在“耗電快”、“發熱高”等表達中,顯然是負面的.
在不涉及領域的通用詞典中,對于這類詞語是無法識別的,因為通用詞典是基于詞語匹配來分析的,無法識別語義信息.無法識別動態情感詞將會大大降低情感分析的準確度.
通過對大量語料研究,發現動態表達呈現一定的規律,即情感詞之所以能夠表現出動態的情感傾向,是因為這些動態詞描述的是評論主體或評論主體某一屬性的特點,而這些屬性往往是領域相關的,且情感詞往往具有與平時表達相反的情感傾向,如上文“耗電快”、“發熱高”等表達中的“快”、“高”.
在不涉及特定領域的傾向分析中,這些評論主體數量很多,但是具體到特定的領域,這些評論主體的數量就非常有限了,而本文的研究目的也正好是在保留通用性的情況下來滿足領域適用性,所以經過大量的語料研究,提出了一種解決動態詞傾向識別的方法,即構建一個動態詞典,其中收錄能夠改變情感詞傾向性的評論主體.通過上面的分析,筆者認為解決動態詞的核心不是怎樣去處理動態詞本身,而是怎樣去識別動態詞所描述的對象.通過語料分析,動態詞的數量是不多的,涉及到特定領域的就更少了,但是這部分少量的動態詞卻對某些評論的傾向分析的結果的準確性起到了決定性的作用.
由于目前對動態詞的研究還處于初步階段,本文給出了處理動態詞的一種方法,但是動態詞典的構建需要手動完成.
傾向分析中另外一個難點,就是新詞識別的問題.這里的新詞指的是情感詞典中未收錄的詞語.例如“給力”、“坑爹”、“不明覺厲”等,這些詞是不符合漢語語法規則的,但是借由網絡快速傳播,從而讓大部分網民了解并廣泛使用.
目前國內有部分這方面的研究,都是通過復雜的自動發現算法來識別新詞,這樣做的優點是完全不需要人工參與,但是就目前的研究現狀來看,識別效果并不是很好,而且算法復雜,開銷很大.綜合考慮識別效果、算法復雜度、計算開銷等因素,本文提出一種有監督的新詞發現方法.
橫向比較每個網絡用語出現的時間,發現如此多的網絡用語并不是在短時間內集中出現的,而是在相對較長的時間里零散的出現.考慮到這種事實,花費少量的人工來換取高效的新詞發現效率是可行的,主要過程如下:
a.當發現未匹配的分詞片段的時候,不僅僅只記錄該片段,同時記錄該片段的上一片段和下一片段,這樣當提交給人工判斷時候方便人工進行正確處理;
b.當未匹配片段達到閾值,交由人工判斷,若判定為未收錄新詞,將該詞加入情感詞典或輔助詞典集中對應的詞典;對于判斷為不是新詞的組合,添加進非情感詞典中,這樣可以避免重復判斷不是新詞的高頻組合.
關于閾值T的設定可以根據分析規模的大小來設定.
這種新詞發現方法可以用來收錄情感詞典中為收錄的新詞,也可以用來維護構建輔助詞典集.
通過分析可知,進行傾向分析的評論必須是同一主體,若評論中含有多個評論主體,則需進行句子級的挖掘.
設計傾向值計算方法的思路是先計算分句的傾向值,再計算整句的傾向值,最后計算文本的傾向值.算法描述如下:
輸入:待分類文本d,情感詞典sendic,停用詞典stopdic,否定詞典ndic,程度副詞詞典levdic,關聯詞典reldic,動態詞典dyndic;
輸出:文本d的分析結果
step1:將待分類文本d使用中科院的分詞系統 ICTCLAS[17]進行分詞;
step2:將分詞完成的文本使用停用詞典stopdic進行過濾;
step3:將文本按照句號劃分成整句集合S={S1,S2,..Sn}, 并對每一個整句根據逗號和分號劃分成分句 s1,s2,..sn;
step4:對每一分句使用情感詞典sendic匹配情感詞,若匹配失敗,則對下一分句進行匹配,直至所有分句匹配失??;若匹配成功,進行下一步;
step5:從情感詞的位置開始反向遍歷分句,根據程度副詞詞典levdic匹配程度副詞,若匹配到程度副詞,則置乘積因子α=2,否則置乘積因子為1;
step6:從情感詞的位置反向遍歷分句,根據否定詞典ndic匹配否定詞,記錄否定詞的數量n,若n為奇數,則置乘積因子β=-1,若為非0偶數,則置為2,若為0則置為1;
step7:從情感詞的位置反向遍歷分句,根據動態詞典dyndic匹配動態情感詞的評論主體,若匹配成功,則將情感詞的傾向性改變,傾向值的絕對值不變;
step8:從情感詞的位置反向遍歷分句,根據關聯詞典reldic匹配關聯詞,根據關聯詞典中定義的分句權值確定乘積因子θ的值;
step9:根據公式(1)計算文檔d的傾向值O rientation(d);
step10:若d的傾向值>0,則文檔為褒義;若d的傾向值<0,則文檔為貶義.

式(1)中m為整句中分句的數量,n為文檔中整句的數量.O ri(w)為分句中情感詞結合動態詞典dyndic之后的傾向值,α表示程度副詞對傾向性分析的影響;β表示否定詞對傾向性分析的影響;θ表示關聯詞對情感分析的影響.
以手機領域的評論為例,進行情感詞典的擴充和動態詞典的構造.實驗數據為數據堂下載的真實手機評論.從獲取的手機評論中隨機選擇2 000條作為訓練語料,用于情感詞典的構建.從中選擇1 000條作為測試語料用于實驗結果分析.
通過對2 000條訓練語料進行以上處理,新增了71個領域情感詞.其中褒義23個,貶義48個.將褒義詞添加進正向基礎情感詞典,構成正面情感詞典,將貶義詞添加進負向基礎情感詞典,構成負面情感詞典.構成的正面情感詞典和負面情感詞典部分內容如表3所示.
然后人工在手機評論的語料中搜集動態情感詞的評論主體和評論主體的屬性,構成動態詞典,部分動態詞典如圖2所示.

表3 部分正面情感詞Table 3 Some positive emotionalwords

圖2 部分動態詞Fig.2 Some dynamic terms
邀請3位標注者分別對1 000條測試語料進行人工標注,然后對標注結果進行匯總,若有兩名標注者或所有標注者對語料標注為正向,則語料傾向性為正,若有兩名標注者或所有標注者對語料標注為負向,則語料傾向性為負.
將本文提出的方法和傳統的使用HowNet計算的方法進行比較,為了更具體的對比分析兩種方法,對正面情感和負面情感分開計算,結果如表4所示.

表4 實驗結果Table 4 Experimental results
通過對上表實驗數據的分析可以得到以下結論:
在進行領域相關文本的傾向性分析時,本文提出的方法在正面情感的判斷和負面情感的判斷上,無論準確率和召回率都要比基于HowNet的傳統情感詞典方法要高.首先是因為對HowNet進行了篩選過濾,去除了不符合收錄規則的詞;其次是進行了領域相關的訓練語料的學習工作,引入了領域情感詞,并且擴充了網絡流行用語,對領域相關的評論進行分析可以提高分析的準確度;第三是輔助詞典集全面的考慮了語義和句子間的結構關系,能夠處理否定詞、程度副詞、關聯詞,能夠提高傾向值計算的準確性,對于動態詞的識別能夠增強分析的準確度.
以上提出的一種基于領域情感詞典的網絡評論傾向分析方法,給出了情感詞典的構建和擴充方法,并通過構建輔助詞典集以及有監督的維護方法來進行輔助分析.
目前的方法還存在以下不足:不能識別網絡表達中表情符號和不符合語法規則的表達;需要研究出自動的新詞發現方法;對于特殊句式如反問句等還不能識別.將在今后的工作中對這些問題做進一步的研究.
[1]黃萱菁,張奇,吳苑斌.文本情感傾向分析[J].中文信息學報,2011,10(9):118-126.H UANG Xuan jing,Zhang Qi, W U Yuan bin.A Survey on Sentiment Analysis [J].Journal of Chinese information,2011,10(9) 118-126.(in Chinese)
[2]Turney PD.Thumbs up or thumbs down semantic orientation applied to unsupervised classification of views[C]//Proceedings of the 40th annualmeeting on association for computational linguistics.Philadelphia: Association for Computational Linguistics,2002:417-424.
[3]Pang B, Lee L.Seeing stars: Exploiting class relationships for sentiment categorization with respect to rating scales [C]//Proceedings of the 43rd annualmeeting on association for computational linguistics.New York:NJ,ACM,2005:115-124.
[4]Nozomi Kobayashi, Kentaro Inui, Yuji Matsumoto.Collecting Evaluation Expressions for Opinion ExtractionIn[C]//Proceedings of the 1st International Joint Conference on Natural Language Processing(IJCNLP).2004:584–589.
[5]Nozomi Kobayashi, Kentaro Inui, Yuji Matsumoto.Extracting Aspect-Evaluating and Aspect-of Relatons in Opinion mining [C]//Proceedings of the 2007 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning, Prague, June 2007:1065-1074.
[6]Marrese-Taylor E, Velasquez JD, Bravo-Marquez F.A novel deterministic approach for aspect-based opinionmining in tourism products reviews[J].Expert Systemswith Applications,2014,41(17):7764-7775.
[7]Penalver-Martinez I, Garcia-Sanchez F,Valencia-Garcia R,et al.Feature-based opinion mining through ontologies [J].Expert System with Applications,2014,41(13):5995-6008.
[8]朱嫣嵐,閔錦,周雅倩,等.基于HowNet的詞匯語義傾向計算[J].中文信息學報, 2006,20(1):14-20.ZHU Yan-lan,MIN Jin,ZHOU Ya-qian,etc.Semantic orientation computing based on hownet[J].Journal of Chinese I nformation,2006,20(1):14-20.(in Chinese)
[9]孫建旺,呂學強,張鐳翰.基于詞典與機器學習的中文微博情感分析研究[J].計算機應用與軟件,2014,31(7):177-181.S UN Jianwang L V Xueqiang Zhang Leihan.O n sentiment analysis of chinese microblogging based on lexicon and machine learning[J].Journal of C omputer A pplications and S oftware,2014,31(7):177-181.(in Chinese)
[10]肖紅,許少華.基于句法分析和情感詞典的網絡輿情傾向性分析研究[J].小型微型計算機系統,2014,35(4):811-813.XIAO Hong,XU Shao- hua.Analysis on web public opinion orientation based on syntactic parsing and emotional dictionary [J].Small M icrocomputer system,2014,35(4):811-813.(in Chinese)
[11]王勇,呂學強,姬連春,等.基于極性詞典的中文微博客情感分類 [J].計算機應用與軟件,2014,31(1):35-37,126.W ANG Yong, L V Xueqiang, J I Lianchun,et al.S entiment classification for chinese microblogging based on polarity lexicons [J].Computer A pplications and S oftware, 2014,31(1):35-37,126.(in Chinese)
[12]徐曉丹,段正杰,陳中育.基于擴展情感詞典及特征加權的情感挖掘方法[J].山東大學學報(工學版),2014,144(6):15-18,69.XU Xiaodan,DUAN Zhengjie,CHEN Zhongyu.The sentimentminingmethod based on extended sentiment dictionary and integrated features [J].Journal of S handong U niversity(engineering science),2014,144(6):15-18,69.(in Chinese)
[13]謝松縣,劉博,王挺.應用語義關系自動構建情感詞典[J].國防科技大學學報, 2014,36(3):111-115.XIE Songxian,LIU Bo,WANG Ting.Applying semantic relations to construct sentiment lexicon automaticlly [J].Journal of N ational U niversity of D efense T echnology,2014,36(3):111-115.(in Chinese)
[14]周詠梅,陽愛民,林江豪.中文微博情感詞典構建方法[J].山東大學學報(工學版), 2014,4(3):36-40.ZHOU Yongmei,YANG Aimin,LIN Jianghao. A method of building Chinese microblog sentiment lexicon[J].Journal of S handong U niversity (engineering science), 2014,4(3):36-40.(in Chinese)
[15]周強,馮松巖.構建知網關系的網狀表示[J].中文信息學報,2000,14(6):21-27.ZHOU Qiang ,FENG Song-yan.Build a relation network representation for How-net.Journal of Chinese information,2000,14(6):21-27.(in Chinese)
[16]郭凱.基于評論情感的微博謠言檢測研究 [D].大連:大連理工大學,2014.G UO Kai.The research of Microblog Rumors Dection Based on Comments Sentiment[D].Dalian: dalian university of technology,2014.(in Chinese)
[17]蔡小艷,寇應展,沈巍,等.漢語詞法分析系統ICTCLAS在 Nutch一 0.9中的應用與實現 [J].軍械工程學院學報, 2008, 20(5):63-70.CAIXiao yan, KOU Ying zhan , Shen Wei,et al.The Application and Realization of ICTCLASon Nutch-0.9[J].Journal of ordnance engineering college,2008,20(5):63-70.(in Chinese)