一種基于區(qū)塊樹的Web頁面鏈接塊的識別方法
【專利摘要】本發(fā)明提出一種基于區(qū)塊樹的Web頁面鏈接塊的識別方法,并基于此提出鏈接塊判別和評價指標(biāo),同時結(jié)合區(qū)塊樹提出正向鏈接塊判別和逆向鏈接塊判別兩種基本的區(qū)塊遍歷和判別算法;正向判別法識別速度快,鏈接塊粒度大,可用于對索引類型Web頁面的分析及文本抽取應(yīng)用中;逆向判別法能輕松靈活的控制鏈接塊的粒度大小和數(shù)量規(guī)模,保障鏈接塊的精細(xì)化和完整性,從而最終實現(xiàn)鏈接塊對頁面鏈接覆蓋的全面性,該方法既可用于對鏈接塊要求粒度細(xì)膩的場合,也可用于頁面去噪、文本提取、頁面抽取模板自動生成等場合;本發(fā)明所提出的區(qū)塊樹作為Web頁面分析處理的基礎(chǔ),結(jié)合所提出兩種遍歷和判別法,可以廣泛應(yīng)用于Web數(shù)據(jù)預(yù)處理及數(shù)據(jù)挖掘等領(lǐng)域。
【專利說明】—種基于區(qū)塊樹的Web頁面鏈接塊的識別方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及Web頁面重要性計算、Web頁面去噪、主題相關(guān)鏈接塊提取、web正文識別、Web頁面正文抽取、細(xì)化搜索引擎處理單元粒度、海量Web數(shù)據(jù)預(yù)處理領(lǐng)域,具體的為一種基于區(qū)塊樹的Web頁面鏈接塊的識別方法。
【背景技術(shù)】
[0002]萬維網(wǎng)是依賴鏈接所構(gòu)建起來的一個龐大網(wǎng)絡(luò),鏈接是萬維網(wǎng)的靈魂。萬維網(wǎng)中的每一個網(wǎng)頁,正是通過Web頁面之間的鏈接最終構(gòu)成了當(dāng)今世界最為復(fù)雜的網(wǎng)絡(luò),網(wǎng)絡(luò)爬蟲也正是依靠Web頁面之間的鏈接最終實現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)的爬取,Web頁面的重要性也往往是通過鏈接分析而獲得。Web頁面中的鏈接數(shù)目往往在數(shù)十到幾千之間,特別是在索引(目錄)類型網(wǎng)頁中,鏈接更是占據(jù)了近100%的比例。頁面中的鏈接雖多,但在實際的應(yīng)用中,網(wǎng)頁中的鏈接卻并不亂,網(wǎng)頁設(shè)計者會根據(jù)鏈接的類型將其進(jìn)行適當(dāng)?shù)姆诸惒⒊尸F(xiàn)為鏈接區(qū)塊,例如廣告鏈接塊、頂部導(dǎo)航鏈接塊、側(cè)欄導(dǎo)航鏈接塊、版權(quán)聯(lián)系鏈接塊、主題相關(guān)鏈接塊等。鏈接的分塊呈現(xiàn)體現(xiàn)了網(wǎng)頁信息組織的結(jié)構(gòu)性和邏輯性,并增強(qiáng)了網(wǎng)站用戶的用戶體驗。Web頁面鏈接塊的準(zhǔn)確識別,在Web頁面重要性計算、Web頁面去噪、主題相關(guān)鏈接塊提取、web正文識別、Web頁面正文抽取、細(xì)化搜索引擎處理單元粒度、提高網(wǎng)絡(luò)爬蟲爬取效率等海量Web數(shù)據(jù)預(yù)處理中有著極其重要的作用。
[0003]陳竹敏[I]對Web頁面鏈接的研究按粒度將其分為四個粒度:站點(網(wǎng)站)粒度、頁面(網(wǎng)頁)粒度、網(wǎng)頁塊級(Page Block)粒度、鏈接粒度。站點粒度的鏈接研究主要包括網(wǎng)站影響力或重要性評價[2];頁面粒度的典型研究如網(wǎng)頁重要性研究,有代表性的算法為PageRank、HITS ;塊級粒度相關(guān)研究主要有輔助頁面信息抽取、頁面類型判斷、頁面重新排版布局[3]及主題爬行中的候選鏈接優(yōu)先級計算[4],[5]等,此外也有研究人員提出基于塊級粒度的PageRank等算法[6],Lin[7]將頁面進(jìn)行分塊,將頁面之間的鏈接轉(zhuǎn)化為塊之間的鏈接,并利用HITS算法計算各塊的重要性;鏈接粒度的典型相關(guān)研究如主題爬蟲中的候選鏈接優(yōu)選,以防止爬取主題偏離并提高爬取效率。實際上,四個粒度往往并不是完全隔離,如熊忠陽[4]和黃仁[5]等采用網(wǎng)頁分塊以提高主題爬行效率。在上述四個粒度中,站點粒度過于粗糙,鏈接粒度則太過細(xì)致,頁面粒度由于頁面廣告鏈接等各種非主題鏈接的日益多樣化而變得極易受干擾,影響分析效果,這就決定了對塊級粒度的鏈接研究具有特殊的意義。陳軍[8]通過引入網(wǎng)頁分塊對Shark-Search算法進(jìn)行改進(jìn),實驗表明改進(jìn)后的基于網(wǎng)頁分塊的算法比傳統(tǒng)算法提升明顯。
[0004]對鏈接塊進(jìn)行研究的一個重要前置內(nèi)容即Web頁面分塊,對Web頁面進(jìn)行分塊或抽取的方法眾多,且劃分標(biāo)準(zhǔn)并不統(tǒng)一。相關(guān)研究人員將Web頁面的抽取方法總結(jié)為基于Wrapper、模板、機(jī)器學(xué)習(xí)、視覺布局特征、HTML特征等五類[9]。此外,Caponetti提出利用模糊神經(jīng)網(wǎng)絡(luò)實現(xiàn)頁面分塊的方法[10],Pasternack[ll]提出MSS頁面分割方法,經(jīng)試驗得到比VIPS[12]算法更好的結(jié)果。這些方法皆根據(jù)具體應(yīng)用需求進(jìn)行選擇,且實際應(yīng)用中一般都會綜合使用多種方法,如Fan[3]先利用DOM進(jìn)行分析得到所需節(jié)點,然后使用視覺特征進(jìn)行優(yōu)化所需文本;PETERS[13]先利用DOM對頁面進(jìn)行分塊,然后使用機(jī)器學(xué)習(xí)的方法進(jìn)行內(nèi)容抽??;Mehta[14]同時利用視覺特征和內(nèi)容信息對頁面進(jìn)行分割。雖然綜合使用一般可以取得更好的效果,但是同時采用的方法越多,程序復(fù)雜性也將越高,并且面對海量而又復(fù)雜多樣化的Web頁面時程序健壯性更加脆弱。Web頁面塊的重要性研究也引起部分研究者的關(guān)注與重視,Song[15]基于頁面布局和內(nèi)容信息對頁面塊重要性進(jìn)行了研究,F(xiàn)ersini [16]研究了頁面Image塊的重要性并基于此進(jìn)行頁面分類研究。
[0005]經(jīng)過對早期文獻(xiàn)中相關(guān)方法的分析總結(jié)可知,目前對Web頁面鏈接塊進(jìn)行發(fā)現(xiàn)識別的最主要方法是基于標(biāo)簽樹[4], [5], [17], [18], [19], [20], [21], [30],且標(biāo)簽樹往往是基于D0M[22]構(gòu)建的;其他各種方法往往是以HTML標(biāo)簽樹或DOM為基礎(chǔ)[23],[24],例如知名網(wǎng)頁分塊算法VIPS即是如此。但上述這些方法并非專為頁面塊級元素提取而設(shè)計,部分方法實現(xiàn)過于復(fù)雜,部分方法解析計算消耗過大,有些方法則效果欠理想。
[0006]對Web鏈接塊的判別方法較為單一,主要考慮的指標(biāo)即塊中所包含的鏈接文本長度和所有文本長度的比值[5],[25], [26],或者塊中非鏈接文本長度與文本長度的比值[27],通過比值與預(yù)先設(shè)定閾值的大小關(guān)系判斷是否為鏈接塊。其核心思想為:設(shè)某個待判定塊中鏈接文本長度為Llink,所有文字長度為Ltrtal,閾值為t(0 ( t ( I),則可用如下表達(dá)式來進(jìn)行判斷:
[0007]m = <O < m < I)
[0008]當(dāng)m> = t時,則表明該塊可能為鏈接塊,否則可能為文本塊。m值越大,表明為鏈接塊的可能性越大。
[0009]上述判斷思路存在以下五個突出問題:
[0010]一是僅考慮鏈接文本與所有文本的長度比值而忽略了塊中文本的絕對長度,因為一部分網(wǎng)頁中的主體文本塊中存在相當(dāng)篇幅的鏈接,這種情況尤其在部分鏈接資源分享類型網(wǎng)頁中尤其普遍。
[0011]二是忽略了非鏈接文本的部分特性,如日期、數(shù)字、未加鏈接的信息來源標(biāo)注文字、一些特殊符號等。而在很多的鏈接塊中,鏈接前面或者后面都存在著大量的其他非鏈接內(nèi)容如日期,這種現(xiàn)象對鏈接塊的準(zhǔn)確判別造成了極大的干擾。
[0012]三是該判別方法在全部文本長度不足夠長時,對鏈接文本的長度極其敏感,即某個閾值在某些使用短鏈接文本的頁面工作良好,但遇到使用長鏈接文本的頁面時極有可能誤判。不同網(wǎng)站或不同網(wǎng)頁的鏈接文本長度差別較大是極其常見的現(xiàn)象,這給鏈接塊的準(zhǔn)確判斷帶來極大的不確定性,倘若鏈接文字變得更短,則很可能將該鏈接塊誤判為非鏈接塊。
[0013]第四是由于分塊問題導(dǎo)致的錯誤會影響鏈接塊的準(zhǔn)確判別,尤其容易把正文主體和鏈接塊之間沒有塊級元素分隔而是處于同一塊級元素節(jié)點的文本塊判別為鏈接塊,或者將鏈接塊誤判為主體文本中的非噪音鏈接。
[0014]第五是忽略了鏈接數(shù)。
[0015]針對上述方法的不足,曹冬林[28]依據(jù)鏈接文本與文本比值和文本量提出有效信息率Iv和有效信息總量It的概念,并基于此進(jìn)行塊類型判斷。其核心思想表達(dá)為如下表達(dá)式:[0016]
【權(quán)利要求】
1.一種基于區(qū)塊樹的Web頁面鏈接塊的識別方法,其特征在于,包括下述步驟: 步驟1、輸入網(wǎng)頁集合; 步驟2、對html網(wǎng)頁文檔進(jìn)行預(yù)處理,包括去除腳本代碼,并對HTML文檔標(biāo)簽進(jìn)行自動標(biāo)簽補(bǔ)全; 步驟3、用區(qū)塊樹的構(gòu)建方法對HTML代碼構(gòu)建區(qū)塊樹; 步驟4、利用四個判別條件對區(qū)塊樹判斷鏈接塊; 定義如下概念: 鏈接文本:也稱錨文本,即在Web頁面的HTML代碼中處于<a>和</a>之間的文本,不包含其間的非文本內(nèi)容; 普通文本:也簡稱純文本,即在HTML代碼中,處于HTML標(biāo)簽區(qū)域之外、而又不在<a>和</a>之間的所有文本; 計算文本長度遵從如下規(guī)則: ①英文等字符以單詞為統(tǒng)計單位,即一個單詞長度計為I,如果若干個連續(xù)英文字符不構(gòu)成單詞,其長度也將計I; ②中文等字符以單個字為統(tǒng)計單位,即一個漢字長度計為I; ③數(shù)字以一個完整數(shù)字為統(tǒng)計單位,即一個完整數(shù)字長度計為I; ④日期時間字符串以日期時間整體為統(tǒng)計單位,即一個完整日期時間串長度計為I; ⑤標(biāo)點符號與漢字統(tǒng)計規(guī)則一樣,但是若相鄰的若干個標(biāo)點符號相同,則長度只計I; 鏈接塊的描述和判別規(guī)則如下: 設(shè)區(qū)塊樹為P層,區(qū)塊樹中的區(qū)塊數(shù)量為n,則各層區(qū)塊數(shù)分別記為η” n2,…,np,所以,區(qū)塊元素記為Block: (m = l,2,-'%p;i= 1,2,..%?,, j其中m表示該區(qū)塊元素在區(qū)塊樹中的
J層級,i表示該區(qū)塊元素屬于第m層的序號,則《 = Σ?,.I = /.* 設(shè)區(qū)塊Bbckin中鏈接數(shù)為CLinkl t普通文本的長度為鏈接文本長度為LLifK ,若該區(qū)塊同時滿足如下條件,則該區(qū)塊稱為鏈接區(qū)塊,簡稱鏈接塊;
2.根據(jù)權(quán)利要求1所述的一種基于區(qū)塊樹的Web頁面鏈接塊的識別方法,其特征在于:所述的步驟I中還包括如下步驟: 步驟1.1、編碼識別:先獲取網(wǎng)頁編碼格式UTF-8、GB2312 ; 步驟1.2、網(wǎng)頁讀取:通過對待識別的WEB網(wǎng)頁的HTML文檔進(jìn)行字符掃描,分別識別出起始位置和結(jié)束位置; 定義如下概念: <a href = 〃…〃> 文字 </a> 所述的起始位置是以字符“〈”開始,以字符“〉”為結(jié)束,且這兩者之間并不存在字符“〈”和的字符串.所述的結(jié)束位置是以字符“〈/”開始,以字符“〉”為結(jié)束,且這兩者之間并不存在字符“〈”、“〉”和“/”的字符串。
3.根據(jù)權(quán)利要求1所述的一種基于區(qū)塊樹的Web頁面鏈接塊的識別方法,其特征在于:所述的步驟3中,區(qū)塊樹的構(gòu)建包括如下步驟: 定義如下概念: 標(biāo)簽塊:也稱 節(jié)點,即一個HTML標(biāo)簽所包含的所有內(nèi)容; 區(qū)塊:簡稱塊,在HTML代碼中,為通過block級標(biāo)簽或者等同作用的標(biāo)簽所界定的區(qū)域;區(qū)塊樹:一種以區(qū)塊為構(gòu)成單位,將Web頁以類似標(biāo)簽樹形式進(jìn)行表達(dá)的樹形結(jié)構(gòu),即在區(qū)塊樹中,其葉子節(jié)點都是區(qū)塊元素,而不會將其繼續(xù)細(xì)分為其他inline級元素; 步驟3.1、標(biāo)簽樹中每個分支的非block級的葉子節(jié)點,將其逐個去除或者予以標(biāo)記; 步驟3.2、在步驟3.1的基礎(chǔ)上,經(jīng)過一輪修剪后,將會出現(xiàn)新一輪的葉子節(jié)點; 步驟3.3、在步驟3.2的基礎(chǔ)上,繼續(xù)對這些葉子節(jié)點進(jìn)行去除或者標(biāo)記; 步驟3.4、重復(fù)步驟3.2和步驟3.3,上述過程持續(xù)進(jìn)行,直至該標(biāo)簽樹的所有葉子節(jié)點都是區(qū)塊元素為止,最終僅剩下標(biāo)注為Block的節(jié)點,即可完成區(qū)塊樹的構(gòu)建。
4.根據(jù)權(quán)利要求1所述的一種基于區(qū)塊樹的Web頁面鏈接塊的識別方法,其特征在于:所述的步驟4中,采用正向判別方法判斷鏈接塊,其判斷準(zhǔn)則為: ①從父節(jié)點往子節(jié)點方向、從上往下進(jìn)行判斷; ②若某個節(jié)點被判別為鏈接塊,則其子節(jié)點及更深層次的節(jié)點都不再判斷,但其兄弟節(jié)點仍需繼續(xù)判斷。
5.根據(jù)權(quán)利要求1所述的一種基于區(qū)塊樹的Web頁面鏈接塊的識別方法,其特征在于:所述的步驟4中,采用逆向判別方法判斷鏈接塊,其判斷準(zhǔn)則為: ①從子節(jié)點往父節(jié)點方向、從下往上進(jìn)行判斷; ②當(dāng)某個節(jié)點被判別為鏈接塊,若當(dāng)前區(qū)塊鏈接數(shù)不超過閾值Tfflark時,則僅標(biāo)記當(dāng)前節(jié)點為鏈接塊;否則除了標(biāo)記當(dāng)前區(qū)塊為鏈接塊,還需要標(biāo)記其所有直系父輩節(jié)點為“無需判別”狀態(tài),但旁系父輩節(jié)點仍需繼續(xù)判斷,兄弟節(jié)點也需繼續(xù)判斷; ③當(dāng)某區(qū)塊被判別為鏈接塊時,將其所有子區(qū)塊都標(biāo)記為“無需判別”。
【文檔編號】G06F17/30GK103927397SQ201410185937
【公開日】2014年7月16日 申請日期:2014年5月5日 優(yōu)先權(quán)日:2014年5月5日
【發(fā)明者】谷瓊, 王賢明, 朱莉 申請人:湖北文理學(xué)院