李 晨,楊子江,朱世偉,于俊鳳
(山東省科學(xué)院 情報(bào)研究所,山東 濟(jì)南 250014)
基于Hadoop的網(wǎng)絡(luò)輿情監(jiān)控平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)
李 晨,楊子江,朱世偉,于俊鳳
(山東省科學(xué)院 情報(bào)研究所,山東 濟(jì)南 250014)
文中設(shè)計(jì)并實(shí)現(xiàn)了一種基于Hadoop的網(wǎng)絡(luò)輿情監(jiān)控系統(tǒng)。該系統(tǒng)以HDFS作為底層存儲(chǔ)系統(tǒng),在其上構(gòu)建基于HBase的分布式數(shù)據(jù)庫(kù)對(duì)輿情信息進(jìn)行統(tǒng)一存儲(chǔ)管理。首先利用基于MapReduce的分布式網(wǎng)絡(luò)爬蟲(chóng)進(jìn)行數(shù)據(jù)抓取,以解決單機(jī)爬蟲(chóng)效率低、可擴(kuò)展性差等問(wèn)題;其次采用Canopy結(jié)合K-means的二次聚類(lèi)算法,克服單一K-means聚類(lèi)算法的不足,以提高文本聚類(lèi)的效率和準(zhǔn)確度;最后實(shí)現(xiàn)基于查詢(xún)的話(huà)題追蹤策略,對(duì)熱點(diǎn)話(huà)題進(jìn)行有效跟蹤分析。仿真實(shí)驗(yàn)表明:Canopy-Kmeans聚類(lèi)方法比傳統(tǒng)K-means方法漏報(bào)率、誤報(bào)率分別降低1.24%、0.09%,最小標(biāo)準(zhǔn)代價(jià)降低1.681%。系統(tǒng)通過(guò)提供可視化輿情分析報(bào)告,為企業(yè)或單位及時(shí)掌握輿情熱點(diǎn)、制定輿情策略提供科學(xué)、系統(tǒng)的技術(shù)支持。
Hadoop;MapReduce;輿情監(jiān)控;文本聚類(lèi);熱點(diǎn)發(fā)現(xiàn);話(huà)題跟蹤
隨著信息技術(shù)以及互聯(lián)網(wǎng)的快速發(fā)展,其產(chǎn)生的海量、異構(gòu)、動(dòng)態(tài)的新聞數(shù)據(jù)使得人們很難快速、高效地找到用戶(hù)感興趣的新聞。如何對(duì)這些新聞數(shù)據(jù)進(jìn)行準(zhǔn)確地挖掘與分析,實(shí)現(xiàn)對(duì)新聞話(huà)題的持續(xù)追蹤和輿情預(yù)測(cè)已成為目前輿情分析中一個(gè)極其重要的研究方向。
傳統(tǒng)的話(huà)題追蹤和輿情監(jiān)控系統(tǒng)通常是基于昂貴的工作站或者服務(wù)器集群[1],采用流量鏡像的方法監(jiān)控信息源,并結(jié)合傳統(tǒng)的數(shù)據(jù)挖掘算法對(duì)獲取的數(shù)據(jù)進(jìn)行文本統(tǒng)計(jì)與分析。基于流量鏡像方法雖然可以比較全面地收集各種網(wǎng)絡(luò)信息,但也存在成本高、可擴(kuò)展性差以及容易產(chǎn)生單點(diǎn)通信故障等問(wèn)題。同時(shí),由于互聯(lián)網(wǎng)信息的爆炸式增長(zhǎng),產(chǎn)生海量的網(wǎng)絡(luò)信息,如何存儲(chǔ)并處理這些海量、異構(gòu)的非結(jié)構(gòu)化信息便成了一個(gè)新的研究課題。Hadoop[2]的產(chǎn)生為這一課題提供了有效的解決方案。Hadoop技術(shù)對(duì)海量信息的存儲(chǔ)與處理提供了高效、可靠、可擴(kuò)展的解決辦法。
在此基礎(chǔ)上,文中設(shè)計(jì)了一個(gè)基于Hadoop的網(wǎng)絡(luò)輿情監(jiān)控系統(tǒng)。該系統(tǒng)采用分布并行方式對(duì)互聯(lián)網(wǎng)信息進(jìn)行采集,采用基于查詢(xún)的技術(shù)進(jìn)行話(huà)題追蹤和輿情監(jiān)控,通過(guò)基于Mahout[3]實(shí)現(xiàn)的樸素貝葉斯算法對(duì)新聞話(huà)題進(jìn)行分類(lèi);并使用基于Canopy算法[4]和K-means算法[5]相結(jié)合的聚類(lèi)方法對(duì)新聞話(huà)題進(jìn)行層次聚類(lèi),最后結(jié)合報(bào)道數(shù)量、來(lái)源以及報(bào)道速度等因素實(shí)現(xiàn)對(duì)新聞熱點(diǎn)話(huà)題的量化與跟蹤。通過(guò)將該系統(tǒng)應(yīng)用到山東省科學(xué)院輿情分析平臺(tái),驗(yàn)證了該系統(tǒng)可以有效地實(shí)現(xiàn)對(duì)新聞話(huà)題的追蹤和網(wǎng)絡(luò)輿情的預(yù)測(cè)。
網(wǎng)絡(luò)輿情監(jiān)控平臺(tái)主要是針對(duì)海量數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)輿情分析[6],其中涉及到的關(guān)鍵內(nèi)容有:網(wǎng)頁(yè)信息獲取、文本分類(lèi)、文本聚類(lèi)、熱點(diǎn)和敏感話(huà)題發(fā)現(xiàn)以及話(huà)題跟蹤等內(nèi)容。對(duì)此,國(guó)內(nèi)外的主要研究現(xiàn)狀如下:
文本分類(lèi)方面,SVM的產(chǎn)生是近年來(lái)文本分類(lèi)領(lǐng)域最重要的進(jìn)展之一,雖然SVM在大規(guī)模數(shù)據(jù)集上的訓(xùn)練收斂速度較慢,但是它的分隔面模式有效地克服了樣本分布、冗余特征以及過(guò)擬合等因素的影響,具有很出色的泛化能力,有文獻(xiàn)已經(jīng)指出SVM在效果和穩(wěn)定性上具有相當(dāng)?shù)膬?yōu)勢(shì)。Pang(2002)等學(xué)者比較支持向量機(jī)(SVM)、最大熵(ME)、樸素貝葉斯(NB)等算法在語(yǔ)義傾向上的文本分類(lèi)效果,實(shí)驗(yàn)結(jié)果發(fā)現(xiàn),SVM的文本分類(lèi)準(zhǔn)確程度達(dá)到約80%,屬于較好的一種。
聚類(lèi)方面,為了適應(yīng)語(yǔ)料增長(zhǎng)的特性,卡內(nèi)基梅隆大學(xué)和BBN公司分別使用Single-pass算法和增量K-means算法進(jìn)行聚類(lèi)。賓夕法尼亞大學(xué)在計(jì)算文檔之間的相似度時(shí)使用IDF加權(quán)的余弦值,以此來(lái)提高聚類(lèi)質(zhì)量[7]。Dragon為解決在線識(shí)別問(wèn)題,提出一種利用K-means聚類(lèi)方法中的第一個(gè)迭代過(guò)程來(lái)確定報(bào)道所屬話(huà)題類(lèi)[8]。IBM采用兩層聚類(lèi)策略進(jìn)行話(huà)題分析。熱點(diǎn)發(fā)現(xiàn)采用TDT(話(huà)題檢測(cè)與追蹤)中話(huà)題檢測(cè)的相關(guān)技術(shù),它主要以原始新聞?wù)Z料作為研究對(duì)象,計(jì)算時(shí)通過(guò)將相關(guān)參數(shù)進(jìn)行量化得到最終結(jié)果,量化的參數(shù)一般有話(huà)題的報(bào)道頻率、話(huà)題的分布率、話(huà)題的時(shí)間屬性等[9],還有一些將報(bào)道點(diǎn)擊、評(píng)論、來(lái)源等作為計(jì)算參數(shù)進(jìn)行量化。
話(huà)題跟蹤方面,可以分為兩種跟蹤策略:基于知識(shí)的話(huà)題跟蹤和基于統(tǒng)計(jì)的話(huà)題跟蹤?;谥R(shí)的話(huà)題跟蹤策略比較有名的是Watanabe基于日語(yǔ)新聞廣播所研發(fā)的話(huà)題跟蹤系統(tǒng)?;诮y(tǒng)計(jì)的話(huà)題跟蹤策略,比較有代表性的是基于分類(lèi)的話(huà)題跟蹤,如卡內(nèi)基梅隆大學(xué)在對(duì)話(huà)題跟蹤評(píng)測(cè)中使用決策樹(shù)和KNN算法。
在輿情分析研究過(guò)程中國(guó)內(nèi)外也產(chǎn)生了很多優(yōu)秀的軟件產(chǎn)品,比如:國(guó)外有Dave等研發(fā)的ReviewSeer,Liu等研發(fā)的OpinionObserver,Gamon等研發(fā)的Pulse系統(tǒng),Wilson等研發(fā)的OpinionFinder。國(guó)內(nèi)有北大方正的智思輿情預(yù)警輔助決策支持系統(tǒng),中科院實(shí)施的天網(wǎng)工程,TRS公司研發(fā)的網(wǎng)絡(luò)輿情情報(bào)監(jiān)控體系,等等。
文中系統(tǒng)在現(xiàn)有工作研究的基礎(chǔ)上,針對(duì)新聞網(wǎng)頁(yè)、論壇、博客以及微博進(jìn)行數(shù)據(jù)挖掘研究,利用Hadoop技術(shù)平臺(tái),將網(wǎng)絡(luò)輿情信息采用HDFS[10]進(jìn)行存儲(chǔ),并通過(guò)MapReduce[11]編程模式進(jìn)行分析,實(shí)現(xiàn)快速發(fā)現(xiàn)輿情熱點(diǎn),并進(jìn)行情感分析與熱點(diǎn)話(huà)題跟蹤,為后期的進(jìn)一步監(jiān)控提供基礎(chǔ)信息保障。
Hadoop包含大量工具,這些工具可以協(xié)同工作,來(lái)完成多種任務(wù)。Hadoop可以歸類(lèi)成一個(gè)完整的生態(tài)系統(tǒng),包含大量的組件,從數(shù)據(jù)存儲(chǔ)到集成、數(shù)據(jù)處理及數(shù)據(jù)分析等。HDFS作為Hadoop生態(tài)系統(tǒng)的基礎(chǔ)組件,它可以將大量數(shù)據(jù)分布到計(jì)算機(jī)集群之上,實(shí)現(xiàn)一次寫(xiě)入,多次讀取。Hadoop的主要執(zhí)行框架是MapReduce,它是一個(gè)用于分布式并行數(shù)據(jù)處理的編程模型。HBase[12]是一個(gè)構(gòu)建于HDFS之上的面向列的NoSQL數(shù)據(jù)庫(kù),提供對(duì)海量數(shù)據(jù)的快速讀寫(xiě)能力,它利用Zookeeper作為自己的分布式協(xié)調(diào)工具。Oozie作為一個(gè)可擴(kuò)展的工作流系統(tǒng),可以協(xié)調(diào)多個(gè)作業(yè)的執(zhí)行。更高層的抽象Pig和Hive可以完成數(shù)據(jù)分析和類(lèi)似SQL的數(shù)據(jù)查詢(xún)。
文中設(shè)計(jì)的基于Hadoop的網(wǎng)絡(luò)輿情監(jiān)控系統(tǒng)主要包括四個(gè)模塊:分布式信息采集、信息存儲(chǔ)、云分析以及輿情信息展示。分布式信息采集作為系統(tǒng)核心組件主要工作是抓取互聯(lián)網(wǎng)信息,對(duì)抓取的互聯(lián)網(wǎng)信息進(jìn)行處理,然后進(jìn)行存儲(chǔ),為上層分析提供數(shù)據(jù)支持。系統(tǒng)采用HDFS作為底層數(shù)據(jù)存儲(chǔ)介質(zhì),在其之上構(gòu)建更高層次的HBase和Hive進(jìn)行數(shù)據(jù)管理。云分析采用分布式編程設(shè)計(jì)對(duì)原始網(wǎng)頁(yè)信息進(jìn)行處理,包括:文本分類(lèi)、文本聚類(lèi)、熱點(diǎn)計(jì)算以及話(huà)題跟蹤等。基于云計(jì)算的網(wǎng)絡(luò)輿情監(jiān)控系統(tǒng)總體架構(gòu)見(jiàn)圖1。
3.1 分布式信息采集
原始信息采集是建設(shè)輿情監(jiān)控系統(tǒng)的首要任務(wù),該系統(tǒng)主要采用分布式網(wǎng)絡(luò)爬蟲(chóng)進(jìn)行信息抓取。采用定時(shí)定向的信息采集方式,由采集控制器進(jìn)行統(tǒng)一調(diào)度,通過(guò)采集控制器讀取相應(yīng)的站點(diǎn)信息,包括:URL、站點(diǎn)模板等信息,之后就可以利用分布式網(wǎng)絡(luò)爬蟲(chóng)進(jìn)行信息采集。系統(tǒng)采集架構(gòu)見(jiàn)圖2。
圖1 系統(tǒng)架構(gòu)圖
圖2 系統(tǒng)采集架構(gòu)圖
3.1.1 網(wǎng)頁(yè)信息抽取
采集器采集到的原始網(wǎng)頁(yè)內(nèi)容往往比較繁雜,可能會(huì)包含大量的廣告、無(wú)用鏈接以及其他的噪音信息,噪音信息的存在不便于對(duì)網(wǎng)頁(yè)的內(nèi)容進(jìn)行分析,所以首先需要進(jìn)行網(wǎng)頁(yè)信息抽取[13-15]。在該系統(tǒng)中,采用了基于行塊分布函數(shù)的通用網(wǎng)頁(yè)正文抽取方法,該方法無(wú)需考慮網(wǎng)頁(yè)HTML結(jié)構(gòu),無(wú)需構(gòu)建傳統(tǒng)DOM樹(shù),可以從雜亂的網(wǎng)頁(yè)源碼中抽取出有效的、高質(zhì)量的文本信息。
算法流程為:首先,通過(guò)正則表達(dá)式去除所有HTML標(biāo)簽,只保留文本信息,同時(shí)去除標(biāo)簽之后的空白信息也要保留,保留文本成為Ctext;其次,定義行塊。以Ctext中的行號(hào)為軸,取其周?chē)鶮行,稱(chēng)為一個(gè)行塊Cblock,行塊i是以Ctext中行號(hào)i為軸的行塊;再次,定義行塊長(zhǎng)度。求出一個(gè)Cblock行塊中去除所有空白符后的字符總數(shù)作為該行塊的長(zhǎng)度;然后,定義行塊分布函數(shù)。以Ctext每行為軸,共有LinesNum(Ctext)‐K個(gè)Cblock,做出以[1,LinesNum(Ctext)‐K]為橫軸,以其各自的行塊長(zhǎng)度為縱軸的分布函數(shù);最后,分析行塊分布函數(shù)分布區(qū)域從而獲得網(wǎng)頁(yè)正文信息。
3.1.2 網(wǎng)頁(yè)信息預(yù)處理
網(wǎng)頁(yè)信息預(yù)處理模塊包括:分本分詞、停用詞過(guò)濾、文本特征選擇等。系統(tǒng)采用具有詞性標(biāo)注功能的FudanNLP進(jìn)行文本分詞,為了降低維度,在分詞的過(guò)程中只選取名詞、動(dòng)詞以及形容詞作為最終的分詞結(jié)果。處理完之后,將原始網(wǎng)頁(yè)信息和分詞信息存入原始網(wǎng)頁(yè)信息庫(kù),為云分析提供原始素材。
3.1.3 網(wǎng)頁(yè)抓取流程
系統(tǒng)抓取流程共包括四步:首先獲取待抓取URL列表,AccessDBDriver從傳統(tǒng)數(shù)據(jù)庫(kù)中讀取URL列表,然后將該列表寫(xiě)入HDFS作為CrawlDriver的Map任務(wù)輸入。第二步,CrawlDriver的Map任務(wù)讀取待抓取URL列表,將該列表發(fā)送到Reduce任務(wù),Reduce任務(wù)進(jìn)行網(wǎng)頁(yè)信息抓取。第三步,解析網(wǎng)頁(yè)內(nèi)容。ParserDriver進(jìn)行網(wǎng)頁(yè)信息抽取和網(wǎng)頁(yè)信息預(yù)處理。第四步,利用TransferDriver將解析過(guò)的原始網(wǎng)頁(yè)信息和分詞信息存入Hbase庫(kù)中。
3.2 云分析
云分析模塊包括文本分類(lèi)、文本聚類(lèi)、熱點(diǎn)話(huà)題發(fā)現(xiàn)和熱門(mén)話(huà)題跟蹤等。文中采用開(kāi)源Mahout系統(tǒng)實(shí)現(xiàn)基于MapReduce的分布式文本分類(lèi)和聚類(lèi)算法。
3.2.1 文本分類(lèi)
文中采用Mahout基于樸素貝葉斯[16]的文本分類(lèi)算法,其分類(lèi)具體流程是:
(1)文本序列化。將原始網(wǎng)頁(yè)信息轉(zhuǎn)化為Mahout可以直接使用的二進(jìn)制SequenceFile文件,該步驟利用Mahout的seqdirectory命令實(shí)現(xiàn)。
(2)序列向量化。將序列化好的SequenceFile文件利用TF-IDF生成向量空間模型,同時(shí)在該操作中指定分詞器。該步驟利用seq2sparse命令實(shí)現(xiàn)。
(3)向量劃分。該步驟通過(guò)把向量化的文件隨機(jī)分成兩部分,一部分用來(lái)訓(xùn)練,另一部分用來(lái)測(cè)試,使用的命令是split。
(4)訓(xùn)練并生成模型。用第三步隨機(jī)分割的訓(xùn)練數(shù)據(jù)作為Naive Bayesian的輸入進(jìn)行訓(xùn)練并生成模型,使用trainnb命令完成。
(5)測(cè)試訓(xùn)練集。用第三步的測(cè)試數(shù)據(jù)作為輸入對(duì)生成的模型進(jìn)行測(cè)試,使用testnb命令實(shí)現(xiàn)。
3.2.2 文本聚類(lèi)
通過(guò)聚類(lèi)可以將一組文章或文本信息進(jìn)行相似性的比較,將比較相似的文章或文本信息歸為同一類(lèi)簇。文中采用Canopy和K-means結(jié)合的文本聚類(lèi)方法。
Canopy算法的基本思想是:將數(shù)據(jù)集向量化,然后放到一個(gè)集合list中,同時(shí)設(shè)定兩個(gè)距離閾值T1和T2,循環(huán)從list中去取一個(gè)點(diǎn),作為一個(gè)聚類(lèi)中心,放到centerlist,并從list中移除該點(diǎn),循環(huán)從centerlist中比較與周?chē)狞c(diǎn)與閾值之間的關(guān)系,小于最小T1閾值,說(shuō)明兩個(gè)值相似,放到一個(gè)聚類(lèi)中,并從list中移除;如果大于最大閾值T2,那么就單獨(dú)作為一個(gè)聚類(lèi)中心,并從list中移除;否則不加到各個(gè)聚類(lèi)中心去,但依然保留在list中,迭代直至list中元素為null,算法結(jié)束。
K-means聚類(lèi)算法是一種基于樣本間相似性度量的間接聚類(lèi)方法?;舅枷胧浅跏茧S機(jī)給定K個(gè)簇中心,按照最鄰近原則把待分類(lèi)樣本點(diǎn)分到各個(gè)簇中。然后按平均法重新計(jì)算各個(gè)簇的質(zhì)心,從而確定新的簇心。一直迭代,直到簇心的移動(dòng)距離小于某個(gè)給定的值。傳統(tǒng)K-means算法在進(jìn)行聚類(lèi)時(shí)需要事先指定K值(類(lèi)別數(shù)目),而往往數(shù)據(jù)集預(yù)先不能確定K值大小,如果K取的不合理將會(huì)使K-means算法誤差很大。
為了克服這種缺點(diǎn),文中首先使用Canopy算法進(jìn)行一次聚類(lèi),將較小數(shù)目的Cluster直接去掉有利于抗干擾,然后在每個(gè)Canopy內(nèi)使用K-means方法進(jìn)行二次聚類(lèi)。
3.2.3 熱點(diǎn)計(jì)算
文中綜合考慮報(bào)道數(shù)量、報(bào)道來(lái)源、報(bào)道速度等因素,利用式(1)進(jìn)行熱點(diǎn)話(huà)題計(jì)算:
(1)
具體實(shí)現(xiàn)流程見(jiàn)圖3。
圖3 熱點(diǎn)計(jì)算流程
map函數(shù)有兩部分功能。第一部分是計(jì)算熱點(diǎn)(計(jì)算上述1,4,6,7項(xiàng),2,3,5項(xiàng)不能計(jì)算是因?yàn)樾枰渌?lèi)別的數(shù)據(jù))。將計(jì)算的1,4,6,7項(xiàng)傳到reduce函數(shù)計(jì)算剩下的2,3,5項(xiàng),并最終計(jì)算熱點(diǎn)。
3.2.4 話(huà)題跟蹤
文中采用基于查詢(xún)的話(huà)題跟蹤[17]方法。系統(tǒng)定義兩個(gè)閾值:跟蹤閾值t1和跟蹤器調(diào)整閾值t2。其中,t1 話(huà)題查詢(xún)向量的構(gòu)建過(guò)程如下:將訓(xùn)練集中出現(xiàn)的非停用詞w按照其對(duì)應(yīng)的r*idf(w)值由高到低排序,其中r為包含詞w的相關(guān)報(bào)道數(shù)量,idf(w)為詞w的idf值;取前n個(gè)詞組成查詢(xún)向量。查詢(xún)向量第k維(詞w)的取值q(k)=tf(w)*idf(w),tf(w)為所有相關(guān)報(bào)道中詞w的平均tf值。對(duì)應(yīng)跟蹤器中第k維(詞w),新聞報(bào)道向量的第k維的取值: d(k)=0.4+0.6*tf(w)*idf(w) 新聞報(bào)道d和跟蹤器q的相似度值采用加權(quán)和方法計(jì)算,其中qk和dk分別表示各自向量中第k個(gè)詞的權(quán)重。 (2) 算法描述如下: if(sim(q,d)>t1) {判定d為相關(guān)報(bào)道 if(sim(q,d)>t2) {重構(gòu)跟蹤器q以吸收該話(huà)題重要的新特征;} } 跟蹤器q的重構(gòu)過(guò)程: (1)確定查詢(xún)向量q的核心特征項(xiàng),令權(quán)重最大的5個(gè)特征項(xiàng)為核心特征項(xiàng),核心特征項(xiàng)在最初建立查詢(xún)向量時(shí)確定,不參與任何調(diào)整。 (2)判斷權(quán)重最大的文本向量特征項(xiàng)的權(quán)重wd與權(quán)重最大的查詢(xún)向量非核心特征項(xiàng)wq的大小,如果wd>wq則轉(zhuǎn)到第3步,否則轉(zhuǎn)到第4步。 (3)用該文本向量權(quán)重最大的特征項(xiàng)替換查詢(xún)向量權(quán)重最小的非核心特征項(xiàng),替換后的特征權(quán)重為向量權(quán)重與相似度的積,即wd*sim(q,d)。 (4)結(jié)束對(duì)查詢(xún)向量的調(diào)整。 4.1 系統(tǒng)運(yùn)行環(huán)境 系統(tǒng)采用8臺(tái)HP商用服務(wù)器,服務(wù)器操作系統(tǒng)為64位CentOS6.4,Hadoop采用hadoop1.2.1版本,Java采用64位jdk1.7.0_60版本。采用Hadoop集群Namenode一臺(tái),SecondNamenode一臺(tái),其余作為Datanode。 4.2 評(píng)測(cè)機(jī)制 文中依據(jù)TDT評(píng)測(cè)標(biāo)準(zhǔn),采用漏報(bào)率(Miss)、誤報(bào)率(False Alarm,F(xiàn)A)以及識(shí)別代價(jià)(CDet)Norm來(lái)評(píng)價(jià)話(huà)題聚類(lèi)的性能,話(huà)題i(i=1,2,…,k)的漏報(bào)率和誤報(bào)率定義為: (3) 其中,CMiss和CFa分別是漏報(bào)和誤報(bào)的代價(jià);PMiss和PFa分別是漏報(bào)和誤報(bào)的條件概率;Ptarget是目標(biāo)話(huà)題的先驗(yàn)概率;P=1-Ptarget。 CMiss、CFa和Ptarget都是預(yù)設(shè)值,用來(lái)調(diào)節(jié)漏報(bào)率和誤報(bào)率在評(píng)測(cè)結(jié)果中所占比重。評(píng)測(cè)中三個(gè)參數(shù)分別取1.0,0.1,0.02。(CDet)Norm是系統(tǒng)的性能評(píng)測(cè)指標(biāo),該值越小,表明算法的性能越好。 4.3 實(shí)驗(yàn)結(jié)果 實(shí)驗(yàn)1:K-means與Canopy-Kmeans實(shí)驗(yàn)對(duì)比。 該實(shí)驗(yàn)采用系統(tǒng)網(wǎng)絡(luò)爬蟲(chóng)抓取的6 573條數(shù)據(jù)作為信息來(lái)源,實(shí)驗(yàn)的目的是通過(guò)漏報(bào)率、誤報(bào)率和識(shí)別代價(jià)對(duì)傳統(tǒng)K-means和文中所使用的Canopy-Kmeans進(jìn)行對(duì)比分析,結(jié)果見(jiàn)表1。 表1 聚類(lèi)實(shí)驗(yàn)對(duì)比 % 通過(guò)實(shí)驗(yàn)結(jié)果可以看出,文中使用的聚類(lèi)方法漏報(bào)率平均降低1.24%,誤報(bào)率平均降低0.09%,最小標(biāo)準(zhǔn)代價(jià)平均降低1.681%。 實(shí)驗(yàn)2:單機(jī)與分布式時(shí)間開(kāi)銷(xiāo)比較。 該系統(tǒng)采用網(wǎng)絡(luò)爬蟲(chóng)抓取的6 573條數(shù)據(jù)作為信息來(lái)源,從中抽取1 000,2 500,4 500和6 573條分別采用單機(jī)和分布式模式進(jìn)行聚類(lèi)以及熱點(diǎn)計(jì)算,結(jié)果見(jiàn)圖4。 由實(shí)驗(yàn)數(shù)據(jù)可以看出,當(dāng)系統(tǒng)中的文檔數(shù)目較少時(shí),傳統(tǒng)的單機(jī)模式比MapReduce方式更快,但是隨著文檔規(guī)模的擴(kuò)大,MapReduce方式便體現(xiàn)出了分布式計(jì)算的優(yōu)點(diǎn)。 圖4 時(shí)間開(kāi)銷(xiāo)比較 實(shí)驗(yàn)3:熱點(diǎn)話(huà)題展示。 通過(guò)對(duì)爬蟲(chóng)抓取到的6 573條記錄進(jìn)行聚類(lèi)分析和熱點(diǎn)計(jì)算,得分前五的話(huà)題,見(jiàn)表2。 表2 熱點(diǎn)話(huà)題發(fā)現(xiàn)及實(shí)驗(yàn)結(jié)果 % 通過(guò)與抓取的新聞報(bào)道進(jìn)行對(duì)比,該系統(tǒng)采用的熱點(diǎn)發(fā)現(xiàn)算法得出的實(shí)驗(yàn)結(jié)果與報(bào)道情況符合。從實(shí)驗(yàn)結(jié)果看出得分前五的熱點(diǎn)平均漏報(bào)率為0.333 6,平均誤報(bào)率為0.032 5,最小標(biāo)準(zhǔn)代價(jià)為0.492 8,驗(yàn)證了系統(tǒng)所使用的熱點(diǎn)計(jì)算方法有效可行。 文中設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于Hadoop的網(wǎng)絡(luò)輿情系統(tǒng)。該系統(tǒng)利用開(kāi)源的Mahout工具以及MapReduce編程模式來(lái)實(shí)現(xiàn)基于樸素貝葉斯的文本分類(lèi)算法,基于Canopy-Kmeans的文本聚類(lèi)算法,綜合考慮新聞報(bào)道數(shù)量、點(diǎn)擊量、回復(fù)量、報(bào)道來(lái)源等因素的熱點(diǎn)計(jì)算和基于查詢(xún)向量的話(huà)題跟蹤算法等。 今后的研究工作中,將繼續(xù)對(duì)系統(tǒng)進(jìn)行完善,如:增加分布式實(shí)時(shí)索引和檢索功能,采用數(shù)字簽名技術(shù)對(duì)網(wǎng)頁(yè)信息去重,進(jìn)一步豐富輿情信息展示等。 [1] 陳彥舟,曹金璇.基于Hadoop的微博輿情監(jiān)控系統(tǒng)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2013,22(4):18-22. [2] 王宏宇.Hadoop平臺(tái)在云計(jì)算中的應(yīng)用[J].軟件,2011,32(4):36-38. [3]OwenS,AnilR,DunningT,etal.Mahoutinaction[M].[s.l.]:ManningPublications,2011. [4]McCallumA,NigamK,UngarLH.Efficientclusteringofhigh-dimensionaldatasetswithapplicationtoreferencematching[C]//Procofthe6thACMSIGKDD.[s.l.]:ACM,2000:169-178. [5]MacQueenJ.Somemethodsforclassificationandanalysisofmultivariateobservations[C]//Procofthe5thBerkeleysymposiumonmathematicalstatisticsandprobability.California:UniversityofCaliforniaPress,1967:281-287. [6] 董堅(jiān)峰.面向公共危機(jī)預(yù)警的網(wǎng)絡(luò)輿情分析研究[D].武漢:武漢大學(xué),2013. [7] 王宇陽(yáng).基于本體進(jìn)化的自適應(yīng)中文話(huà)題跟蹤算法研究[D].南京:南京航空航天大學(xué),2013. [8]SchultzJ,LibermaM.TopicdetectionandtrackingusingIDF-weightedcosinecoefficient[C]//ProceedingsoftheDARPAbroadcastnewsworkshop.Herndon:[s.n.],1999:189-192. [9] 龔海軍.網(wǎng)絡(luò)熱點(diǎn)話(huà)題自動(dòng)發(fā)現(xiàn)技術(shù)研究[D].武漢:華中師范大學(xué),2008. [10]ShvachkoK,KuangH,RadiaS,etal.TheHadoopdistributedfilesystem[C]//ProcofIEEE26thsymposiumonmassstoragesystemsandtechnologies.[s.l.]:IEEE,2010. [11]DeanJ,GhemawatS.MapReducesimplifieddataprocessingonlargeclusters[J].CommunicationsoftheACM,2008,51(1):107-113. [12]VashishthaH,StrouliaE.EnhancingquerysupportinHBaseviaanextendedcoprocessorsframework[C]//ProceedingsoftheEuropeanconferenceontowardsaservice-basedinternet.[s.l.]:[s.n.],2011:75-87. [13] 李 猛.基于DOM的Web信息抽取技術(shù)的研究與實(shí)現(xiàn)[D].大連:大連理工大學(xué),2008. [14] 錢(qián) 浩.Web信息抽取技術(shù)的研究與應(yīng)用[D].大慶:東北石油大學(xué),2011. [15] 王 星.新聞網(wǎng)頁(yè)抽取技術(shù)的研究與實(shí)現(xiàn)[D].天津:河北工業(yè)大學(xué),2011. [16] 高 巖.樸素貝葉斯分類(lèi)器的改進(jìn)研究[D].廣州:華南理工大學(xué),2011. [17] 鄒鴻程.微博話(huà)題檢測(cè)與追蹤技術(shù)研究[D].鄭州:解放軍信息工程大學(xué),2012. Design and Implementation of Network Consensus Monitoring System Based on Hadoop LI Chen,YANG Zi-jiang,ZHU Shi-wei,YU Jun-feng (Information Institute,Shandong Academy of Sciences,Jinan 250014,China) A network consensus monitoring system based on Hadoop was designed and realized.The system adopts HDFS as the underlying storage system,and then it builds a distributed database based on HBase with it to realize unified storage and management on the network consensus information.Firstly,it grabs the data with the distributed web crawler based on MapReduce to solve the problems of low efficiency and poor expansibility of single crawler.Then it uses the secondary clustering algorithm with Canopy combined withK-means,whichcanovercometheshortagesofsingleK-meansclusteringalgorithmandcouldimprovetheefficiencyandprecisionoftextclustering.Finally,itcouldrealizethetopicstrackingstrategybasedonquery,alsocouldbeeffectivetrackandanalysisofhottopics.Thesimulationexperimentresultsshowthatcomparedwiththetraditionalmethods,thefalsenegativeandfalsepositiveofCanopy-Kmeansclusteringmethodislowerat1.24%and0.09%respectively,theminimumstandardpriceislowerat1.681%.Throughprovidingthevisualizedanalysisofnetworkconsensus,thesystemproposedcouldprovidescientificandsystematicaltechnologysupportforenterprisesandscientificinstitutionstolearnthehotnetworkconsensusandmakenetworkconsensusstrategy. Hadoop;MapReduce;monitoring public opinion;text clustering;hot topic founding;topic tracking 2015-04-24 2015-08-03 時(shí)間:2017-01-04 山東省科學(xué)院青年基金項(xiàng)目(2013QN036);山東省科技發(fā)展計(jì)劃(2013GGX10127,2014GGX101013) 李 晨(1988-),男,實(shí)習(xí)研究員,研究方向?yàn)閿?shù)據(jù)挖掘、大數(shù)據(jù)分析。 http://www.cnki.net/kcms/detail/61.1450.TP.20160104.1505.038.html TP A 1673-629X(2016)02-0144-06 10.3969/j.issn.1673-629X.2016.02.0334 實(shí)驗(yàn)結(jié)果分析
5 結(jié)束語(yǔ)