韓 毅,張 涵,李躍新
(1.安陽工學(xué)院 計算機科學(xué)與信息工程學(xué)院,河南 安陽 455000;2.華中科技大學(xué) 國家數(shù)控系統(tǒng)工程技術(shù)研究中心,湖北 武漢 430000;3.湖北大學(xué) 計算機工程與通信學(xué)院,湖北 武漢 430000)
本文主要考慮中文文本的情感分類問題,目前中文文本情感分類方法也比較多,主要分為兩類:基于有監(jiān)督學(xué)習(xí)的情感分類方法和基于語義理解的情感分類方法[1-13]。前者主要是通過文本數(shù)據(jù)的有監(jiān)督學(xué)習(xí)來進(jìn)行情感分類,如文獻(xiàn)[11]研究基于機器學(xué)習(xí)的中文微博情感分類方法,提取文本的信息增益和詞頻-逆文檔頻率(term frequency-inverse document frequency,TF-IDF)特征,采用支持向量機和貝葉斯分類算法進(jìn)行學(xué)習(xí)和分類,對微博評論的情感分類效果較好。但此類方法的分類精度與訓(xùn)練樣本的完備性關(guān)系較大。后者的核心是分析文本中詞匯的語義特征,通過理解詞匯的情感來實現(xiàn)文本情感的分類。如文獻(xiàn)[12]結(jié)合粒子群優(yōu)化(particle swarm optimization,PSO)和高斯處理(Gaussian process,GP)構(gòu)建PSO-GP分類模型。對于文本數(shù)據(jù)抽取的情感詞典,經(jīng)過特征篩選、數(shù)據(jù)降維及TF-IDF特征提取,生成情感特征向量,將特征向量輸入PSO-GP分類模型得到情感分類結(jié)果。此類方法可以對不同領(lǐng)域的文本進(jìn)行情感分類,但易受詞匯的句式與搭配的影響而降低分類正確率。目前多數(shù)情感分類方法是將這兩類方法進(jìn)行融合,基本思路是先提取文本中的情感特征,然后再采用機器學(xué)習(xí)方法進(jìn)行訓(xùn)練和分類。如文獻(xiàn)[13]提出了一種基于多特征融合的中文情感分類方法,其核心是提取每一個情感詞匯的情感極性得分,并將每一個主觀情感詞匯對3種極性的情感極性得分的平均值作為情感詞匯的情感特征。然后采用機器學(xué)習(xí)方法中的支持向量機進(jìn)行特征的訓(xùn)練與分類,可以很好地實現(xiàn)產(chǎn)品和服務(wù)評論的情感分類。然而,該方法還存在3個問題:第一,該方法將情感詞匯對3種極性的得分進(jìn)行平均,這樣可能弱化情感特征對每一種極性的表達(dá)能力。第二,該方法所描述的主觀情感詞匯的情感特征相互獨立,沒有表達(dá)情感詞匯之間的關(guān)聯(lián)關(guān)系。第三,該方法再對主觀詞匯和客觀詞匯進(jìn)行劃分是采用固定閾值方法,容易出現(xiàn)錯分現(xiàn)象。針對這些問題,本文對文獻(xiàn)[13]所述方法進(jìn)行優(yōu)化,在情感極性得分的基礎(chǔ)上,借鑒圖像處理領(lǐng)域的直方圖概念,提出一種情感直方圖特征,用于中文文本的情感分類。本文方法的主要創(chuàng)新點在于:①以情感詞匯對各個極性的情感極性特征為輸入,采用BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練主觀詞匯與客觀詞匯分類器,可以有效降低文獻(xiàn)[13]采用固定閾值法引起的詞性錯分現(xiàn)象。②在情感極性得分特征的基礎(chǔ)上,將圖像處理領(lǐng)域常用的直方圖特征引入文本特征提取領(lǐng)域,提取文本的情感直方圖特征,不僅可以包含情感詞匯對不同極性的情感表達(dá)特征,而且涵蓋了情感得分的整體分布特性,可以更充分地描述不同文本的情感差異,提高情感分類正確率。
文獻(xiàn)[13]提出了一種基于多特征融合的中文情感分類方法,該方法融合了3種特征,包括:無內(nèi)容特征、領(lǐng)域特征和情感特征,簡要介紹如下:
(1)無內(nèi)容特征
文獻(xiàn)[13]使用的無內(nèi)容特征共有250種,包括詞匯特征87種、句法特征158種和結(jié)構(gòu)特征5種。
(2)領(lǐng)域特征
文獻(xiàn)[13]在提取鄰域特征前先對詞匯進(jìn)行分類,將詞匯分為領(lǐng)域相關(guān)詞匯和非領(lǐng)域相關(guān)詞匯兩類。在此基礎(chǔ)上,分別構(gòu)造兩類詞匯的模式和詞匯集合。具體地,依據(jù)特征和極性詞模式的共現(xiàn)頻率構(gòu)造模式集合,依據(jù)標(biāo)注詞性構(gòu)造詞匯集合。其中,考慮到分類結(jié)果與詞典的完整性密切相關(guān),文中采用二次模式抽取策略完善詞典構(gòu)建。
(3)情感特征
文獻(xiàn)[13]將形容詞、副詞和動詞3類詞當(dāng)作情感詞匯,提取情感特征。具體實現(xiàn)時,先采用HowNet情感詞典計算每一個情感詞匯W的正面情感傾向值,公式為
(1)
式中:j表示詞匯的極性,j∈{正面,負(fù)面,客觀};Nj表示極性j對應(yīng)的基準(zhǔn)詞數(shù)量,WPji表示極性j對應(yīng)的基準(zhǔn)詞集合中的第i個基準(zhǔn)詞。sim(W,WPji)表示情感詞匯W與基準(zhǔn)詞匯WPji之間的相似度。
然后,分別對情感詞匯對3種極性的分?jǐn)?shù),公式為
(2)
式中:POS∈{形容詞,副詞,動詞}, 集合S表示W(wǎng)=POS且W極性為i的詞匯構(gòu)成的集合。|S|表示集合S中的詞匯數(shù)量。
將情感詞匯對3種極性的得分進(jìn)行平均,得到情感詞匯的情感極性分?jǐn)?shù),公式為
(3)
文獻(xiàn)[13]依據(jù)情感詞匯的情感極性分?jǐn)?shù)構(gòu)建情感特征集合。其中,使用閾值分割思想,將情感詞匯分為主觀詞匯(情感極性分?jǐn)?shù)不大于0.5)和客觀詞匯(情感極性分?jǐn)?shù)大于0.5),只提取主觀詞匯的情感特征。
本文借鑒文獻(xiàn)[13]提出的情感極性得分特征,在此基礎(chǔ)上提出了情感直方圖特征,不僅可以包含情感詞匯對不同極性的情感表達(dá)特征,而且涵蓋了情感得分的整體分布特性,可以更充分地描述不同文本的情感差異,有益于中文情感分類。同時,本文采用BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練主觀詞匯與客觀詞匯分類器,能夠有效降低文獻(xiàn)[13]采用固定閾值法引起的錯分現(xiàn)象。另外,本文采用隨機森林學(xué)習(xí)方法構(gòu)建情感特征分類器,可以實現(xiàn)多類情感分類,應(yīng)用場合更廣泛。本文方法的實現(xiàn)流程如圖1所示,其中虛線箭頭指代訓(xùn)練流程,實線箭頭指代測試流程,主要包括文本分詞、詞性篩選、情感極性得分計算、主觀詞匯與客觀詞匯分類、情感直方圖特征提取和特征訓(xùn)練與分類6個部分。詳細(xì)描述如下。

