宋鑫瑩 趙鐵軍
摘要:隨著互聯網爆炸式的發展和普及,網絡信息已經成為了一種寶貴的信息數據資源。海量的網絡數據使得數據分析與挖掘系統進入了一個新時代,越來越多的網絡應用系統需要對來自不同數據源的結構化數據進行抽取、挖掘和整合。然而,由于網頁文檔的半結構化性質,網頁上呈現的數據往往不能被機器自動地抽取和理解,因此,網絡信息抽取的研究目標在于提取網頁的結構化數據。互聯網數據的海量規模與高度異構,為網絡信息抽取帶來了巨大的挑戰。分析和總結了近年來網絡信息抽取相關的研究與工作,剖析了各個工作的優勢和局限,并進一步作了綜合的分類與比較。
關鍵詞:網絡信息抽??; 包裝器; 模板
中圖分類號:TP391 [KG*2]文獻標識碼:A[KG*2][HT5”H]文章編號:2095-2163(2013)05-0024-05
0引言
互聯網已經成為一種公用信息的重要載體。在過去的二十年間,隨著互聯網的爆炸式的發展和大眾型普及,涌現了眾多應用網站,如新聞、博客、微博、社交網絡、點評網站、在線論壇等。數量龐大的新聞媒體、商家機構和普通用戶寫手正不斷、不停地在網絡上發布信息,構成了一個海量的、寶貴的知識信息資源。
盡管互聯網已成為龐大的數據金礦,但HTML網頁——這一網絡信息主要呈現方式——的設計初衷是供用戶閱讀,而非由機器讀取,人們對網絡數據信息的獲取都僅限于網頁瀏覽或是搜索引擎檢索[1]。這種表層的網頁文本獲取方式僅適于簡單的文檔檢索任務,無法勝任更復雜、更精確的網絡數據分析與挖掘任務。例如構建社區論壇的專家搜索系統,需要抽取帖子的發帖人、發帖時間、帖子內容等元數據信息。圖 1為網絡論壇頁面的示意圖,共包含兩個論壇帖子(虛線框所示,稱為數據記錄),每個帖子又可分為若干數據單元,其含義由相應的語義標簽進行表明和指示(如時間、作者、內容等)。數據記錄、數據單元及單元的語義標簽,即構成了網頁呈現的結構化數據,如圖 2所示。基于網絡數據的大多數搜索和挖掘應用,都依賴于由輸入網面轉換而來的結構化的數據。由互聯網網頁中抽取結構化數據的過程稱為網絡信息抽取(Web Information Extraction)[1,2]。
網絡信息抽取任務不同于傳統的信息抽?。↖E)任務。傳統信息抽取的目的在于從自由文本中抽取數據,使用自然語言處理(Natural Language Processing)的技術,如詞性標注、語法分析等。而網絡信息抽取則從網頁文檔中抽取數據。網頁文檔是一種半結構化文檔,通常是由服務器端的后臺程序或腳本自動生成,含有特定的HTML標簽作為分隔標志,但整體缺乏嚴格且統一的語法和語義信息,包含了表現上的一定自由度。不同于高度結構化的文檔(如XML),半結構化的文檔并不能由機器直接讀取。而互聯網數據的海量規模與高度異構特征,也為網絡信息抽取帶來了巨大的挑戰。因此,開展網絡信息抽取的研究工作具有相當的必要性和實用性。
1主要工作介紹和分析按照模型方法的自動化程度,可以將網絡信息抽取工作
分為人工化、半自動化和全自動化三類。本節將從這三個方面,根據模型的提出時間,依次介紹相關工作,并分析各自的優勢和局限
1.1人工化的網絡信息抽取方法
早期的網絡信息抽取工作,依靠人工編寫的過程化程序來完成,如TSIMMIS[3],Minerva[4]等。編寫的程序依賴于特定的網頁結構,無法移植于其它結構的網頁,且需要一定的計算機程序專業知識,限制了方法的應用和推廣。因此,這種方法并不適于大規模的網絡信息抽取工作,已逐漸喪失其使用價值。
[HTH]1.2半自動化的網絡信息抽取方法[HTSS]
半自動化的方法,需要一定量的標注數據,因此也需要一定的人力成本。然而與人工化的方法不同,半自動化方法的標注任務簡單直觀,標注員經過簡單訓練即能勝任,并不需要計算機程序設計的專業知識,所以半結構化的方法能收集得到較大規模的標注數據,處理更大規模的抽取任務。
一類典型的半自動化方法,是利用標注數據,通過歸納推導,構建得到包裝器(Wrapper)。包裝器是信息集成系統中的一個模塊,能抽取網頁數據并將其轉換為結構化數據(圖 2)。具體可分為兩種模式:基于抽取模式規則[5,6]和基于模板樹匹配[7,8]。這兩種模式均刻畫了網頁的模板結構,但卻只適用于相同結構的網頁,因此被稱作(網站)模板相關的工作。當處理新結構的網站時,仍然需要再次標注。另外,模板的檢測和維護也是重要的研究問題[9]。只是數據標注和模板維護都需要巨大的成本,因此,這種方法不適用于大規模的網絡信息抽取工作。
為了克服模板化方法對網頁結構的高依賴性,近年來半自動化的研究工作相繼提出了(網站)模板無關的方法[10,11]。利用機器學習模型理論,挖掘領域內通用的、與網頁結構無關的特征,從標注數據中訓練得出統計模型。訓練得到的模型不依賴于特定網站或特定的網頁HTML結構,對同領域的多個網站具有普適性。然而,該模型仍然依賴于領域相關的標注數據和復雜的分類特征,當在不同領域應用時,頁需要重新標注數據、修改特征甚至更換模型方法。
如引言所述,結構化數據一般包含三個層次:數據記錄、單元和語義標簽。半自動化方法往往將其中多個級別的抽取工作合并為一個步驟,以盡快利用數據單元的豐富特征信息。然而,這也導致了該類方法的模板或領域局限性。
[HTH]1.3全自動化的網絡信息抽取方法[HTSS]
全自動化方法不需要標注數據,與半自動的方法相比具有更大的優勢。早期工作基于先驗的啟發式規則,包括Embley等[12]和OMINI[13]。然而,這類方法過度依賴于預先設計的啟發式規則,難于擴展,抽取效果也不夠理想。
其[JP2]后跟進的研究主要采用HTML標簽重復序列模式識別的方法,包括IPEAD[14]和 Dela[15],但在實際應用中仍需要人工選擇有效識別模式。另外,依賴的HTML標簽序列模式,并不能較好地反映HTML網頁標簽所展示的層次結構信息。[JP]
近年來,主流研究演進為利用網頁DOM樹(Document Object Model)識別重復相似子樹的方法。與HTML標簽序列相比,DOM樹能更好地反應HTML網頁內在的層次結構信息。MDR[16]對數據對象結構做了典型的簡單假設,并通過檢測相似的DOM子樹識別得到數據記錄,獲得了良好的抽取效果。后續工作包括DEPTA[17],NET[18],ViPER[19],MiBAT[20],RST[21]等。TPC[22]提出了一個基于DOM樹路徑特征挖掘的方法,對DOM樹上所有從樹根到標簽的路徑展現模式實現了聚類,同一聚類下若干重復交疊出現的樹路徑則組成一組數據記錄。
另一類全自動方法利用了頁面的視覺信息。Cai等[23]提出了VIPS算法,通過視覺布局,將輸入網頁分隔成不同部分。ViNTs[24]則利用了邊界的視覺曲折變化特征,抽取搜索結果記錄。ViDE[25]只是單純利用了網頁的視覺信息。然而,網頁的視覺信息特征往往需要額外的資源文件(如Cascading Style Sheets (CSS)文件),用以計算網頁元素的位置及大小信息,因此在實際應用中具有一定的局限性。
還有一類方法利用特定領域的本體知識以輔助數據抽取工作。例如,Embley等[12]將領域本體知識作為一種啟發式規則。MiBAT[20]則將自動化的數據抽取方法與通用的領域約束相結合,由此提高數據抽取精度。
抽取的數據對象可以分為兩種類型,即簡單的關系K元組(K表示每個數據記錄中含有的數據單元數量)和復雜的、具有嵌套層次結構的數據對象。Dela[15]研究識別嵌套的序列模式,NET[18]利用DOM樹后序編歷過程識別每一級的層次嵌套結構,TPC[22]和RST[21]利用啟發式后續處理來檢測嵌套結構。
以上研究工作主要集中于數據記錄的信息抽?。m然有些工作同時也完成了數據單元抽取),另外一些工作則集中研究數據單元的抽取。DEPTA[17]提出了局部樹匹配以對齊數據單元,Lu等[26]則對數據單元進行了相似性聚類。Zhao等[27]討論了DOM樹結構與數據單元結構的不一致問題。RoadRunner[28]和EXALG[29]進一步比較了同一網站的多個網頁的相似與差異,用以推導網頁的文法模式或標簽模板。
記錄級別和單元級別的抽取完成時,全自動的方法還需要為每個數據單元分配適合的標簽,以表示其具體語義(例如:“作者”、“時間”、“內容”等,見圖 2)。目前,語義標簽的自動化抽取仍然是個開放的問題。初步的研究工作主要基于啟發規則和特征[15]或網頁表單的查詢接口等[26]。然而,同一種數據單元在不同的網站可能具有不同的標簽文本,如何將這些標簽映射到同一個全局的語義標簽,則需要數據集成(Data Integration)方面的相關工作[2]。
2綜合分類和比較
由前文分析論述可知,除了按自動化程度劃分之外,網絡信息抽取任務還可以由輸入類型、輸出數據對象類型和使用的方法等多方面進行分類。
按輸入頁面數量,可以分為單一頁面(即只需要一個單獨的網頁即可進行信息抽取)、多頁面(需要利用由同一模板或腳本生成的多個網頁)、網站鏈接地圖(需要利用多種不同類型的網頁及其中的鏈接指向關系)三種。