《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于視覺特征的網(wǎng)頁正文提取方法研究
基于視覺特征的網(wǎng)頁正文提取方法研究
安增文,,徐杰鋒
(中國(guó)石油大學(xué)(華東) 計(jì)算機(jī)與通信工程學(xué)院,,山東 東營(yíng) 257000)
摘要: 利用網(wǎng)頁的視覺特征和DOM樹的結(jié)構(gòu)特性對(duì)網(wǎng)頁進(jìn)行分塊,,并采用逐層分塊逐層刪減的方法將與正文無關(guān)的噪音塊刪除,,從而得到正文塊。對(duì)得到的正文塊運(yùn)用VIPS算法得到完整的語義塊,,最后在語義塊的基礎(chǔ)上提取正文內(nèi)容,。試驗(yàn)表明,這種方法是切實(shí)可行的,。
關(guān)鍵詞: 頁面分塊 信息提取 視覺特征
Abstract:
Key words :

摘  要: 利用網(wǎng)頁的視覺特征和DOM樹的結(jié)構(gòu)特性對(duì)網(wǎng)頁進(jìn)行分塊,,并采用逐層分塊逐層刪減的方法將與正文無關(guān)的噪音塊刪除,從而得到正文塊,。對(duì)得到的正文塊運(yùn)用VIPS算法得到完整的語義塊,,最后在語義塊的基礎(chǔ)上提取正文內(nèi)容。試驗(yàn)表明,,這種方法是切實(shí)可行的,。
關(guān)鍵詞: 頁面分塊信息提取,;視覺特征

    隨著互聯(lián)網(wǎng)的迅速發(fā)展,,互聯(lián)網(wǎng)上的信息量以幾何級(jí)數(shù)倍增。人們需要在海量的信息庫中查找自己需要的信息,。雖然搜索引擎能幫助人們快速地搜索到想要的信息,,但每個(gè)網(wǎng)頁除了正文內(nèi)容外還摻雜了很多用戶不需要的信息。例如,,為了方便用戶瀏覽而加入的導(dǎo)航鏈接,、出于商業(yè)利益而加入的廣告鏈接、版權(quán)信息以及相關(guān)主題閱讀推薦鏈接等,。這些信息摻雜在網(wǎng)頁中,,影響了用戶對(duì)主題內(nèi)容的瀏覽。因此,如何從包含大量噪音內(nèi)容的網(wǎng)頁中將正文信息準(zhǔn)確,、完整地提取出來成為眾多研究者研究的課題,。
