專利名稱::生成與維護網頁內容抽取模板的方法和設備的制作方法
技術領域:
:本發(fā)明屬于互聯網信息處理領域,尤其涉及一種生成網頁內容抽取模板的方法和設備以及維護網頁內容抽取模板的方法和設備。
背景技術:
:隨著互聯網的快速發(fā)展,互聯網上的信息量每天都以驚人的速度增長。具有標記語言格式,例如超文本標記語言HTML格式的Web網頁是主要的信息載體。目前的Web網頁多為由數據庫和模板生成的動態(tài)網頁。通常一個網頁中,除了包括主要的正文內容外,還包含廣告、導航信息、版權信息等與正文無關的信息。在信息搜索、信息過濾、文本分類、文本聚類、文摘等應用中,去除掉網頁中的噪聲信息并提取網頁內容是非常重要的一步。比如在信息搜索中,在去除掉噪聲信息的網頁內容基礎上建立索引可以有效地提高搜索的準確率;而在信息過濾、文本分類、文本聚類和文摘等應用中,準確的網頁內容抽取對系統的性能有很大的提升作用??梢岳镁W頁內容抽取模板對相似的網頁集合進行網頁內容抽取。這種技術包括基于HTML特征來自動地或半自動地生成網頁內容抽取模板,并利用生成的網頁內容抽取模板來抽取網頁內容。例如在CRESCENZI.V等人的“^TowardsAutomaticDataExtractionformLargeWebSites",InProceedingsofthe26thInternationalConferenceonVeryLargeDatabaseSystems,Rome,Italy,2001,ppl09-118)中公開了一種全自動的方法,其中在網頁集合中完成對抽取規(guī)則的自動推導。此外,在使用網頁內容抽取模板進行網頁內容抽取的實際過程中,往往會遇到“模板維護”的問題,即由于網頁發(fā)生變化而導致抽取模板失效或者準確度下降。
發(fā)明內容在下文中給出了關于本發(fā)明的簡要概述,以便提供關于本發(fā)明的某些方面的基本理解。應當理解,這個概述并不是關于本發(fā)明的窮舉性概述。它并不是意圖確定本發(fā)明的關鍵或重要部分,也不是意圖限定本發(fā)明的范圍。其目的僅僅是以簡化的形式給出某些概念,以此作為稍后論述的更詳細描述的前序。本發(fā)明的一個目的在于提供一種生成網頁內容抽取模板的方法及設備。該方法及設備可以高效地自動生成網頁內容抽取模板。本發(fā)明的另一個目的在于提供一種維護網頁內容抽取模板的方法及設備,以便可以快速地自動判斷當前網頁內容抽取模板是否適應輸入的網頁。并在判定不適應的情況下,從計算的發(fā)生變化的時刻起重新計算網頁內容抽取模板。本發(fā)明的另一個目的是提供在被計算設備執(zhí)行時使計算設備能夠執(zhí)行上述方法的處理過程的計算機程序代碼,以及其上存儲有該計算機程序代碼的計算機可讀存儲介質及計算機程序產品。因此,本發(fā)明可以提高生成網頁內容抽取模板的效率。此外,在被處理網頁發(fā)生變化的情況下,本發(fā)明可以快速地自動重新生成網頁內容抽取模板,這樣實現了在不需要人工干預的情況下保持較高的準確率。為了實現上述目的,根據本發(fā)明的一個方面,提供了一種生成網頁內容抽取模板的裝置,包括輸入單元,被配置成根據網頁結構相似的多個輸入網頁中的每個輸入網頁,建立文檔對象模型樹,以作為輸入樹;權重計算單元,被配置成計算各個輸入樹中的每種類型的節(jié)點的權重;最大對齊關系計算單元,被配置成使用任何一個輸入樹作為初始聯合樹,利用計算出的權重來計算每個所述輸入樹和所述聯合樹之間的最大對齊關系;合并單元,被配置成利用計算出的所述最大對齊關系將所述輸入樹合并到所述聯合樹上;確定單元,被配置成確定所述聯合樹中最可能具有期望文本內容的節(jié)點;和選擇單元,被配置成選擇所述聯合樹中包含所確定的節(jié)點的子樹作為所述網頁內容抽取模板。根據本發(fā)明的又一個方面,提供一種維護網頁內容抽取模板的裝置,包括相似度計算單元,被配置成計算所述網頁內容抽取模板與依次輸入的網頁的文檔對象模型樹之間的相似度,以構成相似度序列;統計量計算單元,被配置成利用預定大小的窗口遍歷所述相似度序列,計算所述相似度序列在窗口中的統計量;統計量判斷單元,被配置成根據計算的統計量來判斷網頁內容抽取模板是否已不適應輸入網頁;和重新計算單元,被配置成在統計量判斷單元判定所述網頁內容抽取模板已不適應輸入網頁的情況下,用上述裝置來重新計算網頁內容抽取模板。根據本發(fā)明的另一個方面,提供一種生成網頁內容抽取模板的方法,包括根據網頁結構相似的多個輸入網頁中的每個輸入網頁,建立文檔對象模型樹,以作為輸入樹;計算各個輸入樹中的每種類型的節(jié)點的權重;使用任何一個輸入樹作為初始聯合樹,利用計算出的權重來計算每個所述輸入樹和聯合樹之間的最大對齊關系;利用計算出的所述最大對齊關系將所述輸入樹合并到所述聯合樹上;確定所述聯合樹中最可能具有期望文本內容的節(jié)點;和選擇所述聯合樹中包含所確定的節(jié)點的子樹作為所述網頁內容抽取模板。根據本發(fā)明的再一個方面,提供一種維護網頁內容抽取模板的方法計算所述網頁內容抽取模板與依次輸入的網頁的文檔對象模型樹之間的相似度,以構成相似度序列;利用預定大小的窗口遍歷所述相似度序列,計算相似度序列在所述窗口中的統計量;根據計算的統計量來判斷網頁內容抽取模板是否已不適應輸入網頁;和在判定所述網頁內容抽取模板已不適應輸入網頁的情況下,用上述方法來重新計算網頁內容抽取模板。根據本發(fā)明的其它方面,還提供了相應的計算機程序代碼、計算機可讀存儲介質和計算機程序產品。圖1的框圖示出根據本發(fā)明第一實施例的生成網頁內容抽取模板的設備100的示例性結構。圖2是示出HTML代碼和相應文檔對象模型樹的一個例子的示意圖。圖3是示出根據本發(fā)明第一實施例的生成網頁內容抽取模板的方法的流程圖。圖4是示出權重計算單元的具體結構的示意圖。圖5是示出計算輸入樹中的每種類型的節(jié)點的權重的流程圖。圖6是示出根據本發(fā)明第二實施例的維護網頁內容抽取模板的裝置600的示意圖。圖7是示出根據本發(fā)明第二實施例的維護網頁內容抽取模板的方法的流程圖。圖到圖8c是示出兩個輸入樹的匹配過程的示意圖。圖9是示出相似度序列隨時間變化的示意圖。圖IOa到圖IOj是示出一個示例性合并算法的示意圖。圖11是示出尋找重復模式的示例性情形的示意圖。圖12是示出了在其中可以實現根據本發(fā)明實施例的方法和/或裝置的通用個人計算機的示例性結構的方框圖。具體實施例方式下面參照附圖來說明本發(fā)明的實施例。應當注意,為了清楚的目的,附圖和說明中省略了與本發(fā)明無關的、本領域普通技術人員已知的部件和處理的表示和描述。圖1的框圖示出根據本發(fā)明第一實施例的生成網頁內容抽取模板的設備100的示例性結構。以下結合圖1來描述根據本發(fā)明第一實施例的生成網頁內容抽取模板的設備100。如圖1所示,設備100包括輸入單元101、權重計算單元102、最大對齊關系計算單元103、合并單元104、確定單元105和選擇單元106。輸入單元101針對網頁結構相似的多個輸入網頁集合中的每個輸入網頁,建立文檔對象模型樹,以作為輸入樹。對于一個網頁,可以對其進行分析以得到其文檔對象模型樹。文檔對象模型樹是一個樹結構,具有便于操作訪問以及重新恢復原始網頁的優(yōu)點。通過依次讀入網頁的內容,識別每一個標簽的名稱、類別、參數和內容,通過父子關系來反映嵌套關系,可以得到這種文檔對象模型樹。圖2是示出HTML代碼和相應文檔對象模型樹的一個例子的示意圖。圖加示出了示例性的HTML代碼,其中通過縮進來表示嵌套關系。圖2b示出了根據圖加示出的HTML代碼獲得的文檔對象模型樹,其中用圓圈表示節(jié)點,節(jié)點旁邊的文字表示節(jié)點所對應的HTML元素,節(jié)點間的連線表示節(jié)點間的父子關系(即相應標簽間的嵌套關系)。目前大部分的網頁(新聞、BBS(電子布告欄系統)、Blog(博客))是基于數據庫和網頁生成程序(例如腳本)生成的動態(tài)網頁。由于存在這個特點,相同或類似網頁生成程序所生成的網頁會表現出結構方面的相似性。例如搜狐的論壇(http://club.sohu.com/)和新浪的論壇(http:/Abs.sina.com.cn/)?;蛘哌M一步細分,比如搜狐的母嬰論壇(http://club.baby.sohu.com/)禾口搜狐的汽車社區(qū)(http://bbs.auto.sohu.com/)、新浪的親子論壇(http://bbs.baby.sina.com.cn/)禾口汽車論壇(http://bbs.auto.sina.com.cn/)等。另外,同一類的網頁在結構上是相似的。例如對于BBS帖子而言,帖子的格式(原帖的格式和回帖的格式)是統一的,變化的是帖子的內容和其它噪聲信息(廣告、其它鏈接);對于新聞網頁而言,正文的格式往往是統一的,變化的是除正文以外的如廣告和相關鏈接的信息。一般說來,網頁的布局也相對穩(wěn)定,對于同一版面下面同一時期的網頁尤其如此。這些格式相對穩(wěn)定和一致的正文或帖子的內容正是我們要抽取的內容。為了達到這個6目的,可以根據一定數量的網頁結構相似的網頁來統計其規(guī)律,最終得到一個準確的抽取模板??梢杂懈鞣N方法來準備網頁結構相似的多個輸入網頁。例如,可以確定特定URL,并且根據URL目錄層次關系獲取相似網頁的集合。例如當得到搜狐的“車行天下”論壇中的某個網頁時,可以找到其索引頁面,通過索引頁面下載在這個論壇中的其它的網頁。將這些網頁作為輸入網頁。再例如,在URL信息不是很明確或者在某個子目錄下面網頁太少的情況下,可以從已獲得的網頁集合中,通過計算與輸入樹中任意指定的初始聯合樹所基于的網頁結構的相似度或差異度的辦法,來獲得輸入網頁。如果一個網頁與初始聯合樹所基于的網頁結構的相似度大于給定閾值(或差異度小于給定閾值),可以將該網頁作為輸入網頁。當然,也可以預先人為指定輸入網頁。文檔對象模型樹中的節(jié)點對應于HTML文檔中的元素,而HTML文檔中的元素在重要性上是有區(qū)別的。例如,在語法上,HTML文檔中的元素可以分為塊元素(blocklevelelements)和內聯元素(inlineelements)兩種類型。塊元素和內聯元素的區(qū)別主要體現在兩個方面。在內容模型方面,塊元素可以包含其它塊元素或者內聯元素,而內聯元素通常只能夠包含內聯元素或者數據。塊元素通常表示了比內聯元素更大的結構。在展現格式方面,塊元素通常在新的一行上開始顯示,而內聯元素并不是這樣的。因此,塊元素的重要性顯然應大于內聯元素。主要的塊元素如下address、blockquote、center、dir、div、dl、fieldset、form、hi、h2、h3、h4、h5、h6、hr、isindex、menu、noframes>noscript、ol、p、pre、table、ul。主要的內聯元素如下abbr、acronym、b、bdo、big、br、cite、code、dfn、em、font、i、img、input、kbd、label、q、s、samp、select、small、span、strike、strong、sub、sup、textarea、tt、U、var。因此,在網頁內容抽取模板的生成過程中,需要對不同的類型的HTML元素給予不同的權重以便體現HTML標簽的區(qū)別,從而使生成的網頁內容抽取模板更具實際意義。因此,根據本發(fā)明的第一實施例中,利用權重計算單元102來精確地自動計算多個輸入網頁的輸入樹中出現的各種類型的節(jié)點的權重。如上所述,給不同類型的節(jié)點設置權重可以體現出節(jié)點的實際重要性,但另一方面,權重設置會影響在隨后的查找最大對齊關系的步驟中找到的最大對齊關系。不同的權重設置對應于不同的最大對齊關系。因為綜合權重(一般來說是權重之和)最大的對齊關系對應于涵蓋信息量最大的對齊關系,所以最優(yōu)的權重設置應該是對應于綜合權重最大的對齊關系的權重設置。圖5是示出計算輸入樹中的每種類型的節(jié)點的權重的流程圖。在具體計算中,首先計算出輸入網頁集合的整體相似度,接著,計算可以使得該整體相似度最大的權重值。如圖5所示,處理在步驟S3021開始。接著,在步驟S3022,將多個輸入網頁的多個輸入樹中的兩個輸入樹對齊??梢钥紤]節(jié)點的層次順序以及以下因素中的至少一個來實現對齊不同節(jié)點類型的優(yōu)先級關系、預定的對齊層數、對齊節(jié)點的數量等等。接著,在步驟S3023,根據權重來計算這兩個輸入樹的輸入樹相似度。接著,在步驟S30M判斷是否還有未計算的輸入樹。如果還有未計算的輸入樹,則返回到步驟步驟S3022。如果已經完成多個輸入樹中兩兩之間的輸入樹相似度的計算,則處理進行到步驟S3025,其中將多個輸入樹中兩兩之間的輸入樹相似度之和作為多個輸入網頁集合的整體相似度,并計算出可以使該整體相似度最大的權重值作為權重值。可以利用許多方法進行計算。在本發(fā)明的一個優(yōu)選實施例中,采用線性回歸的方法進行計算。最后,處理在步驟S3(^6結束。以下詳細描述計算權重的具體處理過程。首先,在步驟S3022,將兩顆輸入樹對齊。圖8示出了兩個輸入樹的匹配過程。在圖8中,示出了兩顆輸入樹圖2所示的以節(jié)點201為根的輸入樹(以下稱為樹1),以及以節(jié)點301為根的輸入樹(以下稱為樹2)。在開始匹配的時候,對于樹1中的節(jié)點201(<div>),樹2中有節(jié)點302、307、311div可以與之匹配。對樹1中的節(jié)點202(<form>),樹2中有節(jié)點303、308、312form可以與之匹配。當匹配到樹1的節(jié)點203()的時候,樹2中只有節(jié)點309和313()和其匹配。在繼續(xù)匹配的時候,對于樹1中的節(jié)點204(〈input〉),樹2中只有節(jié)點314input可以與之匹配。節(jié)點310input雖然與其標簽相同,但由于節(jié)點310和節(jié)點309ρ是兄弟關系,而在樹1中,節(jié)點204input和節(jié)點203ρ是父子關系,所以節(jié)點310無法匹配上。匹配到目前狀態(tài)下,活動路徑上有4個標簽(<diV>,<f0rm>,,〈input,各個標簽在樹1中的序號依次為(1,2,3,4),在樹2中的序號依次為(11,12,13,14)0序號滿足順序關系。圖8a示出了該狀態(tài)下的匹配關系,其中虛線表示匹配關系。在繼續(xù)匹配的時候,對樹1中的節(jié)點205(<table>),在樹2中可以找到節(jié)點304table與之匹配。但由于在樹1中,節(jié)點205(〈table〉)的下標比前一個節(jié)點204(標簽〈input的序號大,而在樹2中節(jié)點304(<table>)的序號就要比前一個節(jié)點310input的序號小,因而不滿足序號的順序關系,故而進行回溯,并將序列(<div>,<form>,<table>)加到一個新建的路徑上。圖8b示出了該狀態(tài)下的匹配關系,其中虛線表示匹配關系。按照這樣的操作繼續(xù)匹配下去,還可以得到匹配路徑(<div>,<form>,〈table〉,<tr>,<td>)。圖8c示出了該狀態(tài)下的匹配關系,其中虛線表示匹配關系。以上是通過層次關系和順序關系得到的匹配關系,在得到這些匹配關系后,需要進一步考慮其它因素從中選出對齊關系??梢杂泻芏喾N考慮的因素,例如節(jié)點的優(yōu)先級、對齊的層數、對齊節(jié)點的數量等等。在本發(fā)明的一個實施例中,可以考慮對齊節(jié)點的數量選出對齊關系。即將對齊節(jié)點的數量最多的匹配關系視為對齊關系。在這種情況下,樹1和樹2的對齊關系是圖8c所示的匹配關系(<div>,<form>,<table>,<tr>,<td>)。在本發(fā)明的另一個實施例中,可以考慮匹配節(jié)點的優(yōu)先級關系來選出對齊關系。例如,如上所述,塊元素的優(yōu)先級應大于內聯元素,因此,可以選出塊元素數目最多的匹配關系作為對齊關系。在塊元素數目相同的情況下,才進一步比較內聯元素的數目。例如,在圖8示出的節(jié)點中,div、form,ρ是具有較高優(yōu)先級的塊元素,在三種匹配關系即圖8a所示的匹配關系(<div>,<form>,,〈input、圖8b所示的匹配關系(<div>,<form>,〈table、圖8c所示的匹配關系(<div>,<form>,<table>,<tr>,<td>)中,圖8a所示的匹8配關系(<div>,<form>,,〈input中包含的具有較高優(yōu)先級的塊元素的數目最多。因此,樹1和樹2的對齊關系則是圖8a所示的匹配關系(<div>,<form>,,〈input。還可以有很多其它方法來選擇對齊關系。例如,還可以通過對齊的層數來選擇匹配關系作為對齊關系。當兩棵樹中出現某一層的節(jié)點完全對應一致的情況時,稱為兩顆樹中的某一層對齊。因此,可以選擇包含最多數目的對齊層的匹配關系(即選擇對齊層數最多的匹配關系)作為對齊關系。盡管在上文中只是描述了根據多個因素(例如節(jié)點的優(yōu)先級、對齊的層數、對齊節(jié)點的數量等)中的一個因素來從匹配關系中選擇對齊關系,但顯然,也可以利用上述因素中的任意兩個或更多個的組合來從匹配關系中選擇對齊關系。接著,在步驟S3023,根據權重來計算兩個輸入樹的輸入樹相似度。在計算中,用Wi來表示某種類型節(jié)點的權重。對于兩個輸入樹Tm和Tn,用Dmn來表示二者的相似度。此處,相似度Dnm被定義為兩顆對象樹Tm和Tn在對齊關系上的對齊節(jié)點的權重和。因此,Dnm可以被表示為權利要求1.一種生成網頁內容抽取模板的裝置,包括輸入單元,被配置成根據網頁結構相似的多個輸入網頁中的每個輸入網頁,建立文檔對象模型樹,以作為輸入樹;權重計算單元,被配置成計算各個輸入樹中的每種類型的節(jié)點的權重;最大對齊關系計算單元,被配置成使用任何一個輸入樹作為初始聯合樹,利用計算出的權重來計算每個所述輸入樹和所述聯合樹之間的最大對齊關系;合并單元,被配置成利用計算出的所述最大對齊關系將所述輸入樹合并到所述聯合樹上;確定單元,被配置成確定所述聯合樹中最可能具有期望文本內容的節(jié)點;和選擇單元,被配置成選擇所述聯合樹中包含所確定的節(jié)點的子樹作為所述網頁內容抽取模板。2.如權利要求1所述的裝置,其中所述權重計算單元進一步包括輸入樹相似度計算單元,被配置成計算多個輸入樹兩兩之間的相似度;第一計算單元,被配置成計算每種類型的節(jié)點的權重,使得所述多個輸入樹的基于兩兩之間的相似度的整體相似度最大。3.如權利要求2所述的裝置,其中所述輸入樹相似度計算單元進一步包括對齊單元,被配置成將兩個輸入樹對齊;第二計算單元,被配置成根據所述兩個輸入樹的對齊節(jié)點的權重來計算所述兩個輸入樹之間的相似度。4.一種維護網頁內容抽取模板的裝置,包括相似度計算單元,被配置成計算所述網頁內容抽取模板與依次輸入的網頁的文檔對象模型樹之間的相似度,以構成相似度序列;統計量計算單元,被配置成利用預定大小的窗口遍歷所述相似度序列,計算所述相似度序列在窗口中的統計量;統計量判斷單元,被配置成根據計算的統計量來判斷網頁內容抽取模板是否已不適應輸入網頁;和重新計算單元,被配置成在統計量判斷單元判定所述網頁內容抽取模板已不適應輸入網頁的情況下,用權利要求1-3中任意一項權利要求的裝置來重新計算網頁內容抽取模板。5.如權利要求4所述的裝置,所述重新計算單元進一步被配置成從當前時刻減去基于所述窗口所確定的時長作為所述網頁內容抽取模板變?yōu)椴贿m應輸入網頁的時刻,并從該時刻起重新計算網頁內容抽取模板。6.如權利要求4所述的裝置,其中所述統計量判斷單元被配置成通過將當前窗口的統計量相對于之前部分或全部樣本的統計量的變化與預定的閾值進行比較或者通過判斷計算的統計量是否滿足預定的分布,來判斷網頁內容抽取模板是否已不適應輸入網頁。7.—種生成網頁內容抽取模板的方法,包括根據網頁結構相似的多個輸入網頁中的每個輸入網頁,建立文檔對象模型樹,以作為輸入樹;計算各個輸入樹中的每種類型的節(jié)點的權重;使用任何一個輸入樹作為初始聯合樹,利用計算出的權重來計算每個所述輸入樹和聯合樹之間的最大對齊關系;利用計算出的所述最大對齊關系將所述輸入樹合并到所述聯合樹上;確定所述聯合樹中最可能具有期望文本內容的節(jié)點;和選擇所述聯合樹中包含所確定的節(jié)點的子樹作為所述網頁內容抽取模板。8.如權利要求7所述的方法,其中計算各個輸入樹中的每種類型的節(jié)點的權重的步驟進一步包括計算多個輸入樹兩兩之間的相似度;計算每種類型的節(jié)點的權重,使得所述多個輸入樹的基于所述兩兩之間的相似度的整體相似度最大。9.一種維護網頁內容抽取模板的方法,包括計算所述網頁內容抽取模板與依次輸入的網頁的文檔對象模型樹之間的相似度,以構成相似度序列;利用預定大小的窗口遍歷所述相似度序列,計算相似度序列在所述窗口中的統計量;根據計算的統計量來判斷網頁內容抽取模板是否已不適應輸入網頁;和在判定所述網頁內容抽取模板已不適應輸入網頁的情況下,用權利要求7-8中任意一項權利要求的方法來重新計算網頁內容抽取模板。10.如權利要求9所述的方法,其中根據計算的統計量來判斷網頁內容抽取模板是否已不適應輸入網頁的步驟包括通過將當前窗口的統計量相對于之前部分或全部樣本的統計量的變化與預定的閾值進行比較或者通過判斷計算的統計量是否滿足預定的分布,來判斷網頁內容抽取模板是否已不適應輸入網頁。全文摘要本發(fā)明提供了生成與維護網頁內容抽取模板的方法和設備。所述生成網頁內容抽取模板的裝置包括輸入單元;權重計算單元,被配置成計算各個輸入樹中的每種類型的節(jié)點的權重;最大對齊關系計算單元;合并單元;確定單元;和選擇單元。所述維護網頁內容抽取模板的裝置包括相似度計算單元,計算出相似度序列;統計量計算單元,利用預定大小的窗口遍歷所述相似度序列并計算窗口中的統計量;統計量判斷單元,根據計算的統計量來判斷網頁內容抽取模板是否已不適應輸入網頁;和重新計算單元。本發(fā)明可以高效地自動生成網頁內容抽取模板,并在由于網頁發(fā)生變化而導致抽取模板失效或者準確度下降時,可以快速地自動重新生成網頁內容抽取模板。文檔編號G06F17/30GK102073654SQ200910226108公開日2011年5月25日申請日期2009年11月20日優(yōu)先權日2009年11月20日發(fā)明者于浩,吳科,夏迎炬,張姝申請人:富士通株式會社