胡少榮,孟嗣儀,劉 云,張彥超,丁 飛
(北京交通大學(xué)網(wǎng)絡(luò)輿論安全研究中心100044)
隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展及其應(yīng)用的深入,網(wǎng)絡(luò)成為反映社會輿情的主要載體之一。輿情是指在一定的社會空間內(nèi),圍繞中介性社會事件的發(fā)生、發(fā)展和變化,民眾對社會管理者產(chǎn)生和持有的社會政治態(tài)度。它是公眾通過互聯(lián)網(wǎng)傳播的對現(xiàn)實生活中某些熱點、焦點問題所持的有較強影響力、傾向性的言論和觀點。網(wǎng)絡(luò)輿情表達(dá)快捷、信息多元,方式互動,具備傳統(tǒng)媒體無法比擬的優(yōu)勢,因此越來越受到人們的關(guān)注。近些年來,隨著國內(nèi)網(wǎng)民數(shù)量的日益增長,網(wǎng)絡(luò)輿論所具有的強大力量在一些重大新聞事件中得到了很大程度的彰顯。因此科學(xué)分析輿論,對于網(wǎng)絡(luò)輿情的正確引導(dǎo)和管理,具有重要的現(xiàn)實意義。網(wǎng)絡(luò)作為巨大的數(shù)據(jù)源,如何從中提取出人們所關(guān)心的信息,濾除無用信息,是當(dāng)今研究的熱點。網(wǎng)絡(luò)輿情分析中網(wǎng)頁信息自動抽取技術(shù)的研究應(yīng)運而生。
網(wǎng)絡(luò)輿情分析中的網(wǎng)頁信息抽取技術(shù)通過對網(wǎng)頁進(jìn)行處理,用一組信息描述所需要提取的信息,將其結(jié)構(gòu)化后保存到數(shù)據(jù)庫中,方便用戶獲取和利用這些信息。網(wǎng)頁信息抽取的關(guān)鍵是保證信息抽取算法的準(zhǔn)確性和健壯性。但是該技術(shù)主要的問題是要面對不斷變化、更新的海量信息,并且大多數(shù)是以用于瀏覽,而不是用于數(shù)據(jù)操作和應(yīng)用的HTML文檔的形式出現(xiàn)。這就為網(wǎng)頁信息抽取帶來了極大的不方便。
目前,比較流行的抽取技術(shù)包括:基于隱馬爾科夫鏈理論的HMM(HIDDEN Markov Model)[1],基于ontology[2]的信息抽取,基于RBF[3]神經(jīng)網(wǎng)絡(luò)和關(guān)聯(lián)規(guī)則的Web文本分類規(guī)則獲取方法和基于數(shù)據(jù)挖掘MDR(Mining Data Records)[4]的算法。以上算法都基于復(fù)雜的數(shù)學(xué)模型,實施起來比較困難,信息抽取的效率和準(zhǔn)確性也不盡如人意。為最大程度地實現(xiàn)信息抽取的自動化,本文提出了網(wǎng)絡(luò)輿情分析中網(wǎng)頁信息自動抽取的方法,主要用于高效、精確地抽取并存儲有用信息。目前,網(wǎng)絡(luò)輿情的主要來源有各大新聞網(wǎng)站、論壇和博客。因此本文所采用的信息自動抽取技術(shù)也主要針對這3類網(wǎng)頁信息進(jìn)行處理。
本文涉及的網(wǎng)頁信息自動抽取技術(shù)包括URL模板過濾網(wǎng)頁、網(wǎng)頁信息結(jié)構(gòu)化、網(wǎng)頁解析模板匹配和數(shù)據(jù)庫存儲,其操作方便,切實可行。
網(wǎng)頁信息自動抽取首先通過URL模板匹配過濾出可以解析的網(wǎng)頁,然后將可解析的HTML文檔進(jìn)行網(wǎng)頁結(jié)構(gòu)化處理,生成XML文檔。最后結(jié)合DOM4J和XPath語言建立頁面解析模板,從XML文檔中抽取指定節(jié)點信息,并將其存儲進(jìn)入數(shù)據(jù)庫。抽取流程見圖1。

