摘要:隨著互聯網的飛速發(fā)展,網絡輿情的重要性毋庸置疑,目前解決網絡輿情的算法有很多。本文對一些業(yè)界公認的實用算法進行了研究,并將這些算法應用到基于“云”平臺,采用垂直搜索引擎進行網絡輿情的抓取、分析,智能聚合系統(tǒng)對抓取來的輿情進行內容分析,歸類的全面、高效的網絡輿情監(jiān)控系統(tǒng)中。
關鍵詞:正向最大匹配算法;逆向最大匹配算法;k-means聚類算法;樸素貝葉斯算法
中圖分類號:TP311 文獻標識碼:A 文章編號:1007-9599 (2012) 22-0000-02
隨著互聯網在全球范圍內的飛速發(fā)展以及我國信息技術和信息基礎設施建設的不斷完善,接觸和使用互聯網的公眾數目和比例也在不斷上升。不論是國內還是國際重大事件,網友通過 BBS論壇、博客、新聞跟貼、轉貼等網絡媒體發(fā)表言論,形成網絡輿情。網絡輿情以“輿論多元”為最大特點,信息的數據極為龐大,且類別繁多,在這種情況下,依靠人工對輿情進行分析分類是不可能的,再加上網絡輿情的重要性毋庸諱言,所以任何部門、機構都會關注相關的網絡輿情,建立網絡輿情系統(tǒng),作為今后改進、發(fā)展的依據。本文對網絡輿情的算法進行了研究,并將算法應用到基于“云”平臺,采用垂直搜索引擎進行網絡輿情的抓取、分析,智能聚合系統(tǒng)對抓取來的輿情進行內容分析,歸類的全面、高效的網絡輿情監(jiān)控系統(tǒng)中。
1 基于Hadoop的云計算平臺
云計算是有Google于2006年提出的,它是并行計算、分布式計算、網絡計算的綜合發(fā)展。它的基本原理是將計算、存儲及軟硬件等服務分布在非本地的大量計算機構成的資源池上,用戶通過網絡獲得相應的服務,從而有效的提高資源利用率,實現了真正的按需獲取。Hadoop是一個在集群上運行大型數據庫處理應用程序的開源的云計算模型,它最常見用法之一是Web搜索,作為一個并行數據處理引擎,它的表現非常突出。Hadoop最有趣的方面之一是Map and Reduce流程,它將Web爬行器檢索到的文本Web頁面作為輸入,并將這些頁面上的單詞的頻率報告作為結果,然后可以在整個Web搜索過程中使用這個結果從已定義的搜索參數中識別內容。
2 垂直搜索引擎
垂直搜索引擎不同于通用搜索引擎,通用搜索引擎是大量的信息整合導航,極快的查詢,將所有網站上的信息整理在一個平臺上供網民使用,它的資源包羅萬象, 用戶可以通過在檢索欄中輸入詞來檢索幾乎任何類型、任何主題的資源。但是由于它收錄的資源范圍廣,導致死鏈接較多、相關度較低等缺點。如:google,百度,必應等。搜索引擎結構圖如圖1所示。
2.1 垂直搜索引擎的特點
垂直搜索引擎是針對某一特定領域、某一特定人群或某一特定需求提供的有一定價值的信息和相關服務。具體來說,可根據客戶需求對所抓取的內容進行進一步歸類,分析,整合,按照一定格式返回給客戶。其特點就是“專、精、深”,且具有行業(yè)色彩。相比較通用搜索引擎的海量信息無序化,垂直搜索引擎則顯得更加專注、具體和深入。垂直搜索引擎為用戶提供的并不是上百甚至上千萬相關網頁,而是范圍極為縮小、極具針對性的具體信息。因此,特定行業(yè)的用戶更加青睞垂直搜索引擎,是垂直搜索引擎的長期、穩(wěn)定的群體。
2.2 垂直搜索引擎抓取流程
垂直搜索引擎抓取流程:
1)根據特定需求預先錄入特定網站URL。2)采用分布式爬蟲系統(tǒng),主控制器讀取URL并分發(fā)到不同爬蟲機器上。3)爬蟲從JOB隊列取出URL并抓取網頁,對網頁分析,去噪處理,提取網頁中URL,通過廣度遍歷或深度遍歷算法進行進一步抓取。(對于實時性能高的需求,級數建議可配置)。4)索引進程通過預先設定關鍵詞,利用分詞處理技術進行內容分析并建立索引。(索引通常采用開源程序Lucene)
3 智能聚合系統(tǒng)
對抓取到的輿情信息進行深度分析,通過重點目標監(jiān)測和元搜索引擎輔助監(jiān)測,實現全網信息匹配,將全網各種輿情信息副本、衍生版本聚合在一個操作界面下,覆蓋微博、SNS社區(qū)或其他私秘網站,幫助輿情監(jiān)控工作者宏觀把握輿情走勢。
其分析過程主要為:根據中文分詞算法對內容進行解析,分類,通過聚類算法對不同網頁進行歸類,通過發(fā)布時間對文章的首發(fā)和轉發(fā)進行歸類處理,可判斷出一篇文章的轉發(fā)數量。進一步通過分類算法對文章傾向性有初步判斷(這個步驟未實踐過,只做過簡單的匹配算法的語意識別,業(yè)界好像沒有太好的算法,都處于研究階段,效果基于詞庫量的大小,似乎都基于最基本的貪婪算法,局部擇優(yōu)。)
3.1 中文分詞算法:
中文分詞算法有基于詞典的分詞方法、基于統(tǒng)計的分詞方法、基于規(guī)則的分詞方法、基于理解的分詞方法和基于語義的分詞方法。在網絡輿情實際操作中主要采用基于詞典分詞方法中的正向最大匹配算法、逆向最大匹配算法。
3.1.1 正向最大匹配算法MM
基本思想為:
1)假設字典中最長的詞語字數為m,先根據漢語標點符號及特征詞把漢語句子切分為短語,2)從左到右取短語的前m個字字符進行匹配,在字庫里面查找是否存在這個詞語,如果存在,短語就去掉這個詞;如果不存在就去掉這m個字的最后一個字,檢查是否是單字,若是輸出此字并將短語減去此字,若不是則繼續(xù)判斷看字庫是否存在這個詞,如此反復循環(huán),直到輸出一個詞。3)此后繼續(xù)取短語的前m個字反復循環(huán)。這樣就可以將一個短語分成詞語的組合了。
3.2.2 逆向最大匹配算法RMM
基本思想為:
該算法是正向最大匹配的逆向思維,從句子(或文章)末尾開始處理,每次匹配不成功,將匹配字段的最前一個字去掉,實驗表明,逆向最大匹配算法要優(yōu)于正向最大匹配算法。
以“他是一個好人” 為例
正向算法
他是一
他是
他 ===> 得到一個詞
是一個
是一
是 ===>得到一個詞
一個好
一個===> 得到一個詞
好人===>得到一個詞
結果 他、是、一個、好人
反向算法
個好人
好人==> 好人
是一個
一個==> 一個
他是
是==> 是
他==> 他
結果 他、是、一個、好人
正向最大匹配算法復雜度比較小,技術實現比較容易,僅需要建立詞表即可。但是他對歧義識別比較差,分詞的準確性不高。在實際中我們不僅僅簡單的使用正向最大匹配算法,還需要和逆向匹配算法一起使用,這樣可以提高歧義的識別,使他的準確度更高。
3.2 聚類算法:
聚類就是按照“物以類聚”的原理,將本身沒有類別的樣本聚集成不同的組,這樣的一組數據對象叫做簇,并且對每一個這樣的簇進行描述的過程,其劃分的原則是在同一個簇中的對象之間有高度的相似度,而不同簇中的對象差別較大。目前聚類的方法很多,根據基本思想的不同,大致可以將聚類算法劃分為:劃分方法、層次方法、基于密度的方法、基于網格的方法以及基于模型的方法。在網絡輿情聚合中主要采用劃分方法中的K-MEANS聚類算法,因為該算法的效率高,實現起來較為簡單,而且適合于大規(guī)模數據集。
k-means聚類算法
k-means算法以k為參數,把n個對象分成k個簇,使簇內具有較高的相似度,而簇間的相似度較低。
3.3 分類算法
分類的目的是根據數據集的特點構造一個分類函數或分類模型(也常常稱作分類器),該模型能把未知類別的樣本映射到給定類別中的某一個。單一的分類方法主要包括:決策樹、貝葉斯、人工神經網絡、K-近鄰、支持向量機和基于關聯規(guī)則的分類等;另外還有用于組合單一分類方法的集成學習算法,如Bagging和Boosting等。
貝葉斯分類是一類利用概率統(tǒng)計知識進行分類算法,它基于一個假設:屬性之間是相互獨立的,即一個屬性值對給定類的影響獨立于其它屬性的值。但是在實際中,這種假設不總是成立,甚至很難成立,這嚴重影響了分類的準確率,研究者們?yōu)榇搜芯苛撕芏嘟档酮毩⑿约僭O的貝葉斯分類算法,如TAN(tree augmented Bayes network)算法、SBC(selective Bayes classifiers)算法、決策樹算法、NBTree算法等。但是很多學者的研究以及實現表明:即使算法假定的前提不能滿足,原始的貝葉斯算法,即樸素貝葉斯算法在許多領域的分類性能仍然可與決策樹、K-鄰近等公認的經典算法相媲美。且方法簡單、分類準確率高、速度快。
4 網絡輿情算法應用實例
本實例針對各大汽車品牌為了掌握其投放的廣告效應,及其消費者選擇其品牌關注何種內容的廣告,以及在何處值得更多的投入而建立的網絡輿情監(jiān)控系統(tǒng),此系統(tǒng)基于Hadoop對大量數據進行分布式處理,采用垂直搜索引擎進行抓取,將同一汽車品牌同一主題但來自不同信源的熱點信息結合在一起,通過分析、歸類等操作,找出各條廣告的效應以及其效應主要分布在那個網頁,從而做出相應的計劃與安排。圖3為實例截圖。
5 結束語
現在解決網絡輿情的算法有很多,但在實際中很多算法并不實用,本文只對網絡輿情的一些實用算法進行了研究與應用,但隨著網絡輿情傳播方式以及傳播內容的多樣化、復雜化,全面抓取網絡信息并有效收集到同一主題變得不太容易,具體算法的實施還需要進一步的分析與研究。
參考文獻:
[1]張丹.中文分詞算法綜述[J].黑龍江科技信息,2012(08).
[2]黃韜,劉勝輝,譚艷娜.基于k-means聚類算法的研究[J].計算機技術與發(fā)展,2011(07).
[3]陳媛媛,彭新光.分類算法的分析與比較[J].電子產品可靠性與環(huán)境試驗,2004(06).
[4]王來華.輿情研究概論[M].天津:天津社會科學院出版社,2003.
[作者簡介]
米曉萍(1976-),女,山西平遙人,講師,主要研究方向:數據庫與數據挖掘,人工智能。