本發明專利技術公開了一種基于不完全子樹匹配的Web數據記錄提取方法,包括如下步驟:根據HTTP協議下載網頁的HTML源代碼,并將下載的字符以統一的UNICODE進行編碼;過濾噪聲標記信息;利用NEKO或者HTMLParser之類的組件對HTML源代碼進行解析,構造網頁的Document樹;候選子樹集抽取;不完全子樹匹配;數據記錄集確定。本發明專利技術具基于子樹的匹配,不依賴于網頁的模板結構所以方法具有很高的通用性;通過標簽過濾和候選子樹集的確定,可以有效提高數據抽取過程的性能;基于截取的不完全子樹匹配方法判斷子樹結構之間的相似性,可以有效地消除數據對模板進行填充后導致的結構性差異,提高數據記錄提取的精度的優點。
【技術實現步驟摘要】
本專利技術涉及。
技術介紹
隨著互聯網的高速發展,Web技術的不斷改進,越來越多的機構和個人將信息發放到互聯網。每天,互聯網上都有成千上萬的網頁被生成,互聯網已經成為了一個巨大的信息共享的“圖書庫”。如何從海量的Web信息中尋找、提取有效的數據信息成為了一個重要的課題。HTML網頁是互聯網的一種最重要的數據格式,它是一個標簽語言,在結合腳本、樣式后,由瀏覽器進行顯示。HTML本質是一種半結構化的語言,它適合被渲染后由人類進行瀏覽,但是卻不利于由計算機程序對數據進行識別和抽取。在HTML標簽的定義中,是沒有語義方面的定義的,內容的展現組合很多,導致程序無法根據標簽來判斷某個標簽的區域是數據區域、廣告區域、還是版權聲明區域等其他區域。如果過濾HTML網頁中的噪聲信息,獲取所需的數據區域記錄已經形成了一門研究課程。Web信息的自動抽取,已有不少研究I.基于統計的方法這種方法是針對新聞、博客等網頁的正文提取類任務,有通過DOM樹中的特定節點(Table、Div,P)等進行處理來得到網頁有用信息,如《基于統計的網頁正文信息抽取方法的研究》中認為網頁的正文信息一般存在于一個Table節點中,通過統計節點中文文字的信息得到特定的Table節點,提取其中的文字得到網頁的有用正文。此類研究還有《基于標記窗的網頁正文信息提取方法》等。2.基于規則訓練的抽取方法此類方法是希望通過機器學習的方法獲取數據抽取的規則,方法的步驟一般是要先標注訓練集的網頁的數據區域,由程序區自動的“學習”,在需要的情況下加以輔助的啟發式規則,在實際的應用中應用訓練出來的抽取器來提取新出現的網頁的數據記錄。3.基于人工的特定網站的數據記錄提取此類方式一般是通過組件(比如標簽解析器或者DOM樹)解析HTML網頁,然后編寫專門的程序從特點的標簽中抽取所需數據記錄。對Web網頁的類型進行粗分大體上有三種首頁類型的鏈接列表網頁,商品搜索結果類型的數據記錄類型和新聞類型的正文類型網頁。以上的研究對于不同類型的網頁數據抽取都可能發揮其效果,比如對于新聞類的網站,基于統計的方法可能奏效;人工的方法對于特定的網站提取效果在精確度上優于任何自動的方法;基于規則的方法在具有大規模的訓練集的前提下,提取數據的效果也不錯。本文針對的是商品搜索結果類型的數據記錄提取,此類的網頁一般包含較多的數據記錄,典型的數據記錄如淘寶的商品搜索結果頁面,論壇的帖子列表和回復列表頁面,微博的頁面等。典型頁面數據記錄區塊如圖4所示。針對此類型的頁面基于統計的方法已經不適用,因為統計的方法一般要利用較長文字的統計信息,而數據記錄類型的網頁不滿足這一特點。基于規則的方法需要訓練的數據集大,人工標注網頁是一個相當耗費人力的過程,而且規則一般適用一個網站,對于多個網站的數據抽取要得到一個通用的,精確率高的規則是不現實的。當下,采用較多的方法是人工編寫程序的方法,這種方法精確度較高,但是它的突出缺點是耗費人力比較大而且維護困難。針對每一個網站都必須編寫相對應的抽取代碼,在目標網站改版的情況下,程序失效不易察覺,察覺后還是需要更改代碼。
技術實現思路
本專利技術所要解決的技術問題是提供。本專利技術是通過以下技術方案來實現的一種基于不完全子樹匹配的Web數據記錄 提取方法,包括如下步驟a.根據HTTP協議下載網頁的HTML源代碼,并將下載的字符以統一的UNICODE進行編碼;b.過濾噪聲標記信息;c.利用NEKO或者HTMLParser之類的組件對HTML源代碼進行解析,構造網頁的Document 樹;d.候選子樹集抽取;e.不完全子樹匹配;f.數據記錄集確定;作為優選,所述噪聲標記信息包括JavaScript腳本、CSS樣式表、注釋說明、部分無用標簽和空內容標簽。作為優選,所述數據記錄集的個數大于1,則還需要進行數據記錄集的確定。本專利技術的有益效果是1.基于子樹的匹配,不依賴于網頁的模板結構所以方法具有很高的通用性;2.通過標簽過濾和候選子樹集的確定,可以有效提高數據抽取過程的性能;3.基于截取的不完全子樹匹配方法判斷子樹結構之間的相似性,可以有效地消除數據對模板進行填充后導致的結構性差異,提高數據記錄提取的精。附圖說明為了易于說明,本專利技術由下述的具體實施例及附圖作以詳細描述。圖I為本專利技術的基于不完全子樹匹配的Web數據記錄提取方法的流程方框圖;圖2為本專利技術的基于不完全子樹匹配的Web數據記錄提取方法的不完全子樹示意圖;圖3為本專利技術的基于不完全子樹匹配的Web數據記錄提取方法的樹映射示意圖;圖4為典型頁面數據記錄區塊的示意圖。具體實施方式如圖I所示,本專利技術的,包括如下步驟a.根據HTTP協議下載網頁的HTML源代碼,并將下載的字符以統一的UNICODE進行編碼;b.過濾噪聲標記信息;c.利用NEKO或者HTMLParser之類的組件對HTML源代碼進行解析,構造網頁的Document 樹;d.候選子樹集抽取;e.不完全子樹匹配; f.數據記錄集確定;噪聲標記信息包括JavaScript腳本、CSS樣式表、注釋說明、部分無用標簽和空內容標簽,過濾這些噪聲信息可以防止噪聲標簽對分析造成影響,并加快方法的處理速度。候選子樹集的子樹擁有共同的父節點,但不一定是兄弟節點、子樹的根節點擁有共同的標簽符號,在嚴格定義的情況下標簽的屬性必須相同、子樹的節點數目必須大于一定閥值;候選子樹集的抽取過程是為了抽取可能的數據記錄集合,并且這個過程也可以對后續的過程減輕工作量。確定多個候選子樹集合的情況下,后續的步驟是進行候選數據記錄集合的判定。候選數據記錄集合是候選子樹集合的子集。如果候選子樹記錄集合中的子樹結構相似,則該集合為候選數據記錄集合。判斷子樹結構相似,我們采用的是不完全的子樹匹配,算法采用的是簡單樹匹配算法;如圖2所示,不完全子樹是指在子樹具有多層級的情況下,抽取根節點的最項幾層的節點,去除了葉節點等底層節點,所構成另一個不完全的子樹;采用不完全子樹進行匹配的原因是數據記錄是對模板的數據填充,葉節點等底層節點可能被數據影響(比如關鍵字高亮,用戶自定義標簽)導致節點的結構不匹配;為了更好介紹算法,此處給出樹映射的定義假設T為一棵樹,則V(T)表示樹T的節點集合。令A,B為兩棵樹,M[ V(A) X V{B),對于V (vai, Vbi),(va2,vb2) e M,如果滿足下面3個條件,則稱M為A到B的一個映射;(I)Val = Vbl — va2 = Vb2 ;(2) valcAncestor(va2) — vbl〔Ancestor (vb2),Ancestor(v)為 v 的祖先節點集合;(3) valcLeft (Va2) -^· Vbie Left(Vb2),Left(V)為V的左邊兄弟的節點集合;如圖3所示,條件(I)保證了一對一關系;條件(2)保證祖先關系;條件(3)保證兄弟關系。若映射M滿足條件v (va, vb) G#,存在(parent(va), parent (vb)) e M,其中va,vb是非根節點,則稱映射M為A,B的一個匹配。具有最多有序對數目的匹配稱為樹A,B的最大匹配,記作MaxMatch (A,B)。簡單樹匹配算法利用動態規劃的思想,尋找A,B的最大匹配。算法如下Input: Tree本文檔來自技高網...
【技術保護點】
一種基于不完全子樹匹配的Web數據記錄提取方法,其特征在于:包括如下步驟:?a.根據HTTP協議下載網頁的HTML源代碼,并將下載的字符以統一的UNICODE進行編碼;b.過濾噪聲標記信息;c.利用NEKO或者HTMLParser之類的組件對HTML源代碼進行解析,構造網頁的Document樹;d.候選子樹集抽取;e.不完全子樹匹配;f.數據記錄集確定。
【技術特征摘要】
【專利技術屬性】
技術研發人員:胡海斌,王慧昌,
申請(專利權)人:廈門市美亞柏科信息股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。