摘 要:文章闡述了利用XML中的DOM樹將Web數據結構分析,轉化為結構化的XML數據,使用Xpath實現數據匹配查找數據,通過正則表達式實現數據抽取。同時,對目前數據抽取技術做一些簡單探討研究。
關鍵詞:數據抽取;XML數據;DOM樹
引言
隨著Internet的快速發展,Web上的數據信息急劇增加,成為了世界上規模最大的公共數據資源。目前雖然搜索引擎為用戶查找信息提供了簡便的方法,但它只是提高了Web文檔的檢索效率,只能根據用戶提交的關鍵詞返回一組網址,用戶必須逐一瀏覽網址對應的Web頁,采用人工的方式定位最終信息,現有的搜索引擎本身不能直接定位到所需的數據,更談不上為數據增加語義。XML技術出現之后,因為其定義嚴格,語法明確,結構良好,已經迅速成為互聯網信息表示的事實標準,通過把HTML文檔轉換成XHTML,借助于DOM分析技術,可以方便從中提取有用信息。
1 WEB數據抽取
Web信息抽取是一種從Web文檔中抽取出有用信息的技術,可以大大的縮短了對資料的整理時間,為信息檢索提供方便,有利于現實文檔的存檔管理。我們可以利用行業信息模型和領域特征做主題搜索,在收集信息時去除領域無關的信息,在信息檢索時實現更優秀的查詢擴展,從而提高搜索結果的查全率和查準率,有效解決通用搜索系統給出的檢索結果往往過于繁雜,用戶甄別信息價值的時間長問題。主題搜索利用逐漸成熟的文本分類技術,去除用戶不關心數據,具有更多的針對性,減少搜索、瀏覽時間中的比重,使其滿足人們對信息的精準化需求,提高工作效率。
2 信息抽取方法發展情況
2.1 手工方法:通過觀察網頁及其源代碼,由編程人員找出一些模式,再根據這些模式編寫程序抽取目標數據。然而這種方式無法抽取站點數量巨大的形式。手工方法由于設計難度大,只能針對少量網頁抽取,目前基本不再使用。
2.2 包裝器歸納:即有監督學習方法,是半自動的。從手工標注的網頁或數據記錄集中利用機器學習方法序列覆蓋學習一組抽取規則。隨后這些歸則即被用于從具有類似格式的網頁中抽取目標數據項。由于需要手工標注的工作,不適合對大量站點抽取,并且維護開銷大。
2.3 自動抽取:即無監督學習方法,給定一張或數張網頁,這種方法自動從中尋找模式或語法,以便進行數據抽取。自動化抽取的主要優點是它能處理大量站點的情況,并且維護開銷小,主要缺點是因為系統不知道用戶對什么感興趣,它可能抽取了大量不需要的數據。
3 DOM樹的解析、擴展和Xpath使用
文件對象模型(Document Object Model,簡稱DOM),是W3C組織推薦的處理可擴展置標語言的標準編程接口。DOM可以先將XML文檔解析成結點對象以元素、屬性、實體和注釋等節點形式存放信息的樹形分級結構,然后以節點樹的形式在內存中,由于樹形數據結構應用較為廣泛,有很多成熟的算法可以用來遍歷、搜索、編輯XML文檔樹,同時借助于JDOM、DOM4J、SAX等技術類庫可以更加方便的訪問分檔中的數據。
XPath是一種用于查詢XML文檔中的信息的語言,是定位XML文檔節點的聲明式語言,是W3CXSLT標準的主要組成部分。Xpath規范定義了允許到XML文檔各個部分的路徑說明的表達式語法和支持這些表達式的核心庫基本函數。主要用于識別、選擇和匹配XML 文檔中的各個組成部分, 包括元素、屬性和文本內容等。XPath可以使用路徑表達式方便地定位XML節點,所以很適合于數據抽取。
4 Web信息抽取的概念及實現流程
Web 信息抽取就是從Web頁面中抽取目標信息的問題,從網頁中所包含的無結構或半結構的信息中識別用戶感興趣的數據,并將其轉化為結構和語義更為清晰的格式( XML、關系數據、面向對象的數據等)。基于XML技術抽取的流程為:首先,從網絡中獲取HTML文檔;然后,經Tidy等工具處理后轉換為符合XML格式的XHTML文檔,再使用XSL保存的數據抽取規則,經XSLT處理抽取出XML,中對原始的HTML文件加工清洗,經過使用工具Tity對網頁語法檢查及糾錯,將HTML文檔轉換為結構完整的XHTML;第三,使用HTMLParser等工具解析XML文檔生成DOM樹模式;最后,利用Xpath和正則表達式信息抽取規則提取有價值的信息存儲到數據庫中以便使用。
5 DOM子樹最大匹配求方法
設有兩棵樹T1=RA:… 或列表項
6 結束語
Web數據抽取技術目前還處在不斷發展之中,是Web數據挖掘研究領域中的難題和熱點。本文論述了基于DOM技術查找網頁中的數據區域方法,維護開銷小,具有很強的實用價值。值得注意的是還存在著改進的地方,比如抽取了一部分用戶不感興趣的數據,這可以嘗試使用領域分詞過濾掉不需要的信息加以完善。
參考文獻
[1]蔚曉娟.基于DOM的XML解析與應用[J].計算機技術與發展, 2007.17(4).
[2]李雪竹.一種基于XML的Web數據抽取的實現[J].科學技術與工程,2008(9).
[3]尹津其.基于WEB的數據抽取及應用實例[J].中國新技術新產品,2009(19).