張朝龍, 許源平, 鄭皎凌
(成都信息工程大學(xué)軟件工程學(xué)院,四川成都610225)
在大數(shù)據(jù)時(shí)代,互聯(lián)網(wǎng)已成為非常重要的輿論平臺(tái),現(xiàn)今人們不僅是網(wǎng)絡(luò)的消費(fèi)者,同時(shí)也是網(wǎng)絡(luò)信息的生產(chǎn)者,越來越多的人愿意在網(wǎng)絡(luò)上表達(dá)自己的觀點(diǎn)、態(tài)度和想法[1]。網(wǎng)絡(luò)上每天都會(huì)有海量的輿論話題產(chǎn)生,一個(gè)輿論話題可以通過微博、論壇、朋友圈迅速傳播與擴(kuò)散,網(wǎng)絡(luò)輿情會(huì)直接影響社會(huì)輿情的走向,進(jìn)而產(chǎn)生重大的社會(huì)影響[2]。通過輿情監(jiān)控可有效識(shí)別網(wǎng)絡(luò)輿情,過濾垃圾、有害、惡意的信息,針對發(fā)布的虛假信息進(jìn)行溯源,對維護(hù)互聯(lián)網(wǎng)的正常秩序具有重要的意義[3]。文本情感分類算法可有效識(shí)別網(wǎng)絡(luò)文本所表達(dá)的情感,有助于及早發(fā)現(xiàn)惡意、有害的信息,因此,Web文本的情感極性分類算法在網(wǎng)絡(luò)輿情監(jiān)控應(yīng)用方面具有重要的研究價(jià)值。
在文本的情感極性分類方面,前人已經(jīng)做了大量的相關(guān)研究工作,并取得了較好的研究成果。目前文本情感分類方面主要有兩種研究思維:基于情感詞典和基于機(jī)器學(xué)習(xí)的算法[4-5]。
基于情感詞典的方法如Tong[6]通過人工選擇建立了專用情感詞庫,Hu[7]通過判斷新詞的方法解決了Tong建立的詞庫只能用于特定領(lǐng)域的問題。中文方面李純等[8]從語言學(xué)角度出發(fā),提出中心詞概念來進(jìn)行情感極性分類。
在另一方面,基于機(jī)器學(xué)習(xí)的方法中常用的算法有Rocchio分類算法、SVM(支持向量機(jī))、Bayes(貝葉斯算法)、KNN(K-近鄰算法)、互信息(Mutual Information)等。Pang 等[9]學(xué)者分別應(yīng)用 Native Bayes、ME(Maximum Entropy)、SVM方法對電影評論語料進(jìn)行了情感分類。孟迪等[10]學(xué)者提出的H-C算法改進(jìn)了傳統(tǒng)互信息方法情感項(xiàng)可信度的計(jì)算方法,在一定程度上改善了概率偏向的問題。
當(dāng)前主要的情感極性分類方法存在以下問題:(1)大都是以單詞為基礎(chǔ),忽略了句子級和篇章級對文本情感的影響;(2)情感詞庫一般都是針對某一特定領(lǐng)域,不具有通用性;(3)情感詞庫中情感詞的情感只有正面和負(fù)面兩種,忽略了不同情感詞對句子和篇章的影響權(quán)重;(4)由于網(wǎng)絡(luò)文本的隨意性,結(jié)構(gòu)復(fù)雜,語法錯(cuò)誤,使得傳統(tǒng)機(jī)器學(xué)習(xí)方法的效果大大降低。例如,H-C等機(jī)器學(xué)習(xí)算法大都難以處理不規(guī)范的文本[10],特別是 Web 文本。
在前人的基礎(chǔ)上,針對傳統(tǒng)情感分類方法存在的缺點(diǎn),綜合協(xié)同過濾和文本相似度計(jì)算,提出了一種新型高效的Web文本情感極性分類方法。協(xié)同過濾算法廣泛應(yīng)用于推薦系統(tǒng)[11],其可被分類為基于用戶(User-Based)的算法和基于項(xiàng)目(Item-based)的算法。在文本情感極性分類算法中,可把文本看作用戶(Us-er),把文本中的情感詞看作項(xiàng)目(Item)。其基本原理是利用已知情感的文本(用戶)獲取情感詞(項(xiàng)目)信息,再預(yù)測未知情感的文本的情感極性。該算法具有以下優(yōu)點(diǎn):(1)不是簡單地統(tǒng)計(jì)單詞,而是從句子級和篇章級來整體分析文本;(2)對多個(gè)領(lǐng)域的文本都能有效的分類,具有較強(qiáng)的通用性;(3)不依賴于情感詞庫;(4)基于文本相似度計(jì)算,對網(wǎng)絡(luò)不規(guī)范的文本也具備較好地處理能力。
課題設(shè)計(jì)并實(shí)現(xiàn)的算法包含:文本-情感詞矩陣表示、相似度計(jì)算、協(xié)同過濾情感詞評分和Top-N情感詞推薦。
實(shí)驗(yàn)表明,基于協(xié)同過濾和文本相似性的情感極性分類算法相比于傳統(tǒng)的基于情感詞典和基于機(jī)器學(xué)習(xí)的算法具有更高的查全率和準(zhǔn)確率。
中文文本中常用字出現(xiàn)的頻率非常高,國家語言文字工作委員會(huì)和國家教育委員會(huì)發(fā)布的《現(xiàn)代漢語常用字表》中常用字只有2500個(gè),次常用字1000個(gè)。山西大學(xué)計(jì)算機(jī)科學(xué)系統(tǒng)計(jì)了200萬字的語料,檢測常用字的使用頻率和覆蓋率,其結(jié)果是:常用字覆蓋率達(dá) 97.97%[12]。
中文詞匯方面也有類似的特點(diǎn),北京語言學(xué)院語言教學(xué)所對200萬字現(xiàn)代漢語語料進(jìn)行了統(tǒng)計(jì),列出了使用度最高的前8000詞詞表。可見中文文本使用的詞匯大都是出自高頻詞匯。
基于這個(gè)前提,對網(wǎng)絡(luò)文本進(jìn)行了統(tǒng)計(jì)。從鳳凰新聞、新浪新聞、天涯論壇及地方論壇共提取了2670篇文檔,對其進(jìn)行詞頻統(tǒng)計(jì),其中1500篇用于統(tǒng)計(jì)詞頻,1170篇用于詞頻覆蓋率統(tǒng)計(jì)。統(tǒng)計(jì)結(jié)果如表1所示。其中平均覆蓋率和80%覆蓋率所占的比率增長圖1如所示。
表1 文本詞組覆蓋率統(tǒng)計(jì)
圖1 文本詞組覆蓋增長率統(tǒng)計(jì)圖
考慮影響文本情感極性的詞組的詞性包含形容詞、名詞、動(dòng)詞、狀態(tài)詞、代詞[10]。其中,形容詞大多修飾某種情感,所以目前大多數(shù)文本情感分類算法都以形容詞為基礎(chǔ)。但是,根據(jù)語料分析,發(fā)現(xiàn)引入形容詞的同時(shí)將名詞、動(dòng)詞、狀態(tài)詞、代詞一并考慮會(huì)大大提高情感分類的準(zhǔn)確性(實(shí)驗(yàn)結(jié)果見表7),因?yàn)殡m然大多數(shù)名詞、動(dòng)詞、狀態(tài)詞和代詞本身并沒有情感傾向,但擁有相同情感極性的文本中通常會(huì)重復(fù)出現(xiàn)某些詞性為名詞、動(dòng)詞、狀態(tài)詞和代詞的詞匯,比如在文中使用的情感挖掘語料[13]中關(guān)于酒店的評論中包含的“房間”這個(gè)名詞在負(fù)面評論中出現(xiàn)的頻率非常高,如“房間很舊,有霉味,居然還有蟑螂”、“房間地毯還有沙發(fā)都很臟”,這里的“房間”、“蟑螂”都是名詞,本身也沒有極性,但它們出現(xiàn)在文本中都是為了說明房間不好,即為負(fù)面情感服務(wù)的。因此,把形容詞、名詞、動(dòng)詞、狀態(tài)詞、代詞都識(shí)別為情感詞。
利用上述文本針對情感詞進(jìn)行了詞頻統(tǒng)計(jì),統(tǒng)計(jì)結(jié)果如表2所示。其中平均覆蓋率和80%覆蓋率所占的比率增長圖如圖2所示。
表2 文本情感詞覆蓋率統(tǒng)計(jì)
從表1、表2、圖1、圖2可以看出,文檔數(shù)從100篇增加到300篇時(shí),詞匯的覆蓋率和情感詞的覆蓋率快速上升(全部詞匯的平均覆蓋率從79.01%上升到89.77%,情感詞的覆蓋率從74.34%上升到89.77%),詞匯80%覆蓋率所占的比率急劇上升(全部詞匯從47.69%上升到97.44%,情感詞從24.01%上升到92.22%)。當(dāng)文檔數(shù)達(dá)到500篇時(shí),所包含的詞匯和情感詞在測試文檔中均能達(dá)到90%以上,且覆蓋率達(dá)80%以上的文檔所占的比率在90%以上,覆蓋率趨于穩(wěn)定狀態(tài)。這和北京語言學(xué)院語言教學(xué)所做的統(tǒng)計(jì)結(jié)果一致。實(shí)驗(yàn)結(jié)果表明,少量文檔中出現(xiàn)的詞匯基本能覆蓋大多數(shù)文檔中的詞匯,這類詞匯就是常用高頻詞匯。
圖2 情感詞覆蓋增長率統(tǒng)計(jì)圖
從前一章的統(tǒng)計(jì)詞匯覆蓋率的相關(guān)實(shí)驗(yàn)結(jié)果可以得出大部分文本使用的詞匯都為常用高頻詞匯。一篇文本包含多個(gè)情感詞,一個(gè)情感詞也會(huì)出現(xiàn)在多篇文本中。使用協(xié)同過濾算法,可把文本看作用戶(User),把文本中的情感詞看作項(xiàng)目(Item),從而得到一個(gè)二維表,其中每行表示為一個(gè)文本(User),每列表示一個(gè)情感詞(Item),而值是文本中出現(xiàn)相應(yīng)情感詞的得分情況,這樣就生成了文本-情感詞評分矩陣如表3所示。
表3 文本-情感詞評分矩陣R(m,n)
相似度的計(jì)算方法很多,如常用的有相關(guān)相似性(Correlation Similar)[14]、余弦相似性(Cosine Similarity)[15]和修正、余弦相似性(Adjusted Cosine Similarity)[14],和基于云模型的相似度[14]。相關(guān)相似性也稱皮爾森(Pearson)系數(shù)相關(guān),可用于度量用戶之間的相似性。余弦相似性是通過計(jì)算用戶間的向量夾角的余弦值來度量用戶之間的相似性。修正的余弦相似性是對余弦相似性的一種改進(jìn),主要改善了不同用戶評分標(biāo)準(zhǔn)不一致所帶來的缺陷。云模型把每個(gè)用戶看作一朵云,通過逆向云算法計(jì)算兩朵云的相似度[15]。
不同的Web文本,因?yàn)槲谋鹃L度不同,向量規(guī)模也不同,比如一篇10000字的文本比一篇500字的文本的向量維度規(guī)模大很多,比較規(guī)模沒有太大意義。余弦相似度計(jì)算通過計(jì)算兩個(gè)向量的夾角來度量它們的相似度,在比較過程中,向量的規(guī)模不予考慮,僅僅考慮向量的方向,可有效避免因文本規(guī)模不同而產(chǎn)生的差異。通過計(jì)算向量的夾角可有效地判斷文本的相似度。因此,本文采用余弦相似性計(jì)算兩個(gè)文本的相似度,計(jì)算公式為
其中,Ri,c和 Rj,c分別表示文檔 i和文檔 j對情感詞c(Itemc)的評分。
根據(jù)文本相似性可計(jì)算出待預(yù)測情感極性的目標(biāo)文檔的最近鄰居集合。為輸出文本情感極性,還需應(yīng)用的基本步驟包括:求出文檔對任意情感詞的評分和文本Top-N的情感詞推薦。
文檔對任意情感詞的評分。對于文檔uk,最近鄰居集合 U={u1,u2,…,up},uk不屬于 U,從 u1到 up,sim(uk,ui)從大到小排列。可利用相似鄰居進(jìn)行中心加權(quán)求和的方法來給情感詞i評分
其中,Puk,i表示文檔 uk對情感詞 i的評分表示文檔uj在已經(jīng)打分的情感詞的平均分,sim(uk,uj)是余弦相似度。
Top-N的情感詞推薦。分別統(tǒng)計(jì)待預(yù)測“最近鄰居”集中的文檔對不同情感詞的評分的加權(quán)平均值,其中N個(gè)排在前面且不屬于Ii(Ii表示用戶i評分的情感詞集合)的情感詞作為Top-N推薦集。在得出Top-N推薦集后,文檔獲得了新的情感詞推薦,對相似度低于閥值的文檔使用新的文本-情感詞向量矩陣計(jì)算文本相似度。通過迭代使用相似性計(jì)算和協(xié)同過濾算法,可進(jìn)一步判斷待預(yù)測文本的情感極性。
圖3 基于協(xié)同過濾和文本相似性的文本情感極性分類流程
表4 文檔-情感詞表
表5 文檔-情感詞評分矩陣
圖3總結(jié)了該基于協(xié)同過濾和文本相似性的文本情感極性分類算法的總體處理流程。先對已知情感極性和待預(yù)測情感極性文本做預(yù)處理,提取文本中的情感詞,形成一個(gè)文檔-情感詞二維矩陣。再使用余弦相似性計(jì)算方法,式(1)計(jì)算文本間的相似度,當(dāng)待預(yù)測文檔與已知情感極性的文檔的相似度大于閥值時(shí),可直接對該文本推薦情感極性,其情感極性為相似度最大的已知情感極性的文檔的情感極性。對于低于閥值的文檔,需要繼續(xù)使用協(xié)同過濾算法計(jì)算文檔對情感詞的評分和Top-N情感詞推薦,并進(jìn)一步計(jì)算文本相似度。
假設(shè)有5篇文檔,文檔所包含的情感詞和情感極性如表4所示,其中文檔1和文檔4的情感已知,其它文檔為待預(yù)測的文檔。先把文檔和情感詞矩陣化,得到文檔-情感詞評分矩陣,如表5所示。再使用余弦相似性計(jì)算式(1)分別計(jì)算文檔之間的相似度,計(jì)算結(jié)果如下
文檔2和文檔3相似度低于閥值,需要迭代計(jì)算。其中文檔2的最近鄰居為 U={u1,u3,u4,u5},由公式2計(jì)算文檔2的情感詞“幸福”、“真摯”、“差”、“無語”和“吐槽”的評分,結(jié)果如下
再根據(jù)Top-N推薦情感詞,可認(rèn)為文檔2也包含“幸?!焙汀罢鎿础边@兩個(gè)情感,再次計(jì)算余弦相似度為,此時(shí)相似度已超過閥值,可推薦文檔2的情感極性為正面。
文中的實(shí)驗(yàn)數(shù)據(jù)是由數(shù)據(jù)堂提供的中文情感挖掘語料-ChnSentiCorp[13],包含對酒店、筆記本電腦(簡稱電腦)和書籍3個(gè)領(lǐng)域的評論語料,每個(gè)領(lǐng)域包含負(fù)面文檔和正面文檔各2000篇。分別對這3個(gè)語料進(jìn)行測試,從每個(gè)語料庫中選取500篇負(fù)面文檔和500篇正面文檔作為已知情感極性文檔,剩余3000篇作為待預(yù)測文檔。
分別對酒店、電腦和書籍3個(gè)領(lǐng)域的文本進(jìn)行測試,從查全率、查準(zhǔn)率和F值評估算法的性能指標(biāo)。查全率、查準(zhǔn)率和F值的定義如下。
查全率和查準(zhǔn)率。在情感極性分類中,以負(fù)面情感為例,負(fù)面文檔并分類為負(fù)面的文檔數(shù)為a,負(fù)面文檔被分類為正面的文檔數(shù)為b,正面文檔被分類為負(fù)面的文檔數(shù)為c。則查全率為正確判斷為負(fù)面的文檔數(shù)與所有負(fù)面文檔總數(shù)之比,即R=a/(a+b)。查準(zhǔn)率為正確判斷為負(fù)面的文檔數(shù)與所有判斷為負(fù)面的文檔數(shù)之比,即P=a/(a+c)。
F值為查全率R和查準(zhǔn)率P的函數(shù)
文中與文獻(xiàn)[10]的H-C算法、文獻(xiàn)[16]的基于情感詞典和樸素貝葉斯的算法進(jìn)行了對比。通過測試并調(diào)整閥值,得出較好的結(jié)果,如表6所示。
表6 實(shí)驗(yàn)結(jié)果分析比較
從表6可知,相比于H-C方法、基于情感詞典和樸素貝葉斯的方法,基于協(xié)同過濾和文本相似性的算法具有更高的查全率、查準(zhǔn)率和F值,在這3個(gè)領(lǐng)域的語料集中都有明顯的提高。由于Web文本的用詞隨意性以及語法的不規(guī)范性,同時(shí),在一篇負(fù)面文檔中也會(huì)出現(xiàn)正面句子,正面文檔也出現(xiàn)正面句子,及一篇文本有一個(gè)主要情感,而在某一小的方面予以不同于主情感的肯定或否定,使得H-C算法不能很好的處理這類文本。而文中算法基于文本相似度計(jì)算方法,且訓(xùn)練集和測試集來源相同,因而在不規(guī)范的Web文本也能表現(xiàn)較好的分類效果。傳統(tǒng)使用情感詞庫的方法,情感詞的情感極性大都是非正即負(fù),忽略了不同詞匯對情感的影響權(quán)重和文本間的相似性,也忽略了句子和篇章對文本情感極性的影響,這些弊端使得基于情感詞典的分類算法分類效果不理想。而文中的情感分類方法,使用文本相似性計(jì)算有效地避免了傳統(tǒng)情感詞庫的弊端,通過文本相似性的分析并調(diào)整相關(guān)閥值,使得分類效果具有顯著的提高。
為對比不同詞性種類作為情感詞對文本情感極性分類效果的影響,文中對只選取形容詞作為情感詞和選取本文定義的情感詞兩個(gè)方法應(yīng)用基于協(xié)同過濾和文本相似性的算法進(jìn)行對比,實(shí)驗(yàn)結(jié)果如表7所示。
表7 形容詞和本文定義情感詞的實(shí)驗(yàn)結(jié)果對比
從表7可知,與只把形容詞作為情感詞的方法相比較,把形容詞、名詞、動(dòng)詞、狀態(tài)詞、代詞都識(shí)別為情感詞時(shí),算法在這3個(gè)領(lǐng)域的語料集中的查全率、查準(zhǔn)率和F值都有一定的提高。因?yàn)橄嗤楦袠O性的文本會(huì)重復(fù)出現(xiàn)類似的詞匯,這類詞匯的詞性不僅包含形容詞,還包含了名詞、動(dòng)詞、狀態(tài)詞、代詞,使得這類詞雖然從字意上看沒有情感傾向,但在整個(gè)句子甚至整個(gè)篇章中都會(huì)隱含地表現(xiàn)出某種情感的傾向。所以相對于單純的以形容詞為情感詞的方法,加入名詞、動(dòng)詞、狀態(tài)詞、代詞后,分類效果具有明顯的提高。
提出一種基于協(xié)同過濾和文本相似性的Web文本情感極性分類算法。方法使用余弦相似性計(jì)算文本的相似度,通過協(xié)同過濾推薦文本情感極性和Top-N情感詞推薦,能夠更精確地判斷文本的情感極性。該算法改進(jìn)了傳統(tǒng)詞庫忽略句子和篇章以及傳統(tǒng)互信息方法概率偏向的弊端。實(shí)驗(yàn)表明,方法在Web文本情感極性分類應(yīng)用上表現(xiàn)出較好的結(jié)果,相比傳統(tǒng)互信息方法具有更高的查全率和查準(zhǔn)率(實(shí)驗(yàn)結(jié)果見表6)。該算法在海量網(wǎng)絡(luò)文本輿情自動(dòng)化監(jiān)測方面具有較好的實(shí)用性。
從實(shí)驗(yàn)中可以看出,閥值的選擇對算法的效果會(huì)有很大的影響,并且不同領(lǐng)域的語料集會(huì)需要不同的最佳閥值,而最佳的閥值是難以計(jì)算得出。在將來的工作中,還需要進(jìn)一步研究自適應(yīng)閥值選擇,同時(shí)改進(jìn)相似度計(jì)算方法,實(shí)現(xiàn)多個(gè)特征值提取,以進(jìn)一步提高分類精度和效率。
[1] 于帥.中文Web文本情感傾向性分析技術(shù)的研究[D].哈爾濱:哈爾濱工程大學(xué),2013.
[2] 王平,謝耘耕.突發(fā)公共事件網(wǎng)絡(luò)輿情的形成及演變機(jī)制研究[J].中國傳媒大學(xué)學(xué)報(bào),2013,(3):63-69.
[3] 楊志國.基于Web挖掘和文本分析的動(dòng)態(tài)網(wǎng)絡(luò)輿情預(yù)警研究[D].武漢:武漢理工大學(xué),2014.
[4] 李光敏,許新山,熊旭輝.Web文本情感分析研究綜述[J].現(xiàn)代情報(bào),2014,(5):173-176.
[5] 王洪偉,劉勰,尹裴,等.Web文本情感分類研究綜述[J].情報(bào)學(xué)報(bào),2010,29(5):931-938.
[6] Tong,R M.An operational system for detecting and tracking opinions in on-line discussions[C].Working Notes of the ACM SIGIR 2001 Workshop on Operational Text Classification.New York,NY:ACM,2001:1-6.
[7] Minqing Hu,Bing Liu.Mining and Summarizing Customer Reviews[C].Association for Computing Machinery(ACM)Special Interest Groupon Knowledge Discovery and Data Mining(SIGKDD)International Conference on Knowledge Discovery and Data Mining;20040822-20040825;Seattle,WA;US,2004.
[8] 李鈍,曹付元,曹元大,等.基于短語模式的文本情感分類研究[J].計(jì)算機(jī)科學(xué),2008,(4).
[9] Pang B,Lee L,Vaithyanathan S.Thumbs up Sentiment Classification using Machine Learning Techniques[J].Proceedings of Emnlp,2002:79-86.
[10] 孟迪,李立宇,于津.基于情感項(xiàng)區(qū)分極性可信度的文本情感分類[J].汕頭大學(xué)學(xué)報(bào):自然科學(xué)版,2014,(3).
[11] 郭艷紅.推薦系統(tǒng)的協(xié)同過濾算法與應(yīng)用研究[D].大連:大連理工大學(xué),2008.
[12] 鄭澤之,王強(qiáng)軍,張普,等.基于大規(guī)模DCC語料庫的《現(xiàn)代漢語常用字表》、《現(xiàn)代漢語通用字表》收字情況統(tǒng)計(jì)分析[J].Advances,2003.
[13] 數(shù)據(jù)堂.中文情感挖掘語料-ChnSentiCorp[EB/OL].http://www.datatang.com/data/14614.
[14] 徐翔,王煦法.協(xié)同過濾算法中的相似度優(yōu)化方法[J].計(jì)算機(jī)工程,2010,(6):52-54.
[15] 張光衛(wèi),李德毅,李鵬,等.基于云模型的協(xié)同過濾推薦算法[J].軟件學(xué)報(bào),2007,18(10):2403-2411.
[16] 楊鼎,陽愛民.一種基于情感詞典和樸素貝葉斯的中文文本情感分類方法[J].計(jì)算機(jī)應(yīng)用研究,2010,27:3737-3739.