1. 程式人生 > >自然語言處理課程作業 中文文字情感分類

自然語言處理課程作業 中文文字情感分類

摘要:20世紀初以來,文字的情感分析在自然語言處理領域成為了研究的熱點,吸引了眾多學者越來越多的關注。對於中文文字的情感傾向性研究在這樣一大環境下也得到了顯著的發展。本文主要是基於機器學習方法的中文文字情感分類,主要包括:使用開源的Markup處理程式對XML檔案進行分析處理、中科院計算所開源的中文分詞處理程式ICTCLAS對文字進行分詞處理、去除停用詞等文字預處理,在基於向量空間模型VSM的文字表示,使用卡方統計量CHI的進行特徵選擇,TFIDF權值計算方法進行的特徵權值計算,最後使用支援向量機SVM進行中文文字情感的分類。在實驗過程中,對比了特徵數量的大小對情感分類結果的影響、布林權值、TF權值和TFIDF權值三種不同計算方法對情感分類結果的影響以及SVM分類器對於不同型別文字資料的分類效果。從整個實驗結果來看,TFIDF權值計算相較於其他兩種更有利於文字的情感分類。SVM分類器作為文字情感分類器對於不同型別的文字資料,其分類效果不同,但總體上取得了較好的效果。

關鍵詞:中文文字情感分類  SVM分類器  特徵選擇

1緒論

1.1國內外研究現狀

文字情感分類是文字分類中的一個重要分支,也稱之為意見挖掘。簡而言之,文字的情感分類就是對帶有情感色彩的主觀性文字進行分析、處理、歸納和推理的過程[1]。情感分類中,按照處理文字的粒度不同,可分為詞語短語級、句子級、篇章級等幾個研究層次[2]。在此,對詞語短語級的情感分類進行詳細闡述。在情感分析中可以認為構成篇章的基本單位包括詞、短語、和固定搭配,對於它們的褒貶程度的度量是判別文字情感傾向的基礎。國外許多學者做了大量研究,其主要研究方法分為基於字典和基於語料庫兩種。

基於語料庫的詞語短語級的情感判別主要是根據它們的語法特性,對大規模語料庫進行資訊挖掘,從而得到統計資料並對其極性做出判斷。在研究早期,學者發現由某些連詞連線的形容詞具有相同或相反的極性,Hatzivassilolou和Mckeown[4]

利用大規模語料庫華爾街日報中的連線詞資訊來自動識別形容詞的情感傾向,利用聚類演算法將它們歸屬於褒義或貶義的類別集合。Turney和Littman[5]提出了點互資訊的方法判別詞的褒貶傾向。Dave等[6]從語料中抽取特徵集合,通過分析此特徵集合和己標記文字的關係來判定詞彙的語義傾向。

基於詞典的詞語短語的情感判別,主要是根據詞典WordNet或HowNet中詞語間的關聯來判別詞語的極性。sista等[7]將GI(General Inquirer)和WordNet中的褒義和貶義詞作為種子詞,得到一個擴充套件後的較大規模情感詞集合,並以此作為分類特徵,利用機器學習方法對文字褒貶義進行了自動分類。Faye Baron和Graeme Hirst[8]

從文件中抽取傾向性強的搭配作為種子詞彙,取得了較好的分類效果。相對於英語,中文的詞彙、短語的情感分析研究起步較晚。中科院自動化所的王根等[9]提出了詞語傾向性的極座標方式,並採用均衡化的互資訊方法計算了詞語傾向性。北京理工大學的李鈍博士[10]把短語歸結為一個非遞迴的基本詞彙及依存關係的集合,提出了一種基於短語中心詞之間依存概率統計分析方法,並將其應用於對短語的傾向性和傾向強度的計算。

1.2存在的問題和挑戰

情感分類的應用十分廣泛,因此近年來的發展迅速,取得的不小的進步,同時我們也該看到,由於情感分類問題較複雜,不僅僅是單一的文字分類或文字挖掘任務,因而在研究過程中還存在很多問題與挑戰。

1)情感語義的機器理解問題

人類的自然語言情感表達十分複雜,特別是網路評論的形式更加靈活多變,要使機器精確的理解文字中的情感內容,不能簡單的提取詞語作為特徵,還必須結合語言學方面的知識,藉助於文字上下文和領域相關性對情感語義進行分析處理。

2)特徵提取問題

文字分類中一般採用詞袋法表示文字的特徵,然而由於情感表達中有許多諸如隱喻、反話等複雜的語言形式,且上下相關,因此簡單採用詞袋法提取特徵並進行分析的效果極其有限,如何提取對情感分析具有更大價值的特徵依然是一個有待完善的課題。