1 相關(guān)工作
    在Web信息抽取領(lǐng)域,已經(jīng)有大量的研究工作,,包括HTML結(jié)構(gòu)分析方法(如XWRAP和Lixto),、基于自然語言處理的方法(如SRV和WHISK)、機(jī)器學(xué)習(xí)方法等,。但是這些方法都是針對(duì)特定網(wǎng)站或特定格式的,,不具有通用性,并且不能完成自動(dòng)抽取,。眾多的Web網(wǎng)頁正文信息提取方法都有各自的優(yōu)缺點(diǎn),。
    參考文獻(xiàn)[1]采用機(jī)器學(xué)習(xí)的方法提取網(wǎng)頁正文信息。此方法通過對(duì)網(wǎng)頁集的學(xué)習(xí),,不斷生成新的模板,,從而建立模板庫。提取信息時(shí),,查找對(duì)應(yīng)的模板,,利用模板中主題結(jié)點(diǎn)信息,直接定位主題信息塊,,快速提取主題信息,。雖然此方法采用自動(dòng)抽取的方式,其智能化程度也在一定程度上方便了用戶的使用,,但對(duì)于一個(gè)新的網(wǎng)頁,,若找不到匹配的模板,此方法就不適用了,。而且隨著模板數(shù)量的增加,,模板庫的維護(hù)工作也變得越來越復(fù)雜。
    從頁面視覺特征的角度對(duì)網(wǎng)頁結(jié)構(gòu)進(jìn)行挖掘也是很有效的途徑,。典型的代表就是微軟亞洲研究院提出的VIPS(Vision-based Page Segmentation)算法[2],。它利用背景顏色、字體顏色和大小,、邊框,、邏輯塊和邏輯塊之間的間距等視覺特征,通過制定相應(yīng)的規(guī)則把頁面分成了各個(gè)視覺信息塊,。這能在一定程度上滿足復(fù)雜頁面對(duì)算法的要求,,但由于視覺特征的復(fù)雜性,運(yùn)用的啟發(fā)知識(shí)往往較為模糊,,需要人工不斷地總結(jié)調(diào)整規(guī)則,,因此如何保證規(guī)則集的一致性是一大難點(diǎn),。
    有許多研究者考慮使用HTML標(biāo)簽信息來劃分頁面。其中,,中科院計(jì)算所軟件研究室提出利用TABLE標(biāo)記和視覺特征對(duì)頁面進(jìn)行語義塊劃分,,并識(shí)別各語義塊屬性的算法TVPS(Table and Vision based Page Segmentation)[3]。TVPS算法中的分塊方法只考慮了各個(gè)最底層的TABLE標(biāo)記,,但是實(shí)際情況中網(wǎng)頁樣式結(jié)構(gòu)和TABLE標(biāo)記的嵌套關(guān)系都非常復(fù)雜,,網(wǎng)頁正文信息不一定全在最底層的TABLE標(biāo)記中。如果只考慮最底層的TABLE標(biāo)記,,會(huì)遺漏部分正文信息,。
    參考文獻(xiàn)[4]根據(jù)正文字?jǐn)?shù)多、標(biāo)點(diǎn)符號(hào)多2個(gè)特征,,提出一種基于正文特征的網(wǎng)頁正文信息提取方法,。該方法利用HTML標(biāo)簽對(duì)網(wǎng)頁內(nèi)容進(jìn)行分塊,把具有正文特征的塊保留,,不具有正文特征的塊舍棄,,從而進(jìn)行網(wǎng)頁正文信息的提取。這種方法對(duì)于新聞,、財(cái)經(jīng),、科技等類型網(wǎng)頁提取效果較好,但對(duì)于圖片多文字少或?qū)τ谟脩艋靥謹(jǐn)?shù)較少的論壇型網(wǎng)頁提取效果較差,。
    以往的基于分塊的網(wǎng)頁信息提取算法都是對(duì)整個(gè)網(wǎng)頁進(jìn)行處理,并分完塊后再對(duì)頁面塊進(jìn)行取舍,,確定正文塊,。這類方法對(duì)與頁面主題無關(guān)的噪音信息也進(jìn)行了處理,增加了算法的復(fù)雜度,。本文在前人工作的基礎(chǔ)上結(jié)合參考文獻(xiàn)[3],、[4]、[7],,提出采用逐層分塊逐層刪減的方法對(duì)Web網(wǎng)頁進(jìn)行信息提取,,以降低算法的復(fù)雜度,提高抽取的準(zhǔn)確度,,并用試驗(yàn)驗(yàn)證其可行性,。
2 正文提取算法
    Web網(wǎng)頁通常分為3種類型:主題型網(wǎng)頁、圖片型網(wǎng)頁,、目錄型網(wǎng)頁[5],。主題型網(wǎng)頁通常通過成段的文字描述1個(gè)或多個(gè)主題(如新聞網(wǎng)頁);圖片型網(wǎng)頁中內(nèi)容是通過圖片體現(xiàn)的,,只用少量文字對(duì)圖片進(jìn)行說明,;目錄型網(wǎng)頁通常不會(huì)用成段的文字描述,而是提供指向相關(guān)網(wǎng)頁的超鏈接,也可稱為索引頁,。本文所研究的網(wǎng)頁正文提取是針對(duì)主題型網(wǎng)頁展開的,。
