摘要:學(xué)生評(píng)教留言經(jīng)過逐年累積,已經(jīng)形成一個(gè)巨量的信息資源,如何進(jìn)行挖掘和分析這些資源已經(jīng)成為一項(xiàng)緊迫的任務(wù)。本文采用頻率、信息增益、條件概率比、期望值差異等四種特征選取方法對(duì)留言進(jìn)行分析,采用ICTCLAS分詞軟件進(jìn)行分詞,利用MATLAB軟件進(jìn)行矩陣奇異值分解和降維,使用支持向量機(jī)進(jìn)行訓(xùn)練和預(yù)測(cè)數(shù)據(jù),從而能夠?qū)W(xué)生留言的情感傾向性給出很好的預(yù)測(cè)結(jié)果。最后通過實(shí)例說明了文中算法的有效性。
關(guān)鍵詞:傾向性分析;分詞;特征選擇;降維;支持向量機(jī)
0引言
學(xué)生評(píng)教留言經(jīng)過逐年累積,已經(jīng)形成一個(gè)巨量的信息資源,對(duì)其進(jìn)行數(shù)據(jù)挖掘已經(jīng)成為刻不容緩的工作,如何更好地利用大量的留言體現(xiàn)了一個(gè)學(xué)校對(duì)其教學(xué)水平和方法進(jìn)行提升和改進(jìn)的能力,一個(gè)高水平的學(xué)校應(yīng)積極發(fā)展對(duì)學(xué)生留言的挖掘,對(duì)其進(jìn)行分析、處理并最后得出結(jié)論,及時(shí)了解和分析教師的教學(xué)現(xiàn)狀和學(xué)生們的聽課反饋。
國內(nèi)外相關(guān)學(xué)者對(duì)文本傾向性分析進(jìn)行了大量研究[15],雖然英文的傾向性研究已經(jīng)很成熟并得到了豐碩成果[617],但是中文文本的傾向性研究還處在發(fā)展階段,有著廣闊的發(fā)展空間。柴玉梅等[1]通過分析中文文本內(nèi)容褒貶色彩的客觀性和褒貶傾向性分類的可行性,將特征選擇方法和褒貶特征提取技術(shù)結(jié)合起來,實(shí)現(xiàn)了名人網(wǎng)頁的褒貶傾向性分類;唐慧豐等[2]通過對(duì)中文文本不同分類方法的對(duì)比分析,提出采用BiGrams特征表示方法、信息增益特征選擇方法和SVM分類方法,在足夠大訓(xùn)練集和選擇適當(dāng)數(shù)量特征的情況下,在情感分類方面取得較好的效果;Tan等[6]針對(duì)中文文本,通過對(duì)四種特征選擇方法和五種學(xué)習(xí)方法進(jìn)行實(shí)驗(yàn),提出信息增益特征選擇方法與SVM進(jìn)行組合,能夠得到較好的預(yù)測(cè)結(jié)果;Prabowo等[7]提出一種規(guī)則分類、監(jiān)督學(xué)習(xí)和機(jī)器學(xué)習(xí)相結(jié)合的方法,能夠?qū)﹄娪霸u(píng)論、產(chǎn)品評(píng)論和MySpace留言進(jìn)行傾向性分析;Li等[8]提出結(jié)合Kmeans聚類算法和SVM來實(shí)現(xiàn)無監(jiān)督學(xué)習(xí)的方法,并利用此算法進(jìn)行在線論壇熱點(diǎn)的偵探和預(yù)測(cè)。
Tan等[6]針對(duì)中文文本,通過使用MI(Mutual Information)、IG(Information Gain)、CHI(CHI Statistics)和DF(Document Frequency)四種特征選擇方法和質(zhì)心分類、K近鄰、Window分類、貝葉斯分類、支持向量機(jī)五種分類方法進(jìn)行實(shí)驗(yàn),提出信息增益特征選擇方法與SVM進(jìn)行組合,得到較好的預(yù)測(cè)結(jié)果,但是其只是針對(duì)1 021個(gè)文本數(shù)據(jù)進(jìn)行實(shí)驗(yàn),并未能夠?qū)⑵鋺?yīng)用到學(xué)生評(píng)教留言中,學(xué)生評(píng)教留言具有一定的特殊性,它是對(duì)教師教學(xué)活動(dòng)的評(píng)價(jià),其中含有對(duì)教師豐富的情感,并非只是對(duì)一件物品的評(píng)價(jià)。針對(duì)學(xué)生評(píng)教留言,本文提出了一個(gè)學(xué)生評(píng)教留言的傾向性分析算法。首先,利用ICTCLAS對(duì)2 500條留言文本進(jìn)行分詞,其次,進(jìn)行詞性過濾,保留名詞、動(dòng)詞、形容詞和副詞四類詞語,再次,進(jìn)行詞語過濾,使用基于頻率、信息增益、條件概率比和期望值差異四種方法進(jìn)行實(shí)驗(yàn),然后,生成詞頻矩陣,并將矩陣進(jìn)行奇異值分解、降維、去除冗余數(shù)據(jù)操作,最后,利用SVM將生成的矩陣進(jìn)行訓(xùn)練和預(yù)測(cè)。本文特別針對(duì)學(xué)生評(píng)教留言,為實(shí)際的教學(xué)評(píng)價(jià)活動(dòng)提供一定的決策支持,能夠生成較好的預(yù)測(cè)結(jié)果,使得此算法能夠更好地應(yīng)用于實(shí)際的教務(wù)系統(tǒng)和教學(xué)活動(dòng)中。
1算法流程
本文特別針對(duì)學(xué)生評(píng)教留言,提出一種基于期望值差異的詞語過濾方法與支持向量機(jī)相結(jié)合的傾向性分析算法,算法流程如圖1所示。
算法流程如下:
輸入: 500條留言作為訓(xùn)練數(shù)據(jù), 2 060條留言作為預(yù)測(cè)數(shù)據(jù)。
輸出:2 060條預(yù)測(cè)數(shù)據(jù)的傾向性結(jié)果,以及本算法的正確率和拒識(shí)率。
?。?)分詞。用ICTCLAS50分別對(duì)訓(xùn)練數(shù)據(jù)和預(yù)測(cè)數(shù)據(jù)進(jìn)行分詞。
?。?)詞性過濾。保留名詞、動(dòng)詞、形容詞和副詞四類詞性詞語。
?。?)詞語過濾。利用基于頻率、信息增益、條件概率比和期望值差異的過濾方法對(duì)詞語進(jìn)行過濾。
?。?)生成詞頻矩陣。以“詞項(xiàng)×文檔矩陣”的格式生成詞頻矩陣。
?。?)矩陣處理。獲得訓(xùn)練文件,對(duì)矩陣進(jìn)行奇異值分解、降維、去除冗余數(shù)據(jù)后生成訓(xùn)練文件。
?。?)訓(xùn)練。用LIBSVM對(duì)訓(xùn)練集進(jìn)行訓(xùn)練,獲得訓(xùn)練模型。
?。?)預(yù)測(cè)。將預(yù)測(cè)集導(dǎo)入LIBSVM,利用上一步獲得的訓(xùn)練模型進(jìn)行預(yù)測(cè)。獲得傾向性結(jié)果,計(jì)算本算法的正確率和拒識(shí)率。
2學(xué)生留言的傾向性分析
2.1學(xué)生留言的預(yù)處理
2.1.1訓(xùn)練數(shù)據(jù)的選取
訓(xùn)練數(shù)據(jù)的質(zhì)量直接決定預(yù)測(cè)的效果,訓(xùn)練數(shù)據(jù)是需要精挑細(xì)選的一些留言數(shù)據(jù),必須具有良好的分類代表性,選取遵循以下原則:
?。?)需要過濾掉所有空留言、只含有標(biāo)點(diǎn)符號(hào)的留言以及不包含任何詞語的文本。
?。?)重復(fù)性留方過濾。完全重復(fù)的留言,以及留言文字相同但是有標(biāo)點(diǎn)符號(hào)不同的文本需要?jiǎng)h除,因?yàn)樗鼈兊南蛄炕鞠嗤?。向量相同的留言放到libsvm中處理只會(huì)增加計(jì)算量。
?。?)訓(xùn)練數(shù)據(jù)中各類的數(shù)目要大體相當(dāng)。
?。?)刪除部分表達(dá)意思相近的留言。
?。?)訓(xùn)練數(shù)據(jù)不宜選取過多,也不宜過少,如果過多就會(huì)存在很多重復(fù)性的向量,如果過少,訓(xùn)練集太小,不能很好地進(jìn)行預(yù)測(cè)。訓(xùn)練集的大小在500條左右即可。
基于以上選取數(shù)據(jù)的原則,本文從數(shù)據(jù)庫中抽取了500條數(shù)量相當(dāng)?shù)牟钤u(píng)留言和好評(píng)留言。
2.1.2雙重否定短語的確定
一般情況下,一條留言中出現(xiàn)否定詞就會(huì)被判定為差評(píng)。例如:“講課太過于粗糙,條例不太清晰”,這樣的留言中含有“不”,會(huì)被判定為差評(píng),這樣進(jìn)行判定看似是理所當(dāng)然的,實(shí)則不然,例如留言“注意啟發(fā)學(xué)生課外閱讀,不拘泥于課本,能調(diào)動(dòng)學(xué)生積極性,活躍課堂氣氛”,其中含有“不”,但是“不”后面跟的是“拘泥”,在語言中,雙重否定表達(dá)的是肯定意思,根據(jù)語義分析這是好評(píng),但是訓(xùn)練器把它標(biāo)記成差評(píng)了,這樣不符合客觀事實(shí)。為了解決這個(gè)問題,本文把兩個(gè)表達(dá)否定意義的詞語組合成一個(gè)短語,形成一個(gè)表示肯定意義的短語,優(yōu)先對(duì)這些組合起來的二元詞語匹配,并在后續(xù)處理過程中把這些短語當(dāng)做一個(gè)詞語對(duì)待。
在留言中經(jīng)常出現(xiàn)的雙重否定詞語包括:不拘泥、不單純、不忘、不脫離、不失、不死、不死板、不拘于、不枯燥、不只、不少、不錯(cuò)、不容易等等。
2.2特征詞的四種選擇標(biāo)準(zhǔn)
2.2.1基于頻率的過濾方法
基于頻率的過濾方法中,一條留言中一個(gè)詞語出現(xiàn)一次以上都是按照一次計(jì)算。本文采用了長匹配優(yōu)先的方式對(duì)其進(jìn)行匹配。如果一個(gè)詞語包含另一個(gè)詞語,則被包含的詞語的次數(shù)不能加一,例如第一條留言中出現(xiàn)“清楚”,包含“清”,第二條留言中包含“清”,則“清”出現(xiàn)的次數(shù)只能是一次,而不是兩次,還有一種特殊情況是“松”被分作了兩個(gè)詞性,“松/a”和“松/ng”,對(duì)于這種情況需把所有詞語的詞性去掉之后再統(tǒng)計(jì)這個(gè)詞語出現(xiàn)的次數(shù)。去掉出現(xiàn)頻率低于二次的留言之后,還剩下407個(gè)詞語。
2.2.2基于信息增益的過濾方法
基于信息增益的過濾方法中,根據(jù)IG計(jì)算公式計(jì)算需要留下的IG值:
c表示類別,屬于此類或者不屬于;τ表示此特征出現(xiàn)與否,布爾型。若特征與類別無關(guān),則IG=0。按照IG值的大小排序,獲取IG值較大的407個(gè)詞語。
2.2.3基于條件概率比的過濾方法
基于條件概率比的過濾方法,根據(jù)下面公式計(jì)算P(word),P1=P(word|C1),P2=P(word|C2):
在這里P(word)越小越有意義,說明word在不同類別中出現(xiàn)的概率差異大。若P1/P2=1或者P2/P1=1,則說明word的出現(xiàn)與類別判斷無關(guān),可去掉;若P1/P2=0或者P2/P1=0,則說明word的出現(xiàn)與類別高度有關(guān),此類詞語需保留。
2.2.4基于期望值差異的過濾方法
基于期望值差異的過濾方法,其具體計(jì)算方法是:一個(gè)詞項(xiàng)word在類i中出現(xiàn)的期望值ei=word在所有數(shù)據(jù)表中出現(xiàn)的總次數(shù)×P(Ci),令fi表示word在類i中出現(xiàn)的實(shí)際次數(shù),則
其中E的值越大越有意義。
3實(shí)驗(yàn)結(jié)果分析
在Intel雙核CPU、主頻3.06 GHz、內(nèi)存2 GB的臺(tái)式機(jī)上實(shí)現(xiàn)一個(gè)實(shí)例,來驗(yàn)證本文算法的有效性。
3.1數(shù)據(jù)集
本文使用山東女子學(xué)院教務(wù)系統(tǒng)2011年評(píng)教數(shù)據(jù)作為數(shù)據(jù)來源,原始數(shù)據(jù)來源于教務(wù)系統(tǒng)中的學(xué)生留言,共計(jì)3 000條。由于這些數(shù)據(jù)包含無意義數(shù)據(jù),經(jīng)過篩選,從前1 000條數(shù)據(jù)中選出500條作為訓(xùn)練數(shù)據(jù)集,預(yù)測(cè)數(shù)據(jù)集為從后2 000條中篩選出的1 309條數(shù)據(jù)。
3.2訓(xùn)練
本文基于真實(shí)數(shù)據(jù)集,利用四種詞語過濾算法,使用SVM進(jìn)行訓(xùn)練。訓(xùn)練結(jié)果如表1和圖2所示,表1中標(biāo)記為“0”的訓(xùn)練結(jié)果為負(fù)面評(píng)價(jià),標(biāo)記為“1”的訓(xùn)練結(jié)果表示為正面評(píng)價(jià),每個(gè)單元格中的三個(gè)數(shù)字分別表示正確率、錯(cuò)誤率和拒識(shí)率。
從表1和圖2可以看出,基于頻率的過濾方法、基于信息增益的過濾方法、基于期望值差異的過濾方法訓(xùn)練數(shù)據(jù)的正確率達(dá)到了80%以上,錯(cuò)誤率都低于20%,但是基于條件概率比的過濾方法正確率不到50%。從這些數(shù)據(jù)來看,針對(duì)學(xué)生評(píng)教留言文本,選擇基于頻率、信息增益、期望值差異的詞語過濾方法能夠達(dá)到較好的效果。
3.3預(yù)測(cè)
預(yù)測(cè)結(jié)果如表2和圖3所示,表2中標(biāo)記為“0”的訓(xùn)練結(jié)果表示為負(fù)面評(píng)價(jià),標(biāo)記為“1”的訓(xùn)練結(jié)果表示為正面評(píng)價(jià),每個(gè)單元格中的三個(gè)數(shù)字分別表示正確率、錯(cuò)誤率和拒識(shí)率。
從表2和圖3可以看出,基于頻率的過濾方法、基于信息增益的過濾方法、基于期望值差異的過濾方法預(yù)測(cè)數(shù)據(jù)的正確率達(dá)到了70%以上,錯(cuò)誤率都低于30%,基于期望值差異的過濾方法錯(cuò)誤率低于20%,與其他三種算法相比,基于期望值差異的詞語過濾算法效果最好。從這些數(shù)據(jù)來看,針對(duì)學(xué)生評(píng)教留言文本,基于期望值差異的詞語過濾算法與SVM結(jié)合能夠達(dá)到較好的效果。
4結(jié)論
本文特別針對(duì)高等學(xué)校學(xué)生評(píng)教留言,通過實(shí)驗(yàn)研究了基于頻率、信息增益、條件概率比、期望值差異的四種詞語過濾方法與支持向量機(jī)結(jié)合,最終給出文本傾向性結(jié)果的效果,通過對(duì)比分析,得出基于期望值差異的詞語過濾方法與支持向量機(jī)結(jié)合的算法,能夠?qū)W(xué)生評(píng)教留言的傾向性給出較優(yōu)的預(yù)測(cè)結(jié)果。
參考文獻(xiàn)
?。?] 唐慧豐. 基于監(jiān)督學(xué)習(xí)的中文情感分類技術(shù)比較研究[J].中文信息學(xué)報(bào), 2007,21(6):8894.
[2] 柴玉梅,熊德蘭,昝紅英. Web文本褒貶傾向性分類研究[J].計(jì)算機(jī)工程, 2006,12(9):8991.
?。?] 楊超,馮時(shí),王大玲,等.基于情感詞典擴(kuò)展技術(shù)的網(wǎng)絡(luò)輿情傾向性分析[J].小型微型計(jì)算機(jī)系統(tǒng), 2010,31(4):691695.
[4] 何鳳英.基于語義理解的中文博文傾向性分析[J].計(jì)算機(jī)應(yīng)用, 2011,31(8):21302137.
?。?] 李艷紅,程翔.基于網(wǎng)絡(luò)論壇文本挖掘的筆記本電腦滿意度研究[J].微型機(jī)與應(yīng)用,2014,33(18):6165.
[6] TAN S,ZHANG J.An empirical study of sentiment analysis for Chinese documents[J].Expert Systems with Applications, 2008,34(4):26222629.
?。?] PRABOWO R, THELWALL M. Sentiment analysis: a combined approach[J]. Journal of Informetrics, 2009,3(2):143157.
?。?] LI N, WU D D. Using text mining and sentiment analysis for online forums hotspot detection and forecast[J]. Decision Support Systems, 2010,48(2):354368.
?。?] STEFANO B,ANDREA E, FABRIZIO S.SentiWordNet 3.0: an enhanced lexical resource for sentiment analysis and opinion mining[C]. Proceedings of the Seventh Conference on International Language Resources and Evaluation. Malta:European Language Resources Association ,2010:22002204.
?。?0] PANG B,LEE L.Opinion mining and sentiment analysis[J]. Foundations and Trends in Information Retrieval, 2008,2(12):131135.
?。?1] ERIK C,BJORN S, YUNQING X, et al. New avenues in opinion mining and sentiment analysis[J]. IEEE Intelligent Systems, 2013,2(28):1521.
?。?2] LIU B,ZHANG L. A survey of opinion mining and sentiment analysis[M].New York:Springer US, 2012.
?。?3] THERESA W,JANYCE W, PAUL H. Recognizing contextual polarity in phraselevel sentiment analysis[C]. Proceedings of the conference on Human Language Technology and Empirical Methods in Natural Language Processing. Stroudsburg:Association for Computational Linguistics, 2005:347354.