3)領域依賴

由於情感表達在不同的領域差別較大,所以無論是在有監督的學習方法還是無監督學習方法,情感分類都面臨著領域依賴問題。

4)語料庫建設問題

情感分類領域,許多研究者自己通過網際網路獲取語料,並進行人工標註,即使相同領域語料,但語料內容相差較大且標註標本不統一,造成實驗結果很難進行比較。特別是在中文的情感研究領域,國內的公開語料庫較少,資源匱乏。

2基於機器學習的文字分類方法

基於機器學習的情感分類問題,它的處理過程大致可以分為兩個部分,一部分是學習過程,另一部分是情感分類過程。其中,學習過程包括訓練過程和測試過程,訓練過程中對訓練集進行訓練得到分類器,用其對測試集進行情感分類,將測試的結果反饋給分類器,進一步改進訓練方法,生成新的分類器,最後利用最終生成的分類器對新的文字進行情感分類,其基本流程如圖1所示。


圖1 基於機器學習的文字情感分類流程圖

2.1文字預處理

文字的預處理是進行文字情感分類的第一步,預處理結果的好壞直接影響到今後的分析處理能否順利進行。文字預處理的目的是從文字語料庫中規範地提取出主要內容,去除與文字情感分類不相關的資訊。對於中文的預處理,其主要操作包括規範編碼,過濾非法字元,分詞處理,去除停用詞等步驟。

1)檔案規範編碼處理

從網上下載的語料庫儲存格式可能千差萬別,對實驗帶來很大困擾。所以第一步一般都是對語料庫進行資料格式的歸一化處理。

2)中文分詞處理

中文文字單詞之間沒有天然的分隔符,因此在提取特徵之前,首先要對中文文字進行分詞。分詞處理能夠將連續的漢字序列按照一定的規則重新切分為詞或片語。切分好的詞或片語將會作為文字的特徵用於情感分類分析過程,因此能否高效、正確的對中文進行分詞成為中文情感分析的重要任務。中國科學院計算技術研究所專門開發了漢語詞法分析系統ICTCLAS(Institute of Computing Technology,ChineseLexical Analysis System)。ICTCLAS的主要功能包括中文分詞、詞性標註、新詞識別、命名實體識別等功能,它的分詞效能和分詞精度都較高,是目前最受好評的漢語分詞開源系統。

3)停用詞去除

文字中包含許多助詞、虛詞等詞性的單詞以及在文字中經常出現的高頻詞彙但其本身對情感分類意義不大,這些詞彙我們將它們統稱為停用詞。停用詞表的構造一般有兩種方式,人工方式或機器自動統計。停用詞的存在不但會增加儲存空間,而且很可能形成噪聲,影響情感分類的精度,因此需要過濾文字中的停用詞。

2.2文字表示模型

文字是一種非結構化的資料,由大量字元構成,計算機無法直接處理字元型別的資料,因此需要將普通文字的內容轉變為計算機能夠讀懂的資料形式,即將文字進行形式化表示。本文采用向量空間模型來表示文字。

向量空間模型(VSM)[11]是由salton等人在1975年提出的一個基於統計的文字表示模型,併成功的應用在著名的SMART系統中。向量空間模型可以形式化的表述為,對於給定的文字D=D{t1,w1;t2,w2;…tn,wn}其中ti表示第i個特徵項(最小不可分割的語言單位,如字、詞、短語),wi表示特徵項ti所擁有的權值,n為特徵項的總數。每一個文字可以表示為一個向量(w1,w2…wn),wi的計算可以使用布林權重法,詞頻權重和TFIDF權重。

向量空間模型對文字的表示效果較好,可以將文件表示成空間向量進行運算,且具有較強的可計算性和可操作性。向量空間模型是文字分類中應用最為廣泛的文字形式化模型。向量空間模型的缺點也十分明顯,忽略了特徵的次序和位置關係,且不考慮文字的長度,不考慮語義聯絡,認為所有的特徵項都是獨立的,只考慮文字所屬類別的文件中出現特徵項的頻率,在情感分類的應用中存在一定的侷限性。

2.3特徵選擇