2.1 VIPS算法
    VIPS算法充分利用了Web頁面的布局特征。它首先從DOM樹中提取出所有合適的頁面塊,,然后根據(jù)這些頁面塊檢測(cè)出它們之間所有的分割條,,包括水平和垂直方向;最后基于這些分割條,,重新構(gòu)建Web頁面的語義結(jié)構(gòu),。對(duì)于每一個(gè)語義塊又可以使用VIPS算法繼續(xù)分割為更小的語義塊。該算法分為頁面塊提取,、分隔條提取和語義塊重構(gòu)3部分,,并且是遞歸調(diào)用的過程,直到條件不滿足為止,。在此僅對(duì)頁面塊提取方法做簡(jiǎn)單介紹,。
    整個(gè)VIPS算法自頂向下,圖1(a)顯示的是一個(gè)表格,,該表格是整個(gè)Web頁面的一部分,,它的DOM樹結(jié)構(gòu)如圖1(b)所示。在頁面塊的提取過程中,,當(dāng)遇到<TABLE>結(jié)點(diǎn)時(shí),,它只有1個(gè)有效的孩子結(jié)點(diǎn)<TR>。根據(jù)參考文獻(xiàn)[2]中規(guī)則,,進(jìn)入<TR>標(biāo)簽,。該<TR>結(jié)點(diǎn)具有5個(gè)<TD>孩子結(jié)點(diǎn),但是它們中只有3個(gè)是有效結(jié)點(diǎn),,而且第1個(gè)孩子結(jié)點(diǎn)的背景顏色與父親結(jié)點(diǎn)的顏色不同,。根據(jù)參考文獻(xiàn)[2]中規(guī)則,該<TR>結(jié)點(diǎn)將被分割,,而第1個(gè)<TD>結(jié)點(diǎn)在本次迭代中不進(jìn)行分割,,將其保存到頁面塊池中。第2個(gè)和第4個(gè)<TD>結(jié)點(diǎn)為無效結(jié)點(diǎn),,因此將被刪除,。對(duì)于第3個(gè)和第5個(gè)<TD>結(jié)點(diǎn),根據(jù)參考文獻(xiàn)[2]中規(guī)則,,在本次迭代中不再分割,,被保存到頁面塊池中。因此最終得到3個(gè)頁面塊VB2_1,、VB2_2和VB2_3,。