圖1 網(wǎng)頁信息自動抽取流程圖
2.1.1 基于URL的模板匹配
由于在信息抽取中,頁面解析模板包含了大量的路徑信息,在進(jìn)行匹配時,會消耗大量的時間。如果能在網(wǎng)頁解析前對無關(guān)網(wǎng)頁(如廣告網(wǎng)頁、用戶沒有定制的網(wǎng)頁)進(jìn)行一定的預(yù)處理的話,勢必會對系統(tǒng)的運行效率有很可觀的改善。
本文利用了網(wǎng)頁URL模板匹配庫來進(jìn)行URL結(jié)構(gòu)的過濾分析,該模板中主要包含了匹配URL的正則表達(dá)式和頁面解析模板的選擇參數(shù)。
正則表達(dá)式(regular expression)就是用某種模式去匹配一類字符串的一個公式。正則表達(dá)式由一些普通字符和元字符(matacharacters)組成,它被轉(zhuǎn)換成特定的算法,根據(jù)這個算法來進(jìn)行文本匹配。在許多程序設(shè)計語言中,正則表達(dá)式通常被用來作為檢索或替換字符串?dāng)?shù)據(jù)的一種強大的工具。
正則表達(dá)式的強大功能不只是表現(xiàn)在特定的字符串匹配,而是字符類型的模式匹配。正則表達(dá)式中由很多特殊字符,它們分別用來匹配不同的字符類、制定匹配位置和制定重復(fù)字符。因此可以利用它來對需要處理的網(wǎng)址進(jìn)行過濾。本平臺在開發(fā)中正是利用了正則表達(dá)式的優(yōu)點來對網(wǎng)頁進(jìn)行篩選的。
URL模板匹配庫是一個包含了網(wǎng)站URL特征的XML文件,與待抽取網(wǎng)頁的URL進(jìn)行模板匹配,判斷頁面是否可以被解析并確定其網(wǎng)頁解析模板。圖2表示的是匹配網(wǎng)易論壇的URL模板。其中

圖2 網(wǎng)易論壇URL模板代碼
2.1.2 網(wǎng)頁信息結(jié)構(gòu)化
由于網(wǎng)絡(luò)上的多數(shù)信息是用HTML語言來表示,其數(shù)據(jù)的異構(gòu)性和半結(jié)構(gòu)化使得這種語言不能處理網(wǎng)絡(luò)上的很多需求。本文將XML應(yīng)用在網(wǎng)頁信息自動抽取中的主要目的就是為了解決這兩方面的問題,為輿情分析中提供結(jié)構(gòu)化的數(shù)據(jù)。
(1)HTML
HTML(超文本標(biāo)記語言)是用于創(chuàng)建網(wǎng)頁和進(jìn)行信息發(fā)布的通用語言。格式和語法比較簡單,規(guī)定比較靈活。但是其表現(xiàn)過于簡單、擴展性差,缺少語義性,許多功能受到了限制。
(2)XML
XML是一種元標(biāo)記語言,它將結(jié)構(gòu)、內(nèi)容和表現(xiàn)分離,提供描述結(jié)構(gòu)化資料的格式,有著良好的數(shù)據(jù)存儲格式、可擴展性、高度結(jié)構(gòu)化、語義性強、便于網(wǎng)絡(luò)傳輸?shù)葍?yōu)勢,不僅能滿足不斷增長的網(wǎng)絡(luò)應(yīng)用需求,而且還能確保在網(wǎng)絡(luò)進(jìn)行交互時,具有良好的可靠性與互操作性。這就為本文的抽取信息方案提供了理論依據(jù),確保其切實可行。
經(jīng)研究,HTML網(wǎng)頁均可轉(zhuǎn)換為XML文檔,經(jīng)過轉(zhuǎn)化后,可以清晰地查看到網(wǎng)頁節(jié)點信息,從而能很方便地定位并抽取這些信息。如圖3,這是經(jīng)過轉(zhuǎn)換后的XML的文檔片段。
2.1.3 基于XPath的網(wǎng)頁解析模板的設(shè)計
XPath(XML Path Language)是一門在XML文檔中查找信息的語言,可用來在XML文檔中對元素和屬性進(jìn)行遍歷。XPath將一個XML文檔建模成為一棵節(jié)點數(shù),有不同類型的節(jié)點,包括元素節(jié)點,屬性節(jié)點和正文節(jié)點。根據(jù)節(jié)點的名字,利用Xpath的導(dǎo)航能力可以直接定位到包含信息的節(jié)點,從根節(jié)點開始層層深入,逐步遍歷,為每個節(jié)點構(gòu)建一個地址,直到返回所需要的結(jié)果,從而得到XPath表達(dá)式,這可以減小基于文本的信息提取系統(tǒng)的搜索空間。例如,在圖3中待抽取信息在模板中定義為://DIV[@class='outContainer'] /DIV/DIV/DIV[2] /DIV/LI/STRONG。