圖1 情感分類實現(xiàn)流程
在中文文本分詞領(lǐng)域,常用的是中國科學(xué)院計算機研究所張華平等開發(fā)的ICTCLAS中文分詞系統(tǒng),也稱為NLPIR中文分詞系統(tǒng)。該系統(tǒng)采用層疊隱馬爾科夫模型進(jìn)行分詞,并對詞性進(jìn)行標(biāo)注。本文采用該系統(tǒng)進(jìn)行文本分詞,將每一個文本都轉(zhuǎn)換為一個不同詞性的詞匯集合。
通常,文本分類系統(tǒng)只需要去除停用詞等對文本內(nèi)容意義不大的詞匯。而對于情感分類而言,文本中所存在的大量描述文本主題內(nèi)容的名詞等詞匯,會對情感分類產(chǎn)生很大的干擾,尤其是在不同主題的文本的情感分類問題。對于情感分類而言,起主要作用的是形容詞、副詞和動詞3類詞性[13]。因此,本文在詞性篩選階段只保留分詞之后的形容詞、副詞和動詞3類詞性的詞匯集合。
文獻(xiàn)[13]提出了一種情感詞匯的情感極性得分的計算方法。如上一節(jié)所述,文獻(xiàn)[13]首先采用HowNet情感詞典,計算每一個情感詞匯的正面情感傾向值。然后,分別計算形容詞、副詞和動詞3類情感詞匯對正面、負(fù)面和客觀3類極性的情感極性得分,如式(2)所示。文獻(xiàn)[13]通過實驗表明,情感極性得分能夠有效反映情感詞匯所要表達(dá)的情感類別。因此,本文也采用情感極性得分作為情感詞匯的特征表達(dá)。
一般地,詞匯有主觀詞匯和客觀詞匯之分,主觀詞匯是表達(dá)用戶情感的主要手段。文獻(xiàn)[13]在獲取了每一個情感詞匯的情感極性得分之后,將情感詞匯對3種極性的得分進(jìn)行平均,得到情感詞匯的情感極性分?jǐn)?shù),如式(3)所示。然后使用閾值分割思想,將情感詞匯分為主觀詞匯和客觀詞匯兩類,只提取主觀詞匯的情感特征。
然而,將情感詞匯對3種極性的得分進(jìn)行平均可能弱化情感特征對每一種極性的表達(dá)能力。而且,主觀詞匯和客觀詞匯很難通過平均情感極性得分進(jìn)行嚴(yán)格區(qū)分,故采用固定閾值(文獻(xiàn)[13]中閾值為0.5)分割的思想?yún)^(qū)分主觀詞匯和客觀詞匯盡管能夠提升特征對用戶主觀評價的表達(dá)能力,但也會由于主觀詞匯和客觀詞匯的錯誤分類而產(chǎn)生特征區(qū)分能力下降的問題。
為了降低主觀詞匯和客觀詞匯分類的錯誤率,本文采用BP神經(jīng)網(wǎng)絡(luò)構(gòu)建詞匯分類器,用于對主觀詞匯和客觀詞匯進(jìn)行分類。實現(xiàn)方法是:
首先,為了避免平均情感極性得分可能弱化情感特征對每一種極性的表達(dá)能力的現(xiàn)象,本文將每一個情感詞匯對3種極性的3個情感極性得分組建成一個三維的情感極性特征向量。
然后,設(shè)計一個三層的BP神經(jīng)網(wǎng)絡(luò),也即一個輸入層、一個隱藏層和一個輸出層。輸出層的輸出類別有兩類,即主觀詞匯和客觀詞匯。輸入層由每一個情感詞匯的三維情感極性特征向量組成。
在訓(xùn)練階段,將訓(xùn)練樣本集中的所有情感詞匯的三維情感極性特征向量以及標(biāo)記的詞匯類別標(biāo)簽送入BP神經(jīng)網(wǎng)絡(luò),學(xué)習(xí)網(wǎng)絡(luò)中的連接權(quán)重和偏置項參數(shù)。本文采用Matlab中自帶的BP神經(jīng)網(wǎng)絡(luò)來實現(xiàn)分類器的構(gòu)建,其中,隱藏層傳遞函數(shù)選擇tansig函數(shù),學(xué)習(xí)速率設(shè)置為0.05,最大迭代次數(shù)設(shè)置為1000,誤差設(shè)置為1e-5。
文獻(xiàn)[13]將每一個主觀情感詞匯對3種極性的情感極性得分的平均值作為情感詞匯的情感特征。存在的問題是:第一,將情感詞匯對3種極性的得分進(jìn)行平均可能弱化情感特征對每一種極性的表達(dá)能力。第二,每一個主觀情感詞匯的情感特征相互獨立,沒有表達(dá)情感詞匯之間的關(guān)聯(lián)關(guān)系。針對這兩個問題,本文將圖像領(lǐng)域的直方圖特征引入文本情感詞匯分類領(lǐng)域,描述情感特征的空間分布特性。基本思路是:將每一個文本視作一幅圖像,將每一個情感詞匯視作圖像中的一個“像素點”,將正面、負(fù)面和客觀3種極性視作圖像中的3個“顏色通道”,將每一個情感詞匯對每一個極性的情感極性得分視作該情感詞匯在每一個“顏色通道”上的“像素值”。
對于每一個文本數(shù)據(jù),計算其在3個“顏色通道”上的情感直方圖特征。下面以任意一個“顏色通道”為例,介紹其情感直方圖特征的提取步驟,具體為:
步驟1 對于上一小節(jié)分類為客觀詞匯的情感詞匯,將其對應(yīng)的“顏色通道”的“像素值”都置為1;
步驟2 為了便于進(jìn)行直方圖統(tǒng)計,對“像素值”進(jìn)行離散化處理。具體地,統(tǒng)計“顏色通道”上“像素值”的最小值,記為vmin。假設(shè)離散化后的“像素值”的“灰度級”為L,那么,“像素值”v離散之后的值為
(4)
式中:Int(·)表示取整運算。
由于v∈[vmin,1], 因此離散之后“像素值”的分布范圍為[0,L-1]。
“灰度級”L越大,情感特征的細(xì)節(jié)區(qū)分能力越強,但同類情感特征的類內(nèi)一致性越差。本文將在實驗部分測試 “灰度級”L不同時情感分類正確率指標(biāo),據(jù)此選擇最優(yōu)的“灰度級”L。
步驟3 統(tǒng)計每一個“像素值”所對應(yīng)的“像素點”數(shù)量,用其除以“像素點”總數(shù)(也即某一極性的情感詞匯的總數(shù))N,得到該“像素值”的分布概率(這里用頻率近似),表示為
(5)
式中:Ni表示“像素值”為i的“像素點”數(shù)量。
步驟4 將所有“像素值”的分布概率串聯(lián)在一起,得到該“顏色通道”的直方圖特征,記為P{正面or負(fù)面or客觀}={pi|i=0,1,…,L-1}, 維數(shù)為L。
這樣,每一個“顏色通道”都可以提取一個維數(shù)為L的直方圖特征,將3個“顏色通道”的直方圖特征串聯(lián)在一起,得到文本的情感直方圖特征,記為F={P正面,P負(fù)面,P客觀}, 維數(shù)為3L。本文提取的情感直方圖特征不僅包含了情感詞匯對不同極性的情感表達(dá)特征,而且涵蓋了情感得分的整體分布特性,可以更充分地描述不同文本的情感差異。
對于提取到的情感直方圖特征,需要采用機器學(xué)習(xí)方法進(jìn)行學(xué)習(xí),構(gòu)建一個特征分類器,實現(xiàn)文本的情感分類。與文獻(xiàn)[13]相同,本文也采用支持向量機分類器進(jìn)行特征的訓(xùn)練與分類。該分類器是一個二元分類器,可以將文本分為好評(正面評價)和差評(負(fù)面評價)兩種情感。
(1)語料庫構(gòu)建
本文仿照文獻(xiàn)[12]的語料庫構(gòu)建方法,采用網(wǎng)絡(luò)爬蟲工具,從淘寶(www.taobao.com)、京東(www.360buy.com)、國美(www.gome.com.cn)和蘇寧(www.suning.com)4個網(wǎng)站上下載關(guān)于空調(diào)的評論,按照用戶的打分標(biāo)記評論的情感屬性,其中,3分以下或者三顆星以下的評論的情感屬性標(biāo)記為負(fù)面,其它評論的情感屬性標(biāo)記為正面,具體見表1。
后續(xù)實驗將在TB、JD、GM和SN這4個語料庫上進(jìn)行。對于每個語料庫,隨機選取90%的樣本用于訓(xùn)練,其余樣本用于測試,采用Weka挖掘工具進(jìn)行10-fold交叉驗證方式測試情感分類方法的性能,10次驗證結(jié)果取平均值作為最終實驗結(jié)果。

