吳艾薇, 雷景生
(上海電力學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 上海 200090)
根據(jù)《國(guó)家電網(wǎng)公司95598客戶(hù)服務(wù)業(yè)務(wù)管理辦法》(以下簡(jiǎn)稱(chēng)《辦法》),要求各單位認(rèn)真組織營(yíng)銷(xiāo)、運(yùn)檢、調(diào)度等相關(guān)專(zhuān)業(yè)人員學(xué)習(xí)、宣傳貫徹和執(zhí)行,確?!掇k法》在客戶(hù)服務(wù)工作中發(fā)揮實(shí)效;要求各省公司、國(guó)網(wǎng)客服中心合情、合理、合規(guī)地處理客戶(hù)的各項(xiàng)訴求,并做好分析報(bào)告報(bào)送等各項(xiàng)工作.
目前電力網(wǎng)絡(luò)平臺(tái)上的投訴信息越來(lái)越多,相應(yīng)的信息量也變得很大,但要從中選擇出對(duì)我們有用的信息就較為困難,因此在需要查找一些有利用價(jià)值的文本信息時(shí),文本自動(dòng)分類(lèi)技術(shù)就顯得至關(guān)重要.目前常用的文本分類(lèi)算法有樸素貝葉斯(Naive Bayes)[1],K近鄰(K-Nearest Neighbor,KNN)算法[2],支持向量機(jī)(Support Vector Machine,SVM)[3]等.
KNN算法作為一個(gè)基本的分類(lèi)算法,具有易實(shí)現(xiàn)、思路簡(jiǎn)單、無(wú)需訓(xùn)練過(guò)程等優(yōu)點(diǎn),但也相對(duì)存在一些缺點(diǎn),主要有兩個(gè)方面的不足:一是在分類(lèi)過(guò)程中,由于相似度的計(jì)算量特別大,從而會(huì)消耗大量的計(jì)算時(shí)間,也大大降低了分類(lèi)效率;二是訓(xùn)練樣本很大程度上會(huì)影響分類(lèi)性能,由于網(wǎng)絡(luò)上的一些數(shù)據(jù)分布十分不均勻,所以會(huì)使得分類(lèi)器性能變得特別差.本文主要針對(duì)這些缺點(diǎn)做出相應(yīng)的改進(jìn),以期得到更精確的分類(lèi)結(jié)果.
中心向量法[4]是參考電力投訴信息中的全部文本,將其中某一個(gè)方向下所包含的全部訓(xùn)練文本向量,依次按順序計(jì)算該方向下的中心向量,進(jìn)而計(jì)算它的相似度,最后將所得出的值進(jìn)行排序,自動(dòng)將整理出來(lái)的投訴信息及待分類(lèi)的文本歸類(lèi)到前面所得出的值最高的方向中.該方法屬于K近鄰分類(lèi)方法中比較特殊的一種方法,其最大的優(yōu)點(diǎn)就是大大提高了分類(lèi)的效率.
將全部文本向量求和得中心向量:
(1)
式中:i——選中的訓(xùn)練文本;
n——i中的短文本個(gè)數(shù);
dik——i中的第k篇投訴信息文本.
首先,將選出的全部電力投訴信息中的訓(xùn)練文本集中所有文本表示成向量的形式,然后把它們?nèi)考掀饋?lái),分別計(jì)算它們的相似程度,并得出相似度的值.將相似度的值進(jìn)行排序,排序后選擇出所得值最大的前k篇文本,最后從k篇文本的結(jié)果推斷出其他的待分類(lèi)文本的類(lèi)別.其公式為:
(2)
式中:W1i,W2i——d1和d2文本向量中第i個(gè)特征項(xiàng)的權(quán)重.
通過(guò)式(2)得到的值表示兩個(gè)文本之間的相似度,這個(gè)相似度的值在一定程度上決定了兩個(gè)文本是否屬于同一個(gè)類(lèi)別.等待分類(lèi)的全部文本都根據(jù)前面所得出的k篇文本進(jìn)行一定程度的分類(lèi),然后把它們所求得的相似度按照式(3)求和,并將所得的值進(jìn)行大小排列,最后把待分類(lèi)的投訴信息分到所得值最大的類(lèi)別中,則:
(3)
式中:k——提取的文本數(shù);
Tj(di)——di是否屬于Cj類(lèi),如果屬于,則值為1,否則為0.
通過(guò)上述實(shí)驗(yàn)結(jié)果可知,在對(duì)兩個(gè)電力投訴信息的文本向量間的相似程度進(jìn)行計(jì)算時(shí),忽略了一點(diǎn),就是這些信息中待分類(lèi)的文本和訓(xùn)練文本之間所屬類(lèi)別也存在一定的相似性,這在很大程度上影響了更加準(zhǔn)確的分類(lèi).因此,本文加入了中心向量法的思想,對(duì)原來(lái)的算法進(jìn)行了部分改進(jìn).
對(duì)夾角余弦相似度計(jì)算公式和相似度求和公式進(jìn)行了改進(jìn),具體公式為:
(4)
(5)
式中:Vi——類(lèi)別i的權(quán)向量;
Vij——權(quán)向量Vi的第j個(gè)特征值,初始化為1.
假設(shè)有A和B兩個(gè)類(lèi)別,如果A的文本d0被分類(lèi)到B中,即TA(d0,VA)小于TB(d0,VB),此時(shí)就需要增大A的權(quán)向量VA,減小B的權(quán)向量VB,直到TA(d0,VA)大于TB(d0,VB),在進(jìn)行了多次的重復(fù)實(shí)驗(yàn)操作后,待分類(lèi)文本d0能夠比較準(zhǔn)確地歸類(lèi)到其應(yīng)該屬于的類(lèi)別中.
這一方法可使各個(gè)類(lèi)別中本身存在的文本篇數(shù)不均勻的問(wèn)題在很大程度上得到改進(jìn).假設(shè)此時(shí)類(lèi)別A里面含有較多的文本數(shù),反之類(lèi)別B的較少,如果按照以前的KNN分類(lèi)算法的話,B里面的文本就會(huì)很輕易地被分類(lèi)到A里面去,那么相對(duì)于類(lèi)別A來(lái)說(shuō),類(lèi)別B進(jìn)行的權(quán)向量增減操作會(huì)明顯變多.這樣的話,B反而會(huì)有比較大一點(diǎn)的權(quán)向量VB.因此,通過(guò)該改進(jìn)方法可以得到很大的改善,分類(lèi)結(jié)果的準(zhǔn)確度也有所提高.
W0jW0j>0
(6)
(7)
或采用減少操作的公式進(jìn)行改進(jìn):
(8)
(9)
式中,increase_weight,reduce_weight表示每次進(jìn)行增減操作的權(quán)值.
在對(duì)文本分類(lèi)算法結(jié)果的評(píng)價(jià)中,最權(quán)威的兩個(gè)評(píng)判標(biāo)準(zhǔn)分別是分類(lèi)準(zhǔn)確度和分類(lèi)速度.分類(lèi)方法的復(fù)雜程度會(huì)決定其分類(lèi)速度,而文本分類(lèi)的準(zhǔn)確度就是將專(zhuān)業(yè)方法與人工方法分類(lèi)的結(jié)果進(jìn)行比對(duì),得到兩者的相似程度,不相似程度越高則準(zhǔn)確度相應(yīng)的就會(huì)越高.
評(píng)判文本分類(lèi)結(jié)果主要有準(zhǔn)確率(Precision)和召回率(Recall)兩個(gè)標(biāo)準(zhǔn)[5].因?yàn)闇?zhǔn)確率和召回率在分類(lèi)結(jié)果上表示的是兩個(gè)方面的結(jié)果,因此通常使用F1測(cè)試值統(tǒng)籌評(píng)估分類(lèi)結(jié)果[6].計(jì)算準(zhǔn)確率、召回率和F1值的方法[7]大致分為兩種,即微平均和宏平均.各個(gè)評(píng)價(jià)指標(biāo)如表1所示.
準(zhǔn)確率(P)、召回率(R)、F1值、宏F1值(MacroF1)和微F1值(MicroF1)的計(jì)算公式為:
(10)
(11)
(12)
(13)
(14)
(15)
式(10)中,如果A+B=0,則P=1.式(11)中,如果A+C=0,則R=1.
表1 評(píng)價(jià)指標(biāo)分類(lèi)
本次實(shí)驗(yàn)中,每次增減操作的步長(zhǎng)都通過(guò)增減操作的權(quán)值進(jìn)行控制,這在一定程度上會(huì)對(duì)實(shí)驗(yàn)結(jié)果產(chǎn)生影響,我們把權(quán)值全部設(shè)定為1.0時(shí),能得到最好的穩(wěn)定效果.在實(shí)驗(yàn)的過(guò)程中會(huì)出現(xiàn)一個(gè)值,這個(gè)值很不容易確定,我們稱(chēng)這個(gè)值為最大次數(shù).通過(guò)實(shí)驗(yàn)可知,當(dāng)把增減操作最大次數(shù)設(shè)為5時(shí),所得效果最好.
實(shí)驗(yàn)數(shù)據(jù)為某市電力公司人工客服整理出的500余條電力投訴信息,選取電力投訴文本庫(kù)中的4個(gè)類(lèi)別作為訓(xùn)練文本集,4個(gè)類(lèi)別分別為供電質(zhì)量、營(yíng)業(yè)投訴、電網(wǎng)建設(shè)和停送電投訴.每一類(lèi)文本的總數(shù)是不同的,分別將180,200,150,220條數(shù)據(jù)作為實(shí)驗(yàn)樣本.結(jié)果如表2和表3所示.
從表2可以看出,使用改進(jìn)算法后,準(zhǔn)確率、召回率和F1值與以前相比都有特別明顯的提升.由表3可以看出,相比傳統(tǒng)算法和中心向量法,使用改進(jìn)后算法的效果是最好的.由以上結(jié)果不難得出,改進(jìn)后的算法相比以前的算法在分類(lèi)上能得到更好的結(jié)果.
表2 3種算法在不同類(lèi)別中的分類(lèi)結(jié)果 %
表3 3種算法在整體上的測(cè)試結(jié)果 %
本文主要是在文本相似度方面進(jìn)行了一定程度的改進(jìn).與傳統(tǒng)算法相比,改進(jìn)的分類(lèi)算法的分類(lèi)效果提高了近3%,且在相似度方面具有較為顯著的提升.由此表明,改進(jìn)的算法具有一定的有效性和可行性,能夠幫助電力系統(tǒng)更好地收集、統(tǒng)計(jì)和處理客戶(hù)的大量投訴信息.
[1] 宮秀軍,孫建平,史忠植.主動(dòng)貝葉斯網(wǎng)絡(luò)分類(lèi)器[J].計(jì)算機(jī)研究與發(fā)展,2002,39(5):74-79.
[2] 張寧,賈自艷,史忠植.使用KNN算法的文本分類(lèi)[J].計(jì)算機(jī)工程,2005,31(8):171-173.
[3] JOACHIMS T.Text categorization with support vector machines:learning with many relevant features[C]//Proceeding of ECML-98,10th European Conference on Machine Learning,Berlin,1998:137-142.
[4] 王新麗.中文文本分類(lèi)系統(tǒng)的研究與實(shí)現(xiàn)[D].天津:天津大學(xué),2007.
[5] 曹勇,吳順祥.KNN文本分類(lèi)算法中的特征選取方法研究[J].科技信息(科技·教研),2006(12):26-28.
[6] 柴春梅,李翔,林祥.基于改進(jìn)KNN算法實(shí)現(xiàn)網(wǎng)絡(luò)媒體信息智能分類(lèi)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2009,19(1):1-4.
[7] 劉懷亮,張治國(guó),馬志輝,等.基于SVM與KNN的中文文本分類(lèi)比較實(shí)證研究[J].信息系統(tǒng),2008,31(6):941-944.