數據挖掘語言淺析

 本文介紹了幾種數據挖掘語言及其標準化方面的研究進展,提出了數據挖掘語言分類的方法,在此基礎上,對數據挖掘語言的結構和組成進行了探討和研究,最後指出了數據挖掘語言的發展趨勢,以及若干待解決的問題。

 

【關鍵詞】數據挖掘,查詢語言,建模語言,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]

 

數據挖掘建模語言是對數據挖掘模型進行描述和定義的語言。如果我們設計一種標準的數據挖掘建模語言,使得數據挖掘系統在模型定義和描述方面有標準可以遵循,那麼各系統之間可以共享模型,既可以解決目前各數據挖掘系統之間封閉性的問題,有可以在其它應用系統中間嵌入數據挖掘模型,解決孤立的知識發現問題。“預言模型標記語言”(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

 

 

 

Data Mining Language Analysis

 

Zhu Jianqiu, Zhang xiaohui, Cai Weijie, Zhu Yangyong

 

(Department of Computer Science, Fudan University, Shanghai, 200437)

 

 

 

【Abstract】The article introduces some research work about some kinds of data mining languages and standardization, presents a kind of classification  of data mining language. Then the article states structure and compose of the data mining languages. At the end it points out the trend of data mining language growing and some un-solved problems.

 

【Key Words】data mining,query language,modeling language,XML

 

本文得到國家863(863-306-02-05)基金和“上海市教育委員會重點學科”基金的資助。

 

作者簡介

 

朱建秋      男 (1974-)博士研究生

 

研究方向:數據倉庫,數據挖掘

 

工作單位:復旦大學計算機科學系數據庫研究中心

 

聯繫地址:復旦大學計算機科學系數據庫研究中心527

 

EMAIL:[email protected]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章