表1 語料庫信息
(2)評價指標(biāo)
情感分類方法常用的評價指標(biāo)有3個,分別是查準(zhǔn)率(precision)、召回率(recall)和微平均(F1),詳見文獻(xiàn)[12]中定義。查準(zhǔn)率用于評價分類器的準(zhǔn)確性,召回率用于評價分類器的完備性,兩者是負(fù)相關(guān)的,一個指標(biāo)的提升會引起另一個指標(biāo)的下降。而微平均是對查準(zhǔn)率和召回率的綜合評價,定義為
(6)
其中
(7)
(8)
其中,true(cj)表示正確分類為cj的文本數(shù)量,response(cj)表示分類結(jié)果為cj的文本數(shù)量,doc(cj)表示文檔中類別為cj的文本數(shù)量,C={+1,-1}表示類別集合,“+1”表示正面評價,“-1”表示負(fù)面評價。
因此,本文采用微平均F1對情感分類器的性能進(jìn)行綜合評價。
(3)對比方法與實驗平臺
考慮到本文是對文獻(xiàn)[13]的改進(jìn),主要改進(jìn)了特征提取部分和詞匯詞性的分類部分。因此,對比實驗時主要是與文獻(xiàn)[13]所述方法進(jìn)行對比,首先對比主觀和客觀詞匯的分類性能,然后綜合對比不同方法的情感分類性能。為了更充分地驗證本文方法的性能,本文還選擇了近三年相關(guān)的兩種方法(見文獻(xiàn)[11]和文獻(xiàn)[12])進(jìn)行對比。為了公平起見,4種方法實驗所用的語料庫、實驗平臺和交叉驗證方法都是相同的。實驗平臺主要參數(shù)為:Windows 7操作系統(tǒng)、Intel Core-i5 CPU 3.20 GHz、16 G DDR3 內(nèi)存、Matlab 2012軟件平臺。在進(jìn)行對比實驗之前,先對本文方法涉及的重要參數(shù)進(jìn)行實驗分析。
本文方法涉及的重要參數(shù)是情感直方圖特征提取階段使用的“灰度級”L。理論上,“灰度級”L越大,情感特征的細(xì)節(jié)區(qū)分能力越強,但同類情感特征的類內(nèi)一致性越差。為了選擇最優(yōu)的“灰度級”,本文在TB語料庫上實驗了“灰度級”取值不同時評價指標(biāo)F1的變化曲線,如圖2所示。

