数据挖掘语言浅析
zhujianqiu@hotmail.com
朱建秋 , 張曉輝 , 蔡偉杰 , 朱揚勇
(復旦大學計算機科學系 ,? 上海 ,?? 200437 )
【摘要】 本文介紹了幾種數據挖掘語言及其標準化方面的研究進展,提出了數據挖掘語言分類的方法,在此基礎上,對數據挖掘語言的結構和組成進行了探討和研究,最后指出了數據挖掘語言的發展趨勢,以及若干待解決的問題。
【關鍵詞】 數據挖掘,查詢語言,建模語言, XML
1.????? 引言
隨著網絡技術的發展和計算機使用的日益廣泛,電子化數據越來越多,人們正面臨“數據豐富而知識貧乏”的問題。八十年代末興起的數據挖掘( data mining )技術或數據庫中的知識發現( knowledge discovery in database , KDD )技術為解決此問題開辟了一條道路。數據挖掘是在大量的數據中發現潛在的、有價值的模式和數據間關系(知識)的過程。經過十多年的工作 ,數據挖掘技術的研究與應用已取得了很大的成果,然而,我們還面臨著許多問題:(1)各種數據挖掘問題及挖掘方法基于不同的模型和技術,彼此互相孤立,聯系很少;(2)缺少簡明精確的問題描述方法,挖掘的語義通常是由實現方法決定的;(3)數據挖掘系統僅提供孤立的知識發現功能,難于嵌入大型應用;(4)數據挖掘引擎與數據庫系統是松散耦合, T.Imielinski 和 H.Mannila 稱其為 " 文件挖掘 (file mining) 系統 " ,它沒有提供應用獨立的操作原語。
到目前為止,數據挖掘行業是高度分散的,公司和研究機構獨立開發各自的數據挖掘系統和平臺,沒有形成開放性的標準;同時數據挖掘本身是一門多學科綜合跨度非常大的技術,這兩點是上述問題存在的根本原因。近年來數據挖掘語言的研究為解決上列問題,提出一個新的研究方向。
???????? 本文組織結構如下:在第 2 節提出了數據挖掘語言分類的方法,將數據挖掘語言分為:查詢語言,建模語言,以及通用語言三種類型,然后,分別在 2.1 、 2.2 與 2.3 小節舉例闡述這三種數據挖掘語言的特點。在第 3 節對三種數據挖掘語言進行分析與評價,指出了各自的優缺點。最后指出了數據挖掘語言的發展趨勢,以及若干待解決的問題。
2. ????? 數據挖掘語言的分類
設計一個好的數據挖掘語言的重要性可以通過觀察關系數據庫系統的歷史來證實。在數據庫市場上,關系數據庫系統已經占支配地位數十年了。關系查詢語言的標準化,發生在關系數據庫開發的早期階段,關系數據庫領域的成功廣泛地依賴于關系數據庫查詢語言的標準化。盡管每個商業的關系數據庫系統都有各自的圖形用戶接口 GUI ,每個接口的根本的核心仍然是標準化的關系數據庫查詢語言。關系查詢語言的標準化為關系數據庫的開發和發展提供了基礎。它使得信息交換更加容易,同時提升了關系數據庫技術的商業性和被廣泛接受的程度。因此,有一個好的數據挖掘語言可以有助于數據挖掘系統平臺的標準化的開發,甚至可以象 HTML 推動 Internet 的發展一樣,推動數據挖掘行業的開發和發展。
設計全面的數據挖掘語言是一個巨大的挑戰,因為數據挖掘覆蓋了寬廣的任務,從數據特征化到挖掘關聯規則,數據分類,聚集和偏差檢測,等等。每個任務都有不同的需求。設計一個有效的數據挖掘語言需要對各種不同的數據挖掘任務的能力、限制、以及運行機制都有深入地理解。
???????? 數據挖掘語言的研究經歷了兩個階段,第一個階段是研究單位和公司自行研究和開發階段;第二階段是研究單位和公司組成聯盟,研制和開發數據挖掘語言標準化的階段。這兩個階段趨勢界限是很明顯的。第一個階段成果包括 Jiawei Han 等研制的 DMQL ; Imielinski 和 Virmani 提出的 MSQL ; Meo 、 Psaila 、和 Ceri 提出 MINE RULE 操作器;等。第二階段主要包括數據挖掘組織協會( DMG )提出的預言模型標記語言 PMML ,以及微軟公司提出的 OLE DB for Data Mining 規范。
???????? 對于上述數據挖掘語言,根據功能和側重點不同,我們將其分為三種類型:數據挖掘查詢語言;數據挖掘建模語言;通用數據挖掘語言。第一階段的數據挖掘語言一般屬于查詢語言; PMML 屬于建模語言; OLE DB for DM 屬于通用數據挖掘語言。下面我們分別介紹其特點和功能。
2.1 ? 數據挖掘查詢語言 [1,2]
數據挖掘系統應該有能力支持特殊的和交互的數據挖掘 (sad-hoc and interactive data mining) ,目的是為了靈活和有效的知識發現。數據挖掘查詢語言即是設計用來支持這個特點的。我們首先以加拿大 Simon Franser 大學 Jiawei Han 等開發的數據挖掘系統 DBMiner 中數據挖掘查詢語言 DMQL ( Data Mining Query Language )來介紹查詢語言的特點,接著簡單介紹其它研究工作。
數據挖掘查詢語言 DMQL 由數據挖掘原語組成,數據挖掘原語用來定義一個數據挖掘任務。用戶使用數據挖掘原語與數據挖掘系統通信,使得知識發現更有效。這些原語有以下幾個種類:數據庫一部分的規范以及用戶感興趣的數據集(包括感興趣的數據庫屬性或數據倉庫的維度);挖掘知識的種類;在指導挖掘過程中有用的背景知識;模式估值的興趣度測量;以及挖掘出的知識如何可視化表示。數據挖掘原語允許用戶在挖掘過程中從不同的角度或深度與數據挖掘系統進行交互式地通信。
數據挖掘查詢的基本單位是數據挖掘任務,通過數據挖掘查詢語言,數據挖掘任務可以通過查詢的形式輸入到數據挖掘系統中。一個數據挖掘查詢由以下五種基本的數據挖掘原語定義:
1 ) ? 任務相關數據原語
這是被挖掘的數據庫的一部分。挖掘的數據不是整個數據庫,只是和具體商業問題相關、或者用戶感興趣的數據集,即是數據庫中一部分表,以及表中感興趣的屬性。該原語包括以下具體的內容:數據庫或數據倉庫的名稱;數據庫表或數據倉庫的立方體;數據選擇的條件;相關的屬性或維;數據分組定義。
2 ) ? 被挖掘的知識的種類原語
該原語指定被執行的數據挖掘的功能,在 DMQL 中將挖掘知識分為五種類型,即五種知識的表達:特征規則;辨別規則;關聯規則;分類 / 預言;聚集。
3 ) ? 背景知識原語
用戶能夠指定背景知識,或者關于被挖掘的領域知識。這些知識對于引導知識發現過程和評估發現的模式都是非常有用的。背景知識原語包括:概念層次( concept hierarchy );對數據關系的用戶信任度( user beliefs about relationships in the data )。
4 ) ? 興趣度測量原語
這個功能是將不感興趣的模式從知識中排除出去。興趣度測量能夠用來引導數據挖掘過程,或者在發現后評估被發現的模式。不同種類的知識有不同種類的興趣度測量方法。例如對關聯規則來說,興趣度測量包括支持度( support )和可信度( confidence )。低于用戶指定的支持度和可信度閾值的規則被認為是不感興趣的。興趣度測量原語包括:簡單性( simplicity );確定性( certainty ,比如:可信度);效用( utility ,比如:支持度);新穎性( novelty )。
5 ) ? 被發現模式的表示和可視化原語
這個原語定義被發現的模式顯示的方式,用戶能夠選擇不同的知識表示形式。該原語包括:規則,表格,報告,圖表,圖形,決策樹,和立方體;向下鉆入和向上累積( drill-down and roll-up )。
DMQL 正是基于這些原語設計的數據挖掘查詢語言。它允許從關系數據庫和數據倉庫中多個抽象層次上特殊( ad-hoc )和交互地挖掘多種種類的知識。 DMQL 采用類似 SQL 語言的語法,因此它能夠很容易地和關系查詢語言 SQL 集成。
除了 DMQL 以外,我們簡單介紹其它一些數據挖掘查詢語言的研究工作。 MSQL 是一個數據挖掘查詢語言,它有 Imielinski 和 Virmani 提出。這個語言使用了類似 SQL 的語法和 SQL 原語(包括排序、分組、和其它原語)。既然在數據挖掘中可能產生大量的規則, MSQL 提供了一個稱作 GetRule 和 SelectRule 的原語,用于規則產生和規則選擇。它統一地對待數據和規則,因此,能夠在執行數據選擇,以及基于查詢的規則產生時進行優化工作,同時也能在操縱或者查詢產生規則的集合時進行優化。其它在數據挖掘語言設計方面的研究工作包括 Meo 、 Psaila 、和 Ceri 提出 MINE RULE 操作器。它同樣遵循類似 SQL 的語法,是為挖掘關聯規則設計的規則產生查詢語言。
2.2 ? 數據挖掘建模語言 [3]
數據挖掘建模語言是對數據挖掘模型進行描述和定義的語言。如果我們設計一種標準的數據挖掘建模語言,使得數據挖掘系統在模型定義和描述方面有標準可以遵循,那么各系統之間可以共享模型,既可以解決目前各數據挖掘系統之間封閉性的問題,有可以在其它應用系統中間嵌入數據挖掘模型,解決孤立的知識發現問題?!邦A言模型標記語言”( Predictive Model Markup Language , PMML )正是這樣一種數據挖掘建模語言。
PMML 被一個稱作數據挖掘協會( The Data Mining Group , http://www.dmg.org/ , DMG )的組織開發。該組織由 Angoss , Magnify , NCR , SPSS 和芝加哥 Illinois 大學 等企業和單位組成,它的目的是開發預言模型開放標準,策略是將此標準推薦給 W3C 工作組,使 PMML 成為 W3C 的正式推薦物。目前 DMG 宣布了定義預言模型開放標準的第一個版本 PMML 1.0 。 PMML 主要目的是允許應用程序和聯機分析處理( OLAP )工具能從數據挖掘系統獲得模型,而不用獨自開發數據挖掘模塊。另一個目的是能夠收集使用大量潛在的模型,并且統一管理各種模型的集合。這些能力在商業應用領域是有效的配置分析模型的基礎。
PMML 是一種基于 XML 的語言,用來定義預言模型。它為各個公司定義預言模型和在不同的應用程序之間共享模型提供了一種快速并且簡單的方式。通過使用標準的 XML 解析器對 PMML 進行解析,應用程序能夠決定模型輸入和輸出的數據類型,模型詳細的格式,并且按照標準的數據挖掘術語來解釋模型的結果。
PMML 提供了一個靈活機制來定義預言模型的模式,同時支持涉及多個預言模型的模型選擇和模型平衡( model averaging )。對于那些需要全部學習、部分學習和分布式學習( ensemble learning, partitioned learning, and distributed learning )的應用程序,這種語言被證明是非常有用的。另外,它使得在不同的應用程序和系統之間移動預言模型變得容易、方便。特別地, PMML 非常適合部分學習、元學習、分布式學習、以及相關領域。
使用 PMML 進行模型定義由以下幾部分組成:
1) ??? 頭文件( a header )
2) ??? 數據模式( a data schema )
3) ??? 數據挖掘模式( a data mining schema )
4) ??? 預言模型模式( a predictive model schema )
5) ??? 預言模型定義( definitions for predictive models )
6) ??? 全體模型定義( definitions for ensembles of models )
7) ??? 選擇和聯合模型和全體模型的規則( rules for selecting and combining models and ensembles of models )
8) ??? 異常處理的規則( rules for exception handling )
其中第 5 項組件是必不可少的。另外預言模型的模式必須被定義,這能夠利用一個或多個模式(組件 3 , 4 , 5 )來定義。其它幾項組件是可選的。
PMML1.0 標準版提供了一個小的 DTD (文檔類型定義, XML 術語)集合, DTD 詳細說明了決策樹和多項式回歸模型的實體和屬性。 DTD1.0 遵循著一個通用模式,該模式將一個數據字典和一個或多個模型的定義相結合,數據字典能夠立即應用于模式。數據字典的元素是非常簡單的。
???????? DMG 當前正在制定 PMML 版本 1.1 ,該版本提供獨立于應用程序定義模型的方法,使得版權問題和不兼容問題不再成為應用程序之間交換模型的障礙。 ??
2.3 ? 通用數據挖掘語言 [4]
通用數據挖掘語言合并了上述兩種語言的特點,既具有定義模型的功能,又能作為查詢語言與數據挖掘系統通信,進行交互和特殊的挖掘。通用數據挖掘語言的標準化是解決目前數據挖掘行業出現問題的最優的解決方案。 2000 年 3 月,微軟公司推出了一個數據挖掘語言,稱作 OLE DB for Data Mining ( DM )。這是朝數據挖掘語言原語標準化方面最顯著的努力。我們將 OLE DB for DM 歸類成通用數據挖掘語言。
OLE DB for DM 的規范包括創建原語以及許多重要數據挖掘模型的定義和使用(包括預言模型和聚集)。它是一個基于 SQL 預言的協議,為軟件商和應用開發人員提供了一個開放的接口,該接口將數據挖掘工具和能力更有效地和商業以及電子商務應用集成。同時, OLE DB for DM 已經與 DMG 發布的 PMML 標準結合。通過與 PMML 標準結合,微軟將數據挖掘分析應用帶入了一個更加強大的開放規范。這意味著大量的組織或公司現在都可以有一種簡單的并且易實現的方式將數據挖掘模型與他們自己構建的應用相結合,增強了應用系統的分析能力,卻沒有增加復雜性。
OLE DB for DM 擴充了 SQL 語言語法,使得商業分析和開發人員只是調用單一確定的 API (應用程序接口)函數即可實現數據挖掘功能,而不需要特殊的數據挖掘技能。它與關系數據庫自然的集成能夠加快數據挖掘進入高利潤的電子商務應用領域,例如站點個性化設計和購物籃分析。
微軟的目的是為數據挖掘提供行業標準,以至于任何數據挖掘軟件的算法,只要符合這個標準,都能容易地嵌入應用程序中。 OLE DB for DM 支持多種流行的數據挖掘算法。使用 OLE DB for DM ,數據挖掘應用能夠通過 OLE DB 生產者接進任何表格式的數據源,數據挖掘分析現在能夠依賴一個關系數據庫直接進行。
為了更容易訪問, OLE DB for DM 沒有增加任何新的 OLE DB 接口;相反,這個規格定義了一個簡單的查詢語言,它的語法非常類似于 SQL 語言,它專門研究了模式的行集合( rowset ),經過 OLE DB 或者 ADO ,消費者應用程序能夠使用行集合與數據挖掘生產者進行通信。
為了填補傳統的數據挖掘技術和目前流行的關系數據庫管理系統之間的縫隙, OLE DB for DM 定義了重要的新的概念和特點,包括如下幾點:
1 )數據挖掘模型( Data Mining Model , DMM )
DMM 類似一個關系表,但是它包含了一些特殊的列,這些列被數據挖掘中的數據訓練和預言制定使用。 DMM 既可以用來創建預言模型,又可以產生預言。不象標準的關系表存儲原始數據, DMM 存儲被數據挖掘算法發現的模式。對于從事基于 WEB 數據挖掘項目的開發人員, DMM 所有的結構和內容都可以用 XML 字符串表示。
2 )預言聯接操作( Predication Join Operation )
這是一個簡單的操作,類似于 SQL 語法中的聯接操作,它在一個訓練好的數據挖掘模型和設計的輸入數據源之間映射一個聯接查詢,開發人員能夠容易地產生確切符合商業需求的度身定制的預言結果。這個預言結果通過 OLE DB 的行集合或者 ADO 記錄集( recordset )發送到消費者應用程序內。
3 ) OLE DB for DM 模式行集合( Schema Rowsets )
這些特殊目的的模式行集合允許消費者應用發現臨界的信息,例如可以利用的挖掘服務,挖掘模型,挖掘列,和模型內容。數據挖掘生產者在模型創建和訓練階段組裝模式行集合。
目前 OLE DB for DM 規范最新版本是 1.0 。
3.??分析與評價
????? 數據挖掘查詢語言能與數據挖掘系統通信,進行交互和特殊的挖掘。它提供了獨立于應用的操作原語,簡明 精確的問題描述方法。但是,由于各查詢語言是研究機構和公司為自己的數據挖掘系統開發,沒有形成標準,它并沒有實質性地解決各個數據挖掘系統彼此互相孤立,難于嵌入大型應用的問題。
PMML 為處理和交換預言模型提供了一個簡單、開放的構架,使得各公司能夠更加迅速地使用他們從在線和傳統的數據中挖掘出的信息。這種標準使得公司在 IT 基礎構架中更加容易構建商業智能。 PMML 允許用戶在一個軟件商的應用程序內開發模型,而使用其它軟件商的應用程序對模型可視化、分析、估值或者以別的方式使用該模型。它使得在不同應用程序之間能夠無縫地交換模型變為可能,解決了數據挖掘系統彼此孤立,難于嵌入大型應用的問題。
然而, PMML 是預言模型標記語言,數據挖掘模型包括預言模型和描述模型,因此 PMML 并不是全面的數據挖掘模型定義語言。同時, PMML1.0 不是一個全面的集合,我們期望 PMML 最終將發展成一個全面的、具有豐富建模能力的模型定義語言。我們預見并且盼望這個標準接下來的版本能夠介紹優化,比如種類字段( categorical fields )的位向量擴充( bit vector expansions )或者連續字段( continuous fields )的 log 變換。 PMML ,或者類似于 PMML 的事物,隨著商業系統對統計和數據挖掘工具與技術需求的日益增加,對它的要求顯得特別迫切。
OLE DB for DM 規范的發布在預言和描述分析模型被商業應用廣泛使用的道路上是一個重大的里程碑。它同時具備了數據挖掘查詢和建模語言的優點,它的推廣必將推動數據挖掘行業的發展。但是,對于一些數據挖掘模型,比如:概念描述(特征和辨別規則)和關聯規則,還有數據倉庫模型, OLAP 的創建和使用,在目前的版本中仍然沒有涉及。我們期望微軟公司將繼續動態地擴充和豐富它的內容。
4 .總結
???????? 本文介紹了數據挖掘語言及其標準化方面的研究進展,分析并比較了幾種商用數據挖掘語言的特點,我們發現標準化是數據挖掘語言發展的趨勢。開發一種全面的開放的數據挖掘語言標準,必然將是各公司和研究機構的核心課題。但是,正如關系數據庫查詢語言 SQL 由關系代數理論的支持,數據挖掘語言的標準化也需要一種理論的基礎, 基于高階邏輯和Rough Sets理論的數據挖掘問題的分類描述理論,將作為今后我們進一步深入研究的課題。
【參考 文 獻】
[1] ???? Jiawei Han, Yongjian Fu, Wei Wang, Krzysztof Koperski, Osmar Zaiane. “DMQL:A Data Mining Query Language for Relational Database”. VLDB’96
[2] ???? Jiawei Han, Micheline Kamber. ”Data Mining: Concepts and Techniques” 97-116.Morgan Kaufmann Publishers. August 2000
[3] ???? Robert Grossman, Stuart Bailey, Ashok Ramu, Balinder Malhi, Michael Cornelison, Philip Hallstrom, and Xiao Qin. “The Management and Mining of Multiple Predictive Models Using the Predictive Modeling Markup Language (PMML)”,AFCEA’99
[4] ???? Microsoft Corporation. ”OLE DB for Data Mining Specification” Version 1.0. July 2000
總結
- 上一篇: 空间数据挖掘
- 下一篇: 空间数据挖掘技术理论及方法