Web信息提取(Web Information Extraction,簡稱為WebIE)是將 Web作為信息源的一類信息進行提取。它的主要目的是從半結構或無結構的信息中提取出特定的事實信息(Factual Information)。比如,從新聞報道中提取出恐怖事件的詳細情況:時間、地點、作案者、受害者、襲擊目標、使用的武器等;從經濟新聞中提取出公司發布新產品的情況:公司名、產品名、發布時間、產品性能等;從病人的醫療記錄中提取出癥狀、診斷記錄、檢驗結果、處方等,或者直接提取文章中某句話或某段話的信息等等。
隨著Internet的飛速發展,Web已經發展成為一個巨大、分布和共享的信息資源,目前Web數據大都以HTML形式出現,缺乏對數據本身的描述,不含清晰的語義信息,模式也不明確,結構上也不良好。這使得應用程序無法直接解析并利用到 Web的海量信息,為增強Web數據的可用性,出現了Web信息提取技術,它通過包裝現有 Web信息源,將網頁上的信息以更為結構化的方式提取出來,為應用程序利用 Web數據提供了良好的方式。
信息提取的研究起源于20世紀90年代初,國外的研究表現在以下幾個方面:斯坦福大學的Sergey Brin提出的DIPRE算法可以對 Web文檔數據關系進行發現;IBM 研究中心的N.Sundaresan等對Web文檔中的雙義問題進行了討論并提出了改進的算法,并對 Web中的英文單詞縮寫和全稱進行了挖掘。國內的研究:復旦大學周傲英等對半結構化文檔的模式提取進行了研究,提出了遞增式模式挖掘算法;南京大學張福炎等采用OEM模型構造了半結構化數據的提取器。這些 Web提取研究利用了半結構化文檔的特點,對互聯網上的數據進行深層次的查找和分析,用知識代替了信息作為信息獲取的最終結果。

圖1 整體結構圖
本文重點研究如何從半結構化的 Web頁面中提取出用戶感興趣的數據,并試圖提出一個基于XML的Web信息提取平臺。其工作的核心是生成提取規則。這里,提取規則實際上就是對感興趣的信息點進行定位。首先需要將樣本 Web頁面轉化成為結構良好的XML文檔;通過從樣本XML文檔中找到用戶感興趣的區域;并在這個區域內細粒度地查找到具體要提取的信息點的定位信息;然后對不同樣本頁面的定位信息進行歸納學習,學習出該類頁面感興趣信息點的定位信息,并構造出以XSLT文檔表示的提取規則,最終應用該提取規則進行實際的信息提取,如圖1所示。
本信息提取平臺目的是結合現有不同提取技術的優點,以XML技術為基礎,將Web頁面中的關鍵信息自動地提取出來,并表達成為結構化的、擴展性很強的XML文檔。
本文希望通過一組相似的頁面,能夠歸納出相應的提取規則,進而利用提取規則進行頁面信息的提取。
系統首先根據用戶指定的URL獲取樣例網頁數據并且將該網頁利用HTML Tidy轉換為XHTML。
然后利用 XML Parser將該 XHTML文檔解析成為 DOM(Document Object Model)樹結構,這樣DOM樹就成為Web網頁在系統內部的表示形式。
最后在獲得DOM樹的基礎上,應用XSLT將DOM樹結構轉化為結果XML文檔。
3.4.1 知識庫和數據庫
系統中的庫包括知識庫(Knowledge Base)和數據庫(database),知識庫包括領域知識庫和提取規則庫。數據庫包括提取結果數據庫和Web頁面數據庫。
在實際操作中,提取系統中的知識庫和數據庫的構建比較復雜,而本文的側重是信息提取的研究,所以有關知識庫和數據庫的部分本文不做深入的闡述,如圖2所示。

