文 俊, 鄭皎凌, 舒紅平
(成都信息工程大學(xué)軟件工程學(xué)院,四川成都610225)
伴隨計算機(jī)技術(shù)和互聯(lián)網(wǎng)技術(shù)的蓬勃發(fā)展,網(wǎng)絡(luò)已經(jīng)無可替代的成為人們發(fā)布信息和獲取信息的重要場所,可以說人們的工作、學(xué)習(xí)以及生活已經(jīng)到了完全離不開互聯(lián)網(wǎng)的程度。尤其是隨著Web2.0技術(shù)的興起,人與人之間通過網(wǎng)絡(luò)交互更加頻繁了,不僅僅可以瀏覽信息,獲取信息,還可以很輕松簡便的發(fā)布信息。用戶通過網(wǎng)絡(luò)相互之間進(jìn)行交流的方式,已成為互聯(lián)網(wǎng)的一種最流行的旋律,而這種形勢已經(jīng)給互聯(lián)網(wǎng)帶來了海量的數(shù)據(jù)信息,挖掘出隱藏在這些海量數(shù)據(jù)中的有價值的信息是具有十分重要的社會意義和商業(yè)意義。但是面對如此龐大的數(shù)據(jù)信息,僅依靠人工對日益增長的海量數(shù)據(jù)的采集、處理、分析并預(yù)測顯然是不切實(shí)際的,因此,利用先進(jìn)技術(shù)和工具來獲取其中有價值的信息成為人們的迫切需要。文本情感傾向分析研究正是在此背景下應(yīng)運(yùn)而生的,具有重要的研究意義。所謂情感分析[1-4],就是確定說話人或作者對某個特定主題的態(tài)度。其中,態(tài)度可以是他們的判斷或者評估,他們(演說、寫作時)的情緒狀態(tài),或者有意(向受眾)傳遞的情感信息,在現(xiàn)有的網(wǎng)絡(luò)社交平臺里,如微博、論壇、Twitter、評論社區(qū)等,都含有大量的類似的信息數(shù)據(jù)。因此,情感分析的一個重要問題就是情感傾向性的判斷,即判斷作者的觀點(diǎn)是褒義的、積極的,還是貶義的、消極的,這類問題也被稱為情感分類。通過實(shí)驗(yàn)發(fā)現(xiàn),利用基于情感詞庫的文本情感傾向分類方法對文本情感傾向進(jìn)行分類時,可能存在2個影響分類準(zhǔn)確率的因素:(1)情感詞庫不夠豐富。目前已有的情感詞典(Hownet情感詞語集、臺灣大學(xué)NTUSD、中文情感詞匯本體庫等)涉及的領(lǐng)域行業(yè)比較廣泛,對某一領(lǐng)域行業(yè)來說,針對性不強(qiáng);又或者說在跨領(lǐng)域應(yīng)用[5]時,泛化能力不夠好。(2)切詞工具不夠準(zhǔn)確。切詞工具如果不夠準(zhǔn)確,會導(dǎo)致情感詞提取數(shù)量減少,包含情感信息量小?;谝陨蟽蓚€原因的考慮,我們試圖尋找其他更行之有效的方法,一種既能對文本情感傾向進(jìn)行分類并且還能擴(kuò)展詞庫的算法。在進(jìn)行多次數(shù)據(jù)統(tǒng)計并實(shí)驗(yàn)分析后,發(fā)現(xiàn)某些單詞出現(xiàn)在某些類型文章中的頻率是不規(guī)則的,具有一定的傾向性并且其詞性分布集中,甚至可以說某些詞基本只出現(xiàn)在正面文章中或負(fù)面文章中。比如“腐敗”一詞,出現(xiàn)在正面情感文章中的概率遠(yuǎn)小于出現(xiàn)在負(fù)面情感文章中的概率,根據(jù)這一規(guī)律,設(shè)計了一種基于協(xié)同迭代及動態(tài)詞庫擴(kuò)展的文本情感傾向分類算法CACIDLE。
文本傾向性分析研究始于國外,文本傾向性分析技術(shù)就是分析文本作者對某個事物或問題得立場、態(tài)度。是一個涵蓋了文本挖掘、信息檢索、機(jī)器學(xué)習(xí)、自然語言處理、概率統(tǒng)計學(xué)、語料庫語言學(xué)等的多學(xué)科綜合研究領(lǐng)域。在文本傾向性分析研究方面,從事該領(lǐng)域的國外科研工作者提出了很多經(jīng)典且有效的技術(shù)方法,如支持向量機(jī) SVM(support vector machine)[6],Boosting[7],kNN(k-nearest neighbors)[8]算法。在文獻(xiàn)[9],Hatzivassiloglown和 Makeown(1997)針對形容詞的語義傾向性展開研究,算法利用詞匯之間的連詞(and,or,but,either-or和 neither-nor等)訓(xùn)練生成詞匯間的同義或反義傾向的連接圖,然后用聚類的方法將詞匯聚成褒義和貶義兩類,來預(yù)測具有主觀性的形容詞的傾向,其準(zhǔn)確率達(dá)到了78.08%。Turney和Littham(2003)通過計算傾向性基準(zhǔn)詞對與目標(biāo)詞匯間相似度的方法識別詞匯語義傾向性。選擇褒義傾向比較強(qiáng)烈的詞匯,計算待定詞與每個基準(zhǔn)詞的SO-PMI值來判定詞匯的傾向性,其準(zhǔn)確率在包含形容詞、副詞、名詞、動詞的完整測試集上達(dá)到82.18%。相對于國外,中國在這方面的研究起步較晚,再加之中英文語言結(jié)構(gòu)及中西方文化的差異,中文在表達(dá)個人感情方面比英文更為復(fù)雜、多樣化,給中文文本傾向性分析研究增加很大的難度。不過,隨著文本傾向性分析研究越來越受到專家和學(xué)者的關(guān)注,在該方向的研究也取得了不錯的成果。王建會等[10]提出一種基于互依賴和等效半徑、易更新的分類算法SECTILE,該算法計算復(fù)雜度低,擴(kuò)展性能好,分類速度快,適用于大規(guī)模場合,有利于對大規(guī)模信息樣本進(jìn)行實(shí)時在線的自動分類,提高查全率和查準(zhǔn)率。葉強(qiáng)等[11]人在N-POS語言模型的基礎(chǔ)上利用卡方(CHI-square)統(tǒng)計方法提取中文主觀文本詞類組合模式,建立中文雙詞主觀情感詞類組合模式2-POS模型來自動地判斷中文語句的主觀性程度。實(shí)驗(yàn)表明采用2-POS模型的分類器對主觀句的查準(zhǔn)率和查全率接近目前英文同類研究的結(jié)果。潘宇等[12]提出一種基于語義極性分析的餐館評論挖掘方法,算法選取餐館相關(guān)信息作為特征,結(jié)合中文句子語法結(jié)構(gòu)并以句子為單位來分析評論句的語義極性和極性強(qiáng)度,其分類準(zhǔn)確率優(yōu)于Baseline方法。杜偉夫等[13]提出一種新的情感詞匯語義傾向計算方法,算法利用多種詞語相似度構(gòu)建詞語無向圖,再利用以“最小切分”為目標(biāo)的目標(biāo)函數(shù)對該圖進(jìn)行劃分,并利用模擬退火算法進(jìn)行求解。李壽山等[14]人具體研究4種不同的分類方法在中文情感分類上的應(yīng)用,并且采用一種基于Stacking的組合分類方法,用以組合不同的分類方法。實(shí)驗(yàn)結(jié)果表明組合方法在所有領(lǐng)域都能夠獲得比最好基分類方法更好的分類效果。周杰等[15]人選取不同的特征集、特征維度、權(quán)重計算方法和詞性等因素對網(wǎng)絡(luò)新聞評論進(jìn)行分類測試,并對實(shí)驗(yàn)結(jié)果進(jìn)行分析比較。陶富民等[16]人構(gòu)建了一個面向話題的新聞評論的情感特征提取框架,通過對那些熱門話題構(gòu)造對應(yīng)的情感特征表來達(dá)到改善情感分析的效果。
一篇普通的文本由一個或多個段落組成,每個段落由一句或多個句子組成,每一句子有多個詞組成。就文中算法以句子級為計算文本情感傾向性的最小單位,需要將文本內(nèi)容劃分為句子集合。由于文本內(nèi)容可能存在標(biāo)點(diǎn)符號使用不規(guī)范的現(xiàn)象,因此將“。”,“.”,“。?!?,“?”,“!”,“!!”,“!!!”,“~”,“……”作為一個句子的邊界符號。
目前,中科院發(fā)布的“漢語文本詞性標(biāo)注標(biāo)記集”文檔中,中文各類詞性大概總計有近百余種。通過多次實(shí)驗(yàn)的測試,發(fā)現(xiàn)具有明顯傾向性的詞,其詞性主要集中分布在以下特征詞性集合中,將以下詞性集合選取作為特征詞提取的范圍,內(nèi)容如表1所示。
表1 特征詞性集合信息
定義1 特征詞傾向頻率FR,將特征詞的文本情感傾向度的一個評判標(biāo)準(zhǔn)定義為特征詞傾向頻率。特征詞傾向頻率FR反映了特征詞出現(xiàn)在某一情感類型文本的可能性。特征詞傾向頻率FR的計算公式為
其中,posi表示特征詞在第i篇正面文本中的出現(xiàn)的次數(shù);negi表示特征詞在第i篇負(fù)面文本中的出現(xiàn)的次數(shù)。
定義2 特征詞傾向差DIFF,將特征詞的文本情感傾向度的另一個評判標(biāo)準(zhǔn)定義為特征詞特征詞傾向差值。特征詞傾向差值DIFF同樣反映了特征詞出現(xiàn)在某一情感類型文本的可能性。特征詞傾向差值DIFF的計算公式為
其中,posi表示特征詞在第i篇正面文本中的出現(xiàn)的次數(shù);negi表示特征詞在第i篇負(fù)面文本中的出現(xiàn)的次數(shù)。
獲取等量的正面情感和負(fù)面情感兩類文本作為語料,對照特征詞性集合(表1)提取特征詞,并按特征詞總出現(xiàn)次數(shù)降序排序,計算特征詞的文本情感傾向度的兩個評判標(biāo)準(zhǔn)(FR和DIFF),并按特征詞分類過程classifyWord(word)將特征詞分類,分別構(gòu)建等量的正面特征傾向詞庫posLib和負(fù)面特征傾向詞庫negLib。特征詞分類過程描述如下:
算法1 classifyWord(word)
if(FR≥wordThd-pos& & DIFF≥diffThd)
將word從其他詞庫移除并加入posLib;return 1;
else if(FR≤wordThd-neg&&(-DIFF)≥diff-Thd)
將word從其他詞庫移除并加入negLib;return-1;
else
將word從其他詞庫移除并加入medLib;return 0;
其中,wordThd-pos為正面特征詞閾值,wordThd-neg為負(fù)面特征詞閾值,diffThd為差值閾值,中性特征傾向詞庫medLib。
為增加對傾向特征挖掘流程的理解,利用下面的例子來介紹。
從正負(fù)5篇文章提取的特征詞信息,如表2所示。
表2 文本特征信息
統(tǒng)計文本中所有特征詞的信息,如正負(fù)面詞頻、傾向頻率FR、傾向差值DIFF,并按總詞庫排序,詳細(xì)信息如表3所示。
表3 特征詞信息
從表3可以看出,“道德”和“搶救”的FR值都為0,然而DIFF值卻相差5;“安全”和“搶救”的DIFF值都為-1,然而FR值卻相差0.6;這說明單憑FR值或DIFF值來作為特征詞的分類標(biāo)準(zhǔn)可能會出現(xiàn)很大的誤差。所以將FR和DIFF相結(jié)合作共同作為為特征詞的分類標(biāo)準(zhǔn)更為合適,正如分詞算法1中所示。
本算法的核心思想來源于基于統(tǒng)計的分析方法,分類模式類似于基于情感詞典的語義計算分析方法。主要由文本協(xié)同迭代分類和動態(tài)詞庫擴(kuò)展兩個部分構(gòu)成。
文中算法以句子為最小單位,首先要通過特征句子分類過程classifySentence(sentence)將文本中的句子分類,再通過文本分類過程classifyText(text)將文本分類,再將文本中出現(xiàn)的所有新特征詞去重過濾,按照特征詞分類過程classifyWord(word)來重構(gòu)特征傾向詞庫。經(jīng)過多次這樣迭代的過程collaClassify(textList),當(dāng)分類的準(zhǔn)確度連續(xù)3次變化微小或者中性詞庫medLib中的詞連續(xù)3次不變化,即認(rèn)為達(dá)到平衡狀態(tài),則完成整個分類流程。具體幾個過程定義如下:
其中,sentenceThd為句子閾值,attributeList為表1的特征詞性集合。
算法3 classifyText(text)
其中,textList為待分類的文本集合,balanceState為平衡狀態(tài)布爾值。
由于擴(kuò)展詞庫是基于某一次文本分類,對于某一特定的特征詞,在不同容量的分類文本的情況下,按照同一特征詞分類規(guī)則去分類此特征詞,結(jié)果可能不一致。毫無疑問,對于某一特定的特征詞,其正負(fù)傾向詞頻值隨文本容量的增加而增加。然而,其正負(fù)傾向詞頻值的增長率不一定隨文本容量的變大而增加,有可能保持不變甚至減小。比如,某些特征詞的正負(fù)詞頻值平均趨勢如圖1所示。
觀察圖1可知當(dāng)文本容量在250~300的某一點(diǎn)k時,正負(fù)面詞頻曲線的斜率明顯改變了。當(dāng)文本容量大于k值時,負(fù)面詞頻曲線的斜率變大,而正面詞頻曲線的斜率在減小。這說明k點(diǎn)可作為特征詞的正負(fù)面詞頻值的區(qū)分點(diǎn)。為了確保特征基礎(chǔ)詞庫中的每個新特征詞都具有較明顯的正負(fù)文本傾向性,取文本容量在250~300之間的多組正負(fù)詞頻對比值求平均值,將此平均值作為特征詞閾值來分類特征詞,以達(dá)到擴(kuò)展特征詞庫的目的。為了保證下一次文本分類的準(zhǔn)確性,當(dāng)前文本分類結(jié)束后取等量且適宜(不大于200)的特征詞加入相應(yīng)的特征傾向詞庫。
圖1 正負(fù)面詞頻值平均趨勢
結(jié)合2.1和2.2兩個過程,CACIDLE算法的整個過程如下:
算法5 CACIDLE
輸入:文本閾值textThd,句子閾值 sentenceThd,正面特征詞閾值wordThd-pos,負(fù)面特征詞閾值wordThd-neg,差值閾值 diffThd,詞庫擴(kuò)展閾值wordSizeThd。
輸出:文本分類結(jié)果及新特征傾向詞庫.
過程:
設(shè)balanceState=false;
while(!balanceState)
balanceState=collaClassify(textList);
將文本中的特征詞FR與DIFF按排序并取前wordSizeThd個詞分別加入特征傾向詞庫;
輸出結(jié)果;
分類結(jié)束。
利用網(wǎng)絡(luò)爬蟲技術(shù),從一些有名的網(wǎng)站模塊(如:鳳凰網(wǎng)的暖新聞模塊http://news.ifeng.com)爬取具有情感傾向的新聞文章文本,再經(jīng)過人工篩選過濾并進(jìn)行正面和負(fù)面標(biāo)注,將其作為實(shí)驗(yàn)的文本數(shù)據(jù)集。數(shù)據(jù)集的具體信息如表4所示。
表4 文本數(shù)據(jù)集具體信息
利用中科院中文切詞工具ICTCLAS將文本數(shù)據(jù)集切詞并進(jìn)行詞性標(biāo)注,選取其中1000篇文本(正面傾向和負(fù)面傾向各500篇)作為訓(xùn)練數(shù)據(jù)集來構(gòu)建基礎(chǔ)種子詞庫,最終提取了各500個特征詞到正面傾向詞庫和負(fù)面傾向詞庫。剩下的1000篇文本作為測試數(shù)據(jù)集。
使用的精確度(accuracy)為文本情感傾向的判斷標(biāo)準(zhǔn),其基本定義公式為
其中,trueTextSize表示分類正確的文本數(shù)量,totalTextSize為總測試文檔數(shù)量。
將測試數(shù)據(jù)集分別在K最近鄰、支持向量機(jī)SVM以及本文分類方法做了不同文本容量的多次十字交叉測試實(shí)驗(yàn),表5顯示了各方法的文本分類實(shí)驗(yàn)的平均結(jié)果。
表5 各方法實(shí)驗(yàn)平均結(jié)果
從表5可以看出,在多次不同文本測試數(shù)據(jù)集的實(shí)驗(yàn)平均結(jié)果中,文中分類方法都優(yōu)于其他兩種分類方法。從結(jié)果數(shù)據(jù)上來對比,文中分類方法的平均精確度為83.4%,比支持向量機(jī)SVM分類方法所得的平均精確度78.5%高出4.9%,比K最近鄰分類方法所得的平均精確度70.3%更高出13.1%,由此說明文中分類方法能提高中長文本的情感傾向分類的效果。
算法是分類文本和特征詞兩者相互訓(xùn)練的迭代過程,由分類文本提取更多新特征詞擴(kuò)充基礎(chǔ)種子詞庫,反過來,由更大容量的基礎(chǔ)種子詞庫將更多的待分類文本進(jìn)行更精確的分類。在進(jìn)行迭代的過程中,將實(shí)驗(yàn)結(jié)果趨于穩(wěn)定的狀態(tài)作為迭代的結(jié)束條件,即算法收斂。通過多次實(shí)驗(yàn)測試了算法的收斂性,圖2為表示本算法在不同容量的測試文本數(shù)據(jù)集的情況下,算法精度隨迭代次數(shù)的增加而變化的曲線。從圖2可以看出,迭代次數(shù)在10次左右時曲線就趨于穩(wěn)定,能獲得一個比較優(yōu)良的精確度。
圖2 算法收斂性
提出基于協(xié)同迭代及動態(tài)詞庫擴(kuò)展的文本情感傾向分類算法CACIDLE,通過實(shí)驗(yàn)結(jié)果證明了是一種有效的文本情感分類的方法,分類效果也比較令人滿意的,而且經(jīng)過每一次文本分類,特征傾向詞庫的特征詞在不斷的豐富,這樣更有利于提高文本的分類效果和算法的時間效率(迭代次數(shù)減少)。當(dāng)然,算法CACIDLE還有待提高的方面,如特征詞性集合的選取、擴(kuò)展詞庫方法的優(yōu)化以及分類效果的提高,這些都是接下來要進(jìn)一步研究的重點(diǎn)。
[1] Sholom M Weiss,Nitin Indurkhya,Tong Zhang.預(yù)測性文本挖掘基礎(chǔ)[M].趙仲孟,候迪,譯.西安:西安交通大學(xué)出版社,2010.
[2] Liu B.Sentiment Analysis[C].Emerging Trends and Applications in Computer Science(ICETACS),2013 1st International Conference on-IEEE,2013:i.
[3] Singh V,Dubey S K.Opinion mining and analysis:A literature review[C].Confluence The Next Generation Information Technology Summit(Confluence),2014 5th International Conference IEEE,2014:232-239.
[4] 魏韋華,向陽,陳千.中文文本情感分析綜述[J].計算機(jī)應(yīng)用,2011,31(12).
[5] 吳瓊,譚松波,徐洪波,等.基于隨機(jī)游走模型的跨領(lǐng)域傾向性分析研究[J].計算機(jī)研究與發(fā)展,2010,47(12):2123-1231.
[6] C J C Burges.A tutorial on support vector machines for pattern recognition[J].Data Mining and Knowledge Discovery,1988,2(2):955-974.
[7] R Schapire,Y Singer.BoosTexter:A booting-based system for text categorization[J].Machine Learning,2000,39(2/3):135-168.
[8] Y Dasarathy B V.Minimal consistent set(MCS)identification for optimal nearnest neighbor decision system terms design[J].IEEE Trans.on System Man Cybern,1944,24(3):511-517.
[9] 翁彧.網(wǎng)絡(luò)話題中的web文本挖掘技術(shù)[M].北京:中央名族大學(xué)出版社,2010.
[10] 王建會,王洪偉,申展,等.一種實(shí)用高效的文本分類算法[J].計算機(jī)研究與發(fā)展,2005,42(1):85-93.
[11] 葉強(qiáng),張紫瓊,羅振雄.面向互聯(lián)網(wǎng)評論情感分析的中文主觀性自動判別方法研究[J].信息系統(tǒng)學(xué)報,2007,1(1):79-91.
[12] 潘宇,林鴻飛.基于語義極性分析的餐館評論挖掘[J]. 計算機(jī)工程,2008,34(17):1000-3428.
[13] 杜偉夫,譚松波,云曉春,等.一種新的情感詞匯語義傾向計算方法[J].計算機(jī)研究與發(fā)展,2009,46(10):1713-1720.
[14] 李壽山,黃居仁.基于Stacking組合分類方法的中文情感分類研究[J].中文信息學(xué)報,2010,24(5):56-61.
[15] 周杰,林琛,李弼程.基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)新聞評論情感分類研究[J].計算機(jī)應(yīng)用,2010,30(4):1011-1014.
[16] 陶富民,高軍,王騰蛟,等.面向話題的新聞評論的情感特[J].中文信息學(xué)報,2010,24(3):37-43.