陳 智,李 鵬,2
(1.武漢科技大學計算機科學與技術學院,武漢430065 2.智能信息處理與實時工業(yè)系統(tǒng)湖北省重點實驗室,武漢430065)
CHEN Zhi1,LI Peng1,2
(1.College of Computer Scienceand Technology,Wuhan University of Science and Technology,Wuhan 430065;2.Hubei Province Key Laboratory of Intelligent Information Processing and Real-time Industrial System,Wuhan 430065)
利用互信息和聚類抽樣的文本情感分類
陳智1,李鵬1,2
(1.武漢科技大學計算機科學與技術學院,武漢430065 2.智能信息處理與實時工業(yè)系統(tǒng)湖北省重點實驗室,武漢430065)
為了將文本情感劃分更細的類別,提出一種利用互信息和聚類抽樣的文本情感分類方法,對文本進行分詞和特征提取的預處理,通過聚類抽樣得到的情感標簽之間的互信息,組合情感標簽的互信息得到情感類別,并根據(jù)互信息調整特征詞庫的權重,最后利用中心性度量綜合得出該文本情感的類別。實驗通過不同的文本情感分類方式對分類結果進行比較,實驗表明,該分類方法優(yōu)于其他分類方法,從而驗證該方法的有效性。
互信息;聚類抽樣;情感標簽;文本情感分類
文本的情感分類研究已久[1],經常被用在新聞、產品的評論的分析上面,對新聞評論的分析可以了解觀點持有者對一個觀點的立場,產品情感分析可以幫助用戶了解某一產品在大眾心目中的口碑。傳統(tǒng)的情感分類僅僅對情感傾向做出一個分類,即將情感分為3類:正向、負向和中性的,或者是更簡單的正負兩類。這樣的分類被廣泛應用到商業(yè)智能中,但是對于更復雜的分析,我們需要更詳細的分類,例如站在用戶心理的角度分析當時用戶的情感狀態(tài)。
文本情感分類的方式主要有兩種:非監(jiān)督和監(jiān)督的方式。非監(jiān)督的方式是通過一些先驗情感知識結合一定的方法獲取情感規(guī)則進行分類;監(jiān)督的方式是通過機器學習里面的幾種經典的分類方式(樸素貝葉斯、最大熵分類、支持向量機)進行訓練、分類。文獻[2]是利用微博(Twitter、Blogs)文本建立語料庫,然后通過機器學習的方式訓練,對文本情感進行分類分析的。文獻[3]結合了兩種機器學習的方式(生成方式和判別方式),消除了兩種分類方式的不足。而對于多種類別的分類,文獻[4]描述了一種通過監(jiān)督訓練的方式對6種基本的情感類別進行分類,該方法發(fā)現(xiàn)對于某些情感比較合適,而其他情感則分類并不明顯。在中文信息處理方面,中文詞匯要遠多于英文詞匯,而且中文文本的分詞存在許多歧義問題,因此對于學習的過程就需要大量的訓練文本,造成了分類的困難。文獻[5]提出了一種利用非監(jiān)督的方式進行文本分類而且獲得了較高的準確度。
本文提出了一種利用互信息和聚類抽樣的文本情感分類方法。首先考慮無情感標簽的方式對文本進行分類,發(fā)現(xiàn)僅僅利用情感類別詞匯并不對情感類別具有一個較好的表達作用。然后引入了情感標簽,但考慮到情感標簽數(shù)量較多,需要對其進行抽樣,利用隨機抽樣的方式不理想,隨機抽取標簽并不具備較好的代表性,最終本文利用互信息對文本情感標簽進行分類,然后對標簽的抽取采用了聚類抽樣的方式,在先驗情感詞庫的基礎之上,通過分析文本里面詞匯具有的一些情感含義,綜合特征詞匯得出文本的情感分類,取得了較好的效果。
1.1先驗知識庫
對于情感的分類,我們利用《中文情感詞匯本體說明文檔V1.0》的情感分類作為分類類別標注。該標準將情感分為7大類:樂、好、怒、哀、懼、惡、驚;21小類:快樂、安心、尊敬、贊揚、相信、喜愛、祝愿、憤怒、悲傷、失望、疚、思、慌、恐懼、羞、煩悶、憎惡、貶責、妒忌、懷疑、驚奇。實驗利用這21小類的情感作為情感分類的基本情感。另外引用的是針對這個情感分類的標準的一個情感詞匯的詞庫,對于每個情感詞匯,包含這樣一些信息:詞語、詞性種類、詞義數(shù)、詞義序號、情感分類、強度、極性、輔助情感分類、強度、極性,本文將引入這些情感的詞匯作為情感標簽。
1.2系統(tǒng)的整體思想
利用互信息和聚類抽樣的文本情感分類是通過分析情感標簽與情感類別之間的互信息關系進行的,可以分為如下幾個階段:
(1)預處理階段
(2)互信息評價階段
(3)綜合評價階段
預處理階段是對分本進行分詞和特征提取得到特征詞的處理過程;互信息評價階段是針對每個詞求取它們與選取的情感標簽的互信息,對詞匯進行權重調整,然后綜合情感標簽的互信息到情感類別,得出情感詞匯與情感類別之間的互信息關系的過程;綜合評價階段是對所有分析之后的詞匯進行一個總體上的評估,得出文本的情感分類。
2.1詞匯預處理
對于文本的分析,首先都需要經過預處理的階段。將文本用一種形式表現(xiàn)出來。詞是表達文本信息的一種簡單又合理的方式,每個詞有自己的意思,詞的組合就成了句子,而句子的組合就成了一段文本。對一段文本進行表示,常用的方法是利用一組特征向量進行表示。對此,我們就需要對文本進行分詞、特征提取。
(1)分詞
分詞的方法被分為三類:基于字符串匹配的分詞、基于理解的分詞和基于統(tǒng)計的分詞。字符串匹配的方式是最常用的一種分詞的方式,也是目前準確度最高的分詞方法。文獻[6]采用的是二字Hash索引的分詞方法,這是分詞最基本最傳統(tǒng)的基于詞典的分詞方式。該方法的缺點是對詞典的依賴過高,因此,常常需要對未登錄詞、人名、地名進行識別,常用的識別方法是基于統(tǒng)計學的一些方法。近些年研究得比較多的是通過統(tǒng)計的方式進行分詞。
本文利用的是字符串匹配的方式,通過對分詞詞典建立二字Hash索引,可以快速地進行分詞。
(2)特征提取
文本特征向量進行提取,常常需要進行一些篩選,不然文本特征就不具備代表性。文本特征提取的方式有很多,主要是針對多文本之間詞匯的信息量進行提取,如:比較常用的TDIDF的特征提取是根據(jù)詞匯的頻率和它的反文檔頻率進行權重評價的。文獻[7]在研究文本情感分類的基礎上,比較了多種特征提取的方式,然后通過傳統(tǒng)的分類方式驗證特征提取的有效性。在本實驗中,由于只是對單文本進行特征提取,因此需要利用先驗權重和詞頻進行權重評價。先驗權重在實驗第二階段通過互信息進行調整。
由于事先沒有通過大量文本反應的權重的特征來計算詞匯的權重,因此第一步只是簡單地選擇詞匯在本文本中出現(xiàn)的次數(shù)作為權重,而對于數(shù)據(jù)庫里面已有的詞匯權重的就利用詞匯出現(xiàn)次數(shù)乘上權重,即:
其中,F(xiàn)req(c)表示詞匯c在本文本中出現(xiàn)的次數(shù),w*表示詞匯c在數(shù)據(jù)庫中保存的權重,這一階段的輸出數(shù)據(jù)應該是c1w1,c2w2,…,cnwn,其中wi表示第i個特征詞匯,其中ci表示第i個特征詞匯的權重信息。
2.2互信息評價
(1)互信息概念模型
互信息是計算語言學模型分析的常用方法,它度量兩個對象之間的相互性?;バ畔⒃诜潜O(jiān)督的情感分析上也經常被用到,作為詞匯情感衡量的規(guī)則,文獻[8]很簡單卻十分巧妙地利用了互信息,通過計算給定短語與“優(yōu)”的互信息減去給定短語與“差”的互信息而對其進行的分類。文獻[9]采用了互信息的方式,并在互信息上進行了相關小的改進而達到了一個不錯的分類效果。基于此,本文采用互信息評價兩個特征詞和情感類別之間的相關性質。它的計算公式為:
其中p(x,y)表示特征詞x和情感類別y共同出現(xiàn)的概率,p(x)、p(x)表示x、y單獨出現(xiàn)的概率。
為了彌補直接通過情感類別詞匯的稀疏性質,本文在度量詞匯與情感類別的互信息的基礎上,間接引入了一組中間的情感標簽,通過分析詞匯與情感標簽之間的互信息,然后通過情感標簽與情感類別之間統(tǒng)計關系,來間接地得到詞匯與情感類別之間的互信息。這里借助于一個情感標簽的詞庫,這個詞庫中每個情感詞匯都作為一個情感標簽,每個情感標簽都屬于一個情感類別,以及包含這個情感強度。在這個中間情感標簽的作用下,就可以將特征詞匯映射到情感的類別?;バ畔⒃u價模型具體見圖1,在該模型中,首先求特征詞匯與情感標簽之間的關系,然后利用情感標簽與情感類別之間的關系將特征詞匯與情感類別之間的關系映射起來。最后就可以利用這個對應關系對文本情感進行分類。
(2)文本互信息的計算
在文本互信息的計算過程中,首先僅考慮特征詞匯與情感類別詞匯之間的互信息的計算。對于每個特征詞與情感類別詞匯之間的互信息,乘上特征詞匯的權重就可以表示兩者對于本文本的互信息的度量,計算公式如下:
其中wi表示第i個特征詞匯,其中ci表示第i個特征詞匯的權重,ej表示第j類情感。該值越大,說明這個特征詞與這一類情感聯(lián)系更為緊密,即這個詞更一般地表現(xiàn)這類情感。
對于互信息的頻數(shù)統(tǒng)計,我們首先通過對微博建立索引,然后對需要統(tǒng)計的詞匯進行查詢,即可以得到兩個詞共現(xiàn)和它們單獨出現(xiàn)的頻數(shù)。我們通過Lucence提供的開源工具對微博數(shù)據(jù)建立索引。對于特征詞與情感類別詞匯在本文本的互信息度量的統(tǒng)計模型為:
其中,f(wi,ej)是特征詞匯wi與情感類別詞匯ei共現(xiàn)的頻數(shù),f(wi)是wi單獨出現(xiàn)的次數(shù),f(ej)是ei單獨出現(xiàn)的次數(shù),N是文檔即微博的總數(shù)。這個公式引入了詞匯的權重,對于詞權較高的特征詞,表示了其對文本的情感貢獻度較高,因此情感的關聯(lián)度應該更大。
然后我們引入情感標簽。由于情感類別的詞匯覆蓋的范圍窄,這里為了對情感做一個更好的估計,我們引入一個情感詞庫,每個詞作為一個情感標簽,用集合E={et1,et2,…,etn},在計算詞匯與情感類別的互信息時,首先計算特征詞匯與情感標簽的互信息,即I(wi,etj),然后通過情感標簽的情感類別以及情感強度計算詞匯與情感類別的互信息。
情感標簽的情感強度是對這個標簽與對應的情感類別的一個頻數(shù)的統(tǒng)計,它與總體的情感強度的比值就是這個標簽對這個情感類別貢獻的概率。因此,在得到特征詞匯與情感標簽的互信息之后,對第i個特征詞匯與第j個情感類別之間的互信息度量如下:
其中Iikj是情感j下的第k個標簽與特征詞匯i對應的互信息,nj是屬于情感j的情感標簽的數(shù)量,wjk是第j類情感的第k個情感標簽的權重,分數(shù)表示屬于情感j的第k個情感標簽強度與情感j的總強度的比值。因此,上面的公式表示的就是特征詞匯i對應情感類別j的互信息的一個期望值。
(3)情感標簽的抽樣
由于一個情感類別包含較多的情感標簽,因此需要對情感標簽進行一個抽樣。抽樣的方式主要有隨機抽樣、分層抽樣、系統(tǒng)抽樣、聚類抽樣等方法。隨機抽樣即隨機地選取一定數(shù)量的樣本,但隨著樣本的數(shù)量過大,隨機抽樣將變得不那么準確;聚類抽樣是將總體中各單位歸并成若干個互不交叉、互不重復的集合,稱之為群;然后以群為抽樣單位抽取樣本的一種抽樣方式。系統(tǒng)抽樣,當總體中的個體數(shù)較多時,采用簡單隨機抽樣顯得較為費事。這時,可將總體分成均衡的幾個部分,然后按照預先定出的規(guī)則,從每一部分抽取一個個體,得到所需要的樣本。
本文所利用的抽樣是聚類抽樣,本文使用的情感標簽先前就已經有了一個類別屬性,基于如下假設:每個情感類別下的情感標簽都存在一定的分布,即同一個類別的情感標簽也會形成簇。本文的聚類抽樣是在這個類別下面進一步進行聚類。具體過程如下:
①對所有類別的情感標簽進行分類;
②對每一個情感類別下的情感標簽求兩兩之間的相似度,以此相似度矩陣作為聚類的方式,相似性的度量是:
其中dist(eti,etj)表示兩個標簽之間的距離,p(eti)是標簽eti的單獨出現(xiàn)的概率,p(eti,etj)是標簽eti,etj共現(xiàn)的概率,公式取互信息的倒數(shù)作為距離的度量,表示兩個標簽的不相關程度,即兩者之間的距離;
③通過AP聚類算法[10]進行聚類,最后選取聚類中心點作為聚類抽樣的樣本。
(4)詞匯權重調整
求出每個詞對應情感的互信息后,接著需要根據(jù)這些互信息調整特征詞庫的權重。互信息理論進行特征抽取是基于如下假設:在某個特定類別中出現(xiàn)頻率高、但在其他類別中出現(xiàn)頻率低的特征詞,與該類的互信息比較大。這條假設也說明了這樣一個性質,即:在一個特征詞與所有的情感類別的互信息中,應該有一類或少數(shù)幾類相比其他類別具有較高的互信息。所以,這里的權重調整的思想是:賦予那些情感相關性高,而且區(qū)分度大的詞匯一個較高的權重。
因此,在本文的權重計算中,利用方差這一屬性表示詞匯對情感類別的區(qū)分度,而利用詞匯向量中的最大的互信息值與總體平均互信息值的差來表示情感的相關性強度。利用二者的乘積進行權重衡量的參數(shù),它們的計算公式如下:
其中,Iik表示第i個詞匯的與第k個情感的互信息值,maxk(Iij)即表示這個特征詞的互信息向量中的最大互信息值。就是對所有特征詞匯的互信息向量中的最大值取一個平均值,它們之間的差值就表示了這個特征詞匯情感相關性強度,當值為正時就表明特征詞與至少其中一個類別的相關性強,為負則表明這個特征詞不與任何一個情感類別強相關。Di是第i個特征詞匯對應的互信息向量的方差,即:
其中,Iik是第i個特征詞匯與第k個情感類別的互信息。它表示的意義是一個權重較高的特征詞應該對于不同的情感類別具有較高的區(qū)分度。
為了讓權重增減的迭代過程能夠有一個收斂,利用sigmoid函數(shù),乘上系數(shù)2,將其變化倍數(shù)控制在(0,2)的區(qū)間內,當函數(shù)的參數(shù)值為0的話,權重調整函數(shù)值為1,即表示權重調整不變。具體如下:
其中Ci是第i次迭代的結果,k是收斂系數(shù),表示調整權值的速度的快慢。當k較大時權值收斂得比較快。需要將將權值的調整范圍控制在設置一個收斂區(qū)間(a,b),然后設定收斂系數(shù)k控制收斂的速度。
在這個過程結束后,會形成一個量化的特征詞——情感詞的矩陣U。
2.3綜合評價
進行了上述工作以后,得到每個詞匯在這個文本所屬情感類別的一個判斷,現(xiàn)在還需要根據(jù)文本的特征詞的情感互信息屬性來進行一個綜合的度量,分出這個文本所屬的情感類別。對于這個特征-情感的矩陣,對情感構成的列空間進行分析,每個情感在這個文本中都維持一個詞匯相關度的矩陣E={e1,e2,…,en},第i個情感用向量表示為:ei=(Ii1,Ii2,…,Iin),因此可以對這些向量進行評估,找出一個最適合成為中心的情感向量來代表整個文本的情感屬性。
對于中心點的度量,是通過情感向量之間的相似度進行度量的。因此,首先形成一個相似度矩陣S表示情感與情感之間的距離度量,當然這個距離度量是建立在當前文本的基礎上的,相似度的求法采用余弦值得方式進行求解:
其中,x、y分別是兩個向量,即x=(x1,x2,…,xn)。在得到情感之間的距離矩陣之后,就可以通過情感之間的距離綜合選擇一個中心的情感。每個情感與情感之間都構成一段距離,用圖的方式去解決這個問題就是尋找全圖中的中心點。中心點的度量有多種方式,本文采用的中心點度量的方式是度中心性。度中心性是將這一點與其他點之間的權重進行累加:
其中wij表示(i,j)的權值,即可以取距離的倒數(shù),對每個點計算其度中心性,選取最大中心性的點作為中心。
3.1實驗相關參數(shù)
實驗通過隨機地從微薄上獲取的一些文本進行處理分析。選取100條需要評測的微博,首先人工進行評測,對每條微薄都進行人工分類,然后對這100條文本分別采用的方式進行分類。為了能夠對實驗結果有一個更加客觀的評價,對標簽的選取這一變量進行,對3種分類方式進行對比:
(1)利用互信息和聚類抽樣的分類(Our):這是本文采用的方式,采用情感標簽,通過聚類抽樣對情感標簽進行抽取,然后求互信息對文本情感進行分類。
(2)利用互信息和隨機抽樣分類(Random):利用互信息方式,但是抽樣的方式采用隨機抽樣的形式。
(3)無情感標簽的分類(None):直接求特征詞匯與情感類別詞匯的互信息,利用情感類別詞匯代表情感類別。
3.2實驗評價指標
本實驗采用了如下的評價指標:對于每個要被分類的文本,它所包含的情感。因此在人工進行情感評測時應該對一個文本評測多種情感。這里對每一個文本分別評測兩類情感:主要情感和次要情感。如果分類情感符合主要情感,則準確率取1;如果分類情感符合次要情感,則準確率取0.5;其他的都屬于錯誤分類的,準確率取0。因此,這里針對存在正交的情感類別,定義準確度評價公式為:
其中,PN表示正確分類為主要情感的微博條數(shù),SN表示被分類為次要情感的微博條數(shù),MN表示被錯誤分類的微博條數(shù)。
同時,本文還比較了聚類抽樣分類和隨機抽樣分類的運行時間,即平均每條文本分類的全過程所花費的時間。由于無標簽分類相當于每次只使用了一個標簽,用時很少,故不對其時間比較。
3.3結果分析
本文首先比較不同標簽數(shù)目下各種算法的準確度。圖2選取的標簽數(shù)目為3、5、8、10、15,在這5種標簽數(shù)目下對數(shù)據(jù)進行分類,然后統(tǒng)計分類的準確度,由圖2可以看出,使用本文利用互信息和聚類抽樣的文本情感分類效果要明顯好于其他兩種方式,隨著聚類簇的增多,準確度的表現(xiàn)是先增高后降低,說明了在選取合適的簇數(shù)目下面可以得到一個比較好的分類效果。而隨機抽樣方式的準確度隨著標簽的個數(shù)增加而增加,在標簽數(shù)目較少的情況下,隨機抽樣方式的效果比不使用標簽的效果更低,只有當足夠數(shù)目的標簽時,才能獲得一個相對可觀的準確度。
圖2不同個數(shù)標簽的3種分類方式比較
圖3給出了在不同數(shù)目的情感分類下面3種方法的準確度,分別選擇情感類別個數(shù)為2、5、7、10、21。由圖3可以看出,隨著分類類別的數(shù)目的增加,分類的準確度降低,但仍可以看到本文提出的利用互信息和聚類抽樣的分類效果要好于其他兩種。
圖3 不同類別數(shù)目的3種分類方式比較
圖4 兩種標簽抽樣分類方式的時間比較
最后,我們對比了不同分類方式下的平均時間,具體如圖4所示。由圖4可以看出,隨機抽樣方式與本文所提方式的時間大致相等,由于隨機抽樣里每次都需要對重新抽取的標簽計算一下其頻數(shù),因此在時間上要稍微高于本文中所用的聚類抽樣。而且,隨機抽樣存在一個不穩(wěn)定性,對于標簽的抽取,不同時間抽取到的標簽在頻數(shù)上面存在很大差異性,因此,分類所用的時間隨著標簽數(shù)的增長也存在一些波動,而本文所提的聚類抽樣是相對比較穩(wěn)定的。
本文提出了一種新的對文本情感進行分類的方法,站在更細的情感類別粒度下,采用互信息和聚類抽樣的方式,從文本情感類別的概率分布考慮一段文本的情感。實驗表明,本文提出的利用互信息和聚類抽樣的文本情感分類方法優(yōu)于其他分類方法,從而驗證了該方法的有效性。
[1]Pang B,Lee L,Vaithyanathan S.Thumbs up:Sentiment Classification Using Machine Learning Techniques[C].Proceedings of the ACL-02 Conference on Empirical Methods in Natural Language Processing-Volume 10.Association for Computational Linguistics,2002:79~86
[2]Yang C,Lin K H,Chen H H.Emotion Classification Using Web Blog Corpora[C].Web Intelligence.IEEE/WIC/ACM International Conference on.IEEE,2007:275~278
[3]夏睿,宗成慶.情感文本分類混合模型及特征擴展策略[J].智能系統(tǒng)學報,2011,6:1673~4785
[4]Purver M,Battersby S.Experimenting with Distant Supervision for Emotion Classification[C].Proceedings of the 13th Conference of the European Chapter of the Association for Computational Linguistics.Association for Computational Linguistics,2012:482~491
[5]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-Volume 1.Association for Computational Linguistics,2008:1073~1080
[6]李慶虎,陳玉健,孫家廣.一種中文分詞詞典新機制——雙字哈希機制[J].中文信息學報,2003,17(4):1003-0077
[7]周茜,趙明生,扈曼.中文文本分類中的特征選擇研究[J].中文信息學報,2004,18(3):17~23
[8]Turney P D.Thumbs up or Thumbs Down:Semantic Orientation Applied to Unsupervised Classification of Reviews[C].Proceedings of the 40th Annual Meeting on Association for Computational Linguistics.Association for Computational Linguistics,2002:417~424
[9]Farag Saad and Brigitte Mathiak.2013.Revised Mutual Information Approach for German Text Sentiment Classification.In Proceedings of the 22nd International Conference on World Wide Web Companion(WWW'13 Companion).International World Wide Web Conferences Steering Committee,Republic and Canton of Geneva,Switzerland,579~586
[10]Frey B J,Dueck D.Clustering by Passing Messages Between Data Points[J].Science,2007,315(5814):972-976
CHEN Zhi1,LI Peng1,2
(1.College of Computer Scienceand Technology,Wuhan University of Science and Technology,Wuhan 430065;2.Hubei Province Key Laboratory of Intelligent Information Processing and Real-time Industrial System,Wuhan 430065)
To divide the text sentiment into finer categories,proposes a text sentiment classification method by using mutual information and cluster sampling.Uses the text pre-processing for text segmentation and feature extraction,and calculates the mutual information of each sentiment tag by cluster sampling.Obtains sentiment categories by combination of sentiment tags,and adjusts the weight of key word by mutual information.Derives the text sentiment classification by using center metric.Compares different text sentiment classification in the experiment.The results show that the proposed classification method outperforms other classification methods and verify the effectiveness of the proposed method.
Mutual Information;Cluster Sampling;Sentiment Tag;Text Sentiment Classification
Text Sentiment Classification Based on Mutual Information and Cluster Sampling
武漢科技大學大學生科技創(chuàng)新基金項目(No.13ZRC071)
1007-1423(2015)11-0014-07
10.3969/j.issn.1007-1423.2015.11.003
陳智(1992-),男,湖北荊州人,在讀本科
李鵬(1981-),男,湖北武漢人,講師,碩士,研究方向為分布式計算、移動計算
2015-03-25
2015-04-08