張曉飛
(遵義師范學院,貴州 遵義 563000)
互聯(lián)網(wǎng)使用具有隨意性、便利性及隱蔽性,已成為民眾間接或直接表達觀念的首選。特別是微信、微博社交平臺的興起,人們熱衷于在網(wǎng)絡上對某件事表達看法、立場與態(tài)度。不乏消極輿論通過網(wǎng)絡傳播,如果引導不善,可能會威脅社會秩序與穩(wěn)定性。加強互聯(lián)網(wǎng)輿情監(jiān)控,利用Hadoop作為分布式處理框架處理海量數(shù)據(jù),設置監(jiān)控網(wǎng)絡關鍵字,可以有效減輕網(wǎng)絡輿情數(shù)據(jù)分析工作量。
互聯(lián)網(wǎng)相關的人工智能、云計算、大數(shù)據(jù)等技術迅速發(fā)展,已經融入網(wǎng)民生活,使得信息技術成為生活生產要素重組、改變競爭格局、重塑經濟結構的重要力量。根據(jù)統(tǒng)計可知,我國截至2021年網(wǎng)民規(guī)模達到10.32億人,相比2020年網(wǎng)民增加4 296萬人,互聯(lián)網(wǎng)普及率是73.0%。網(wǎng)民數(shù)量快速增長,多數(shù)網(wǎng)民在互聯(lián)網(wǎng)中發(fā)表過言論觀點,因此,必須提高網(wǎng)絡輿監(jiān)控力,以免由于消極論斷引發(fā)社會動蕩[1]。Hadoop平臺是分布式系統(tǒng),利用編程模型處理龐雜數(shù)據(jù),子項目是HDFS,借助HDFS能夠存儲大型數(shù)據(jù),容錯性及數(shù)據(jù)吞吐量高,可實現(xiàn)大規(guī)模數(shù)據(jù)訪問。在網(wǎng)絡輿情監(jiān)督中,管理人員需結合網(wǎng)監(jiān)部門及網(wǎng)絡發(fā)展要求,提取輿情關鍵字,從而實現(xiàn)敏感話題監(jiān)測、傳播途徑監(jiān)測、輿情態(tài)勢分析、重點話題自動關注,有效篩選網(wǎng)絡輿情熱點,識別敏感話題。在此過程中,系統(tǒng)能夠根據(jù)熱點話題進行跟蹤,生成統(tǒng)計報告;對于微博評論、新聞評論、論壇跟帖等也能做到數(shù)據(jù)精準抽取、準確挖掘、合理分析。按照設計要求,該輿情分析系統(tǒng)的熱點篩選準確度需超過90%,涉及社會穩(wěn)定的輿情內容篩選準確度需達到100%。
Hadoop網(wǎng)絡輿情系統(tǒng)設計采取MVC架構,系統(tǒng)利用web爬蟲處理網(wǎng)頁URL及其聯(lián)結數(shù)據(jù),經過去重、分類、除綴等操作,結合不同類別信息,采集相應網(wǎng)頁。URL原始地址是使用eTools元搜索引擎,搜索某些關鍵字,返回搜索結果枝系統(tǒng),成為網(wǎng)絡爬蟲URL初始采集列表,且URL可以將列表劃分為若干信息數(shù)據(jù)類型,下發(fā)至不同采集節(jié)點[2]。網(wǎng)絡爬蟲經過深度迭代與廣度迭代,采集互聯(lián)網(wǎng)網(wǎng)頁信息。在提取信息時,利用抽取信息模塊處理爬蟲采集數(shù)據(jù),篩選網(wǎng)頁內容,采取去重技術清理數(shù)據(jù),能夠有效獲取輿情純文本信息。在存儲數(shù)據(jù)時,用戶先根據(jù)關鍵字內容范圍抽取網(wǎng)頁信息,將其存儲至相應HDFS文件系統(tǒng)之后,處理基礎數(shù)據(jù)。具體步驟為:開發(fā)人員先應用Mahout開源算法庫,通過機器學習與數(shù)據(jù)挖掘算法,處理存儲于HDFS系統(tǒng)網(wǎng)頁數(shù)據(jù);再尋找輿情熱點,檢測敏感話題,提取關鍵字,追蹤輿情發(fā)展態(tài)勢;最后生成專題,分析網(wǎng)絡輿情。系統(tǒng)架構如圖1所示。
圖1 系統(tǒng)架構
在系統(tǒng)實施中,借助網(wǎng)絡爬蟲提取互聯(lián)網(wǎng)數(shù)據(jù)后,用戶方能對網(wǎng)頁預處理,提取網(wǎng)頁內容、標題關鍵字,做到去重、消噪、分詞。系統(tǒng)部署運算的框架是Map/Reduce模型,該模型立足于B/S架構,能保證系統(tǒng)開發(fā)的安全性。
在網(wǎng)絡關鍵字監(jiān)控中,由于輿情數(shù)據(jù)來源于各大網(wǎng)絡平臺,包括新浪微博、網(wǎng)易新聞、西瓜視頻、搜狐新聞等,系統(tǒng)數(shù)據(jù)收集作為重要的初始環(huán)節(jié),需結合數(shù)據(jù)來源,選擇恰當?shù)氖占J?。以新聞?shù)據(jù)為例,Nutch由非分布式、分布式構成,在實際運行中,分布式系統(tǒng)由于穩(wěn)定性、運行效率均優(yōu)于非分布式系統(tǒng),所以可使用分布式Nutch[3]。收集數(shù)據(jù)步驟如下:用戶利用元搜索引擎檢索關鍵字,添加URL列表至系統(tǒng)內,在URL列表創(chuàng)建Fetchlist,通過內容解析器分析輿情數(shù)據(jù),提取全新URL,更新CrawIDB,完成數(shù)據(jù)收集。數(shù)據(jù)信息源于微博網(wǎng)站,管理人員利用API接口完成數(shù)據(jù)采集,在這一過程中需先保證客戶端獲得微博平臺的真實授權,再完成開放工作。
網(wǎng)絡數(shù)據(jù)處理,主要是利用URL去重、建立索引、網(wǎng)頁分詞等,網(wǎng)頁分詞先用漢語詞法分析系統(tǒng),它具有分詞效果好、系統(tǒng)功能成熟的效果。在系統(tǒng)采集數(shù)據(jù)中,抽取網(wǎng)頁URL地址,收集互聯(lián)網(wǎng)數(shù)據(jù),不同網(wǎng)頁URL地址相同,網(wǎng)頁爬蟲為避免多次爬取相同網(wǎng)頁,增加系統(tǒng)負荷,降低爬取網(wǎng)頁速度,需考慮判重URL地址,進行重復URL地址過濾[4]。在URL驅蟲中,系統(tǒng)使用Bloom Filter算法能夠識別某元素是否處于集合內,實現(xiàn)去重效果。Nutch爬蟲在爬取網(wǎng)頁URL內容時,能夠維護2個URL庫,分別為即將抓取與已抓取URL地址庫。在爬取關鍵字時,開發(fā)人員需要用到Bloom Filter算法,判斷URL地址是否已經抓取,存在則放棄爬??;不存在則需添加至地址庫內。由于利用輿情分析系統(tǒng)爬取的URL數(shù)量較大,為加快該進程,本設計使用拆分Bloom Filter算法。具體表現(xiàn)為:先通過s×m位串矩陣V表達數(shù)據(jù)集合,即Data={d1,d2,…,dn},算法將s長度作為m位串及h+1散列函數(shù),確定其映射范圍后,查詢1個位串是否處于集合內。
在Hadoop輿情關鍵字監(jiān)控系統(tǒng)中,數(shù)據(jù)存儲作為重要部分,能夠存儲網(wǎng)頁源數(shù)據(jù),包括網(wǎng)頁URL、網(wǎng)頁標題、建立時間、瀏覽網(wǎng)頁數(shù)量、品論數(shù)量等,以XML文件模式存儲。存儲結果數(shù)據(jù),包括中間結果與分析結果數(shù)據(jù),前者是網(wǎng)頁預處理信息,后者是輿情統(tǒng)計信息,提取輿情關鍵字,篩選輿情熱點,追蹤輿情結果。存儲系統(tǒng)參數(shù),包括角色權限、密碼、用戶名、運行系統(tǒng)日志等,包括采集網(wǎng)頁日志、提取數(shù)據(jù)日志等,配制主要系統(tǒng)參數(shù)[5]。在數(shù)據(jù)存儲中,系統(tǒng)采取HDFS文件存儲。經過網(wǎng)頁預處理后,數(shù)據(jù)中如果存在圖片內容,則大小低于10 MB;如果收集的數(shù)據(jù)中無圖片內容,則數(shù)據(jù)大小在2~64 k范圍內。為提高該系統(tǒng)的存儲效率,設計人員以key存儲序列化文件,以value存儲真正文件,將多個小文件進行合并,匯集成大文件后存儲至HDFS。此種方法使得用戶訪問文件時,可利用Index了解文件key信息,快速訪問后面的數(shù)據(jù)信息。
系統(tǒng)輿情分析模塊需提取輿情關鍵詞,構建Map/Reduce模型,實現(xiàn)多層次、多角度的輿情分析。在模塊集群中,利用Master控制運行環(huán)境,完成資源調度與進程調度,通過節(jié)點Node提交輿情分析表申請后,系統(tǒng)即可根據(jù)預先定義的環(huán)境進行工作。Map/Reduce模型中,由于CPU工作流程相同,僅數(shù)據(jù)不同,可將作業(yè)劃分為若干獨立單元,將獨立單元分配至處理器處理。任務分配過程,即為mapper過程,處理任務是reduce過程,由reduce進程與mapper進程執(zhí)行,處理多種數(shù)據(jù),還能組合處理后數(shù)據(jù),Reduce任務喚醒Reducer執(zhí)行操作,結果輸出后存儲于系統(tǒng)內。
2.5.1 提取關鍵字
在輿情關鍵字中,文件集關鍵詞和文檔關鍵詞屬于包含關系,關鍵詞詞頻越高,表明受關注度越高。通常,輿情關鍵詞是信息量較高的命名實體,在提取過程中,增加命名實體權重,能夠準確提取關鍵詞。文檔中出現(xiàn)關鍵詞位置,對于文檔也有一定的影響。計算權重公式如下:
W(t.d)=
(1)
其中,W(t.d)是指t詞在d文檔中權重;N是文檔集內文檔數(shù)量;tf(t,d)是頻率;nt是文檔中t詞出現(xiàn)數(shù)量;W(POS(T))是t詞詞性權重;|d|是文檔向量長度;W(Position(t,d))是文檔中t位置系數(shù)。根據(jù)公式,關鍵詞權重計算如下:
(2)
其中,Wt是候選關鍵字t權重;f(t)是文檔中有候選關鍵字t的數(shù)量;N是全部文檔數(shù)量;d是候選關鍵字集中關鍵詞數(shù)量。
2.5.2 熱點分析
在進行網(wǎng)絡熱點分析時,用戶首先隨機選取網(wǎng)頁樣本,通過聚類分析的方式,獲得熱點網(wǎng)絡輿情簇;然后選擇1個輿情簇提取關鍵詞特征,將熱點關鍵詞作為二次聚類依據(jù),可以將純文字文本向量化。系統(tǒng)自動將計算文本傳遞至TF-IDF模塊,獲得結果后返回至向量模塊,再通過第一與第二聚類,獲得有關分類,根據(jù)類別話題數(shù)量,篩選熱門話題。
2.5.3 生成專題
生成專題是專題輿情、熱點輿情進行抽取簡報;生成專題過程,就是計算文本向量權重維度,將維度文本摘要、整理相關信息,以簡報方式提供用戶,迅速識別熱點輿情。
在系統(tǒng)測試中,為準確監(jiān)測網(wǎng)絡關鍵字,本設計使用6臺服務器作為系統(tǒng)硬件,應用64位Cent0S6.4及jdkl.7為軟件設施,評估網(wǎng)絡輿情監(jiān)測情況。本設計以漏報率與誤報率為指標,對高校網(wǎng)絡數(shù)據(jù)進行抓取,得出關鍵字有就業(yè)、考研、兼職、旅游、飲食等。測試結果表明,漏報率與誤報率較低,系統(tǒng)準確性較好。
綜上所述,隨著互聯(lián)網(wǎng)發(fā)展,產生海量、動態(tài)、異構新聞數(shù)據(jù),人們難以高效、迅速地尋找到感興趣的新聞。為監(jiān)控網(wǎng)絡輿情,相關人員需要挖掘此類數(shù)據(jù),對新聞話題進行輿情預測與持續(xù)追蹤。為此,本文立足于Hapood軟件平臺框架,使用MVC架構,系統(tǒng)利用web爬蟲處理網(wǎng)頁URL及有關聯(lián)結數(shù)據(jù),設計了數(shù)據(jù)收集、處理、存儲及輿情分析模塊,提取輿情關鍵字,生成輿情專題,便于監(jiān)控網(wǎng)絡輿情。