在對文字進行預處理並對其進行形式化表示後,得到了一個高維稀疏的特徵空間,特徵的數量可以達到幾萬維甚至是幾十萬維,不僅使得運算時間變長,而且會在很大程度上降低分類的準確度。特徵選擇(Feature Selection)就是從原始的高維特徵集合中選擇一小部分特徵作為分類器的分類特徵。特徵選擇過程需要通過構造好的評估函式對每個特徵進行評分,然後按照評分的大小對特徵向量進行降序排序,最後選擇一定數量的特徵作為分類特徵集合。目前常用的特徵選擇方法有文件頻率(DF)、資訊增益(IG)、統計量(CHI)、期望交叉熵(ECE)和互資訊(MI)等,本文采用卡方統計量來進行特徵選擇,並選取了不同數量的特徵進行了對比測試。

卡方統計方法[12]用來衡量特徵tj和文件類別Cj之間的統計相關強度,並假設tj和Cj之間符合具有一階自由度的X2分佈。特徵相對某類的X2統計值越高,則其含有的資訊量越多,與該類的相關性越大。CHI的計算公式如下:

其中,tj表示特徵項,Ci表示類別,N表示文字總數,A表示包含特徵tj,且屬於類別Ci的文件數,B表示包含特徵tj,但不屬於類別Ci的文件數,C表示屬於類別Ci但不包含特徵tj,的文件數,D表示不屬於類別Ci且不包含特徵tj的文件數。當有多個類別時,分別計算特徵tj對每個類別的CHI,然後取最大值作為特徵的CHI值。CHI特徵選擇方法可以在降低85%以上特徵維度的情況下取得較好的分類結果。

2.4特徵加權

特徵選擇過程中選擇了最能代表文字內容的特徵向量,但是這些特徵對文字分類的影響不盡相同,因此,有必要對經過選擇的特徵進行加權,對錶徵能力強的特徵賦予較大權重,對具有較弱類別區分能力的特徵賦予較小的權重,這樣可以有效抑制噪聲。特徵加權(Feature Weighting)就是對特徵集合中每個特徵根據其對分類的貢獻程度賦予一定權值的過程。常用的特徵加權方法有布林權重,詞頻權重,TFIDF權重。本文分別使用了這三種權重計算方法,並對三種方法得到的分類結果進行了對比分析。

設文字類別集合D={d1,d2,…,dn},dk∈D(k=1,2,…,n),n為文字總數;類別集合C={c1,c2,…,cm},ci∈C(i=1,2,...,m),特徵集合T={t1,t2,…,tn},tj∈T(j=1,2,...,n),m為特徵總數;wij表示特徵tj在文字dk中的權重。

1)布林權重(Boolean Weighting)

布林權重是最簡單的權重計算方法,其計算公式如下:

若特徵tj,在文字di中出現,則其權重wij為1;若特徵tj在文字di中不出現,則其權重wij為0。

2)詞頻權重(Term Frequency,TF)

詞頻權重是指用特徵在文字中的出現次數作為權重。不同類別的文字集合,特徵出現的頻率有較大差異,因此特徵頻率資訊可以作為文字分類的重要參考之一。一般情況下,對於一個類別,出現頻率較高的特徵應該包含更多的類別資訊,說明此特徵對分類具有重要的意義,以詞頻作為參考賦予較大權重,反之應該賦予較小權重。TF權重計算公式如下:

其中tfij表示特徵tj在類別ci中出現的次數。

詞頻權重相對於布林權重,不再是均值權重,而是根據文字集合中特徵出現的次數對特徵進行加權,從權值函式構造來看有了一定的進步,然而詞頻權值對高頻特徵過度依賴,忽略了一些帶有大量類別資訊的低頻特徵。

3)TFIDF權重

將特徵詞頻和逆文件頻率相結合用於特徵權重計算,在實驗中取得了較好的效果,因此TFIDF也成為了最經典也是最廣泛使用的一種特徵權重計算方法。逆文件頻率(InverseDocument Frequency,IDF)是以包含特徵的文件數為引數構造特徵權重函式。其核心思想是:在大多數文件中出現的特徵所帶有的類別資訊相比於在少量文字中出現的特徵較少,也就是說,若一個特徵同時出現在多個文件中,它所攜帶的類別資訊較少,它的重要程度較低。逆文件頻率在計算時常採用對數形式,其計算公式如下:

其中,ni為文字集合中包含特徵tj的文字數。

集合次品權重函式就形成了TFIDF權重,計算公式如下:

其中,tfij表示特徵tj在文字ci中出現的次數,ni為文字集合中包含特徵ti的文字數。

為了消除文字長度對特徵權重的影響,要對特徵的權重進行歸一化處理,歸一化後的TFIDF特徵權重函式如下:

2.5分類方法

