隨著信息處理技術(shù)的不斷發(fā)展,各行各業(yè)已建立了很多計算機(jī)信息系統(tǒng),,積累了大量的數(shù)據(jù),。為了使數(shù)據(jù)能夠有效地支持組織的日常運(yùn)作和決策,要求數(shù)據(jù)可靠無誤,,能夠準(zhǔn)確地反映現(xiàn)實(shí)世界的狀況,。數(shù)據(jù)是信息的基礎(chǔ),,好的數(shù)據(jù)質(zhì)量是各種數(shù)據(jù)分析如OLAP、數(shù)據(jù)挖掘等有效應(yīng)用的基本條件,。人們常常抱怨“數(shù)據(jù)豐富,,信息貧乏”,究其原因,,一是缺乏有效的數(shù)據(jù)分析技術(shù),,二是數(shù)據(jù)質(zhì)量不高,如數(shù)據(jù)輸入錯誤,、不同來源數(shù)據(jù)引起的不同表示方法,,數(shù)據(jù)間的不一致等,導(dǎo)致現(xiàn)有的數(shù)據(jù)中存在這樣或那樣的臟數(shù)據(jù),。它們主要表現(xiàn)為:拼寫問題,、打印錯誤、不合法值,、空值,、不一致值、簡寫,、同一實(shí)體的多種表示(重復(fù)),、不遵循引用完整性等。 數(shù)據(jù)清洗(Data Cleaning,,Data Cleansing或者Data Scrubbing)的目的是檢測數(shù)據(jù)中存在的錯誤和不一致,剔除或者改正它們,,以提高數(shù)據(jù)的質(zhì)量[1],。 1 數(shù)據(jù)清洗國內(nèi)外研究現(xiàn)狀 數(shù)據(jù)清洗主要在數(shù)據(jù)倉庫、數(shù)據(jù)庫知識發(fā)現(xiàn)(也稱數(shù)據(jù)挖掘)和總體數(shù)據(jù)質(zhì)量管理這3個領(lǐng)域研究較多,。在數(shù)據(jù)倉庫研究和應(yīng)用領(lǐng)域,,數(shù)據(jù)清洗處理是構(gòu)建數(shù)據(jù)倉庫的第一步,由于數(shù)據(jù)量巨大,,不可能進(jìn)行人工處理,,因此自動化數(shù)據(jù)清洗受到工商業(yè)界的廣泛關(guān)注,。 1.1 國外研究現(xiàn)狀 國外對數(shù)據(jù)清洗的研究最早出現(xiàn)在美國,是從對全美的社會保險號錯誤的糾正開始[2],。美國信息業(yè)和商業(yè)的發(fā)展,,極大地刺激了對數(shù)據(jù)清洗技術(shù)的研究,,主要集中在以下4個方面。 (1)檢測并消除數(shù)據(jù)異常 采用統(tǒng)計方法來檢測數(shù)值型屬性,,計算字段值的均值和標(biāo)準(zhǔn)差,考慮每個字段的置信區(qū)間來識別異常字段和記錄,。將數(shù)據(jù)挖掘方法引入數(shù)據(jù)清理,,如聚類方法用于檢測異常記錄、模型方法發(fā)現(xiàn)不符合現(xiàn)有模式的異常記錄,、關(guān)聯(lián)規(guī)則方法發(fā)現(xiàn)數(shù)據(jù)集中不符合具有高置信度和支持度規(guī)則的異常數(shù)據(jù),。 (2)檢測并消除近似重復(fù)記錄 即對重復(fù)記錄進(jìn)行清洗。消除數(shù)據(jù)集中的近似重復(fù)記錄問題是目前數(shù)據(jù)清洗領(lǐng)域中研究最多的內(nèi)容,。為了從數(shù)據(jù)集中消除重復(fù)記錄,,首要的問題就是如何判斷兩條記錄是否近似重復(fù)。 (3)數(shù)據(jù)的集成 在數(shù)據(jù)倉庫應(yīng)用中,,數(shù)據(jù)清洗首先必須考慮數(shù)據(jù)集成,,主要是將數(shù)據(jù)源中的結(jié)構(gòu)和數(shù)據(jù)映射到目標(biāo)結(jié)構(gòu)與域中。在這方面已經(jīng)開展了大量的研究工作,。 (4)特定領(lǐng)域的數(shù)據(jù)清洗 不少數(shù)據(jù)清洗方案和算法都是針對特定應(yīng)用問題的,,只適用于較小的范圍。通用的,、與應(yīng)用領(lǐng)域無關(guān)的算法和方案較少,。 近年來,國外的數(shù)據(jù)清洗技術(shù)發(fā)展得很快,,從市場上存在的數(shù)據(jù)清洗軟件可以看出,,其中包括商業(yè)上的數(shù)據(jù)清洗軟件,,也有大學(xué)和研究機(jī)構(gòu)開發(fā)的數(shù)據(jù)清洗軟件。 1.2 國內(nèi)研究現(xiàn)狀 目前,,國內(nèi)對數(shù)據(jù)清洗技術(shù)的研究還處于初級階段,。直接針對數(shù)據(jù)清洗,特別是針對中文數(shù)據(jù)清洗的研究成果并不多,。大多是在數(shù)據(jù)倉庫、決策支持、數(shù)據(jù)挖掘研究中,,對其做一些比較簡單的闡述。銀行,、保險和證券等對客戶數(shù)據(jù)的準(zhǔn)確性要求很高的行業(yè),,都在做各自的客戶數(shù)據(jù)的清洗工作,針對各自具體應(yīng)用而開發(fā)軟件,,而很少有理論性的成果見諸于報道,。 2 數(shù)據(jù)清洗的定義與對象 2.1 數(shù)據(jù)清洗定義 迄今為止,,數(shù)據(jù)清洗還沒有公認(rèn)的定義,不同的應(yīng)用領(lǐng)域?qū)ζ溆胁煌慕忉尅?/span> (1)數(shù)據(jù)倉庫領(lǐng)域中的數(shù)據(jù)清洗 在數(shù)據(jù)倉庫領(lǐng)域,,數(shù)據(jù)清洗定義為清除錯誤和不一致數(shù)據(jù)的過程,,并需要解決元組重復(fù)問題。當(dāng)然,,數(shù)據(jù)清洗并不是簡單地用優(yōu)質(zhì)數(shù)據(jù)更新記錄,,它還涉及數(shù)據(jù)的分解與重組。 (2)數(shù)據(jù)挖掘領(lǐng)域中的數(shù)據(jù)清洗 數(shù)據(jù)挖掘(早期又稱為數(shù)據(jù)庫的知識發(fā)現(xiàn))過程中,,數(shù)據(jù)清洗是第一個步驟,,即對數(shù)據(jù)進(jìn)行預(yù)處理的過程。各種不同的KDD和DW系統(tǒng)都是針對特定的應(yīng)用領(lǐng)域進(jìn)行數(shù)據(jù)清洗的,。文獻(xiàn)[3]認(rèn)為,,信息的模式被用于發(fā)現(xiàn)“垃圾模式”,即沒有意義的或錯誤的模式,,這屬于數(shù)據(jù)清洗的一種,。 (3)數(shù)據(jù)質(zhì)量管理領(lǐng)域中的數(shù)據(jù)清洗 數(shù)據(jù)質(zhì)量管理是一個學(xué)術(shù)界和商業(yè)界都感興趣的領(lǐng)域。全面數(shù)據(jù)質(zhì)量管理解決整個信息業(yè)務(wù)過程中的數(shù)據(jù)質(zhì)量及集成問題,。在該領(lǐng)域中,,沒有直接定義數(shù)據(jù)清洗過程。有些文章從數(shù)據(jù)質(zhì)量的角度,,將數(shù)據(jù)清洗過程定義為一個評價數(shù)據(jù)正確性并改善其質(zhì)量的過程,。 2.2 數(shù)據(jù)清洗的對象 數(shù)據(jù)清洗的對象可以按照數(shù)據(jù)清洗對象的來源領(lǐng)域與產(chǎn)生原因進(jìn)行分類。前者屬于宏觀層面的劃分,,后者屬于微觀層面的劃分,。 (1)來源領(lǐng)域 很多領(lǐng)域都涉及到數(shù)據(jù)清洗,如數(shù)字化文獻(xiàn)服務(wù),、搜索引擎,、金融領(lǐng)域、政府機(jī)構(gòu)等,,數(shù)據(jù)清洗的目的是為信息系統(tǒng)提供準(zhǔn)確而有效的數(shù)據(jù),。 數(shù)字化文獻(xiàn)服務(wù)領(lǐng)域,在進(jìn)行數(shù)字化文獻(xiàn)資源加工時,,OCR軟件有時會造成字符識別錯誤,,或由于標(biāo)引人員的疏忽而導(dǎo)致標(biāo)引詞的錯誤等,是數(shù)據(jù)清洗需要完成的任務(wù),。 搜索引擎為用戶在互聯(lián)網(wǎng)上查找具體的網(wǎng)頁提供了方便,,它是通過為某一網(wǎng)頁的內(nèi)容進(jìn)行索引而實(shí)現(xiàn)的。而一個網(wǎng)頁上到底哪些部分需要索引,,則是數(shù)據(jù)清洗需要關(guān)注的問題,。例如,,網(wǎng)頁中的廣告部分,通常是不需要索引的,。按照網(wǎng)絡(luò)數(shù)據(jù)清洗的粒度不同,,可以將網(wǎng)絡(luò)數(shù)據(jù)清洗分為兩類,即Web頁面級別的數(shù)據(jù)清洗和基于頁面內(nèi)部元素級別的數(shù)據(jù)清洗,,前者以Google公司提出的PageRank算法和IBM公司Clever系統(tǒng)的HITS算法為代表,;而后者的思路則集中體現(xiàn)在作為MSN搜索引擎核心技術(shù)之一的VIPS算法上[4]。 在金融系統(tǒng)中,,也存在很多“臟數(shù)據(jù)”,。主要表現(xiàn)為:數(shù)據(jù)格式錯誤,數(shù)據(jù)不一致,,數(shù)據(jù)重復(fù),、錯誤,業(yè)務(wù)邏輯的不合理,,違反業(yè)務(wù)規(guī)則等,。例如,未經(jīng)驗(yàn)證的身份證號碼,、未經(jīng)驗(yàn)證的日期字段等,,還有賬戶開戶日期晚于用戶銷戶日期、交易處理的操作員號不存在,、性別超過取值范圍等,。此外,也有因?yàn)樵聪到y(tǒng)基于性能的考慮,,放棄了外鍵約束,,從而導(dǎo)致數(shù)據(jù)不一致的結(jié)果。 電子政務(wù)系統(tǒng)也存在“臟數(shù)據(jù)”,。為了能夠更好地對公民負(fù)責(zé)并且能夠與全國的其他警察局共享數(shù)據(jù),,英國Hum-berside州警察局使用數(shù)據(jù)清洗軟件清洗大范圍的嫌疑犯和犯罪分子的數(shù)據(jù)。這次清洗的范圍龐大,,跨越不同的系統(tǒng),,不僅有該警察局內(nèi)部系統(tǒng)的數(shù)據(jù),還有外部的數(shù)據(jù)庫包括本地的和整個英國范圍內(nèi)的,。其中有些數(shù)據(jù)庫能夠相連和整合,,而有些則不能,。例如,,“指令部級控制”的犯罪記錄數(shù)據(jù)庫是用來記錄犯罪事件的,該數(shù)據(jù)庫是和嫌疑犯數(shù)據(jù)庫分開的,。而嫌疑犯數(shù)據(jù)庫也許和家庭犯罪或孩童犯罪數(shù)據(jù)庫是分開的[5],。 (2)產(chǎn)生原因 在微觀方面,,數(shù)據(jù)清洗的對象分為模式層數(shù)據(jù)清洗與實(shí)例層數(shù)據(jù)清洗[6]。數(shù)據(jù)清洗的任務(wù)是過濾或者修改那些不符合要求的數(shù)據(jù),。不符合要求的數(shù)據(jù)主要是有不完整的數(shù)據(jù),、錯誤的數(shù)據(jù)和重復(fù)的數(shù)據(jù)3大類。 不完整數(shù)據(jù)的特征是一些應(yīng)該有的信息缺失,,如機(jī)構(gòu)名稱,、分公司的名稱、區(qū)域信息缺失等. 錯誤數(shù)據(jù)產(chǎn)生的原因是業(yè)務(wù)系統(tǒng)不夠健全,,在接收輸入后沒有進(jìn)行判斷而直接寫入后臺數(shù)據(jù)庫造成的,,比如數(shù)值數(shù)據(jù)輸成全角數(shù)字字符、字符串?dāng)?shù)據(jù)后有一個回車,、日期格式不正確,、日期越界等。錯誤值包括輸入錯誤和錯誤數(shù)據(jù),,輸入錯誤是由原始數(shù)據(jù)錄入人員疏忽而造成的,,而錯誤數(shù)據(jù)大多是由一些客觀原因引起的,例如人員填寫的所屬單位的不同和人員的升遷等,。 異常數(shù)據(jù)是指所有記錄中如果一個或幾個字段間絕大部分遵循某種模式,,其它不遵循該模式的記錄,如年齡字段超過歷史上的最高記錄年齡等,。 重復(fù)數(shù)據(jù)也就是“相似重復(fù)記錄”,,指同一個現(xiàn)實(shí)實(shí)體在數(shù)據(jù)集合中用多條不完全相同的記錄來表示,由于它們在格式,、拼寫上的差異,,導(dǎo)致數(shù)據(jù)庫管理系統(tǒng)不能正確識別。從狹義的角度看,,如果兩條記錄在某些字段的值相等或足夠相似,,則認(rèn)為這兩條記錄互為相似重復(fù)。識別相似重復(fù)記錄是數(shù)據(jù)清洗活動的核心,。 此外,,由于法人或作者更換單位造成數(shù)據(jù)的不一致情況、不同的計量單位,、過時的地址,、郵編等其他情況也是數(shù)據(jù)清洗的對象。 3 數(shù)據(jù)清洗基本原理與框架模型 3.1 基本原理 數(shù)據(jù)清洗的原理為:利用有關(guān)技術(shù),,如統(tǒng)計方法,、數(shù)據(jù)挖掘方法、模式規(guī)則方法等將臟數(shù)據(jù)轉(zhuǎn)換為滿足數(shù)據(jù)質(zhì)量要求的數(shù)據(jù)。數(shù)據(jù)清洗按照實(shí)現(xiàn)方式與范圍,,可分為以下4種,。 (1)手工實(shí)現(xiàn) 通過人工檢查,只要投入足夠的人力,、物力與財力,,也能發(fā)現(xiàn)所有錯誤,但效率低下,。在大數(shù)據(jù)量的情況下,,手工操作幾乎是不可能的。 (2)編寫專門的應(yīng)用程序 這種方法能解決某個特定的問題,,但不夠靈活,,特別是在清洗過程需要反復(fù)進(jìn)行(一般來說,數(shù)據(jù)清洗一遍就達(dá)到要求的很少)時,,導(dǎo)致程序復(fù)雜,,清洗過程變化時,工作量大,。而且這種方法也沒有充分利用目前數(shù)據(jù)庫提供的強(qiáng)大數(shù)據(jù)處理能力,。 (3)解決某類特定應(yīng)用域的問題 如根據(jù)概率統(tǒng)計學(xué)原理查找數(shù)值異常的記錄,對姓名,、地址,、郵政編碼等進(jìn)行清洗,這是目前研究較多的領(lǐng)域,,也是應(yīng)用最成功的一類,。 (4)與特定應(yīng)用領(lǐng)域無關(guān)的數(shù)據(jù)清洗 這一部分的研究主要集中在清洗重復(fù)記錄上。 在以上4種實(shí)現(xiàn)方法中,,后兩種具有某種通用性及其較大的實(shí)用性,,引起了越來越多的關(guān)注。但是不管哪種方法,,都由3個階段組成:數(shù)據(jù)分析,、定義;搜索,、識別錯誤記錄,;修正錯誤。 3.2 數(shù)據(jù)清洗的框架模型 目前已經(jīng)研究出很多數(shù)據(jù)清洗的框架模型,,下面介紹3個有代表性的框架模型,。 (1)Trillium的模型 Trillium[7]是由Harte Hanks Data Technologies的Trillium Software Systems部門創(chuàng)建的企業(yè)范圍的數(shù)據(jù)清洗軟件。Trillium將數(shù)據(jù)清洗的過程分成5個步驟,,分別由5個模塊來完成,。 ①Converson Workbench提供了一整套數(shù)據(jù)審計,、分析和重組工具; ②Parser對遺產(chǎn)數(shù)據(jù)和操作型系統(tǒng)的數(shù)據(jù)作解析,、驗(yàn)證和標(biāo)準(zhǔn)化; ③Matcher地提供一套標(biāo)準(zhǔn)規(guī)則用于記錄連接和匹配,,使得用戶可以方便地調(diào)整和定制以滿足其特殊的業(yè)務(wù)要求,; ④Geocoder驗(yàn)證、糾正和增強(qiáng)物理數(shù)據(jù),; ⑤Utilties提供聯(lián)機(jī)數(shù)據(jù)瀏覽,,域級頻率統(tǒng)計,詞的計數(shù)和分布,。另外,,合并、選擇和格式重組工具提供數(shù)據(jù)重組能力,。 (2)Bohn模型 Bohn數(shù)據(jù)清洗模型[8]將數(shù)據(jù)清洗分為以下4個主要部分: ①數(shù)據(jù)檢查:確認(rèn)數(shù)據(jù)質(zhì)量,,內(nèi)部模式和主要字段(使用的不同字段); ②數(shù)據(jù)詞法分析:確定每個字段內(nèi)的各個元素的上下文和目的地,; ③數(shù)據(jù)校正:將數(shù)據(jù)與已知清單(通常為地址)匹配并保證所有的字段被標(biāo)明為好,、壞或可自動校正。但是,,這并不表示在軟件設(shè)計的時候需要有許多值的判斷,。只要可能,技術(shù)人員就應(yīng)該與客戶一起校正源中的數(shù)據(jù),; ④記錄匹配:決定兩個記錄(可能是不同類型的)是否代表同一個對象,。該過程涉及許多值判斷和復(fù)雜的軟件工具。 (3)AJAX模型 AJAX[9]模型由Helena Galhardas提出,,該模型是邏輯層面的模型(Logic Level),,將數(shù)據(jù)清洗過程分為5個操作步驟: ①源數(shù)據(jù)的映射(Mapping); ②對映射后的記錄進(jìn)行匹配(Matching),; ③對記錄做聚集操作(Clustering),; ④對聚集進(jìn)行合并(Merging); ⑤對合并后的數(shù)據(jù)做視圖顯示(Viewing),。 4 數(shù)據(jù)清洗算法與工具 4.1 數(shù)據(jù)清洗算法 在臟數(shù)據(jù)清洗算法上,,一些研究機(jī)構(gòu)提出了臟數(shù)據(jù)預(yù)處理、排序鄰居方法,、多次遍歷數(shù)據(jù)清洗方法,、采用領(lǐng)域知識進(jìn)行清洗、采用數(shù)據(jù)庫管理系統(tǒng)的集成數(shù)據(jù)清洗等算法,。本文將針對屬性和重復(fù)記錄的清洗分別從檢測和清洗兩個角度對相關(guān)算法展開論述,,如圖1所示,。
圖1 數(shù)據(jù)清洗方法分類 (1)自動檢測屬性錯誤的方法 人工檢測數(shù)據(jù)集中的屬性錯誤,需要花費(fèi)大量的人力,、物力和時間,,而且這個過程本身很容易出錯,所以需要利用高效的方法自動檢測數(shù)據(jù)集中的屬性錯誤,,方法主要有:基于統(tǒng)計的方法[10],,聚類方法[11],關(guān)聯(lián)規(guī)則的方法[10]等,。表1給出自動檢測屬性錯誤的方法比較,。
(2)屬性清洗的方法 ①空缺值的清洗方法主要有:忽略元組;人工填寫空缺值,;使用一個全局變量填充空缺值,;使用屬性的平均值、中間值,、最大值,、最小值或更為復(fù)雜的概率統(tǒng)計函數(shù)值填充空缺值。 ②噪聲數(shù)據(jù)的清洗方法主要有:分箱(Binning),,通過考察屬性值的周圍值來平滑屬性的值,。屬性值被分布到一些等深或等寬的“箱”中,用箱中屬性值的平均值或中值來替換“箱”中的屬性值,;計算機(jī)和人工檢查相結(jié)合,,計算機(jī)檢測可疑數(shù)據(jù),然后對它們進(jìn)行人工判斷,;使用簡單規(guī)則庫檢測和修正錯誤,;使用不同屬性間的約束檢測和修正錯誤;使用外部數(shù)據(jù)源檢測和修正錯誤,。 ③不一致數(shù)據(jù)的清洗方法,。對于有些事務(wù),所記錄的數(shù)據(jù)可能存在不一致,。有些數(shù)據(jù)不一致,,可以使用其他材料人工加以更正。例如,,數(shù)據(jù)輸入時的錯誤可以使用紙上的記錄加以更正,。知識工程工具也可以用來檢測違反限制的數(shù)據(jù)。例如,,知道屬性間的函數(shù)依賴,,可以查找違反函數(shù)依賴的值[11]。此外,,數(shù)據(jù)集成也可能產(chǎn)生數(shù)據(jù)不一致,。表2給出屬性清洗的方法比較情況,。
(3)檢測重復(fù)記錄的算法 消除重復(fù)記錄可以針對兩個數(shù)據(jù)集或者一個合并后的數(shù)據(jù)集,首先需要檢測出標(biāo)識同一個現(xiàn)實(shí)實(shí)體的重復(fù)記錄,,即匹配過程,。檢測重復(fù)記錄的算法主要有:基本的字段匹配算法[10],遞歸的字段匹配算法[10],,Smith-Waterman算法[10,12],,編輯距離[13,14]、Cosine相似度函數(shù)[14,15],。表3給出檢測重復(fù)記錄算法的比較情況。 (4)重復(fù)記錄清洗的算法 目前消除重復(fù)記錄的基本思想是“排序和合并”,,先將數(shù)據(jù)庫中的記錄排序,,然后通過比較鄰近記錄是否相似來檢測記錄是否重復(fù)。消除重復(fù)記錄的算法主要有:優(yōu)先隊(duì)列算法[14,16],,近鄰排序算法(Sorted-Neighborhood Method, SNM)[14,17],,多趟近鄰排序(Multi-Pass Sorted-Neighborhood, MPN)[14,17]。表4給出重復(fù)記錄清洗算法的比較情況,。
4.2 數(shù)據(jù)清洗工具 從特定功能的清洗工具,、ETL工具以及其他工具3個方面來對數(shù)據(jù)清洗工具進(jìn)行介紹。 (1)特定功能的清洗工具 特定的清洗工具主要處理特殊的領(lǐng)域問題,,基本上是姓名和地址數(shù)據(jù)的清洗,,或者消除重復(fù)。轉(zhuǎn)換是由預(yù)先定義的規(guī)則庫或者和用戶交互來完成的,。 在特殊領(lǐng)域的清洗中,,姓名和地址在很多數(shù)據(jù)庫中都有記錄而且有很大的基數(shù)。特定的清洗工具提供抽取和轉(zhuǎn)換姓名及地址信息到標(biāo)準(zhǔn)元素的功能,,與在基于清洗過的數(shù)據(jù)工具相結(jié)合來確認(rèn)街道名稱,、城市和郵政編碼。特殊領(lǐng)域的清洗工具現(xiàn)有IDCENTRIC,、PUREINTEGRATE,、QUICKADDRESS、REUNION,、TRILLIUM等[14],。 消除重復(fù)的一類工具根據(jù)匹配的要求探測和去除數(shù)據(jù)集中相似重復(fù)記錄。有些工具還允許用戶指定匹配的規(guī)則,。目前已有的用于消除重復(fù)記錄的清洗工具有DATACLEANSER,、MERGE/PURGE LIBRARY、MATCHIT,、ASTERMERGE等[14],。 (2)ETL工具 現(xiàn)有大量的工具支持?jǐn)?shù)據(jù)倉庫的ETL處理,,如COPYMANAGER、DATASTAGE,、EXTRACT,、WERMART等。它們使用建立在DBMS上的知識庫以統(tǒng)一的方式來管理所有關(guān)于數(shù)據(jù)源,、目標(biāo)模式,、映射、教本程序等的原數(shù)據(jù),。模式和數(shù)據(jù)通過本地文件和DBMS網(wǎng)關(guān),、ODBC等標(biāo)準(zhǔn)接口從操作型數(shù)據(jù)源收取數(shù)據(jù)。這些工具提供規(guī)則語言和預(yù)定義的轉(zhuǎn)換函數(shù)庫來指定映射步驟[14],。 ETL工具很少內(nèi)置數(shù)據(jù)清洗的功能,,但是允許用戶通過API指定清洗功能。通常這些工具沒有用數(shù)據(jù)分析來支持自動探測錯誤數(shù)據(jù)和數(shù)據(jù)不一致,。然而,,用戶可以通過維護(hù)原數(shù)據(jù)和運(yùn)用集合函數(shù)(Sum、Count,、Min,、Max等)決定內(nèi)容的特征等辦法來完成這些工作。這些工具提供的轉(zhuǎn)換工具庫包含了許多數(shù)據(jù)轉(zhuǎn)換和清洗所需的函數(shù),,例如數(shù)據(jù)類轉(zhuǎn)變,,字符串函數(shù),數(shù)學(xué),、科學(xué)和統(tǒng)計的函數(shù)等,。規(guī)則語言包含If-then和Case結(jié)構(gòu)來處理例外情況,例如,,錯誤拼寫,、縮寫,丟失或者含糊的值和超出范圍的值[14],。而在我國,,對數(shù)據(jù)清洗的研究甚少,還沒有一個成型的完善的ETL工具應(yīng)用于數(shù)據(jù)倉庫的系統(tǒng)中[18],。 (3)其他工具 其他與數(shù)據(jù)清洗相關(guān)的工具包括:基于引擎的工具(COPYMANAGER,、DECISIONBASE、POWERMART,、DATASTAGE,、WAREHOUSEADMINISTRATOR)、數(shù)據(jù)分析工具(MIGRATIONARCHITECT,、WIZRULE,、DATAMININGSUITE)和業(yè)務(wù)流程再設(shè)計工具(INTEGRITY),、數(shù)據(jù)輪廓分析工具(如MIGRATIONARCHITECT Cevoke Software等)、數(shù)據(jù)挖掘工具(如WIZRULE等)[19],。 4.3 數(shù)據(jù)清洗工具功能簡介 表5是對各種典型數(shù)據(jù)清洗工具功能的描述,。 5 數(shù)據(jù)清洗評估 數(shù)據(jù)清洗的評估實(shí)質(zhì)上是對清洗后的數(shù)據(jù)的質(zhì)量進(jìn)行評估,而數(shù)據(jù)質(zhì)量的評估過程是一種通過測量和改善數(shù)據(jù)綜合特征來優(yōu)化數(shù)據(jù)價值的過程,。數(shù)據(jù)質(zhì)量評價指標(biāo)和方法研究的難點(diǎn)在于數(shù)據(jù)質(zhì)量的含義,、內(nèi)容、分類,、分級,、質(zhì)量的評價指標(biāo)等。 文獻(xiàn)[20]和文獻(xiàn)[21]提出了一些數(shù)據(jù)質(zhì)量的評估指標(biāo),。在進(jìn)行數(shù)據(jù)質(zhì)量評估時,,要根據(jù)具體的數(shù)據(jù)質(zhì)量評估需求對數(shù)據(jù)質(zhì)量評估指標(biāo)進(jìn)行相應(yīng)的取舍。但是,,數(shù)據(jù)質(zhì)量評估至少應(yīng)該包含以下兩方面的基本評估指標(biāo)[18],。
(1)數(shù)據(jù)對用戶必須是可信的 可信性包括精確性,、完整性,、一致性、有效性,、唯一性等指標(biāo),。 ①精確性:描述數(shù)據(jù)是否與其對應(yīng)的客觀實(shí)體的特征相一致。 ②完整性:描述數(shù)據(jù)是否存在缺失記錄或缺失字段,。 ③一致性:描述同一實(shí)體的同一屬性的值在不同的系統(tǒng)是否一致,。 ④有效性:描述數(shù)據(jù)是否滿足用戶定義的條件或在一定的域值范圍內(nèi)。 ⑤唯一性:描述數(shù)據(jù)是否存在重復(fù)記錄,。 (2)數(shù)據(jù)對用戶必須是可用的 包括時間性,、穩(wěn)定性等指標(biāo)。 ①時間性:描述數(shù)據(jù)是當(dāng)前數(shù)據(jù)還是歷史數(shù)據(jù),。 ②穩(wěn)定性:描述數(shù)據(jù)是否是穩(wěn)定的,,是否在其有效期內(nèi)。 6 數(shù)據(jù)清洗研究和應(yīng)用展望 (1)中文數(shù)據(jù)清理工具的研究和開發(fā) 目前,,數(shù)據(jù)清理主要集中在西文上,,中文數(shù)據(jù)清理與西文數(shù)據(jù)清理有較大的不同(如很多匹配算法并不適用于中文)。中文數(shù)據(jù)清理還沒有引起重視,。 (2)數(shù)據(jù)挖掘方法在數(shù)據(jù)清理中的深入應(yīng)用 主要集中在數(shù)值型,、字符串型字段。識別數(shù)值型字段之間的關(guān)系異常很不成熟與實(shí)用,。數(shù)據(jù)挖掘算法在數(shù)據(jù)清理中的應(yīng)用亟需加強(qiáng)[22],。 (3)重復(fù)記錄識別的效率需要進(jìn)一步提高 盡管識別重復(fù)記錄受到最多的關(guān)注,,并采取了許多措施,但識別效率與識別精度問題的解決并不令人滿意,。特別是在記錄數(shù)據(jù)非常多時,,耗時太多,有待研究更好的算法,。 (4)非結(jié)構(gòu)化數(shù)據(jù)的清洗 以前數(shù)據(jù)清理主要集中在結(jié)構(gòu)化的數(shù)據(jù)上,,而現(xiàn)在非結(jié)構(gòu)化數(shù)據(jù)或半結(jié)構(gòu)化的數(shù)據(jù)(如XML數(shù)據(jù))已受到越來越多的重視。特別是由于XML自身所具有的特點(diǎn)(通用性,、自描述性),,在數(shù)據(jù)清理中應(yīng)受到重視。 (5)數(shù)據(jù)清洗工具之間的互操作性 盡管根據(jù)用戶友好性,,很多工具或系統(tǒng)都提供了描述性語言,,但基本上都是經(jīng)過某種已有語言(如SQL、XML)根據(jù)自己需要經(jīng)過擴(kuò)展實(shí)現(xiàn)的,,不能很好地滿足數(shù)據(jù)清理中大致匹配的需要,,不具有互操作性。 (6)數(shù)據(jù)清理方案的通用性 特定領(lǐng)域的數(shù)據(jù)清理問題依然是研究和應(yīng)用重點(diǎn),,但較通用的清洗方案會受到越來越多的關(guān)注,。
|
|