面向Web的數據挖掘
Web上有海量的數據信息,怎樣對這些數據進行復雜的應用成了現今數據庫技術的研究熱點。數據挖掘就是從大量的數據中發現隱含的規律性的內容,解決數據的應用質量問題。充分利用有用的數據,廢棄虛偽無用的數據,是數據挖掘技術的最重要的應用。相對於Web的數據而言,傳統的數據庫中的數據結構性很強,即其中的數據為完全結構化的數據,而Web上的數據最大特點就是半結構化。所謂半結構化是相對於完全結構化的傳統數據庫的數據而言。顯然,面向Web的數據挖掘比面向單個數據倉庫的數據挖掘要復雜得多。
1.異構數據庫環境
從數據庫研究的角度出發,Web網站上的信息也可以看作一個數據庫,一個更大、更復雜的數據庫。Web上的每一個站點就是一個數據源,每個數據源都是異構的,因而每一站點之間的信息和組織都不一樣,這就構成了一個巨大的異構數據庫環境。如果想要利用這些數據進行數據挖掘,首先,必須要研究站點之間異構數據的集成問題,只有將這些站點的數據都集成起來,提供給用戶一個統一的視圖,才有可能從巨大的數據資源中獲取所需的東西。其次,還要解決Web上的數據查詢問題,因為如果所需的數據不能很有效地得到,對這些數據進行分析、集成、處理就無從談起。
2.半結構化的數據結構
Web上的數據與傳統的數據庫中的數據不同,傳統的數據庫都有一定的數據模型,可以根據模型來具體描述特定的數據。而Web上的數據非常復雜,沒有特定的模型描述,每一站點的數據都各自獨立設計,並且數據本身具有自述性和動態可變性。因而,Web上的數據具有一定的結構性,但因自述層次的存在,從而是一種非完全結構化的數據,這也被稱之為半結構化數據。半結構化是Web上數據的最大特點。
3.解決半結構化的數據源問題
Web數據挖掘技術首要解決半結構化數據源模型和半結構化數據模型的查詢與集成問題。解決Web上的異構數據的集成與查詢問題,就必須要有一個模型來清晰地描述Web上的數據。針對Web上的數據半結構化的特點,尋找一個半結構化的數據模型是解決問題的關鍵所在。除了要定義一個半結構化數據模型外,還需要一種半結構化模型抽取技術,即自動地從現有數據中抽取半結構化模型的技術。面向Web的數據挖掘必須以半結構化模型和半結構化數據模型抽取技術為前提。
XML與Web數據挖掘技術
以XML為基礎的新一代WWW環境是直接面對Web數據的,不僅可以很好地兼容原有的Web應用,而且可以更好地實現Web中的信息共享與交換。XML可看作一種半結構化的數據模型,可以很容易地將XML的文檔描述與關系數據庫中的屬性一對應起來,實施精確地查詢與模型抽取。
1.XML的產生與發展
XML(eXtensibleMarkupLanguage)是由萬維網協會(W3C)設計,特別為Web應用服務的SGML(StandardGeneralMarkupLanguage)的一個重要分支。總的來說,XML是一種中介標示語言(Meta-markupLanguage),可提供描述結構化資料的格式,詳細來說,XML是一種類似於HTML,被設計用來描述數據的語言。XML提供了一種獨立的運行程序的方法來共享數據,它是用來自動描述信息的一種新的標准語言,它能使計算機通信把Internet的功能由信息傳遞擴大到人類其他多種多樣的活動中去。XML由若干規則組成,這些規則可用於創建標記語言,並能用一種被稱作分析程序的簡明程序處理所有新創建的標記語言,正如HTML為第一個計算機用戶閱讀Internet文檔提供一種顯示方式一樣,XML也創建了一種任何人都能讀出和寫入的世界語。XML解決了Html不能解決的兩個Web問題,即Internet發展速度快而接入速度慢的問題,以及可利用的信息多,但難以找到自己需要的那部分信息的問題。XML能增加結構和語義信息,可使計算機和服務器即時處理多種形式的信息。因此,運用XML的擴展功能不僅能從Web服務器下載大量的信息,還能大大減少網絡業務量。 更多內容請看web開發 開發應用專題,或 XML中的標志(TAG)是沒有預先定義的,使用者必須要自定義需要的標志,XML是能夠進行自解釋(SelfDescribing)的語言。XML使用DTD(DocumentTypeDefinition文檔類型定義)來顯示這些數據,XSL(eXtensibleStyleSheetLanguage)是一種來描述這些文檔如何顯示的機制,它是XML的樣式表描述語言。XSL的歷史比HTML用的CSS(層疊式樣式表CascadingStyleSheets)還要悠久,XSL包括兩部分:一個用來轉換XML文檔的方法;一個用來格式化XML文檔的方法。XLL(eXtensibleLinkLanguage)是XML連接語言,它提供XML中的連接,與Html中的類似,但功能更強大。使用XLL,可以多方向連接,且連接可以存在於對象層級,而不僅僅是頁面層級。由於XML能夠標記更多的信息,所以它就能使用戶很輕松地找到他們需要的信息。利用XML,Web設計人員不僅能創建文字和圖形,而且還能構建文檔類型定義的多層次、相互依存的系統、數據樹、元數據、超鏈接結構和樣式表。
2.XML的主要特點
正是XML的特點決定了其卓越的性能表現。XML作為一種標記語言,有許多特點:
(1)簡單。XML經過精心設計,整個規范簡單明了,它由若干規則組成,這些規則可用於創建標記語言,並能用一種常常稱作分析程序的簡明程序處理所有新創建的標記語言。XML能創建一種任何人都能讀出和寫入的世界語,這種創建世界語的功能叫做統一性功能。如XML創建的標記總是成對出現,以及依靠稱作統一代碼的新的編碼標准。
(2)開放。XML是SGML在市場上有許多成熟的軟件可用來幫助編寫、管理等,開放式標准XML的基礎是經過驗證的標准技術,並針對網絡做最佳化。眾多業界頂尖公司,與W3C的工作群組並肩合作,協助確保交互作業性,支持各式系統和浏覽器上的開發人員、作者和使用者,以及改進XML標准。XML解釋器可以使用編程的方法來載入一個XML的文檔,當這個文檔被載入以後,用戶就可以通過XML文件對象模型來獲取和操縱整個文檔的信息,加快了網絡運行速度。
(3)高效且可擴充。支持復用文檔片斷,使用者可以發明和使用自己的標簽,也可與他人共享,可延伸性大,在XML中,可以定義無限量的一組標注。XML提供了一個標示結構化資料的架構。一個XML組件可以宣告與其相關的資料為零售價、營業稅、書名、數量或其它任何數據元素。隨著世界范圍內的許多機構逐漸采用XML標准,將會有更多的相關功能出現:一旦鎖定資料,便可以使用任何方式透過電纜線傳遞,並在浏覽器中呈現,或者轉交到其他應用程序做進一步的處理。XML提供了一個獨立的運用程序的方法來共享數據,使用DTD,不同的組中的人就能夠使用共同的DTD來交換數據。你的應用程序可以使用這個標准的DTD來驗證你接受到的數據是否有效,你也可以使用一個DTD來驗證你自己的數據。 更多內容請看web開發 開發應用專題,或 (4)國際化。標准國際化,且支持世界上大多數文字。這源於依靠它的統一代碼的新的編碼標准,這種編碼標准支持世界上所有以主要語言編寫的混合文本。在Html中,就大多數字處理而言,一個文檔一般是用一種特殊語言寫成的,不管是英語,還是日語或阿拉伯語,如果用戶的軟件不能閱讀特殊語言的字符,那麼他就不能使用該文檔。但是能閱讀XML語言的軟件就能順利處理這些不同語言字符的任意組合。因此,XML不僅能在不同的計算機系統之間交換信息,而且能跨國界和超越不同文化疆界交換信息。
3.XML在Web數據挖掘中的應用
XML已經成為正式的規范,開發人員能夠用XML的格式標記和交換數據。XML在三層架構上為數據處理提供了很好的方法。使用可升級的三層模型,XML可以從存在的數據中產生出來,使用XML結構化的數據可以從商業規范和表現形式中分離出來。數據的集成、發送、處理和顯示是下面過程中的每一個步驟:
促進XML應用的是那些用標准的Html無法完成的Web應用。這些應用從大的方面講可以被分成以下四類:需要Web客戶端在兩個或更多異質數據庫之間進行通信的應用;試圖將大部分處理負載從Web服務器轉到Web客戶端的應用;需要Web客戶端將同樣的數據以不同的浏覽形式提供給不同的用戶的應用;需要智能Web代理根據個人用戶的需要裁減信息內容的應用。顯而易見,這些應用和Web的數據挖掘技術有著重要的聯系,基於Web的數據挖掘必須依靠它們來實現。
XML給基於Web的應用軟件賦予了強大的功能和靈活性,因此它給開發者和用戶帶來了許多好處。比如進行更有意義的搜索,並且Web數據可被XML唯一地標識。沒有XML,搜索軟件必須了解每個數據庫是如何構建的,但這實際上是不可能的,因為每個數據庫描述數據的格式幾乎都是不同的。由於不同來源數據的集成問題的存在,現在搜索多樣的不兼容的數據庫實際上是不可能的。XML能夠使不同來源的結構化的數據很容易地結合在一起。軟件代理商可以在中間層的服務器上對從後端數據庫和其它應用處來的數據進行集成。然後,數據就能被發送到客戶或其他服務器做進一步的集合、處理和分發。XML的擴展性和靈活性允許它描述不同種類應用軟件中的數據,從描述搜集的Web頁到數據記錄,從而通過多種應用得到數據。同時,由於基於XML的數據是自我描述的,數據不需要有內部描述就能被交換和處理。利用XML,用戶可以方便地進行本地計算和處理,XML格式的數據發送給客戶後,客戶可以用應用軟件解析數據並對數據進行編輯和處理。使用者可以用不同的方法處理數據,而不僅僅是顯示它。XML文檔對象模式(DOM)允許用腳本或其他編程語言處理數據,數據計算不需要回到服務器就能進行。XML可以被利用來分離使用者觀看數據的界面,使用簡單靈活開放的格式,可以給Web創建功能強大的應用軟件,而原來這些軟件只能建立在高端數據庫上。另外,數據發到桌面後,能夠用多種方式顯示。 更多內容請看web開發 開發應用專題,或 XML還可以通過以簡單開放擴展的方式描述結構化的數據,XML補充了HTML,被廣泛地用來描述使用者界面。Html描述數據的外觀,而XML描述數據本身。由於數據顯示與內容分開,XML定義的數據允許指定不同的顯示方式,使數據更合理地表現出來。本地的數據能夠以客戶配置、使用者選擇或其他標准決定的方式動態地表現出來。CSS和XSL為數據的顯示提供了公布的機制。通過XML,數據可以粒狀地更新。每當一部分數據變化後,不需要重發整個結構化的數據。變化的元素必須從服務器發送給客戶,變化的數據不需要刷新整個使用者的界面就能夠顯示出來。但在目前,只要一條數據變化了,整一頁都必須重建。這嚴重限制了服務器的升級性能。XML也允許加進其他數據,比如預測的溫度。加入的信息能夠進入存在的頁面,不需要浏覽器重新發一個新的頁面。XML應用於客戶需要與不同的數據源進行交互時,數據可能來自不同的數據庫,它們都有各自不同的復雜格式。但客戶與這些數據庫間只通過一種標准語言進行交互,那就是XML。由於XML的自定義性及可擴展性,它足以表達各種類型的數據。客戶收到數據後可以進行處理,也可以在不同數據庫間進行傳遞。總之,在這類應用中,XML解決了數據的統一接口問題。但是,與其他的數據傳遞標准不同的是,XML並沒有定義數據文件中數據出現的具體規范,而是在數據中附加TAG來表達數據的邏輯結構和含義。這使XML成為一種程序能自動理解的規范。
XML應用於將大量運算負荷分布在客戶端,即客戶可根據自己的需求選擇和制作不同的應用程序以處理數據,而服務器只須發出同一個XML文件。如按傳統的“ClIEnt/Server”工作方式,客戶向服務器發出不同的請求,服務器分別予以響應,這不僅加重服務器本身的負荷,而且網絡管理者還須事先調查各種不同的用戶需求以做出相應不同的程序,但假如用戶的需求繁雜而多變,則仍然將所有業務邏輯集中在服務器端是不合適的,因為服務器端的編程人員可能來不及滿足眾多的應用需求,也來不及跟上需求的變化,雙方都很被動。應用XML則將處理數據的主動權交給了客戶,服務器所作的只是盡可能完善、准確地將數據封裝進XML文件中,正是各取所需、各司其職。XML的自解釋性使客戶端在收到數據的同時也理解數據的邏輯結構與含義,從而使廣泛、通用的分布式計算成為可能。
XML還被應用於網絡代理,以便對所取得的信息進行編輯、增減以適應個人用戶的需要。有些客戶取得數據並不是為了直接使用而是為了根據需要組織自己的數據庫。比方說,教育部門要建立一個龐大的題庫,考試時將題庫中的題目取出若干組成試卷,再將試卷封裝進XML文件,接下來在各個學校讓其通過一個過濾器,濾掉所有的答案,再發送到各個考生面前,未經過濾的內容則可直接送到老師手中,當然考試過後還可以再傳送一份答案匯編。此外,XML文件中還可以包含進諸如難度系數、往年錯誤率等其他相關信息,這樣只需幾個小程序,同一個XML文件便可變成多個文件傳送到不同的用戶手中。
結束語
面向Web的數據挖掘是一項復雜的技術,由於Web數據挖掘比單個數據倉庫的挖掘要復雜的多,因而面向Web的數據挖掘成了一個難以解決的問題。而XML的出現為解決Web數據挖掘的難題帶來了機會。由於XML能夠使不同來源的結構化的數據很容易地結合在一起,因而使搜索多樣的不兼容的數據庫能夠成為可能,從而為解決Web數據挖掘難題帶來了希望。XML的擴展性和靈活性允許XML描述不同種類應用軟件中的數據,從而能描述搜集的Web頁中的數據記錄。同時,由於基於XML的數據是自我描述的,數據不需要有內部描述就能被交換和處理。作為表示結構化數據的一個工業標准,XML為組織、軟件開發者、Web站點和終端使用者提供了許多有利條件。相信在以後,隨著XML作為在Web上交換數據的一種標准方式的出現,面向Web的數據挖掘將會變得非常輕松。