圖3 經(jīng)轉(zhuǎn)換后的XML文檔
其中,DIV為上層節(jié)點名稱,class為節(jié)點屬性,outContainer為節(jié)點屬性值。表達(dá)式從根節(jié)點逐步遞進(jìn)到STRING節(jié)點,這樣結(jié)合在一起就構(gòu)成了待抽取信息相對路徑的表達(dá)式。
本文針對網(wǎng)頁信息劃分了3類模板:(1)新聞解析模板;(2)論壇解析模板;(3)博客解析模板。基本上可以囊括大部分網(wǎng)絡(luò)中的熱點話題。在撰寫本文前,URL模板庫和網(wǎng)頁解析模板庫中已設(shè)計如下模板:論壇解析模板包括新浪、網(wǎng)易、騰訊的論壇主題頁面及論壇回復(fù)頁面模板;博客解析模板包括新浪、網(wǎng)易和聚友網(wǎng)的主題頁面及博客回復(fù)頁面模板;新聞解析模板包括網(wǎng)易、搜狐、鳳凰網(wǎng)的新聞模板。這里主要介紹論壇的網(wǎng)頁解析模板。
論壇解析模板庫同樣為XML文件格式,論壇頁面的抽取信息一般包括發(fā)帖標(biāo)題、所屬板塊、發(fā)帖作者、發(fā)帖時間、發(fā)帖內(nèi)容、回復(fù)數(shù)量、回帖作者、回帖時間、回帖內(nèi)容。這些基本上涵蓋了我們所關(guān)心的重要信息。通過對每條信息指定XPath路徑,就可以達(dá)到自動抽取網(wǎng)頁信息的效果。另外,由于論壇有主帖和回帖之分,因此模板庫中記錄了區(qū)分主帖和回帖的統(tǒng)計信息,圖4顯示了網(wǎng)易論壇的解析模板部分代碼。

圖4 網(wǎng)頁解析模板部分代碼
其中module屬性是模板標(biāo)識,區(qū)分主帖回帖,若經(jīng)過URL匹配后得到的屬性后綴是“topic”,那么可判斷該頁面為主帖,之后利用DOM4J解析器可以從指定的XML文檔中自動抽取出主帖信息。若判斷為回帖,則用回帖解析模板來抽取回帖信息。
由于網(wǎng)絡(luò)輿情分析中需要處理的數(shù)據(jù)達(dá)到數(shù)億級,因此對數(shù)據(jù)存儲算法及數(shù)據(jù)庫的優(yōu)化設(shè)計就顯得極為重要。在面對海量數(shù)據(jù)存儲的過程中,最主要的是對重復(fù)的網(wǎng)頁信息不再進(jìn)行保存,這樣可簡化數(shù)據(jù)存儲時的負(fù)擔(dān),并且為之后分析數(shù)據(jù)提供方便。文中網(wǎng)頁信息自動抽取技術(shù)在存儲數(shù)據(jù)時對數(shù)據(jù)庫進(jìn)行了優(yōu)化,在解決避免重復(fù)數(shù)據(jù)的存入時,采用hashcaode(哈希值)作為表的索引,以論壇為例,通過對作者、時間、標(biāo)題這3個字段組成的字符串進(jìn)行哈希運算,由于不同的對象有不同的哈希值,因此在數(shù)據(jù)存儲時能使信息數(shù)據(jù)的重復(fù)率大大降低,并且可以提高數(shù)據(jù)庫查詢效率。
消息理解會議(MUC)為信息檢索和信息提取領(lǐng)域內(nèi)的算法性能測試提供了一系列的評估參數(shù),主要參數(shù)是回召率(Recall)Re和查準(zhǔn)率(Precision)Pr,公式如下:

通常,查準(zhǔn)率和回召率需要一起考慮,因此為了使得評估結(jié)果更全面、更具說服力,將二者結(jié)合成一個綜合性的數(shù)據(jù)F,能計算Re和Pr的加權(quán)幾何平均值,其計算公式:

其中β為R和Pr的相對權(quán)重,決定了Re和Pr的比值。通常β是一個預(yù)設(shè)值,決定對Pr側(cè)重還是對Re側(cè)重。通常設(shè)定為1,這樣用F一個數(shù)值就可看出系統(tǒng)的好壞[5]。
在如下平臺中測試本系統(tǒng)的性能:實驗機器的CPU 為4.2 GHz,內(nèi)存2.0 G,操作系統(tǒng)是Windows XP 。運行環(huán)境為MyEclipse 6.5,數(shù)據(jù)庫是MySql 5.0,程序使用JAVA語言。實驗數(shù)據(jù)來源于北京交通大學(xué)紅果園論壇(http://bbs.njtu.edu.cn/)2009年10月31日至2009年11月1日的網(wǎng)頁信息。實驗結(jié)果見表1。

表1 性能測試結(jié)果
表1中:N表示待處理的網(wǎng)頁數(shù)量;EN表示經(jīng)過URL匹配可以解析的頁面的數(shù)量;T表示抽取時間;Re表示回召率;Pr表示查準(zhǔn)率;F表示Re和Pr的加權(quán)幾何平均值。
實驗結(jié)果表明,使用網(wǎng)頁信息自動抽取方案可以有效地完成信息抽取任務(wù),處理速度較快,準(zhǔn)確率較高,基本上達(dá)到了實驗預(yù)期的目的。
網(wǎng)絡(luò)輿情分析越來越受到大眾的關(guān)注,如何能高效抽取網(wǎng)頁有效信息成為研究的熱點之一。本文提出了網(wǎng)頁信息自動抽取方案,通過網(wǎng)頁結(jié)構(gòu)化處理將HTML文件轉(zhuǎn)換為易于數(shù)據(jù)交換的XML文檔,結(jié)合DOM4J和XPath語言建立網(wǎng)頁解析模板,根據(jù)模板的抽取規(guī)則對網(wǎng)頁信息進(jìn)行自動抽取。實踐證明,該方法能精確高效地自動抽取網(wǎng)頁信息,并且實現(xiàn)方便,具有較高的工程應(yīng)用價值。當(dāng)然該方案還處于初級使用階段,算法功能還不夠完善。因此,如何提高對多種網(wǎng)頁結(jié)構(gòu)的適應(yīng)性,完善算法自動化和智能性,同時減少算法復(fù)雜性,是今后的主要研究方向。
[1] 王雷,陳治平,李志成. 基于文本分塊的多模板隱馬爾可夫模型的文本信息抽取[J] . 山東大學(xué)學(xué)報(理學(xué)版),2006,41(3):25.
[2] 王昕,熊光楞. 基于本體的設(shè)計原理信息提取[J] . 計算機輔助設(shè)計與圖形學(xué)學(xué)報,2002,14(5):429.
[3] 王煜,徐建明. 基于RBF神經(jīng)網(wǎng)絡(luò)和決策樹的文本分類方法[J] .計算機工程與應(yīng)用,2005,42(14):175.
[4] Liu B.,Grossman R.,Zhai YH,Mining Data Records inWeb Pages[C] .Proceedings of the Knowledge Discoveray and Data Mining(KDD)2003:601.
[5] Laender A H F,Ribeiro- Neto B A,Da Silva A S,et al.A Brief Survey of Web Data Extraction Tools[J] .SIGMOD Record,2002,31(2):84.