分類器是文字分類問題中的核心部分,在進行文字分類過程中常用的分類器有樸素貝葉斯分類器(NB),支援向量機(SVM),最大熵分類器(ME),K近鄰分類器(KNN)等,本文中主要使用支援向量機來進行分類,用現有的LibSVM完成實際操作,並對book類別、dvd類別和music類別的訓練集分別進行了測試,對比測試結果。

支援向量機(Support Vector Machine)是Cortes和Vapnik[13]等人首先提出,它在解決小樣本、非線性及高維模式識別中表現出許多優勢,並能夠推廣應用到函式擬合等其他機器學習問題中。其基本思想是首先通過非線性變換將輸入空間對映到一個高維特徵空間,然後根據核函式在這個新空間中求取最優線性分類平面。將支援向量機應用於文字分類表現尤為突出,其分類的精確率和召回率都較高,且具有較好的穩定性,雖然它在大資料集上的訓練收斂速度較慢,需要大量的儲存資源和較高的計算能力,但其分隔面模式有效地克服了特徵冗餘、樣本分佈以及過擬合等因素的影響,具有較好的泛化能力。

2.6評價標準

在進行文字分類實驗時,需要將文字集合劃分為訓練集合和測試集合,在進行劃分時一般採用K折交叉驗證法,將其得到的實驗結果的平均值作為實驗的最終結果。對結果的評價已經有了許多標準,常用的有查準率、查全率等。

查準率是指分類器判別為ci類別的文字數與實際屬於ci類別的文字數的比值,其計算公式如下:

查全率是指實際屬於ci類別的文字數與分類器判別為ci類別的文字數的比值,其計算公式如下:

查準率和查全率分別反映分類器不同方面的效能:查準率反映分類器的準確性,查全率反映分類器的完備性。採用準確率還是召回率作為分類器的評價效能取決於實驗者所側重的目標,兩個評價標準是互補的,單純提高其中一個評價標準會導致另一個評價標準的降低。對於一個優良的分類器應該同時具備較高的查準率和查全率。

3實驗方法與步驟

為了更好的理解情感分類的相關演算法與步驟,結合相關論文方法與語料庫進行了一系列的實驗。實驗過程框架圖如圖2所示,實驗步驟如下:

1)  將訓練文字資料檔案作為XML檔案處理,提取評論文字資料資訊;

2)  對評論文字資料進行中文分詞處理與停用詞去除處理,並統計詞頻;

3)  結合預處理結果、詞頻資訊以及情感標籤,使用CHI方法進行特徵選擇;

4)  對評論文字進行特徵權值計算並歸一化權值,使用VSM模型表示文字;

5)  結合歸一化後的特徵權值向量,利用支援向量機分類器進行分類器訓練;

6)  對測試文字進行情感分類的學習預測。


圖2 中文情感分類實驗框架圖

結合實驗框架圖的基礎上,針對分類過程中的各個部分,通過大量的實驗進行驗證。主要包括以下幾個方面:

1)  特徵數量的大小對情感分類結果的影響。按照理論情況,選取全部的特

徵必然會得到最好的分類效果,但是會導致特徵維數的急劇增大,從而導致“維數災難”,以至後續的分類將會很難進行。故通過實驗驗證特徵數量對分類效果的影響,力求做到能夠在不大幅度降低分類效果的基礎上,選取一個合適並且便於計算的特徵數量。

2)  布林權值、TF權值和TFIDF權值三種不同計算方法對情感分類結果的影

響 。從大量的論文中分析得出,TFIDF權值計算方法在情感分類中效果最好,這裡通過實驗對三種不同的權值計算方法進行驗證。

3)  SVM分類器對於不同型別文字資料的分類效果。不同型別的資料語料由

於其內容以及情感變化的不同,在同時使用SVM分類器的過程中其分類效果可能不同。故採取實驗的方法驗證不同型別文字資料在使用SVM分類器進行情感分類的效果區別。

    最後,結合上述三個實驗驗證結果,對給定的測試語料進行情感分類實驗。

4實驗結果及分析

4.1 實驗資料與程式說明

整個實驗的相關演算法利用C++在Windows平臺下完成,使用ICTCLAS中文分詞開源程式、LibSVM以及開源的XML檔案處理程式Markup完成。具體實驗程式碼詳見附件。

實驗使用的資料集分為三類,分別為book、dvd和music三類評論文字資料。三類資料集的情況如表2所示:

表2 實驗語料資料情況說明表


4.2 特徵數量的大小對情感分類影響實驗