圖2 F1隨L的變化曲線
由圖2可見,“灰度級”L=350時,F(xiàn)1達(dá)到峰值81.4%,因此,本文取“灰度級”L=350。
本文在上一節(jié)指出,主觀詞匯和客觀詞匯很難通過平均情感極性得分進(jìn)行嚴(yán)格區(qū)分,故文獻(xiàn)[13]采用固定閾值分割的思想?yún)^(qū)分主觀詞匯和客觀詞匯往往存在錯分現(xiàn)象。本文采用BP神經(jīng)網(wǎng)絡(luò)構(gòu)建詞匯分類器,用于降低主觀詞匯和客觀詞匯的分類錯誤率。如圖3所示,給出了本文方法和文獻(xiàn)[13]所述方法對主觀詞匯和客觀詞匯的分類錯誤率對比結(jié)果。

圖3 主觀和客觀詞匯分類錯誤率對比
由圖3可見,在4個語料庫上,本文方法對主觀詞匯和客觀詞匯的分類錯誤率都低于文獻(xiàn)[13]所述方法,這也驗證了在主觀詞匯和客觀詞匯分類方面,BP神經(jīng)網(wǎng)絡(luò)優(yōu)于固定閾值。
下面對本文方法和文獻(xiàn)[11]~文獻(xiàn)[13]所述方法進(jìn)行情感分類對比實驗,實驗結(jié)果如圖4所示。

