專利名稱:用于使用自適應(yīng)閾限計(jì)算的網(wǎng)頁(yè)分割的系統(tǒng)和方法
用于使用自適應(yīng)閾限計(jì)算的網(wǎng)頁(yè)分割的系統(tǒng)和方法
背景技術(shù):
網(wǎng)頁(yè)提供了用來(lái)使信息對(duì)其消費(fèi)者而言可獲得的廉價(jià)且便利的方式。然而,由于在現(xiàn)代網(wǎng)頁(yè)中包括多媒體內(nèi)容、嵌入式廣告以及正日益變得更流行的在線服務(wù),因此網(wǎng)頁(yè)本身實(shí)際上已經(jīng)變得更復(fù)雜。例如,除了它們的主要內(nèi)容之外,許多網(wǎng)頁(yè)還顯示附屬內(nèi)容,諸如背景影像、廣告、導(dǎo)航菜單和/或至附加內(nèi)容的鏈接。常常是這樣的情況網(wǎng)頁(yè)的擁有者或消費(fèi)者希望利用或適配呈現(xiàn)在網(wǎng)頁(yè)中的信息的僅一部分。例如,用戶/消費(fèi)者可能期望在不再現(xiàn)包含因特網(wǎng)文章的網(wǎng)頁(yè)上的任何不相干內(nèi)容的情況下打印該文章的物理拷貝。類似地,網(wǎng)頁(yè)的擁有者可能希望把網(wǎng)頁(yè)適配到諸如營(yíng)銷宣傳冊(cè)之類的另一文檔中,而在該網(wǎng)頁(yè)中不包括對(duì)于該新文檔而言多余的內(nèi)容。對(duì)呈現(xiàn)在網(wǎng)頁(yè)中的內(nèi)容的僅一部分的這樣的使用可能要求用戶方面的乏味的努力來(lái)在該網(wǎng)頁(yè)上的不同類型的內(nèi)容當(dāng)中進(jìn)行區(qū)分并且僅取得期望內(nèi)容。找到該網(wǎng)頁(yè)的期望部分是網(wǎng)頁(yè) 分割的重要應(yīng)用之一。典型地,網(wǎng)頁(yè)分割把網(wǎng)頁(yè)分成各段。網(wǎng)頁(yè)中的每個(gè)段用作功能區(qū)域,諸如題目、主要內(nèi)容、廣告和導(dǎo)航條。網(wǎng)頁(yè)分割具有許多應(yīng)用。示例性應(yīng)用包括信息提取、語(yǔ)義Web的支持、主題提煉、信息內(nèi)容檢索、重復(fù)檢測(cè)、網(wǎng)頁(yè)文檔的多目的化、移動(dòng)屏幕的重新布局以及Web打印。對(duì)網(wǎng)頁(yè)進(jìn)行分割典型地是Web打印和Web內(nèi)容的自動(dòng)化重新發(fā)布中的重要功能。然而,網(wǎng)頁(yè)布局和網(wǎng)頁(yè)中的呈現(xiàn)風(fēng)格這二者都是非常復(fù)雜和多樣的。這可能使得難以提供對(duì)所有網(wǎng)頁(yè)都起作用的用于分割的通用解決方案。用于網(wǎng)頁(yè)分割的大多數(shù)當(dāng)前技術(shù)是基于文檔對(duì)象模型(DOM)樹來(lái)分析超文本標(biāo)記語(yǔ)言(HTML)結(jié)構(gòu)。用于網(wǎng)頁(yè)分割的其余當(dāng)前技術(shù)中的一些技術(shù)在通過(guò)瀏覽器引擎渲染網(wǎng)頁(yè)布局的視覺(jué)信息之后使用它們。然而,這些技術(shù)是基于規(guī)則的,其中預(yù)定義參數(shù)和使用這些技術(shù)獲得的閾限可以是固定的并且可能不完全能適應(yīng)于變化的網(wǎng)頁(yè)布局。此外,其可能難以使用常規(guī)技術(shù)來(lái)控制分割粒度。進(jìn)一步地,對(duì)于不同的網(wǎng)頁(yè)而言,常規(guī)技術(shù)可能導(dǎo)致不一致的粒度。
本文參考附圖來(lái)描述各種實(shí)施例,其中
圖I圖示了用于使用自適應(yīng)閾限計(jì)算的網(wǎng)頁(yè)分割的示例性方法的計(jì)算機(jī)實(shí)施的流程
圖2A圖示了依據(jù)一個(gè)實(shí)施例的獲得網(wǎng)頁(yè)中的邊界框之間的距離;
圖2B圖示了依據(jù)一個(gè)實(shí)施例的獲得網(wǎng)頁(yè)中的邊界框之間的重疊;
圖3圖示了依據(jù)一個(gè)實(shí)施例的在獲得自適應(yīng)閾限中使用的曲線 圖4A圖示了在本發(fā)明的上下文中顯示可以被分割為多個(gè)功能塊的網(wǎng)頁(yè)的說(shuō)明性web瀏覽器的屏幕截 圖4B圖示了在本發(fā)明的上下文中在分割之前被解析為多個(gè)節(jié)點(diǎn)的示例性網(wǎng)頁(yè)的屏幕截圖;圖4C圖示了依據(jù)一個(gè)實(shí)施例的使用所獲得的自適應(yīng)閾限和相鄰塊組合器獲得的已分割網(wǎng)頁(yè)的屏幕截 圖5是依據(jù)一個(gè)實(shí)施例的網(wǎng)頁(yè)分割模塊的框 圖6圖示了依據(jù)一個(gè)實(shí)施例的用于使用圖5的網(wǎng)頁(yè)分割模塊分割網(wǎng)頁(yè)的系統(tǒng)的框圖;本文所描述的附圖僅是用于圖解說(shuō)明的目的,而并不意圖以任何方式來(lái)限制本公開內(nèi)容的范圍。
具體實(shí)施例方式公開了一種用于使用自適應(yīng)閾限計(jì)算的網(wǎng)頁(yè)分割的系統(tǒng)和方法。在對(duì)本發(fā)明的實(shí)施例的以下詳細(xì)說(shuō)明中,對(duì)形成其一部分的附圖進(jìn)行參考,并且在附圖中通過(guò)圖解說(shuō)明的方式示出了其中可以實(shí)踐本發(fā)明的特定實(shí)施例。足夠詳細(xì)地描述了這些實(shí)施例以使得本領(lǐng)域技術(shù)人員能夠?qū)嵺`本發(fā)明,并且應(yīng)當(dāng)理解,可以利用其他實(shí)施例以及在不偏離本發(fā)明的范圍的情況下可以做出改變。以下詳細(xì)說(shuō)明因此不是以限制性意義進(jìn)行的,并且本發(fā)明的 范圍由所附權(quán)利要求書來(lái)限定。本文所描述的網(wǎng)頁(yè)分割處理把網(wǎng)頁(yè)分割成多個(gè)有意義的功能或邏輯塊。這些功能塊例如可以被有利地用來(lái)從網(wǎng)頁(yè)中僅提取對(duì)特定應(yīng)用有用的內(nèi)容。另外,這些塊例如可以被有利地用來(lái)執(zhí)行web打印、Web內(nèi)容的自動(dòng)化重新發(fā)布等等。在該文檔中,術(shù)語(yǔ)“網(wǎng)頁(yè)”指的是可以通過(guò)網(wǎng)絡(luò)連接從服務(wù)器取得并在Web瀏覽器應(yīng)用中觀看的文檔,諸如博客、電子郵件、新聞和食譜等等。而且,諸如原子(atom)之類的術(shù)語(yǔ)“節(jié)點(diǎn)”指的是網(wǎng)頁(yè)中在屬性方面是同類的且在DOM樹中不具有孩子的多個(gè)相干區(qū)域之一。術(shù)語(yǔ)“同類的”指的是具有相同類型或?qū)傩缘膬?nèi)容的特性。術(shù)語(yǔ)“段或塊”指的是在文檔中具有一定功能并且具有相干屬性的網(wǎng)頁(yè)的一部分或網(wǎng)頁(yè)中的一區(qū)域。此外,每個(gè)段或塊包括一個(gè)或多個(gè)節(jié)點(diǎn)。進(jìn)一步地,如被應(yīng)用到節(jié)點(diǎn)的術(shù)語(yǔ)“相干”指的是僅具有相似類型或?qū)傩缘膬?nèi)容的特性。圖I圖示了依據(jù)一個(gè)實(shí)施例的用于使用自適應(yīng)閾限計(jì)算的網(wǎng)頁(yè)分割的示例性方法的計(jì)算機(jī)實(shí)施的流程圖100。在步驟102,網(wǎng)頁(yè)(例如,圖4A中所示出的網(wǎng)頁(yè))被物理計(jì)算系統(tǒng)接收。在一個(gè)示例實(shí)施例中,針對(duì)該網(wǎng)頁(yè)的URL被物理計(jì)算系統(tǒng)接收。例如,物理計(jì)算系統(tǒng)可以執(zhí)行從其服務(wù)器獲取網(wǎng)頁(yè)并渲染該網(wǎng)頁(yè)以確定該網(wǎng)頁(yè)中內(nèi)容的布局的功能。在另一示例實(shí)施例中,URL可以由物理計(jì)算系統(tǒng)的用戶規(guī)定,或者可替換地被自動(dòng)確定。物理計(jì)算系統(tǒng)于是可以通過(guò)諸如因特網(wǎng)之類的網(wǎng)絡(luò)使用該URL從其服務(wù)器請(qǐng)求該網(wǎng)頁(yè)。在步驟104,使用物理計(jì)算系統(tǒng)把該網(wǎng)頁(yè)中的內(nèi)容解析為多個(gè)節(jié)點(diǎn)。根據(jù)圖4B來(lái)解釋把該網(wǎng)頁(yè)中的內(nèi)容解析為多個(gè)節(jié)點(diǎn)。在一個(gè)實(shí)施例中,所述節(jié)點(diǎn)包括網(wǎng)頁(yè)中在屬性方面基本為同類的且在與該網(wǎng)頁(yè)相關(guān)聯(lián)的DOM樹結(jié)構(gòu)中不具有孩子的原子或區(qū)域。此外,在瀏覽器中在沒(méi)有對(duì)所渲染網(wǎng)頁(yè)的任何用戶動(dòng)作的情況下所述原子是可見(jiàn)的。進(jìn)一步地,多個(gè)節(jié)點(diǎn)中的每個(gè)節(jié)點(diǎn)由邊界框限定。例如,由網(wǎng)頁(yè)中的邊界框限定的節(jié)點(diǎn)包括選自包含文本、圖像、動(dòng)畫、列表、輸入控制和視覺(jué)分離器的組的原子。在步驟106,使用物理計(jì)算系統(tǒng)來(lái)獲得每對(duì)節(jié)點(diǎn)之間的特征值。在一個(gè)示例實(shí)施例中,通過(guò)使用物理計(jì)算系統(tǒng)獲得每對(duì)邊界框之間的特征值來(lái)獲得每對(duì)節(jié)點(diǎn)之間的特征值。此外,獲得每對(duì)邊界框之間的特征值包括獲得每對(duì)邊界框之間的空間特征值。進(jìn)一步地,獲得每對(duì)邊界框之間的空間特征值包括獲得每個(gè)原子的位置信息,以及使用與每個(gè)原子相關(guān)聯(lián)的位置信息獲得每對(duì)邊界框之間的空間特征值。例如,該位置信息選自包含邊界框的左坐標(biāo)、邊界框的頂坐標(biāo)、邊界框的寬度以及邊界框的高度的組。換言之,每個(gè)原子的邊界框表示相應(yīng)原子的位置信息。在一個(gè)示例實(shí)施例中,使用每個(gè)原子的位置信息在每對(duì)邊界框之間獲得距離值和重疊值。在一個(gè)實(shí)施例中,每對(duì)節(jié)點(diǎn)之間的特征值包括每對(duì)邊界框之間的距離值和每對(duì)邊界框之間的重疊值。換言之,空間特征值選自包含在每對(duì)邊界框之間獲得的距離值和每對(duì)邊界框之間獲得的重疊值的組。根據(jù)圖2A和圖2B詳細(xì)地解釋距離值和重疊值的計(jì)算。在步驟108,通過(guò)物理計(jì)算系統(tǒng)使用獲得的特征值來(lái)估計(jì)自適應(yīng)閾限值。在這些實(shí)施例中,計(jì)算基于獲得的空間特征值的特性的空間分布(例如,如圖3中所示的)。此外,使用所計(jì)算的空間分布估計(jì)自適應(yīng)閾限值。在一個(gè)示例實(shí)施例中,把自適應(yīng)閾限值估計(jì)為所計(jì)算的空間分布的固定百分點(diǎn)。 例如,自適應(yīng)閾限值被選擇為使得它包括所計(jì)算的空間分布的大約50%。在另一示例實(shí)施例中,把自適應(yīng)閾限值估計(jì)為所計(jì)算的空間分布的均值和標(biāo)準(zhǔn)偏差值的組合。在又一示例實(shí)施例中,通過(guò)基于所獲得的空間特征值的空間分布執(zhí)行聚類來(lái)估計(jì)自適應(yīng)閾限值。在又一示例實(shí)施例中,基于網(wǎng)頁(yè)中的段數(shù)來(lái)估計(jì)自適應(yīng)閾限值。在步驟110,通過(guò)把與每對(duì)節(jié)點(diǎn)相關(guān)聯(lián)的特征值和所估計(jì)的自適應(yīng)閾限值進(jìn)行比較來(lái)分割網(wǎng)頁(yè)(例如,如圖4C中所示的)。在這些實(shí)施例中,如果一對(duì)節(jié)點(diǎn)的特征值滿足閾限條件,則在每次迭代中把該對(duì)節(jié)點(diǎn)合并到同一段中。此外,當(dāng)沒(méi)有節(jié)點(diǎn)對(duì)匹配該閾限條件時(shí)終止迭代。換言之,通過(guò)執(zhí)行上面提及的步驟把輸入節(jié)點(diǎn)分組成各段。結(jié)果,一個(gè)段中的節(jié)點(diǎn)是空間一致的。此外,如下根據(jù)圖2至圖4詳細(xì)解釋上面提及的步驟。圖2A是圖示依據(jù)一個(gè)實(shí)施例獲得網(wǎng)頁(yè)中的邊界框之間的距離的示例性圖200。特別地,圖2A圖示了一對(duì)邊界框202和204。在一個(gè)實(shí)施例中,每對(duì)邊界框202和204表示相應(yīng)的原子或節(jié)點(diǎn)的位置信息。在一個(gè)實(shí)施例中,該對(duì)邊界框202和204之間的空間特征值包括在該對(duì)邊界框202和204之間獲得的距離值和在該對(duì)邊界框202和204之間獲得的重疊值。在一個(gè)示例實(shí)施例中,使用二維坐標(biāo)(即,X和y坐標(biāo))來(lái)計(jì)算該對(duì)邊界框202和204之間的距離。如圖2A中所示出的,該對(duì)邊界框202和204之間的距離包括兩部分,即,沿著x坐標(biāo)和沿著I坐標(biāo)的距離。使用下式來(lái)計(jì)算該對(duì)邊界框202和204之間的距離
D = X_DIS + Y_DIS
其中,X_DIS是該對(duì)邊界框202和204之間在x方向上的距離,Y_DIS是該對(duì)邊界框202和204之間在y方向上的距離。此外,使用下式來(lái)計(jì)算該對(duì)邊界框202和204之間在X方向上的距離(X_DIS) X_DIS = MAX (MAX (boxl. left, box2. left) - MIN (boxl. right, box2. right), 0) 其中,boxl. left是邊界框202的左坐標(biāo),box2. left是邊界框204的左坐標(biāo),boxl.
right是邊界框202的右坐標(biāo),以及box2. right是邊界框204的右坐標(biāo)。此外,使用下式來(lái)計(jì)算該對(duì)邊界框202和204之間在y方向上的距離(Y_DIS) Y_DIS = MAX(MAX(boxl. top, box2.top) - MIN (boxl. bottom, box2. bottom), 0) 其中,boxl. top是邊界框202的頂坐標(biāo),box2. top是邊界框204的頂坐標(biāo),boxl.bottom是邊界框202的底坐標(biāo),以及box2. bottom是邊界框204的底坐標(biāo)。因而,該對(duì)邊界框202和204之間的距離是該對(duì)邊界框202和204之間在x方向上的距離(X_DIS)和該對(duì)邊界框202和204之間在y方向上的距離(Y_DIS)之和。圖2B是圖示了依據(jù)一個(gè)實(shí)施例的獲得網(wǎng)頁(yè)中的邊界框之間的重疊的示例性圖250。特別地,圖2B圖示了一對(duì)邊界框252和254。在一個(gè)實(shí)施例中,每對(duì)邊界框252和254表示相應(yīng)的原子或節(jié)點(diǎn)的位置信息。如上面所提及的,該對(duì)邊界框252和254之間的空間特征值包括在該對(duì)邊界框252和254之間獲得的距離值和在該對(duì)邊界框252和254之間獲得的重疊值。在一個(gè)示例實(shí)施例中,使用二維坐標(biāo)(即,X和y坐標(biāo))來(lái)計(jì)算該對(duì)邊界框252和254之間的重疊。如圖2B中所示出的,該對(duì)邊界框252和254之間的重疊包括兩種類型,即,沿著x坐標(biāo)的重疊和沿著I坐標(biāo)的重疊。換言之,該對(duì)邊界框252和254之間的重疊包括水平重 疊(即,X重疊)或者豎直重疊(即,y重疊)。如圖2B中所示出的,如果該對(duì)邊界框252和254在x坐標(biāo)投影中有交集,則使用下式計(jì)算塊重疊率
X_0VERLAP_RATE = X_0VERLAP / (wl U w2)
其中,X_0VERLAP是X投影坐標(biāo)的交集,而wl U w2是邊界框252和254的寬度的并集范圍(union range)。此外,如果該對(duì)邊界框252和254在y坐標(biāo)投影中有交集,則使用下式計(jì)算塊重疊率
Y_0VERLAP_RATE = Y_0VERLAP / (hi U h2)
其中,Y_0VERLAP是y投影坐標(biāo)的交集,而hi U h2是邊界框252和254的高度的并集范圍。依據(jù)根據(jù)圖2A和2B的上面提及的實(shí)施例,針對(duì)每對(duì)邊界框計(jì)算距離和重疊率值。所述邊界框?qū)Ρ贿x擇為使得兩個(gè)邊界框是相鄰的并且滿足重疊率條件。在一個(gè)示例實(shí)施例中,兩個(gè)邊界框是相鄰的意味著在它們之間不存在其他邊界框。換言之,如果不存在與它們的X重疊區(qū)域和Y重疊區(qū)域具有交集的邊界框,則說(shuō)兩個(gè)邊界框是相鄰的。如圖2B中所示出的,X/Y重疊區(qū)域通過(guò)陰影線示出。每對(duì)邊界框之間的距離值的空間分布是從邊界框?qū)Λ@得的。此外,不同的網(wǎng)頁(yè)具有不同的距離值空間分布。在一個(gè)示例實(shí)施例中,可以把空間分布的峰值自動(dòng)選擇為針對(duì)網(wǎng)頁(yè)的自適應(yīng)閾限值。在另一示例實(shí)施例中,該值還可以由用戶調(diào)整。在又一示例實(shí)施例中,如果需要粗分割粒度,則還可以把空間分布的其他極值選擇為自適應(yīng)閾限值。根據(jù)圖3詳細(xì)地解釋使用網(wǎng)頁(yè)的距離值和重疊值的特性的空間分布的計(jì)算。圖3圖示了依據(jù)一個(gè)實(shí)施例的在獲得自適應(yīng)閾限中使用的曲線圖300。特別地,圖3圖示了在每對(duì)邊界框之間計(jì)算的距離值的分布。X軸表示節(jié)點(diǎn)距離,而y軸表示對(duì)應(yīng)于X軸上的節(jié)點(diǎn)距離的節(jié)點(diǎn)對(duì)計(jì)數(shù)。在這些實(shí)施例中,節(jié)點(diǎn)距離指的是每對(duì)邊界框之間的距離,而節(jié)點(diǎn)對(duì)計(jì)數(shù)指的是對(duì)應(yīng)于X軸上的距離值的邊界框?qū)Φ臄?shù)目。如圖3中所示出的,對(duì)應(yīng)于最大節(jié)點(diǎn)對(duì)計(jì)數(shù)的節(jié)點(diǎn)距離值為16。換言之,在16的節(jié)點(diǎn)距離值處,節(jié)點(diǎn)對(duì)的數(shù)目為45,其是如在邊界框距離分布曲線圖300中所示出的最大節(jié)點(diǎn)對(duì)計(jì)數(shù)。因而,自動(dòng)地把針對(duì)該網(wǎng)頁(yè)的自適應(yīng)閾限值選擇為16,其是空間分布的峰值。
在另一示例性實(shí)現(xiàn)方式中,如果要求精細(xì)粒度(S卩,更多段),則可以把諸如11和14之類的極節(jié)點(diǎn)距離值選擇為自適應(yīng)閾限值的候選。在又一示例性實(shí)現(xiàn)方式中,如果需要粗粒度(即,更少段),則可以把21、25和47的極節(jié)點(diǎn)距離值選擇為自適應(yīng)閾限候選。依據(jù)根據(jù)圖3的上面描述的實(shí)施例,用于基于所計(jì)算的空間分布估計(jì)自適應(yīng)閾限值的各種方法被解釋如下。在一個(gè)示例性方法中,把自適應(yīng)閾限值選擇為所計(jì)算的空間分布的固定百分點(diǎn)。例如,自適應(yīng)閾限值被選擇為使得它覆蓋空間分布的50%。與選擇固定閾限相比,本方法提供了更好的結(jié)果,這是因?yàn)樗m合于空間分布。在另一示例性方法中,使用空間分布的所計(jì)算的均值(m)和標(biāo)準(zhǔn)偏差(ο)值的組合來(lái)估計(jì)自適應(yīng)閾限值。例如,使用m-2o來(lái)估計(jì)自適應(yīng)閾限。在又一示例性方法中,通過(guò)執(zhí)行基于空間分布的聚類來(lái)估計(jì)自適應(yīng)閾限值。在這些實(shí)施例中,在確定是否合并時(shí),可以執(zhí)行k均值(k-means)聚類,其中,k=2??商鎿Q地,可 以首先執(zhí)行具有較高k的初始聚類,并且然后可以執(zhí)行另一合并聚類步驟。在又一示例性方法中,該方法選擇預(yù)定閾限值,對(duì)網(wǎng)頁(yè)中的段數(shù)進(jìn)行計(jì)數(shù),并且設(shè)定段的目標(biāo)數(shù)。此外,通過(guò)改變預(yù)定閾限從而使得所述段數(shù)等于段的目標(biāo)數(shù)來(lái)估計(jì)自適應(yīng)閾限值。在又一示例性方法中,還把自適應(yīng)閾限值估計(jì)為上面描述的聚類和改變方法的組合。在這些實(shí)施例中,該方法初始開始于采用較高k值的聚類,并且繼續(xù)以從高端對(duì)聚類進(jìn)行合并直到達(dá)到目標(biāo)段數(shù)。此外,把該分布分組成各聚類,其中每個(gè)聚類表示一定類型的布置。進(jìn)一步地,通過(guò)檢查此布置以確定增大閾限值是否是有意義的來(lái)估計(jì)該自適應(yīng)閾限值。一旦估計(jì)了自適應(yīng)閾限值(例如,使用上面提及的方法中的任一個(gè)),就通過(guò)比較與每對(duì)節(jié)點(diǎn)相關(guān)聯(lián)的特征值(即,諸如塊距離和重疊率值之類的空間特征值)和所估計(jì)的自適應(yīng)閾限值來(lái)對(duì)網(wǎng)頁(yè)進(jìn)行分割。換言之,把每對(duì)相鄰邊界框/節(jié)點(diǎn)合并到其距離值小于或等于所估計(jì)的自適應(yīng)閾限的段中。相鄰邊界框或節(jié)點(diǎn)指的是滿足如早先描述的相鄰條件的兩個(gè)塊。在一個(gè)實(shí)施例中,通過(guò)迭代來(lái)完成合并處理,直到?jīng)]有邊界框/節(jié)點(diǎn)對(duì)滿足合并條件為止。例如,考慮網(wǎng)頁(yè)中的多個(gè)節(jié)點(diǎn)中的一組節(jié)點(diǎn)A、B、C和D(例如,如圖4B中所圖示的節(jié)點(diǎn)402-4至402-7)。此外,考慮節(jié)點(diǎn)A和B形成一對(duì)相鄰節(jié)點(diǎn),B和C形成另一對(duì),而C和D形成又一對(duì)。在迭代i中,如果該對(duì)節(jié)點(diǎn)A和B滿足合并條件(例如,該對(duì)節(jié)點(diǎn)A和B之間的距離小于或等于所估計(jì)的自適應(yīng)閾限),則把該對(duì)節(jié)點(diǎn)A和B合并到第一段中。類似地,在迭代j中,如果該對(duì)節(jié)點(diǎn)C和D滿足合并條件,則把該對(duì)節(jié)點(diǎn)C和D合并到第二段中。進(jìn)一步地,在迭代k中,如果該對(duì)節(jié)點(diǎn)B和C滿足合并條件,則把該對(duì)節(jié)點(diǎn)B和C合并到這樣的段中其中所有四個(gè)節(jié)點(diǎn)A、B、C和D將被合并到同一段(例如,如圖4C中所圖示的段455-5)中。換言之,把第一段和第二段合并到包括所有四個(gè)節(jié)點(diǎn)A、B、C和D的段中。節(jié)點(diǎn)A、B、C和D被分組到一個(gè)段中并且是空間一致的。圖4A-C圖示了把網(wǎng)頁(yè)分割成上面略述的多個(gè)功能或邏輯塊的處理的各種方面。圖4A圖示了在本發(fā)明的上下文中顯示可以被分割為多個(gè)功能塊的網(wǎng)頁(yè)的說(shuō)明性web瀏覽器的屏幕截圖(400A)。圖4B圖示了在本發(fā)明的上下文中在分割之前被解析為多個(gè)節(jié)點(diǎn)的示例性網(wǎng)頁(yè)的屏幕截圖(400B)。特別地,圖4B圖示了與參考圖I描述的功能一致的被解析為多個(gè)節(jié)點(diǎn)(402-1至402-27)的網(wǎng)頁(yè)。如圖4B中所示出的,這些節(jié)點(diǎn)(402-1至402-27)與網(wǎng)頁(yè)中在屬性方面基本為同類的且在與該網(wǎng)頁(yè)相關(guān)聯(lián)的DOM樹結(jié)構(gòu)中不具有孩子的原子或區(qū)域一致。此外,在瀏覽器中在沒(méi)有對(duì)所渲染網(wǎng)頁(yè)的任何用戶動(dòng)作的情況下這些節(jié)點(diǎn)(402-1至402-27)是可見(jiàn)的。節(jié)點(diǎn)(402-1至402-27)包括文本、圖像、動(dòng)畫、列表、輸入控制和/或視覺(jué)分離器。此外,這些節(jié)點(diǎn)(402-1至402-27)遵從是原子的且相干的要求。另外,節(jié)點(diǎn)(402-1至402-27)總體是詳盡的且是互斥的,這是因?yàn)閬?lái)自圖4A的網(wǎng)頁(yè)的可見(jiàn)內(nèi)容中的所有內(nèi)容都存在于節(jié)點(diǎn)(402-1至402-27)的和中并且沒(méi)有兩個(gè)節(jié)點(diǎn)(402-1至402-27)共享同一內(nèi)容。圖4C圖示了依據(jù)一個(gè)實(shí)施例的使用所獲得的自適應(yīng)閾限和相鄰塊組合器獲得的已分割網(wǎng)頁(yè)的屏幕截圖(400C)。特別地,圖4C圖示了網(wǎng)頁(yè)的段(455-1至455-7)。同一段中的節(jié)點(diǎn)被分組在一起并且用公共虛線表示。例如,基于上面描述的合并條件,把節(jié)點(diǎn)402-4至402-9 (如圖4B中所示出的)合并到段455-5 (如圖4C中所示出的)。此外,一個(gè)段中的節(jié)點(diǎn)是空間一致的。
·
圖5是依據(jù)一個(gè)實(shí)施例的網(wǎng)頁(yè)分割模塊502的框圖500。特別地,網(wǎng)頁(yè)分割模塊502包括塊空間特征計(jì)算器506、自適應(yīng)閾限生成器508和相鄰塊組合器510。此外,模塊之間的箭頭表示模塊之間的通信和互操作性。此外,塊空間特征計(jì)算器506、自適應(yīng)閾限生成器508和相鄰塊組合器510可用來(lái)執(zhí)行上面提及的方法。在操作中,塊空間特征計(jì)算器506從一個(gè)網(wǎng)頁(yè)接收多個(gè)節(jié)點(diǎn)504并且獲得每對(duì)節(jié)點(diǎn)之間的特征值。在一個(gè)示例實(shí)施例中,使用計(jì)算機(jī)把網(wǎng)頁(yè)中的內(nèi)容解析為多個(gè)節(jié)點(diǎn)504。此外,自適應(yīng)閾限生成器508使用所獲得的特征值估計(jì)自適應(yīng)閾限值。進(jìn)一步地,相鄰塊組合器510通過(guò)比較與每對(duì)節(jié)點(diǎn)相關(guān)聯(lián)的特征值和所估計(jì)的自適應(yīng)閾限值來(lái)對(duì)網(wǎng)頁(yè)進(jìn)行分害I]。在一個(gè)示例實(shí)施例中,如果一對(duì)節(jié)點(diǎn)的特征值滿足如上面所解釋的閾限條件,則相鄰塊組合器510在每次迭代中把該對(duì)節(jié)點(diǎn)合并到同一段(例如,已分割的網(wǎng)頁(yè)512)中。圖6圖示了依據(jù)一個(gè)實(shí)施例的用于使用圖5的網(wǎng)頁(yè)分割模塊分割網(wǎng)頁(yè)的系統(tǒng)的框圖(600)?,F(xiàn)在參照?qǐng)D6,用于把網(wǎng)頁(yè)分割為相干功能或邏輯塊的說(shuō)明性系統(tǒng)(600)包括訪問(wèn)由網(wǎng)頁(yè)服務(wù)器(602)存儲(chǔ)的網(wǎng)頁(yè)(604)的物理計(jì)算設(shè)備(608)。在本示例中,為了在圖示中簡(jiǎn)化的目的,物理計(jì)算設(shè)備(608 )和網(wǎng)頁(yè)服務(wù)器(602 )是通過(guò)至網(wǎng)絡(luò)(606 )的互連通信地耦合到彼此的分開的計(jì)算設(shè)備。然而,本說(shuō)明書中闡述的原理等同地延伸到任何替代配置,在該替代配置中物理計(jì)算設(shè)備(608)具有對(duì)網(wǎng)頁(yè)(604)的完全訪問(wèn)。同樣地,在本說(shuō)明書的原理的范圍內(nèi)的替代實(shí)施例包括但不限于其中物理計(jì)算設(shè)備(608)和網(wǎng)頁(yè)服務(wù)器(602)由同一計(jì)算設(shè)備來(lái)實(shí)現(xiàn)的實(shí)施例、其中物理計(jì)算設(shè)備(608)的功能由多個(gè)互連的計(jì)算機(jī)(例如,數(shù)據(jù)中心中的服務(wù)器和用戶的客戶端機(jī)器)來(lái)實(shí)現(xiàn)的實(shí)施例、其中物理計(jì)算設(shè)備(608)和網(wǎng)頁(yè)服務(wù)器(602)在沒(méi)有中間網(wǎng)絡(luò)設(shè)備的情況下通過(guò)總線直接通信的實(shí)施例、以及其中物理計(jì)算設(shè)備(608)具有要分割的網(wǎng)頁(yè)(604)的存儲(chǔ)的本地拷貝的實(shí)施例。本示例的物理計(jì)算設(shè)備(608)是被配置為取得由網(wǎng)頁(yè)服務(wù)器(602)主控的網(wǎng)頁(yè)(604)并把該網(wǎng)頁(yè)(604)分成多個(gè)相干功能塊的計(jì)算設(shè)備。在本示例中,這是由通過(guò)網(wǎng)絡(luò)(606)使用適當(dāng)?shù)木W(wǎng)絡(luò)協(xié)議(例如,因特網(wǎng)協(xié)議(“IP”))從網(wǎng)頁(yè)服務(wù)器(602)請(qǐng)求網(wǎng)頁(yè)(604)的物理計(jì)算設(shè)備(608)完成的。下面將更詳細(xì)地闡述分割網(wǎng)頁(yè)內(nèi)容的說(shuō)明性過(guò)程。
為了獲得其期望功能,物理計(jì)算設(shè)備(608)包括各種硬件部件。在這些硬件部件當(dāng)中,可能是至少一個(gè)處理單元(610)、至少一個(gè)存儲(chǔ)器單元(612)、外圍裝置適配器(628)和網(wǎng)絡(luò)適配器(630)。這些硬件部件可以通過(guò)使用一個(gè)或多個(gè)總線和/或網(wǎng)絡(luò)連接而互連。處理單元(610)可以包括從存儲(chǔ)器單元(612)取得可執(zhí)行代碼并執(zhí)行該可執(zhí)行代碼所必需的硬件體系結(jié)構(gòu)。該可執(zhí)行代碼當(dāng)由處理單元(610)執(zhí)行時(shí)可以促使處理單元(610)實(shí)施依據(jù)下面所描述的本說(shuō)明書的方法的至少這樣的功能取得網(wǎng)頁(yè)(604)并且在語(yǔ)義上把該網(wǎng)頁(yè)(604)分割成相干功能或邏輯塊。在執(zhí)行代碼的過(guò)程中,處理單元(610)可以從其余的硬件單元中的一個(gè)或多個(gè)接收輸入并向它們提供輸出。存儲(chǔ)器單元(612)可以被配置為數(shù)字地儲(chǔ)存由處理單元(610)消耗和產(chǎn)生的數(shù)據(jù)。此外,存儲(chǔ)器單元(612)包括圖5的網(wǎng)頁(yè)分割模塊502。進(jìn)一步地,網(wǎng)頁(yè)分割模塊502包括塊空間特征計(jì)算器506、自適應(yīng)閾限生成器508和相鄰塊組合器510。存儲(chǔ)器單元(612) 還可以包括各種類型的存儲(chǔ)器模塊,包括易失性和非易失性存儲(chǔ)器。例如,本示例的存儲(chǔ)器單元(612)包括隨機(jī)存取存儲(chǔ)器(RAM) 622、只讀存儲(chǔ)器(ROM) 624、和硬盤驅(qū)動(dòng)(HDD)存儲(chǔ)器626。在本領(lǐng)域中可獲得許多其他類型的存儲(chǔ)器,并且本說(shuō)明書預(yù)期在存儲(chǔ)器單元(612)方面使用如可能適合于本文所描述原理的特定應(yīng)用的任何一種(或多種)類型的存儲(chǔ)器。在某些示例中,存儲(chǔ)器單元(612)中的不同類型的存儲(chǔ)器可以用于不同的數(shù)據(jù)儲(chǔ)存需要。例如,在某些實(shí)施例中,處理單元(610)可以從ROM啟動(dòng),在HDD存儲(chǔ)器中保持非易失性儲(chǔ)存,以及執(zhí)行存儲(chǔ)在RAM中的程序代碼。物理計(jì)算設(shè)備(608)中的硬件適配器(628、630)被配置為使得處理單元(610)能夠與該物理計(jì)算設(shè)備(608)外部和內(nèi)部的各種其他硬件元件對(duì)接。舉例來(lái)說(shuō),外圍裝置適配器(628)可以提供到輸入/輸出裝置的接口以建立用戶界面和/或訪問(wèn)存儲(chǔ)儲(chǔ)存器的外部源。外圍裝置適配器(628)還可以建立處理單元(610)和打印機(jī)(632)或者其他媒體輸出裝置之間的接口。例如,在物理計(jì)算設(shè)備(608)被配置為基于從網(wǎng)頁(yè)的內(nèi)容提取的功能塊生成文檔的實(shí)施例中,該物理計(jì)算設(shè)備(608)可以被進(jìn)一步配置為指示打印機(jī)(632)創(chuàng)建該文檔的一個(gè)或多個(gè)物理拷貝。網(wǎng)絡(luò)適配器(630)可以提供到網(wǎng)絡(luò)(606)的接口,從而使得能夠?qū)崿F(xiàn)到網(wǎng)絡(luò)(606)上的其他裝置的數(shù)據(jù)的傳輸,以及從該其他裝置的數(shù)據(jù)的接收,所述其他裝置包括網(wǎng)頁(yè)服務(wù)器(602)。根據(jù)圖6的上面所描述的實(shí)施例旨在提供對(duì)本文所包含的創(chuàng)造性概念的某些實(shí)施例可以被實(shí)現(xiàn)于其中的合適的計(jì)算環(huán)境600的一般簡(jiǎn)要說(shuō)明。如所示出的,計(jì)算機(jī)程序包括用于分割包括多個(gè)節(jié)點(diǎn)的網(wǎng)頁(yè)的自適應(yīng)閾限網(wǎng)頁(yè)分割模塊。此外,自適應(yīng)閾限網(wǎng)頁(yè)分割模塊502包括塊空間特征計(jì)算器506,用來(lái)獲得每對(duì)節(jié)點(diǎn)之間的特征值;自適應(yīng)閾限生成器508,用來(lái)使用所獲得的特征值估計(jì)自適應(yīng)閾限值;以及相鄰塊組合器510,用來(lái)通過(guò)比較與每對(duì)節(jié)點(diǎn)相關(guān)聯(lián)的特征值和所估計(jì)的自適應(yīng)閾限值來(lái)分割網(wǎng)頁(yè)。例如,上面所描述的自適應(yīng)閾限網(wǎng)頁(yè)分割模塊502可以采用存儲(chǔ)在非瞬時(shí)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的指令的形式。一種制品包括具有指令的非瞬時(shí)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述指令當(dāng)被物理計(jì)算設(shè)備608執(zhí)行時(shí)促使計(jì)算設(shè)備608執(zhí)行圖I至6中所描述的一個(gè)或多個(gè)方法。
在各種實(shí)施例中,圖I至6中所描述的方法和系統(tǒng)可以使得能夠選擇和計(jì)算空間特征值(例如,一對(duì)邊界框之間的距離和/或塊重疊率),其特別表示網(wǎng)頁(yè)布局并且對(duì)于自下而上的網(wǎng)頁(yè)分割方案是有用的。此外,使用上面提及的方法容易實(shí)施一對(duì)邊界框之間的相鄰關(guān)系(即,上面描述的相鄰條件)。進(jìn)一步地,上面提及的系統(tǒng)易于構(gòu)建并且在用于分割網(wǎng)頁(yè)所需要的處理時(shí)間方面是高效的。此外,由于自適應(yīng)閾限值是通過(guò)分析每對(duì)節(jié)點(diǎn)/邊界框之間的空間特征分布估計(jì)的,所以上面提及的方法和系統(tǒng)自適應(yīng)于不同類型的網(wǎng)頁(yè)。另夕卜,由于它可以通過(guò)對(duì)分割粒度的不同要求加以調(diào)整,所以上面提及的方法和系統(tǒng)自適應(yīng)于頁(yè)結(jié)構(gòu)以及用戶的意圖這二者。盡管已經(jīng)參考具體示例實(shí)施例描述了本實(shí)施例,但是將顯然的是,在不偏離各種實(shí)施例的更寬的精神和范圍的情況下可以對(duì)這些實(shí)施例進(jìn)行各種修改和改變。進(jìn)一步地,可以使用硬件電路(例如,基于互補(bǔ)金屬氧化物半導(dǎo)體的邏輯電路),固件,軟件和/或硬件、固件和/或體現(xiàn)在機(jī)器可讀介質(zhì)中的軟件的任何組合來(lái)實(shí)現(xiàn)和操作本文所描述的各種裝置、模塊、分析器、生成器等等。例如,可以使用晶體管、邏輯門、和電氣電路(諸如專用集成 電路)來(lái)體現(xiàn)各種電氣結(jié)構(gòu)和方法。
權(quán)利要求
1.一種用于分割包括多個(gè)節(jié)點(diǎn)的網(wǎng)頁(yè)的方法,其由包括至少一個(gè)處理器的物理計(jì)算系統(tǒng)執(zhí)行,所述方法包括 使用所述物理計(jì)算系統(tǒng)獲得每對(duì)節(jié)點(diǎn)之間的特征值; 使用所述物理計(jì)算系統(tǒng)使用所獲得的特征值估計(jì)自適應(yīng)閾限值;和 通過(guò)比較與每對(duì)節(jié)點(diǎn)相關(guān)聯(lián)的特征值和所估計(jì)的自適應(yīng)閾限值來(lái)對(duì)網(wǎng)頁(yè)進(jìn)行分割。
2.如權(quán)利要求I的方法,還包括 使用所述物理計(jì)算系統(tǒng)把所述網(wǎng)頁(yè)中的內(nèi)容解析為多個(gè)節(jié)點(diǎn),其中每個(gè)節(jié)點(diǎn)由邊界框限定。
3.如權(quán)利要求2所述的方法,其中獲得每對(duì)節(jié)點(diǎn)之間的特征值包括 使用所述物理計(jì)算系統(tǒng)獲得每對(duì)邊界框之間的特征值。
4.如權(quán)利要求3所述的方法,其中,所述節(jié)點(diǎn)包括網(wǎng)頁(yè)中在屬性方面基本為同類的且在與該網(wǎng)頁(yè)相關(guān)聯(lián)的DOM樹結(jié)構(gòu)中不具有孩子的原子或區(qū)域,其中,在沒(méi)有對(duì)所述網(wǎng)頁(yè)的任何用戶動(dòng)作的情況下所述原子是可見(jiàn)的,以及其中,由網(wǎng)頁(yè)中的邊界框限定的原子包括選自包含文本、圖像、動(dòng)畫、列表、輸入控制和可視分離器的組的原子。
5.如權(quán)利要求4所述的方法,其中獲得每對(duì)邊界框之間的特征值包括 獲得每對(duì)邊界框之間的空間特征值,其中獲得每對(duì)邊界框之間的空間特征值包括 獲得每個(gè)原子的位置信息,以及其中所述位置信息選自包含邊界框的左坐標(biāo)、邊界框的頂坐標(biāo)、邊界框的寬度以及邊界框的高度的組;以及 使用與每個(gè)原子相關(guān)聯(lián)的位置信息獲得每對(duì)邊界框之間的空間特征值。
6.如權(quán)利要求5所述的方法,其中,所述空間特征值選自包含在每對(duì)邊界框之間獲得的距離值和在每對(duì)邊界框之間獲得的重疊值的組。
7.如權(quán)利要求5所述的方法,其中使用所獲得的空間特征值估計(jì)所述自適應(yīng)閾限值包括 基于所獲得的空間特征值的特性計(jì)算空間分布;和 使用所計(jì)算的空間分布估計(jì)所述自適應(yīng)閾限值。
8.如權(quán)利要求7的方法,其中估計(jì)所述自適應(yīng)閾限值包括選自包含下列各項(xiàng)的組的統(tǒng)計(jì)值選擇基本上包括所計(jì)算的空間分布的約50%、所計(jì)算的空間分布的均值和標(biāo)準(zhǔn)偏差值的組合的閾限值,基于所獲得的空間特征值的分布對(duì)值進(jìn)行聚類,以及對(duì)所述網(wǎng)頁(yè)中的段數(shù)進(jìn)行計(jì)數(shù)。
9.一種用于分割包括多個(gè)節(jié)點(diǎn)的網(wǎng)頁(yè)的非瞬時(shí)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其具有當(dāng)被計(jì)算設(shè)備執(zhí)行時(shí)促使所述計(jì)算設(shè)備執(zhí)行包括下列步驟的方法的指令 獲得每對(duì)節(jié)點(diǎn)之間的特征值; 使用所獲得的特征值估計(jì)自適應(yīng)閾限值;和 通過(guò)比較與每對(duì)節(jié)點(diǎn)相關(guān)聯(lián)的特征值和所估計(jì)的自適應(yīng)閾限值來(lái)對(duì)網(wǎng)頁(yè)進(jìn)行分割。
10.一種用于分割包括多個(gè)節(jié)點(diǎn)的網(wǎng)頁(yè)的系統(tǒng),包括 處理器;和 在工作中耦合到所述處理器的存儲(chǔ)器,其中所述存儲(chǔ)器包括具有能夠?qū)崿F(xiàn)下列步驟的指令的網(wǎng)頁(yè)分割模塊 獲得每對(duì)節(jié)點(diǎn)之間的特征值;使用所獲得的特征值估計(jì)自適應(yīng)閾限值;和 通過(guò)比較與每對(duì)節(jié)點(diǎn)相關(guān)聯(lián)的特征值和所估計(jì)的自適應(yīng)閾限值來(lái)對(duì)網(wǎng)頁(yè)進(jìn)行分割。
11.如權(quán)利要求10所述的系統(tǒng),其中使用計(jì)算機(jī)把所述網(wǎng)頁(yè)中的內(nèi)容解析為多個(gè)節(jié)點(diǎn),其中,把所述多個(gè)節(jié)點(diǎn)輸入到所述網(wǎng)頁(yè)分割模塊,以及其中每個(gè)節(jié)點(diǎn)由邊界框限定。
12.如權(quán)利要求11所述的系統(tǒng),其中獲得每對(duì)節(jié)點(diǎn)之間的特征值包括 使用所述物理計(jì)算系統(tǒng)獲得每對(duì)邊界框之間的特征值。
13.如權(quán)利要求12所述的系統(tǒng),其中,所述節(jié)點(diǎn)包括網(wǎng)頁(yè)中在屬性方面基本為同類的且在與該網(wǎng)頁(yè)相關(guān)聯(lián)的DOM樹結(jié)構(gòu)中不具有孩子的原子或區(qū)域,其中,在沒(méi)有對(duì)所述網(wǎng)頁(yè)的任何用戶動(dòng)作的情況下所述原子是可見(jiàn)的,以及其中,由網(wǎng)頁(yè)中的邊界框限定的原子包括選自包含文本、圖像、動(dòng)畫、列表、輸入控制和可視分離器的組的原子。
14.如權(quán)利要求13所述的系統(tǒng),其中獲得每對(duì)邊界框之間的特征值包括 獲得每對(duì)邊界框之間的空間特征值,其中獲得每對(duì)邊界框之間的空間特征值包括 獲得每個(gè)原子的位置信息,以及其中所述位置信息選自包含邊界框的左坐標(biāo)、邊界框的頂坐標(biāo)、邊界框的寬度以及邊界框的高度的組;以及 使用與每個(gè)原子相關(guān)聯(lián)的位置信息獲得每對(duì)邊界框之間的空間特征值。
15.如權(quán)利要求14所述的系統(tǒng),其中使用所獲得的空間特征值估計(jì)所述自適應(yīng)閾限值包括 基于所獲得的空間特征值的特性計(jì)算空間分布;和 使用所計(jì)算的空間分布估計(jì)所述自適應(yīng)閾限值。
全文摘要
公開了一種用于自適應(yīng)閾限網(wǎng)頁(yè)分割的系統(tǒng)和方法。在一個(gè)實(shí)施例中,由具有一個(gè)或多個(gè)處理器的物理計(jì)算系統(tǒng)執(zhí)行的、用于分割包括多個(gè)節(jié)點(diǎn)的網(wǎng)頁(yè)的方法包括使用物理計(jì)算系統(tǒng)把網(wǎng)頁(yè)中的內(nèi)容解析為多個(gè)節(jié)點(diǎn),使用物理計(jì)算系統(tǒng)獲得每對(duì)節(jié)點(diǎn)之間的特征值,使用物理計(jì)算系統(tǒng)使用所獲得的特征值來(lái)估計(jì)自適應(yīng)閾限值,以及通過(guò)比較與每對(duì)節(jié)點(diǎn)相關(guān)聯(lián)的特征值和所估計(jì)的自適應(yīng)閾限值來(lái)對(duì)網(wǎng)頁(yè)進(jìn)行分割。
文檔編號(hào)G06F17/30GK102893277SQ201080066847
公開日2013年1月23日 申請(qǐng)日期2010年5月19日 優(yōu)先權(quán)日2010年5月19日
發(fā)明者L-W.鄭, J-M.金, S.H.林, Y.熊, J.J.劉 申請(qǐng)人:惠普發(fā)展公司,有限責(zé)任合伙企業(yè)