2.2 頁面塊提取和過濾
    由于VIPS算法的重點(diǎn)是對(duì)網(wǎng)頁進(jìn)行分塊,,所以其要對(duì)網(wǎng)頁上的所有內(nèi)容進(jìn)行處理。而對(duì)于網(wǎng)頁信息提取,,只有與主題相關(guān)的正文信息才有意義,,其他內(nèi)容(如導(dǎo)航欄、相關(guān)閱讀,、廣告鏈接,、用戶評(píng)論等)都屬于噪音信息,只需要識(shí)別出來,,并不需要對(duì)其進(jìn)行處理,。如果直接利用VIPS算法對(duì)網(wǎng)頁進(jìn)行頁面塊的劃分,則會(huì)將那些與正文內(nèi)容無關(guān)的噪音內(nèi)容也進(jìn)行處理,,需要大量的內(nèi)存來保存結(jié)點(diǎn)信息,,增加了算法的時(shí)間和空間開銷,也不利于提高提取的準(zhǔn)確度,。所以本文采用逐層分塊逐層刪減的方法,,將網(wǎng)頁中的噪音信息盡早地刪除,以節(jié)省開銷,、提高準(zhǔn)確度,。本文在頁面塊提取和過濾階段只利用了VIPS算法中的頁面塊提取方法,并未進(jìn)行分隔條的提取和語義塊的重構(gòu),,而是在過濾完成后對(duì)保留的頁面塊進(jìn)行相應(yīng)的處理,。
    由于VIPS算法中的頁面塊提取過程是結(jié)合DOM樹和視覺特征,利用人工制定的規(guī)則來判斷該結(jié)點(diǎn)是否需要再分,,并用頁面塊池來存儲(chǔ)要被繼續(xù)提取的頁面塊,,所以可以對(duì)每一層完全提取后頁面塊池中保存的頁面塊進(jìn)行相應(yīng)的判斷,將與標(biāo)題內(nèi)容無關(guān)的噪音塊刪除,。這樣將每1次提取出來的頁面塊中的噪音塊都刪除,當(dāng)頁面塊提取完后,,剩下的頁面塊即為要進(jìn)行信息提取的頁面塊,。
    對(duì)網(wǎng)頁信息的抽取包括:頁面主題、發(fā)表時(shí)間,、正文內(nèi)容,,抽取流程如圖2所示。

    (1)構(gòu)建DOM樹,。由于HTML書寫的隨意性,,首先對(duì)HTML代碼進(jìn)行預(yù)處理,例如對(duì)書寫不規(guī)范的標(biāo)簽進(jìn)行補(bǔ)全處理,,以免在后面的程序處理中造成錯(cuò)誤,,并去除一些無用標(biāo)簽,,如<script>、注釋信息等,。網(wǎng)絡(luò)上有很多網(wǎng)頁預(yù)處理工具可以將不規(guī)范的html代碼規(guī)范化,,例如HTML Tidy等。構(gòu)造DOM樹的過程中要保存每個(gè)結(jié)點(diǎn)的字體大小,、顏色,、粗細(xì)、背景色等視覺信息,,方便后續(xù)處理,。
    (2)對(duì)網(wǎng)頁進(jìn)行逐層分塊逐層刪減。根據(jù)對(duì)大量網(wǎng)頁的統(tǒng)計(jì),,處于網(wǎng)頁最上方和最下方的頁面塊基本全部是網(wǎng)站的導(dǎo)航鏈接和版權(quán)聲明,,這2個(gè)頁面塊可以直接刪除。而頁面塊的中心位置與網(wǎng)頁的左邊框或右邊框的距離小于一定閾值的基本全為廣告信息,。在實(shí)驗(yàn)數(shù)據(jù)中有的廣告可以占到網(wǎng)頁寬度的40%,。可以利用這一特征將網(wǎng)頁四周的噪音塊刪除,。定義網(wǎng)頁的左上角頂點(diǎn)為坐標(biāo)原點(diǎn),,網(wǎng)頁的右下角頂點(diǎn)坐標(biāo)為(WIDTH,HEIGHT),,每個(gè)頁面塊的中心點(diǎn)坐標(biāo)為(Center_X,,Center_Y),定義4個(gè)閾值:上臨界值(TOP),、下臨界值(BOTTOM),、左臨界值(LEFT)、右臨界值(RIGHT),,據(jù)此可以得出對(duì)頁面塊進(jìn)行刪減的2個(gè)判斷規(guī)則:
    規(guī)則1:IF Center_X<LEFT‖Center_X>RIGHT,,則刪除該塊。
    規(guī)則2:IF Center_Y<TOP‖Center_Y>BOTTOM,, 則刪除該塊,。
    進(jìn)行完第1次頁面塊提取后可以利用這2個(gè)判斷規(guī)則將位于頁面四周的導(dǎo)航欄、廣告內(nèi)容,、版權(quán)聲明等頁面塊刪除,。
    網(wǎng)頁中不僅包括正文標(biāo)題、發(fā)表時(shí)間,、主題相關(guān)圖片,、正文內(nèi)容等要抽取的信息,還包括相關(guān)閱讀等與頁面主題相關(guān)但不需要抽取的信息以及圖片廣告,、搜索欄等噪音內(nèi)容,。在頁面塊提取過程中記錄該頁面塊的中心位置的坐標(biāo),、文字長(zhǎng)度(TextLength)、鏈接文字長(zhǎng)度(LinkTextLength),、圖片數(shù)量(ImageNum),。記正文字?jǐn)?shù)和鏈接個(gè)數(shù)的比值為F。設(shè)置閾值T(試驗(yàn)中T=2),。據(jù)此可以得出對(duì)頁面塊進(jìn)行刪減的3個(gè)判斷規(guī)則:
    規(guī)則3:IF F<T && ImageNum=0,,則說明該塊為相關(guān)閱讀或文字廣告鏈接,刪除該塊
    規(guī)則4:IF F<T && ImageNum>0 && CENTER_Y>HEIGHT/2,,即鏈接較多,,文字較少且位于網(wǎng)頁的下方,則為圖片廣告,,刪除該塊,。
    規(guī)則5:IF TextLength<100,可能為搜索欄或用戶評(píng)論等噪音,,刪除該塊,。
    對(duì)逐層提取出來的頁面塊按照以上5個(gè)判斷規(guī)則逐層將噪音塊刪除。
2.3 正文信息提取
    逐層分塊逐層刪減后仍保留在內(nèi)存塊池中的頁面塊被認(rèn)為是正文頁面塊,,下面的工作是對(duì)這些頁面塊進(jìn)行信息抽取,。在正式提取內(nèi)容前要對(duì)這些頁面塊進(jìn)行分隔條提取和語義塊的重構(gòu),以保證提取內(nèi)容的語義完整性,。
    (1)提取頁面主題,。包含主題的頁面塊一般具有以下視覺特征:字號(hào)比其他頁面塊都大;字體顏色與其他塊不同,;周圍有較多的空白,;位置在網(wǎng)頁的上方。在此假定滿足以上條件中的3個(gè)或3個(gè)以上即被認(rèn)為是頁面主題塊,。
    (2)提取發(fā)表時(shí)間,。本文利用視覺信息識(shí)別包含發(fā)表時(shí)間的頁面塊。在視覺上,,發(fā)表時(shí)間一般位于頁面主題下方,,且字號(hào)相對(duì)其他內(nèi)容塊較小。利用參考文獻(xiàn)[3]中提到的位置和詞性雙重約束的方式對(duì)發(fā)表時(shí)間進(jìn)行識(shí)別:考慮頁面塊標(biāo)題和正文之間的文字,,判斷它們的詞性,對(duì)詞性為“數(shù)詞(m)”或“時(shí)間詞(t)”的文字串,,把它挖掘出來作為發(fā)表時(shí)間,。本文采用中國(guó)科學(xué)院計(jì)算技術(shù)研究所軟件室研發(fā)的詞法分析器ICTCLAS[6]進(jìn)行詞性的判斷。其對(duì)時(shí)間信息的分析結(jié)果如下所示:
    “2004-06-15/m 08: /m 57: /m 45/m”,、“2004年/t06月/t 5日/t05: /m 37/m”,。
    (3)提取正文內(nèi)容,。需要注意的是:有的正文中有小標(biāo)題,其視覺信息與其他正文內(nèi)容不同,,這上面的分塊中已有體現(xiàn),。
