韓 楠,喬少杰,黃 萍,彭 京,周 凱
(1.成都信息工程大學(xué) a.管理學(xué)院; b.軟件工程學(xué)院,成都 610225;2.四川省公安廳,成都 610014)
網(wǎng)絡(luò)輿情分析需要對(duì)網(wǎng)絡(luò)社會(huì)中群體所表達(dá)的情緒、態(tài)度、信念等信息進(jìn)行實(shí)時(shí)準(zhǔn)確的分析和挖掘,以掌握社情民意,應(yīng)對(duì)網(wǎng)絡(luò)突發(fā)的公共事件等[1]。隨著互聯(lián)網(wǎng)的飛速發(fā)展,跨語(yǔ)言(多語(yǔ)言)互聯(lián)網(wǎng)文本信息在我國(guó)非常普遍,如藏族同胞經(jīng)常采用藏文和中文混合使用的方式在網(wǎng)絡(luò)上發(fā)表自己的觀點(diǎn)。然而,目前的輿情分析系統(tǒng)主要針對(duì)單一語(yǔ)言進(jìn)行挖掘和預(yù)測(cè),跨語(yǔ)言的網(wǎng)絡(luò)輿情分析的研究成果在國(guó)內(nèi)外鮮有報(bào)道,國(guó)內(nèi)目前沒(méi)有同類技術(shù)和相關(guān)應(yīng)用軟件出現(xiàn)。因此,研發(fā)跨語(yǔ)言的網(wǎng)絡(luò)輿情分析系統(tǒng)對(duì)于分析處理當(dāng)前快速增長(zhǎng)的大規(guī)模網(wǎng)絡(luò)信息具有重要的科學(xué)價(jià)值及應(yīng)用意義,也是迫切需要投入人力和物力開(kāi)發(fā)的。
跨語(yǔ)言輿情分析系統(tǒng)旨在滿足客戶檢測(cè)網(wǎng)絡(luò)輿情動(dòng)態(tài)并獲得敏感信息的需求,主要功能包括:提取半結(jié)構(gòu)化和無(wú)結(jié)構(gòu)化網(wǎng)頁(yè)、博客、論壇等文本中的主題信息,存儲(chǔ)到數(shù)據(jù)庫(kù)中;實(shí)現(xiàn)跨語(yǔ)言文本信息的預(yù)處理,包括分詞、提取特征詞、建立存儲(chǔ)結(jié)構(gòu)等;對(duì)提取的半結(jié)構(gòu)化信息進(jìn)行聚類或分類處理;分析海量的數(shù)據(jù)中發(fā)現(xiàn)主題、檢測(cè)熱點(diǎn)、追蹤專題等。
分詞是網(wǎng)絡(luò)輿情分析系統(tǒng)的關(guān)鍵環(huán)節(jié),在數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)分析中起著承前啟后的作用。近年來(lái),分詞方法的研究備受學(xué)者關(guān)注,出現(xiàn)了多種具有應(yīng)用前景的分詞方法,其中基于字典的分詞方法[2]應(yīng)用十分廣泛,尤其適用于多語(yǔ)言環(huán)境下的文本挖掘研究?;谧值涞姆衷~具有3個(gè)要素:分詞字典、文本掃描順序和匹配原則。這3個(gè)要素互相組合生成了許多種分詞方法,包括正向最大匹配法、逆向最大匹配法、雙向掃描法、逐詞遍歷法、最佳匹配法等。綜合上述方法的優(yōu)缺點(diǎn)及通用性,本文采用的是正向最大匹配法對(duì)爬取的半結(jié)構(gòu)和無(wú)結(jié)構(gòu)的文本進(jìn)行分詞,然后進(jìn)行文本聚類。
文本聚類分析是網(wǎng)絡(luò)輿情分析的關(guān)鍵步驟,旨在將散亂的抽象對(duì)象的集合劃分為多個(gè)分組,生成的每個(gè)分組由相似的對(duì)象組成。本文研究的目的在于設(shè)計(jì)一種高效、準(zhǔn)確、支持多語(yǔ)言環(huán)境的網(wǎng)絡(luò)輿情文本聚類模型,為下一步的輿情分析做準(zhǔn)備。
為了實(shí)現(xiàn)大規(guī)模半結(jié)構(gòu)和無(wú)結(jié)構(gòu)文本數(shù)據(jù)的聚類分析,各種聚類算法被廣泛提出。隨著大數(shù)據(jù)時(shí)代的來(lái)臨,聚類算法不但要考慮結(jié)果的準(zhǔn)確性,更重要的是算法如何更加高效地適應(yīng)實(shí)時(shí)更新的網(wǎng)絡(luò)環(huán)境。簡(jiǎn)單傳統(tǒng)的聚類算法,如k-means[3]、k-mediods聚類算法,在局部環(huán)境的聚類中表現(xiàn)出較好的聚類效果,但運(yùn)用于復(fù)雜和大規(guī)模文本數(shù)據(jù)中效率低下[4]?;谌后w智能的聚類算法以其自身的自適、啟發(fā)等特點(diǎn),具有分布式處理大數(shù)據(jù)的優(yōu)勢(shì)[5]。
群體智能(swarm intelligence,SI)[6]作為一個(gè)新興的研究領(lǐng)域,最早來(lái)自于對(duì)自然界中昆蟲(chóng)群居生活的觀察和模擬。群居性生物就個(gè)體而言并不具有較高的智能,而是通過(guò)種群個(gè)體之間相互協(xié)作,共同完成復(fù)雜的工作,群體智能算法成功地解決了組合優(yōu)化、計(jì)算機(jī)、機(jī)器人、電力系統(tǒng)等眾多領(lǐng)域問(wèn)題。目前,常見(jiàn)的群體智能算法有遺傳算法(genetic algorithm,GA)[7]、蟻群算法(ant colony optimization,ACO)[8]、細(xì)菌覓食算法(bacterial foraging algorithm,BFA)[9]、人工魚(yú)群算法(artificial fish swarm algorithm,AFSA)[10]、粒子群算法(particle swarm optimization,PSO)[11]、人工蜂群算法(artificial bee colony,ABC)[12]等。
本文借鑒蟻群算法的工作原理,生成智能體并將其隨機(jī)放置于二維文本空間中,根據(jù)信息素的存量指定移動(dòng)朝向進(jìn)而實(shí)現(xiàn)文本聚類。此外,提出了多種優(yōu)化策略,改進(jìn)群體智能算法運(yùn)行的網(wǎng)格環(huán)境和智能體(本文稱為agent)。所提的新型群體智能算法具備啟發(fā)式和自適性的特點(diǎn),可以實(shí)現(xiàn)大規(guī)??缯Z(yǔ)言文本聚類。
本節(jié)首先給出模型中使用的重要定義,并給出基于群體智能文本聚類的概念。
定義1文本向量。文本被表示成一個(gè)多維向量,向量的每一維對(duì)應(yīng)文本中的一個(gè)特征詞,向量每一維的取值對(duì)應(yīng)特征詞在文本中的權(quán)重值,即該特征詞在文本中的重要程度。一個(gè)文本d可以轉(zhuǎn)換成一個(gè)多維文本向量,如式(1)所示。
d=〈(t1,w1),(t2,w2),…,(ti,wi),…,(tn,wn)〉
(1)
其中:ti表示向量空間中的特征詞;wi表示在文檔d中ti對(duì)應(yīng)的權(quán)重。將所有的文本文檔轉(zhuǎn)化為文本向量,所有的文本向量構(gòu)成一個(gè)特征向量空間。
定義2基于群體智能的文本聚類。假設(shè)具有n維向量文本數(shù)據(jù)集的m個(gè)對(duì)象{t1,t2,…,tm}以及L個(gè)智能體,基于群體智能文本聚類的基本思想是:L個(gè)智能體根據(jù)簇內(nèi)相似度高、簇間相似度低的原則,將這m個(gè)對(duì)象劃分到k個(gè)簇中,使得評(píng)價(jià)函數(shù)值最小。
利用智能體對(duì)文本進(jìn)行聚類,生成智能體并將其隨機(jī)放置于二維文本空間中,根據(jù)信息素的存量指定移動(dòng)朝向,若當(dāng)前網(wǎng)格的信息素存量相同,則隨機(jī)指定移動(dòng)朝向。這里給出文本拾起和放下的概念[5]。
定義3文本拾起概率。智能體利用式(2)計(jì)算拾起所在區(qū)域文本對(duì)象的概率
(2)
其中:kp表示智能體拾起文本對(duì)象的概率值;f(ti)表示文本對(duì)象ti與鄰近文本相似度的平均值。
定義4文本放下概率。智能體利用式(2)計(jì)算放下所在區(qū)域文本對(duì)象的概率:
(3)
其中:kd表示智能體放下樣本對(duì)象的概率;f(ti)表示文本對(duì)象ti與鄰近文本相似度的平均值。
定義5文本相似度。文本相似度定義為
(4)
其中:s2代表局部環(huán)境范圍;d(ti,tj)表示文本對(duì)象ti和tj之間的距離;α因子用來(lái)控制環(huán)境相似度的取值范圍,決定了相鄰對(duì)象之間的辨識(shí)度。α取值過(guò)小會(huì)導(dǎo)致簇過(guò)于緊湊且空間中出現(xiàn)多個(gè)小簇。
為了實(shí)現(xiàn)跨語(yǔ)言文本聚類,需要將分詞后文本進(jìn)行特征詞提取生成多維文本向量,然后計(jì)算所有文本向量之間的相似度生成文本相似度矩陣,計(jì)算文本向量相似度利用夾角余弦公式。本文將式(4)修改為
(5)
將1-d(ti,tj)/α修改成為sim(ti,tj)/α。標(biāo)準(zhǔn)的群體智能聚類算法是根據(jù)對(duì)象之間的距離算出相似度,修改后的公式適應(yīng)于文本聚類過(guò)程中文本相似度的計(jì)算。通過(guò)式(5)可以發(fā)現(xiàn),文本向量ti與相鄰的文本向量tj之間的相似度越高,說(shuō)明ti的局部相似度越高。
基于群體智能的跨語(yǔ)言網(wǎng)絡(luò)輿情文本聚類模型的工作原理如圖1所示:① 參數(shù)初始化,主要包括文本空間網(wǎng)格大小、信息素、拾起和放下文本的概率值kp和kd等參數(shù)的設(shè)置。② 計(jì)算智能體所在網(wǎng)格內(nèi)文本對(duì)象相對(duì)于其他文本對(duì)象的相似度,將其作為文本拾起的概率,當(dāng)智能體拾起文本的概率大于隨機(jī)概率閾值,則拾起該文本。如果智能體本身拾有文本,計(jì)算當(dāng)前文本與其所在網(wǎng)格相鄰的8個(gè)不同區(qū)域,即:上、下、左、右、左上、左下、右上、右下中文本的相似性,作為文本對(duì)象放下的概率值;如果其值大于隨機(jī)概率值,智能體便選擇放下這一文本。大量的智能體在網(wǎng)格中向不同區(qū)域移動(dòng),重復(fù)上述步驟最終使得評(píng)估函數(shù)代價(jià)最小,完成文本向量聚類的任務(wù)。
圖1 基于群體智能的文本聚類算法工作原理
算法1基于群體智能的跨語(yǔ)言文本聚類算法
輸入:多語(yǔ)言文本特征向量集合T
輸出:文本類簇集合C={c1,c2,…,cp}
1.initialTex(); //將文本向量隨機(jī)分布到網(wǎng)格中
2.initialAgent(); //智能體及網(wǎng)格環(huán)境初始化
3.fori=1 toNdo //迭代N次
4. forj←agentNum do //遍歷每個(gè)智能體
5.r=agent.getLocation(); //r獲取智能體所在位置
6. fortk∈T
7. if(ajis unloaded &&ris occupied bytk)
//智能體aj無(wú)負(fù)載且r處有文本對(duì)象tk
8. computef(tk)andppick(tk);
//計(jì)算群體相似度f(wàn)(tk)和拾起概率ppick(tk)
9. if(ppick(tk)>pr) //pr表示隨機(jī)概率值
10.ajpicks uptk; //智能體拾起文本對(duì)象
11. else if(ajhastkandris empty)
//智能體負(fù)載對(duì)象tk且r處為空
12. computef(tk)andpdrop(tk);
//計(jì)算群體相似度和放下概率pdrop(tk)
13. if(pdrop(tk)>pr)//pr表示隨機(jī)概率值
14.ajdrops offtk; //放下文本對(duì)象
15. end if
16. end for
17.aj.randomMove(); //智能體選擇隨機(jī)移動(dòng)
18. end for
19.end for
20.outputC={c1,c2,…,cp}; //輸出聚類結(jié)果
算法復(fù)雜性分析:通過(guò)分析可以得到算法的時(shí)間復(fù)雜度為O(A×N×M),其中:A表示智能體的數(shù)量;N表示算法的迭代次數(shù);M表示文本的數(shù)量。
標(biāo)準(zhǔn)的基于群體智能的文本聚類算法主要存在如下幾個(gè)方面的不足:
1)算法1是基于網(wǎng)格空間的聚類算法,文本被隨機(jī)放置于網(wǎng)格空間中,算法經(jīng)若干次迭代后,文本向量在網(wǎng)格空間中的分布呈現(xiàn)出聚類結(jié)構(gòu),即相似的文本向量對(duì)象被聚到一起。但是網(wǎng)格空間中的聚類結(jié)構(gòu)并不穩(wěn)定,智能體在移動(dòng)的過(guò)程中不斷形成新的聚類結(jié)構(gòu),同時(shí)也在不停地破壞智能群體的分布。
2)在標(biāo)準(zhǔn)的群體智能本文聚類算法中引入信息素機(jī)制,借助信息素引導(dǎo)和控制智能體的移動(dòng),可以加快聚類收斂,極大地提高算法的收斂速度,但同時(shí)也帶來(lái)了局部對(duì)象過(guò)多、智能體容易陷入局部最優(yōu)等問(wèn)題。智能體會(huì)被引導(dǎo)到信息素濃度較高的區(qū)域,由于智能體與環(huán)境的正反饋?zhàn)饔?,局部的文本向量集中于該區(qū)域。
3)利用群體智能實(shí)現(xiàn)文本聚類的優(yōu)越性表現(xiàn)在自組織、啟發(fā)式和魯棒性等方面,聚類結(jié)果需要從網(wǎng)格空間結(jié)構(gòu)中迭代獲取,網(wǎng)格中的聚類效果越明顯,越容易獲取較好的結(jié)果。
優(yōu)化標(biāo)準(zhǔn)群體智能算法,需要改進(jìn)算法運(yùn)行的網(wǎng)格環(huán)境和智能體,保證群體智能算法具備啟發(fā)式和自適應(yīng)性的特點(diǎn)。本文提出如下優(yōu)化策略:
策略1在算法運(yùn)行過(guò)程中,逐漸弱化智能體拾取文本對(duì)象的能力,以達(dá)到網(wǎng)格中聚類結(jié)構(gòu)趨于穩(wěn)定的目的。具體做法是在迭代的過(guò)程中利用梯度下降法逐步降低kp值,使得智能體拾取概率ppick降低,當(dāng)kp縮小到智能體不再具有拾取對(duì)象的能力時(shí),網(wǎng)格中的聚類結(jié)構(gòu)趨于穩(wěn)定,kp值也無(wú)需進(jìn)一步降低。
策略2添加信息素引導(dǎo)智能體的移動(dòng),信息素能夠提高智能體與環(huán)境的交互能力[13],基本思路為:在智能體搬運(yùn)和搜索食物時(shí),每個(gè)智能體會(huì)在所經(jīng)過(guò)路徑上留下一定量的信息素。智能體在選擇下一步之前會(huì)感應(yīng)周圍環(huán)境中的信息素以指導(dǎo)下一步走向,同時(shí)信息素以一定速度揮發(fā),最終的結(jié)果是環(huán)境中形成一條由高濃度信息素構(gòu)成的路徑,最終找到最優(yōu)路徑。智能體在網(wǎng)格環(huán)境中移動(dòng),會(huì)在網(wǎng)格環(huán)境中留下大小為σ的信息素,信息素會(huì)隨著時(shí)間的流逝而揮發(fā),揮發(fā)因子為η。算法每經(jīng)過(guò)一次迭代,網(wǎng)格環(huán)境中的信息素都會(huì)按照揮發(fā)因子消失一部分。第k+1次迭代后,網(wǎng)格環(huán)境中某個(gè)位置的信息素由σk變?yōu)棣襨+1,計(jì)算方法如式(6)所示。
σk+1=(1-η)*σk
(6)
式中η的取值范圍為[0,1]。
針對(duì)信息素?fù)]發(fā)過(guò)快的問(wèn)題,本文對(duì)式(6)進(jìn)行改進(jìn),智能體在經(jīng)過(guò)某一位置時(shí),該位置的信息素σl變?yōu)棣襩+1,計(jì)算方法如式(7)所示。
σl+1=σl+(η+N/A)
(7)
式中:N表示算法執(zhí)行的次數(shù);A表示智能體數(shù)量。式(7)中增加了執(zhí)行次數(shù)和智能體數(shù)量的比值,可以有效地避免信息素?fù)]發(fā)過(guò)快的問(wèn)題。
策略3智能體根據(jù)當(dāng)前位置選擇下一位置需要考慮兩個(gè)因素:信息素感應(yīng)濃度和方向權(quán)重因子。
智能體移動(dòng)的步長(zhǎng)均為1,因此智能體的下一步移動(dòng)方向?yàn)?1,Δθ),其向各個(gè)方位移動(dòng)的概率是不同的,每個(gè)方位的權(quán)重值都是由智能體當(dāng)前移動(dòng)方向決定的,上一步的位置為(x*,y*),經(jīng)過(guò)移動(dòng)方向(1,Δθ),移動(dòng)到了(x,y),可以利用公式(8)計(jì)算得到智能體在(x,y)處的移動(dòng)方向狀態(tài)θ值。
(8)
網(wǎng)格環(huán)境中信息素響應(yīng)濃度利用如下公式求?。?/p>
(9)
其中參數(shù)β表示對(duì)信息素刺激的敏感程度,用來(lái)決定響應(yīng)函數(shù)W(σ)。β控制隨機(jī)移動(dòng)的程度,依據(jù)這個(gè)參數(shù),智能體沿著信息素梯度方向移動(dòng)。低于β值的信息素濃度并不會(huì)很大程度地影響智能體的移動(dòng)概率,而高于β值的信息素濃度會(huì)使智能體更確定地沿著信息素濃度的梯度方向移動(dòng)。1/γ描述了智能體對(duì)信息素的感知能力,即在高濃度情況下對(duì)信息素減少的感知能力。參數(shù)β和1/γ共同決定了信息素的痕跡。因此,信息素濃度的響應(yīng)函數(shù)由σ、β和1/γ三個(gè)參數(shù)共同決定。
因此,感應(yīng)信息素濃度和方向權(quán)重因子決定了智能體的下一步移動(dòng)方向。智能體移動(dòng)下一步選擇臨近網(wǎng)格信息素為σ的概率p可用式(10)計(jì)算。
(10)
通過(guò)上述分析可以發(fā)現(xiàn):實(shí)現(xiàn)基于信息素的群體智能文本聚類算法,僅需要將算法1中第17行的智能體隨機(jī)移動(dòng)方法改為基于式(6)~(10)的感應(yīng)信息素移動(dòng)方法,進(jìn)而實(shí)現(xiàn)對(duì)本文所提基于群體智能的文本聚類算法的優(yōu)化。
實(shí)驗(yàn)數(shù)據(jù)為利用筆者開(kāi)發(fā)的跨語(yǔ)言網(wǎng)絡(luò)爬取器從中文、英文及藏文門戶網(wǎng)站抓取的半結(jié)構(gòu)化和無(wú)結(jié)構(gòu)化的文本,并保存到數(shù)據(jù)庫(kù)中。對(duì)存入數(shù)據(jù)庫(kù)的文本信息利用正向最大匹配法進(jìn)行分詞,去噪和提取關(guān)鍵字等操作后得到初始數(shù)據(jù)集。藏文數(shù)據(jù)如圖2所示。
圖2 藏文數(shù)據(jù)表結(jié)構(gòu)示例
圖2為輸入數(shù)據(jù)表,包括7個(gè)屬性:id,title,content,url,words,num,date。其中:id表示文本編號(hào);title是文本主題;content是文本內(nèi)容;url是文本的爬取鏈接;words是經(jīng)過(guò)分詞和提取關(guān)鍵字后的關(guān)鍵字序列;num是對(duì)應(yīng)關(guān)鍵字在文本中出現(xiàn)的頻數(shù)。本文進(jìn)行跨語(yǔ)言(如藏文和中英文)文本聚類時(shí),主要利用了圖2中title、content和words三個(gè)涉及文本內(nèi)容的屬性。
本文的實(shí)驗(yàn)環(huán)境為:奔騰雙核2.0 GHz CPU,2 GB內(nèi)存,開(kāi)發(fā)語(yǔ)言為Java,使用Eclipse SDK1.6。
實(shí)驗(yàn)中分別使用k-means、標(biāo)準(zhǔn)群體智能文本聚類算法(swarm-intelligence-based text clustering model,簡(jiǎn)稱SI-Cluster)和應(yīng)用第3節(jié)介紹的優(yōu)化策略的群體智能文本聚類算法SI*-Cluster算法對(duì)多語(yǔ)言文本數(shù)據(jù)集進(jìn)行聚類。通過(guò)比較聚類算法的準(zhǔn)確性和收斂速度,證明本文所提算法的性能優(yōu)勢(shì)。
SI-Cluster算法參數(shù)設(shè)置如表1所示。在如表1所示參數(shù)設(shè)置下,群體智能算法性能較好。實(shí)驗(yàn)中當(dāng)文本數(shù)量增加時(shí),僅需改變網(wǎng)格空間大小和智能體數(shù)量即可,無(wú)需進(jìn)行其他人為設(shè)置。
表1 基于群體智能的文本聚類算法參數(shù)設(shè)置
實(shí)驗(yàn)中對(duì)聚類的有效性利用查準(zhǔn)率P、查全率R和F-measure值[14]進(jìn)行評(píng)價(jià),定義如下:
已知TP表示利用聚類算法正確聚類出的文本;FP為不在本簇被錯(cuò)誤聚類出的文本;FN表示包含在本簇但未被聚類到這個(gè)簇中的文本;TN表示不在本簇且未被聚類到本簇的文本,于是:
P=TP/(TP+FP)
(11)
R=TP/(TP+FN)
(12)
F-measure = 2PR/(P+R)
(13)
實(shí)驗(yàn)選用1 200條數(shù)據(jù)作為基本測(cè)試數(shù)據(jù)集。這些數(shù)據(jù)集主要從新浪中英文網(wǎng)站中的3個(gè)欄目中爬取的,即體育(sports)、新聞(news)和視頻(video),并自動(dòng)加上標(biāo)簽用于聚類準(zhǔn)確性的判別。對(duì)比SI-Cluster和SI*-Cluster算法,聚類準(zhǔn)確性結(jié)果如表2~4所示。
表2 k-means算法聚類準(zhǔn)確性
表3 SI-Cluster算法聚類準(zhǔn)確性
表4 SI*-Cluster算法聚類準(zhǔn)確性
通過(guò)表2~4可以發(fā)現(xiàn):應(yīng)用優(yōu)化策略的群體智能文本聚類算法SI*-Cluster的F-measure平均值相比于標(biāo)準(zhǔn)算法SI-Cluster提高13.6%,相比于k-means算法提高44.1%,證明了本文所提出應(yīng)用優(yōu)化策略的基于群體智能的文本聚類算法的準(zhǔn)確率較傳統(tǒng)算法有顯著提升,主要原因在于:
1)傳統(tǒng)k-means算法需要根據(jù)初始聚類中心來(lái)確定一個(gè)初始劃分,然后對(duì)初始劃分進(jìn)行優(yōu)化。這個(gè)初始聚類中心的選擇對(duì)聚類結(jié)果有較大的影響,一旦初始值選擇不合適,可能無(wú)法得到有效的聚類結(jié)果。此外,k-means 算法中k是事先給定的,k值的選定非常難以確定。而本文提出的基于群體智能的文本聚類算法,一旦初始參數(shù)確定,算法可以自適應(yīng)訓(xùn)練,通過(guò)一定的改進(jìn)和優(yōu)化,可以保證找到最優(yōu)聚類結(jié)果。
2)改進(jìn)的群體智能文本聚類算法SI*-Cluster明顯優(yōu)于標(biāo)準(zhǔn)的SI-Cluster算法,原因在于SI*-Cluster算法通過(guò)改進(jìn)網(wǎng)格環(huán)境和智能體,保證了群體智能算法具有啟發(fā)式和自適應(yīng)性的特點(diǎn)。在算法運(yùn)行過(guò)程中,逐漸弱化智能體拾取文本對(duì)象的能力,以達(dá)到網(wǎng)格中聚類結(jié)構(gòu)趨于穩(wěn)定的目的。此外,添加信息素引導(dǎo)智能體的移動(dòng),信息素能夠提高智能體與環(huán)境的交互能力。
為了進(jìn)一步驗(yàn)證本文所提算法可以處理多語(yǔ)言文本,如藏文,實(shí)驗(yàn)中對(duì)藏文文本數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),驗(yàn)證k-means、SI-Cluster和SI*-Cluster算法的聚類準(zhǔn)確性。實(shí)驗(yàn)文本數(shù)量分別選取150、300、450、600、750、800、950、1 100。由于采集的數(shù)據(jù)集分類不均衡,因此利用F-measure方法來(lái)評(píng)價(jià)聚類效果,結(jié)果如圖3所示。
圖3 藏文文本聚類準(zhǔn)確性F-measure值對(duì)比
通過(guò)圖3可以發(fā)現(xiàn):對(duì)于藏文文本,本文提出的群體智能文本聚類算法明顯優(yōu)于k-means算法。從F-measure值的變化可以看出,3種算法在文本數(shù)量較少的情況下,聚類效果都比較好。隨著文本數(shù)量增加到450,算法的F-measure值不斷減小。然而當(dāng)文本數(shù)量增加到一定的程度(當(dāng)文本數(shù)量為600時(shí)),SI-Cluster算法和SI*-Cluster算法的聚類準(zhǔn)確性不斷提升,說(shuō)明基于群體智能的文本聚類算法不會(huì)受到文本數(shù)量的影響,具有比較高的穩(wěn)定性和自適應(yīng)性。
本節(jié)比較SI-Cluster和SI*-Cluster的算法收斂性并對(duì)比收斂時(shí)的運(yùn)行時(shí)間,進(jìn)而說(shuō)明本文所提出應(yīng)用優(yōu)化策略的群體智能文本聚類算法的性能優(yōu)勢(shì)。實(shí)驗(yàn)中選用4.2節(jié)中1 200條中英文半結(jié)構(gòu)化文本數(shù)據(jù),為了保證實(shí)驗(yàn)結(jié)果的客觀性和可比性,每組實(shí)驗(yàn)對(duì)1 200條文本數(shù)據(jù)集訓(xùn)練10次取F-measure的平均值。實(shí)驗(yàn)參數(shù)設(shè)置如表1所示,SI*-Cluster算法應(yīng)用第3節(jié)優(yōu)化策略1將kp值設(shè)置為0.01~0.001變化,下降梯度設(shè)置為0.000 1,實(shí)驗(yàn)結(jié)果如圖4所示。
圖4 基于群體智能的本文聚類算法收斂性對(duì)比
表5 基于群體智能的文本聚類算法收斂次數(shù)及時(shí)間
通過(guò)圖4和表5可以發(fā)現(xiàn):
1)基于群體智能的文本聚類算法會(huì)在運(yùn)行若干步之后達(dá)到收斂,即F-measure值達(dá)到一定的水平。SI-Cluster算法隨著迭代次數(shù)的增加,F(xiàn)-measure值的變化波動(dòng)較大,而SI*-Cluster算法的F-measure曲線相對(duì)平滑,而且穩(wěn)定時(shí)的F-measure值明顯高于SI-Cluster算法。主要原因在于SI*-Cluster算法應(yīng)用了第3節(jié)優(yōu)化策略3,智能體移動(dòng)時(shí)根據(jù)當(dāng)前位置選擇下一位置結(jié)合了信息素感應(yīng)濃度和方向權(quán)重因子,智能體穩(wěn)定地沿著信息素梯度增加的方向移動(dòng),避免了陷入局部最優(yōu)的問(wèn)題,具有較高的穩(wěn)定性。
2)SI*-Cluster算法的F-measure曲線能夠平滑且較快地收斂并達(dá)到穩(wěn)定值。原因在于SI*-Cluster算法應(yīng)用第3節(jié)優(yōu)化策略2,通過(guò)添加信息素并有效避免信息素?fù)]發(fā)過(guò)快的問(wèn)題,引導(dǎo)智能體快速地找到最優(yōu)解,具有較快的收斂速度。
為了進(jìn)一步觀察應(yīng)用本文提出3種優(yōu)化策略前后的文本聚類效果,筆者開(kāi)發(fā)了一個(gè)基于群體智能的跨語(yǔ)言文本聚類系統(tǒng)。系統(tǒng)模擬過(guò)程中采用第4.2節(jié)介紹的3個(gè)欄目的中英文文本共90條數(shù)據(jù)作為待聚類數(shù)據(jù),每類含有30個(gè)文本向量(相同的顏色表示屬于相同的類),被隨機(jī)放置在網(wǎng)格環(huán)境中。SI-Cluster和SI*-Cluster算法運(yùn)行結(jié)果如圖5~6所示。
圖5(a)為初始化數(shù)據(jù)后的網(wǎng)格結(jié)構(gòu)圖,圖中網(wǎng)格表示網(wǎng)格環(huán)境,不同顏色的正方形代表不同類的文本向量。圖5(b)是SI-Cluster算法迭代300次之后的網(wǎng)格布局。圖5(c)是SI-Cluster算法迭代600次之后的網(wǎng)格布局??梢钥闯觯惴ㄔ诘?00次之后所有的文本向量已經(jīng)被大致劃分為11個(gè)類,有一定的聚集效果。再次迭代300次之后網(wǎng)格中又出現(xiàn)了一個(gè)全新的聚類結(jié)構(gòu)。算法由于沒(méi)有應(yīng)用優(yōu)化策略,所以經(jīng)過(guò)900次迭代后的聚類效果并不好,沒(méi)有達(dá)到收斂,很多不同顏色的文本被錯(cuò)分到一個(gè)類簇中。
圖6(a)為初始化數(shù)據(jù)后的網(wǎng)格結(jié)構(gòu)圖,圖6(b)是SI*-Cluster算法迭代300次之后的網(wǎng)格布局,圖6(c)是SI*-Cluster算法迭代600次之后的網(wǎng)格布局,圖6(d)是SI*-Cluster算法迭代900次之后的網(wǎng)格布局??梢钥闯?,算法在迭代了300次之后所有的文本向量已經(jīng)被大致分為11個(gè)類,相比于SI-Cluster算法,聚類效果具有顯著的提升。迭代了600次之后聚類結(jié)構(gòu)與迭代300次時(shí)的聚類結(jié)構(gòu)布局相似且相對(duì)收斂,證明了本文所提的優(yōu)化策略具有較好的穩(wěn)定性。算法迭代900次之后類簇結(jié)構(gòu)比較明顯,網(wǎng)格中構(gòu)建了9個(gè)簇,不同的類之間的重合區(qū)域比較少,只需要將聚類結(jié)構(gòu)繼續(xù)聚合,便可方便地得出最終的聚類結(jié)構(gòu),進(jìn)一步說(shuō)明應(yīng)用本文提出的優(yōu)化策略,算法聚類效果好,具有較高的收斂速度。
圖6 SI*-Cluster算法不同迭代次數(shù)下聚類結(jié)果展示
隨著Web2.0技術(shù)快速發(fā)展,Internet網(wǎng)上信息交流變得更加方便和快捷,不同語(yǔ)言和民族的個(gè)體可以通過(guò)論壇、微博、社交網(wǎng)站及時(shí)發(fā)表個(gè)人觀點(diǎn),研發(fā)跨語(yǔ)言的網(wǎng)絡(luò)輿情文本挖掘技術(shù)對(duì)于分析和處理當(dāng)前日益增長(zhǎng)的大規(guī)模網(wǎng)絡(luò)本文信息具有重要的科學(xué)價(jià)值及應(yīng)用意義。本文充分考慮群體智能算法的啟發(fā)性、自適應(yīng)性和魯棒性,提出了一種基于群體智能的跨語(yǔ)言文本聚類模型。為了克服傳統(tǒng)群體智能算法的不足,所提算法應(yīng)用了3種策略,即:應(yīng)用梯度下降法弱化智能體拾取文本對(duì)象的能力避免陷入局部最優(yōu)解,添加信息素引導(dǎo)智能體移動(dòng)并有效避免信息素?fù)]發(fā)過(guò)快的問(wèn)題,智能體從當(dāng)前位置選擇下一位置考慮信息素感應(yīng)濃度和方向權(quán)重因子。大量實(shí)驗(yàn)證明本文所提算法具有較高的聚類準(zhǔn)確性和較快的收斂速度。
未來(lái)工作將從以下幾個(gè)方面展開(kāi)研究:① 將所提的文本聚類方法應(yīng)用于大規(guī)模網(wǎng)絡(luò)輿情文本挖掘,通過(guò)分析網(wǎng)絡(luò)文本預(yù)測(cè)可能潛在的突發(fā)事件;② 借鑒蜂群等其他更加智能的群體算法,進(jìn)一步提高文本聚類的準(zhǔn)確性;③ 對(duì)算法進(jìn)一步優(yōu)化,提高群體智能尋找最優(yōu)解的速度,及算法收斂速度。