朱 賀,黃克清
(中國電子科技集團(tuán)第15研究所,北京 100083)
二十一世紀(jì)是互聯(lián)網(wǎng)的時代,如今互聯(lián)網(wǎng)已經(jīng)成為人們?nèi)粘I钪斜夭豢缮俚囊徊糠?。互?lián)網(wǎng)信息鋪天蓋地的進(jìn)入人們的視野中,這其中大量的信息產(chǎn)生的了大量的數(shù)據(jù)[1]。然而,傳統(tǒng)的數(shù)據(jù)處理能力已經(jīng)不能夠滿足互聯(lián)網(wǎng)時代對數(shù)據(jù)分析的需求,因此一種切實可行、高效的數(shù)據(jù)處理技術(shù)越來越受人們的關(guān)注。分布式數(shù)據(jù)挖掘算法作為近些年新起的數(shù)據(jù)分析方法,由于其高效的計算能力和數(shù)據(jù)處理能力已經(jīng)適用于各個行業(yè)領(lǐng)域中[2]。
針對大部分分布式計算環(huán)境廣泛應(yīng)用于互聯(lián)網(wǎng)中。本文著重對分布式數(shù)據(jù)挖局算法在熱點微博分析系統(tǒng)的應(yīng)用進(jìn)行了研究,對數(shù)據(jù)挖掘算法的基本設(shè)計思想和相關(guān)算法分析的基礎(chǔ)上,設(shè)計一套基于分布式數(shù)據(jù)挖掘算法的熱點微博分析系統(tǒng)。本系統(tǒng)的設(shè)計思路為:通過貝葉斯分類算法完成對文本的分類;通過K-Means算法實現(xiàn)對微博相關(guān)特征的聚類分析。
樸素貝葉斯分類算法設(shè)計的理念在于對貝葉斯分類算法的重組的基礎(chǔ)上,通過編程完成了分布式數(shù)據(jù)挖掘算法的構(gòu)建。貝葉斯文本分類算法的流程圖大致可設(shè)計為如圖1所示的結(jié)構(gòu)。
分析圖1可知,貝葉斯分類算法可以設(shè)計可以概括為三步:第一,實現(xiàn)對訓(xùn)練集的規(guī)劃;第二,實現(xiàn)對訓(xùn)練集的精簡;第三,實現(xiàn)對測試集的規(guī)劃[3]。經(jīng)實踐應(yīng)用表明,樸素貝葉斯分類算法所實現(xiàn)的文本分類是很難滿足實際需求的,故需在樸素貝葉斯分類算法的基礎(chǔ)上引入TFIDF計算,如圖2所示。引入TFIDF計算的樸素貝葉斯分類算法從根本增強(qiáng)了分布式貝葉斯的實際研究意義。
圖1 貝葉斯分類算法流程圖
圖2 改進(jìn)后貝葉斯分類算法實現(xiàn)步驟
分布式數(shù)據(jù)挖掘K-Means算法是基于K-Means算法實現(xiàn)的,該算法的實現(xiàn)步驟是在傳統(tǒng)K-Means聚類算法的基礎(chǔ)上完成的。
分布式數(shù)據(jù)挖掘K-Means算法實現(xiàn)步驟:第一,將所有的數(shù)據(jù)樣本進(jìn)行分類,保證其在各自的節(jié)點上,并保證每個節(jié)點只對其自身的數(shù)據(jù)樣本進(jìn)行運算;第二,以“全局變量”的原則對本地所有數(shù)據(jù)樣本的簇進(jìn)行計算;第三,對比第二步計算的結(jié)果,若該結(jié)果與整個數(shù)據(jù)樣本的中心相同,則此時的分類結(jié)果為最優(yōu);若計算結(jié)果不一致,則重復(fù)第二步的計算,直至滿足要求[4]。分布式數(shù)據(jù)挖掘K-Means算法的具體計算流程如圖3所示:
本文以熱點微博分析為研究對象,著重對分布式數(shù)據(jù)挖掘算法在其中的應(yīng)用效果進(jìn)行研究分析,故需對熱點微博分析系統(tǒng)的基本組成進(jìn)行說明。簡單的說,熱點微博分析系統(tǒng)主要包括有:數(shù)據(jù)預(yù)處理、文本處理、相關(guān)特征獲取及預(yù)處理以及最終的分析等幾個部分[5]。具體如圖4所示:
圖3 分布式數(shù)據(jù)挖掘K-Means算法計算過程
圖4 熱點微博分析系統(tǒng)組成圖
在圖4所述的幾個組成部分中,若想準(zhǔn)備、快速的實現(xiàn)對熱點微博的分析,主要部分是對微博相關(guān)特征信息的獲取,并對該特征進(jìn)行預(yù)處理。
本文的分布式樸素貝葉斯算法文本分類是通過兩個步驟實現(xiàn)的。其一,完成對已知的數(shù)據(jù)樣本的訓(xùn)練;其二,完成對數(shù)據(jù)集的測試。因此,基于分布式樸素貝葉斯算法實現(xiàn)對文本分類算法的設(shè)計主要包括了對訓(xùn)練集數(shù)據(jù)處理的設(shè)計和對測試集數(shù)據(jù)處理的設(shè)計。為了確保對微博進(jìn)行精準(zhǔn)、快速的分析,本文引入了IKAnalyzer分詞器。基于上述步驟設(shè)計的文本分類軟件界面如圖5所示:
圖5 文本分類軟件截面圖
基于3.1實現(xiàn)了對微博文本內(nèi)容的分類處理,在此基礎(chǔ)上,本文基于分布式K-Means算法實現(xiàn)對熱點微博信息的歸類劃分,進(jìn)而得到微博的熱點信息。經(jīng)分析,本文選取轉(zhuǎn)發(fā)數(shù)、評論數(shù)以及點贊數(shù)三項指標(biāo)作為熱點微博的特征向量?;诜植际終-Means算法實現(xiàn)對熱點微博特征向量的處理,需要進(jìn)行如下步驟的計算:
首先,將數(shù)據(jù)樣本中的每個數(shù)據(jù)分配至離其最近的群中,并通過式(1)的計算替換該群。
本文將各個數(shù)據(jù)樣本之間的相對距離采用歐式距離作為評價標(biāo)準(zhǔn),其計算公式為:
其中,d為兩個數(shù)據(jù)樣本之間的距離,ci為該群的中心,x為屬于該群數(shù)據(jù)樣本的集合點。
通過上述計算得到熱點微博數(shù)據(jù)樣本的聚類,基于K-Means算法度熱點微博特征向量的計算,從而得出某條微博的轉(zhuǎn)發(fā)數(shù)、評論數(shù)以及點贊數(shù),從而可以確定該條微博是否為熱點微博。
本文所搭建的熱點微博分析系統(tǒng)是基于貝葉斯分類方法對微博文本分類的基礎(chǔ)上,基于分布式K-Means聚類算法對熱點微博的特征向量進(jìn)行細(xì)分類并最終獲得劃分結(jié)果。
本次實驗仿真采取對比的方式驗證分布式數(shù)據(jù)算法在熱點微博分析系統(tǒng)中的應(yīng)用效果。該實驗對照組采用的數(shù)據(jù)分析方法是在單機(jī)環(huán)境下進(jìn)行的。除此之外,二者所處理的數(shù)據(jù)大小和內(nèi)容是完全一致的。最終熱點微博分析結(jié)果如表1所示:
當(dāng)前,正處于互聯(lián)網(wǎng)時代,在如今大數(shù)據(jù)時代中,如何快速、準(zhǔn)備的掌握熱點信息是一個國家、一個企業(yè)、個體能夠正確做出決策的基礎(chǔ)。本文以“熱點微博”為研究對象,著重對分布式數(shù)據(jù)挖掘算法進(jìn)行了研究。本文基于貝葉斯算法對微博文本分類結(jié)合基于K-Means算法對熱點微博聚類劃分兩步驟設(shè)計了熱點微博分析系統(tǒng)。并通過實驗證明:基于分布式貝葉斯算法和分布式K-Means算法設(shè)計的熱點微博分析系統(tǒng)的性能遠(yuǎn)優(yōu)于單機(jī)環(huán)境下的數(shù)據(jù)分析系統(tǒng)。
表1 不同算法下熱點微博分析效果對比