3 試驗(yàn)與分析
    為驗(yàn)證該方法的可行性,從新浪,、搜狐,、網(wǎng)易、新華網(wǎng),、人民網(wǎng)5大熱門網(wǎng)站中各抽取100篇網(wǎng)頁,,共500篇網(wǎng)頁進(jìn)行試驗(yàn),網(wǎng)頁內(nèi)容涉及新聞,、財(cái)經(jīng),、軍事等多個(gè)領(lǐng)域。從頁面標(biāo)題,、發(fā)表時(shí)間,、提取的完整率和準(zhǔn)確率等方面進(jìn)行評(píng)價(jià)。為驗(yàn)證其性能,,從中抽取200篇進(jìn)行人工抽取,,并進(jìn)行比對(duì)。實(shí)驗(yàn)結(jié)果如表1所示,。


    準(zhǔn)確率和完整率的計(jì)算公式如下:
    準(zhǔn)確率=(正確提取正文信息網(wǎng)頁個(gè)數(shù)/網(wǎng)頁總數(shù))×100%
    完整率=(完整提取正文信息的網(wǎng)頁個(gè)數(shù)/正確提取正文信息網(wǎng)頁個(gè)數(shù))×100%
    通過對(duì)實(shí)驗(yàn)結(jié)果的分析發(fā)現(xiàn),,有些網(wǎng)頁的發(fā)表時(shí)間前后都帶有網(wǎng)站的鏈接,導(dǎo)致該頁面塊被當(dāng)作噪音刪除,。實(shí)驗(yàn)數(shù)據(jù)表明,,正文抽取完整率和準(zhǔn)確率都達(dá)到90%以上,證明了該方法的可行性,。
    本文在VIPS算法的基礎(chǔ)上結(jié)合網(wǎng)頁正文抽取的特點(diǎn),,實(shí)現(xiàn)了一種根據(jù)頁面視覺特征對(duì)Web頁面進(jìn)行逐層分塊逐層刪減的正文信息抽取方法。下一步將對(duì)判斷規(guī)則進(jìn)行完善,,以達(dá)到更好的抽取效果,。
參考文獻(xiàn)
[1] 歐健文,董守斌,,蔡斌.模板化網(wǎng)頁主題信息的提取方法[J].清華大學(xué)學(xué)報(bào),,2005,45(S1):1743-1747.
[2] CAI D,, YU S,, WEN J R, et al. VIPS: A vision-based page segmentation algorithm. Microsoft Technical Report,, MSR-TR-2003-79. 2003:10.
[3] 于滿泉,,陳鐵睿,,許洪波.基于分塊的網(wǎng)頁信息解析器的研究與設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用,2005,,25(4):974-976.
[4] 孫桂煌,,劉發(fā)升.基于正文特征的網(wǎng)頁正文信息提取方法[J].現(xiàn)代計(jì)算機(jī),2008(9):34-37.
[5] JOHNSON R,,HOELLOR J,,ARENDSEN A,et al.Spring框架高級(jí)編程[M].蔣培,,譯.北京:機(jī)械工業(yè)出版社,,2006.
[6] 張華平.ICTCLAS[EB/OL]. [2009-08-15].http://mtgroup.
ict.ac.cn/~zhp/ICTCLAS.htm. 2002.
[7] 黃文蓓,楊靜,,顧君忠.基于分塊的網(wǎng)頁正文信息提取算法研究[J].計(jì)算機(jī)應(yīng)用,,2007,27(B06):24-26.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。