李 劍
(南昌陸軍學(xué)院戰(zhàn)斗實(shí)驗(yàn)室,江西南昌 330103)
互聯(lián)網(wǎng)規(guī)模的幾何級(jí)數(shù)增長(zhǎng)和萬(wàn)維網(wǎng)的缺乏規(guī)范性,使網(wǎng)絡(luò)信息檢索與傳統(tǒng)信息檢索相比呈現(xiàn)出明顯的不同之處:互聯(lián)網(wǎng)絡(luò)信息檢索面向的對(duì)象為海量數(shù)據(jù)[1];互聯(lián)網(wǎng)絡(luò)信息檢索所提供的信息內(nèi)容包羅萬(wàn)象,形式多樣。在這種情況下,網(wǎng)頁(yè)凈化技術(shù)成為網(wǎng)絡(luò)信息檢索特有的一個(gè)研究領(lǐng)域,受到越來(lái)越多研究人員的關(guān)注。對(duì)于有主題的網(wǎng)頁(yè),文中提出了基于DOM和神經(jīng)網(wǎng)絡(luò)的網(wǎng)頁(yè)凈化方法。
文中網(wǎng)頁(yè)凈化系統(tǒng)模型分為3個(gè)模塊,分別對(duì)應(yīng)系統(tǒng)處理網(wǎng)頁(yè)的3個(gè)不同階段:在第一個(gè)模塊中,是把整個(gè)網(wǎng)頁(yè)的文檔分割成不同的內(nèi)容塊,然后對(duì)這些塊進(jìn)行分析;第二個(gè)模塊是將內(nèi)容塊樹(shù)中的按照給定標(biāo)準(zhǔn)選擇出固定數(shù)量的子樹(shù),作為模塊三的輸入數(shù)據(jù);模塊三是神經(jīng)網(wǎng)絡(luò)的運(yùn)行部分,能夠選擇出網(wǎng)頁(yè)的主要內(nèi)容塊,模型圖如1 所示[2-3]。
圖1 整個(gè)模型框架圖
HTML文檔是一種半結(jié)構(gòu)化的文檔,這里運(yùn)用了HTML Parser工具對(duì)它進(jìn)行解析。HTML DOM是一種樹(shù)形的結(jié)構(gòu),通常被稱為HTML DOM樹(shù)。它的每個(gè)結(jié)點(diǎn)都代表一個(gè)塊單元,這里把DOM樹(shù)的結(jié)點(diǎn)分為兩種[4]:(1)組織結(jié)點(diǎn),例如:<table>,<tr>,<div>,<ui>等,是被用以劃分整個(gè)網(wǎng)頁(yè)的結(jié)構(gòu)或組織網(wǎng)頁(yè)的內(nèi)容。(2)作非組織結(jié)點(diǎn),展示網(wǎng)頁(yè)內(nèi)容,例如:<td>,<Ii>,<p>,<img>等。通常非組織結(jié)點(diǎn)包含在組織結(jié)點(diǎn)內(nèi)。
通過(guò)對(duì)大量帶有主題的網(wǎng)頁(yè)進(jìn)行研究分析,發(fā)現(xiàn)這類的網(wǎng)頁(yè)有著鮮明的特征,內(nèi)容基本都是被按照所處位置不同被分割成幾個(gè)內(nèi)容塊,幾個(gè)內(nèi)容塊在視覺(jué)上都有區(qū)別,并且網(wǎng)頁(yè)大部分都用 <table>或者<div>劃分頁(yè)面內(nèi)容。因此,可借用這個(gè)特征,把一個(gè)網(wǎng)頁(yè)轉(zhuǎn)化成一個(gè)內(nèi)容塊樹(shù),而內(nèi)容塊樹(shù)又是由子內(nèi)容塊樹(shù)構(gòu)成,子內(nèi)容塊樹(shù)是由它所在的塊中的一些相關(guān)DOM結(jié)點(diǎn)組成。這樣,就方便地把一些有相關(guān)信息和有相似布局的DOM結(jié)點(diǎn)集中在一起,從而為下面去除噪音信息做好準(zhǔn)備工作[5-6]。對(duì)此,設(shè)計(jì)算法如下:
(1)建立HTML文檔的DOM樹(shù),然后把DOM樹(shù)轉(zhuǎn)化成DOM結(jié)點(diǎn)屬性,同時(shí)把組織結(jié)點(diǎn)和非組織結(jié)點(diǎn)分別標(biāo)上對(duì)應(yīng)的標(biāo)簽。
(2)建立一個(gè)空的以<body>為根結(jié)點(diǎn)的內(nèi)容塊樹(shù),再把所有的組織結(jié)點(diǎn)給放進(jìn)一個(gè)結(jié)點(diǎn)池里。
(3)從結(jié)點(diǎn)池中取一個(gè)結(jié)點(diǎn)。
1)如該結(jié)點(diǎn)的左孩子是組織結(jié)點(diǎn),則跳到2),否則跳到3);如該結(jié)點(diǎn)沒(méi)有孩子,則跳到4)。
2)如該結(jié)點(diǎn)是<table>,<tbody>,<div>并且它的后代結(jié)點(diǎn)包含<p>,<li>結(jié)點(diǎn)的話,就把該結(jié)點(diǎn)和它所有的后代結(jié)點(diǎn)都放進(jìn)到一個(gè)新的隊(duì)列中去;否則就把該結(jié)點(diǎn)的左孩子給讀進(jìn)來(lái),然后跳向1)。
3)如該結(jié)點(diǎn)的其它孩子結(jié)點(diǎn)都不是組織結(jié)點(diǎn),則把該結(jié)點(diǎn)和它的后代結(jié)點(diǎn)都放進(jìn)到一個(gè)新隊(duì)列中去;否則,把它的其它孩子給讀進(jìn)來(lái),然后跳向1)。
4)如該結(jié)點(diǎn)沒(méi)有父結(jié)點(diǎn)或者它是<h1~h2>,<hr>,則把該結(jié)點(diǎn)標(biāo)注成S(j++);否則把該結(jié)點(diǎn),它的父結(jié)點(diǎn)和它所有的兄弟結(jié)點(diǎn)都放進(jìn)一個(gè)新的列表中。
5)從結(jié)點(diǎn)池中取出下一個(gè)結(jié)點(diǎn)。
6)for((3)中建立的所有隊(duì)列)。
7)檢查每個(gè)隊(duì)列中的父結(jié)點(diǎn)的所有屬性,比如,fontsize,fontcolor等。若有一個(gè)孩子結(jié)點(diǎn)和父結(jié)點(diǎn)有相同的屬性,這個(gè)父結(jié)點(diǎn)就將被作為一個(gè)分離結(jié)點(diǎn)從它的隊(duì)列中移除。
(4)如果隊(duì)列中的父結(jié)點(diǎn)中包含<h1~h6>的話,該父結(jié)點(diǎn)也會(huì)被作為分離結(jié)點(diǎn)從隊(duì)列中移除。
高情千古一真隱——陶淵明的隱逸思想和隱逸生活探析………………………………………………………………………李蘭東(3.49)
(5)根據(jù)建立隊(duì)列的順序在<body>結(jié)點(diǎn)下把所有的子內(nèi)容塊樹(shù)線建立起來(lái),最終一個(gè)完整對(duì)應(yīng)于網(wǎng)頁(yè)的內(nèi)容塊樹(shù)也就建成了。
在對(duì)主題型網(wǎng)頁(yè)分析研究中,還發(fā)現(xiàn)一些網(wǎng)頁(yè)內(nèi)容在網(wǎng)頁(yè)的展示中需要較多的HTML標(biāo)簽去進(jìn)行修飾編碼,特別是標(biāo)題、邊欄、廣告欄、眉頭和頁(yè)腳等。從中可以統(tǒng)計(jì)出,與網(wǎng)頁(yè)主題關(guān)系度較小的網(wǎng)頁(yè)信息塊,它所包含的HTML編碼都較多。因此,為了從內(nèi)容塊樹(shù)中抽取得網(wǎng)頁(yè)的主要內(nèi)容塊,把冗余的不相關(guān)的或者相關(guān)度低的信息過(guò)濾凈化掉,文中參考了子塊中文本內(nèi)容和HTML編碼的比例特征對(duì)子塊進(jìn)行初步篩選:
(1)設(shè)定子內(nèi)容塊占總內(nèi)容文本比例的臨界值和子內(nèi)容塊和它對(duì)應(yīng)的HTML編碼的比例的臨界值。
(2)計(jì)算整個(gè)內(nèi)容塊樹(shù)的文本大小。
(3)計(jì)算各個(gè)內(nèi)容塊子樹(shù)的文本大小,并得出各文本占內(nèi)容塊樹(shù)文本的比例。
(5)計(jì)算出各個(gè)內(nèi)容子塊和它對(duì)應(yīng)的HTML編碼的比例。
(6)通過(guò)上面的臨界值,來(lái)綜合選出用于作為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練輸入子內(nèi)容塊。
本模塊以BP神經(jīng)網(wǎng)絡(luò)為基礎(chǔ)構(gòu)建,整個(gè)模塊分成兩個(gè)階段:訓(xùn)練階段和測(cè)試階段。
文中運(yùn)用的神經(jīng)網(wǎng)絡(luò)由3層結(jié)構(gòu)組成:輸入層、隱含層和輸出層。實(shí)驗(yàn)證明,多層神經(jīng)元并不會(huì)使結(jié)果更優(yōu)化,反而增加了計(jì)算的復(fù)雜度,因此采用標(biāo)準(zhǔn)3層結(jié)構(gòu)。作用函數(shù)為非線性的Singmod型函數(shù),表達(dá)式為
從新浪博客、網(wǎng)易體育和百度知道網(wǎng)上分別獲取了3個(gè)不同類型的網(wǎng)頁(yè),數(shù)量都為600個(gè),其中各自的500個(gè)網(wǎng)頁(yè)用作訓(xùn)練,另外各自的100個(gè)網(wǎng)頁(yè)用來(lái)測(cè)試。實(shí)驗(yàn)結(jié)果的分析通過(guò)3個(gè)指標(biāo)來(lái)衡量,分別是正確率CR,誤取率ER和漏取率LR。
其中,CB是提取出的正確的內(nèi)容塊數(shù);TB是總的主要內(nèi)容塊數(shù);EB是誤取的內(nèi)容塊數(shù);LB是漏取的主內(nèi)容塊數(shù)。
在運(yùn)用上述3個(gè)模塊對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行實(shí)驗(yàn)后,依據(jù)實(shí)驗(yàn)結(jié)果計(jì)算出各自的3個(gè)指標(biāo)數(shù)據(jù),用柱狀圖表示如下。
圖2 實(shí)驗(yàn)結(jié)果
如圖2所示,無(wú)論從正確率、錯(cuò)誤率和漏測(cè)率都能夠比較正確地把網(wǎng)頁(yè)中的冗余信息去除掉,通過(guò)從3類網(wǎng)頁(yè)的分析和實(shí)驗(yàn)結(jié)果中,得出網(wǎng)易體育的主題性最強(qiáng),其次是百度知道及新浪博客。而且網(wǎng)易體育的凈化效果在3個(gè)指標(biāo)中也是最好的。從而說(shuō)明,該方法是對(duì)主題越突顯的網(wǎng)頁(yè)效果越好,適合用于網(wǎng)頁(yè)分類應(yīng)用中,比如搜索引擎。在搜索引擎按照一定的主題和算法爬取到網(wǎng)頁(yè)后,要對(duì)這些網(wǎng)頁(yè)進(jìn)行分類和建立索引,這個(gè)凈化方法就會(huì)為網(wǎng)頁(yè)的分類提供較大的幫助。
在改進(jìn)的DOM樹(shù)和BP神經(jīng)網(wǎng)絡(luò)理論的基礎(chǔ)上,設(shè)計(jì)了一種新的中文網(wǎng)頁(yè)凈化方法,通過(guò)實(shí)驗(yàn)結(jié)果,看到了該方法對(duì)于有主題網(wǎng)頁(yè)凈化的效果良好,且網(wǎng)頁(yè)主題越清晰,效果越好。
[1]張志剛,陳靜,李曉明.一種HTML網(wǎng)頁(yè)凈化方法[J].情報(bào)學(xué)報(bào),2004(4):387-393.
[2]王建冬,王繼民,田飛佳.一種基于內(nèi)容規(guī)則的網(wǎng)頁(yè)去噪算法[J].現(xiàn)代圖書(shū)情報(bào)技術(shù),2008(3):51-54.
[3]萬(wàn)樂(lè),左萬(wàn)利,高金.基于主題的網(wǎng)頁(yè)去噪音機(jī)制[J].計(jì)算機(jī)工程與技術(shù),2008(8):2072-2084.
[4]劉亞清,陳榮.基于隱馬爾可夫模型的 Web信息抽取[J].計(jì)算機(jī)工程,2009(18):25 -27.
[5]HIROSHI S,JUN R,MITSURU N.Modified minimum classification error learning and its application to neural networks[C].SSPR/SPR,1998,1451:785 -794.
[6]SHEN Dou,YANG Qiang,CHEN Zheng.Noise reduction through summarization for Web - page classification[J].Science Direct,Inf.Process.Manage,2007,43(6):1735-1747.