圖4 不同方法F1性能對比
由圖4可見,本文方法在4個語料庫下的F1指標(biāo)都高于其它3種方法。與文獻(xiàn)[11]所述方法相比,本文具體針對情感詞匯提取情感直方圖特征,與信息增益和TF-IDF特征相比,更能體現(xiàn)詞匯的情感特性。與文獻(xiàn)[12]所述方法相比,本文的情感直方圖特征比單純的情感詞典更能反映情感詞匯之間的聯(lián)系,在訓(xùn)練語料庫相同的條件下,本文采用的支持向量機分類器的泛化能力優(yōu)于PSO-GP分類模型。與文獻(xiàn)[13]所述方法對比,本文采用BP神經(jīng)網(wǎng)絡(luò)降低了詞匯詞性分類錯誤率,采用情感直方圖特征提升了情感極性得分特征的表達(dá)能力,并利用了詞匯之間的情感極性得分的關(guān)聯(lián)關(guān)系,從而最終提升了情感分類性能。
中文情感分類用于挖掘用戶的情感信息,是大數(shù)據(jù)技術(shù)的研究熱點之一。文獻(xiàn)[13]使用的情感極性得分特征能有效表達(dá)詞匯的情感傾向,對于情感分類很有意義。本文主要針對文獻(xiàn)[13]所存在的詞性分類錯誤率偏高,以及情感極性得分特征對每一種極性的表達(dá)能力偏弱和無法表達(dá)情感詞匯之間關(guān)聯(lián)關(guān)系的問題,借鑒圖像處理領(lǐng)域的直方圖概念,提出了一種基于情感直方圖特征的中文情感分類方法。該方法采用BP神經(jīng)網(wǎng)絡(luò)降低主觀詞匯與客觀詞匯的分類錯誤率,通過情感直方圖特征和支持向量機分類器提升情感分類性能,在對商品評論的情感分類實驗中取得了比對比方法更好的分類效果。下一步研究將從多特征融合的角度,深入挖掘更充分的情感詞匯特征,進(jìn)一步提高情感分類性能。