實驗對book類別訓練集進行測試,分別使用預處理處理後得到的特徵集合的10%,15%與20%作為選取的特徵。文字的特徵權值計算使用TFIDF方法,使用SVM分類器進行訓練集的分類訓練。在不同特徵數量的情況下,訓練集的最優分類率如表3所示:

表3不同特徵數量最優分類率表


4.3 不同權值計算方法對情感分類結果影響實驗

實驗對book類別訓練集進行測試,分別使用預處理處理後得到的特徵集合的10%作為選取的特徵,文字的特徵權值計算分別使用布林方法、TF方法和TFIDF方法,使用SVM分類器進行訓練集的分類訓練。在不同權值計算方法的情況下,訓練集的最優分類率如表4所示:

表4不同權值計算方法下最優分類率表

4.4 SVM分類器對於不同型別文字資料分類效果實驗

實驗分別對book類別、dvd類別和music類別訓練集進行測試,分別使用預處理處理後得到的特徵集合的10%作為選取的特徵,文字的特徵權值計算使用TFIDF方法,使用SVM分類器進行訓練集的分類訓練。在不同型別資料情況下,訓練集的最優分類率如表5所示:

表5 不同文字資料使用SVM分類最優分類率表

4.5測試文字資料分類實驗

結合上述三個實驗結果,分別對book類別、dvd類別和music類別測試集進行分類實驗。實驗過程中使用預處理處理後得到的特徵集合的10%作為選取的特徵,文字的特徵權值計算使用TFIDF方法,使用SVM分類器進行訓練集的分類訓練。三種不同文字測試資料的分類效果如表6所示:

表6測試文字資料分類結果表

 

5總結

本文主要是對基於機器學習方法的情感文字分類做了初步的研究,

取得了一定的研究成果,但得到的結果還有很大的提升空間,就本文而言,在許多方面還需要進一步的研究和改進。

情感分類是一個具有挑戰性的研究課題,其問題更加複雜,同一方法應用於不同語料所產生的結果存在較大差異,本文中只在3個類別的資料集上進行了實驗,應將該方法應用於更多的資料集進行對比分析研究。此外,分類器的融合方法還有多種,可以進一步實驗其他融合策略對於情感分類效能的影響。

從整個實驗結果來看,TFIDF權值計算相較於其他兩種更有利於文字的情感分類。SVM分類器作為文字情感分類器對於不同型別的文字資料,其分類效果不同,但總體上取得了較好的效果。

6參考文獻

[1]趙妍妍,秦兵,劉挺.文字情感分析[J].軟體學報,2010:21(8):1834~1848.

[2]Huang X J, Zhao J. Sentiment analysis for Chinese text[C].Proceedings oftheCommunications of CCF,2008:4(2).

[3]Picard R W.Affective Computing[M].Cambridge:MIT Press,1997.

[4]Hatzivassiloglou V,Mckeown K R.Predicting the semanticorientation of adjectives[C].Proceedings of the 35thAnnual Meeting of the Association for Computational Linguistics and EighthConference of the European Chapter of the Association for ComputationalLinguistics.Association for Computational Linguistics,1997:174-181.

[5]Tumey P D,Littman M L.Measuring praise and criticism:Inference of semantic orientation from association[J].ACM Transactionson Information Systems,2003,21(4):315-346.

[6]Dave K,Lawrence S,Pennock D M.Mining the peanut gallery:Opinion extractionand semantic classification of product reviews[C].Proceedingsof the 12th internationalconference on World Wide Web.ACM,2003:519-528.

[7]Sista S.P,Srinivasan S.H.Polarized lexicon for review classification[C.Proceedings of the International Conference on Artificial Intelligence.2004:867-872.

[8]Faye B,Graeme H.Collocations as cues to semanticorientation[C].Proceedings of AAAI Spring Symposium onExploring Attitude and Affect in Text,2004.

[9]王根,趙軍.中文褒貶義詞語傾向性的分析[C].第三屆學生計算語言學研討會論文集.2006:81~85.

[10]李鈍.基於中文文字的網路內容分層監測研究[D].北京:北京理工大學,2007.

[11]Salton G,Wong A,Yang C S.Avector space model for automatic indexing[J].Communicationsofthe ACM,1975,18(1 1):613-620

[12]Zheng Z,Srihari S N.Text Categorization UsingModified-CHI Feature Selection and Document/TermFrequencies[C].Proceedings of the2002 International Conference On MachineLearningAnd Applications,2002:143-146.

[13]JoachimsT.Text categorizationwith support vector machines:Learning with many relevant features[C].Proceedingsof the lOth European Conference on Machine Learning.Chemnitz,Germany,1998:137-142.