圖2 總體框架
3.4.2 頁面優化模塊
主要針對待學習頁面和待提取頁面進行優化處理,使結構不完整或不規范的Web頁面轉化成為結構良好的XHTML文檔,并解析成為DOM樹結構。
3.4.3 信息提取模塊
信息提取是本文的核心,信息提取以獲得提取規則為前提,任何信息提取的研究都致力于獲得健壯可靠的提取規則,然后運用提取規則進行信息的提取。因此,該部分就分為兩個步驟:首先進行樣本學習,以獲得提取規則;然后運用規則進行信息提取。
領域知識庫的功能主要包括如下幾點:
(1)為用戶提供查詢導航服務,使用戶開始使用時不至于束手無策。方法是將一些較重要的網站的URL添加到相應的領域下。
(2)為規則的管理提供邏輯和方法上的支持,方法是將提取規則按照子領域分類存儲。
本文中的領域指的是發布同類信息的專業網站,領域知識庫是要提取的信息所在領域所包含的基本概念、屬性、實體、規則等知識。如出版社圖書出版網站發布的是有關圖書的一類信息,它的領域知識庫就要包含圖書所要求的各種基本概念和屬性等知識。本文中規定,領域知識庫中的各領域按從屬關系形成一個層次樹,而根是虛擬的,也可稱為“根領域”。
提取規則庫存儲的是已經學習到的提取規則,提取規則是欲提取的識別模式知識。對不同的領域和網站所采用的規則各不相同,隨著提取系統的運行,會產生許多規則,系統自然需要一個庫來存放這些規則。當系統需要進行信息提取時,首先可以向規則庫中查找是否有可以重復利用的規則,如果有則可以直接從規則庫中提取出相應的規則,不必再重新生成針對相似網站或網頁的新規則。
最終提取出來的結果是含有用戶感興趣信息點的 XML文檔,提取結果數據庫中存放的也就是這些XML頁面。Native XML DataBase,也稱 XML本源數據庫,是專門設計用于存儲 XML文檔的數據庫,它以XML文檔自身的形式來存儲XML文檔,與其它數據庫的不同在于其內部模型是基于XML文檔格式的。
4.4.1 清洗(TIDY)頁面文檔
清洗(TIDY)頁面需要做的是對Web頁面進行修復轉換成為符合規范的XHTML文檔,本文中稱為清洗(TIDY)。
HTML Tidy是一個開放源代碼的強大工具,可用于修正HTML文檔中的常見錯誤并生成格式編排良好的等價文檔。本文使用了Tidy的類庫,將其集成到系統當中。Web頁面將通由Tidy進行頁面預處理,將源HTML文檔轉換成等價的XHTML文檔。
4.4.2 頁面解析(PARSER)
HTML DOM樹是Web頁面的一種描述方式,是根據Web頁面中 HTML標簽的含義而建立的,有層次關系的樹狀結構,其上的每個節點都是一個單獨的HTML元素。因此,將DOM層次結構中的路徑理解成為提取的“坐標”,通過對坐標的獲得和理解來得到需要提取的信息。這個過程中,將XML文件加載到內存生成XML DOM樹,以供提取規則學習模塊來生成基于DOM的規則。
在 Web信息應用中,使用包裝器進行信息提取。包裝器是一個軟件過程,應用已經定義好的信息提取規則,將輸入 Web頁面中的信息數據提取出來,轉換成用特定格式描述的信息,提供給其它信息系統做進一步研究,信息提取的工作流程如圖3所示。

圖3 信息提取工作流程
4.5.1 規則學習的依據
規則(rule),不同的文獻中也有稱作模式(pattern)的。Wrapper的核心是提取規則,構造準確健壯的提取規則是重中之重,也是任何提取系統致力的目標。
文中主要采用 HTML中所包含的結構特征、位置特征、顯示特征、語義特征和引用特征形成提取規則。規則學習的步驟:(1)確定樣本頁面集;(2)樣本學習,生成提取規則。
4.5.2 信息提取過程的描述
當得出了提取規則XSLT文檔后,要構造一個進行信息提取的wrapper僅需要執行這個XSLT。
本文方法為 Web頁面的信息提取奠定了良好的基礎,但其適用范圍仍然有所局限。當遇到了頁面結構較為復雜并且缺乏語義的時候,提取的準確率就會降低。所以,需要加強學習提取規則的適應性和算法來解決信息復雜性,信息源權威性和有效性,提高信息提取的準確性。