国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于動(dòng)態(tài)可配置規(guī)則的數(shù)據(jù)清洗方法

2017-06-27 08:10朱會(huì)娟蔣同海
計(jì)算機(jī)應(yīng)用 2017年4期
關(guān)鍵詞:定義規(guī)則方法

朱會(huì)娟,蔣同海,周 喜,程 力,趙 凡,馬 博

1.中國(guó)科學(xué)院新疆理化技術(shù)研究所 多語(yǔ)種信息技術(shù)研究室, 烏魯木齊 830011;2.中國(guó)科學(xué)院大學(xué) 計(jì)算機(jī)與控制學(xué)院, 北京 100049; 3.新疆民族語(yǔ)音語(yǔ)言信息處理重點(diǎn)實(shí)驗(yàn)室, 烏魯木齊 830011)(*通信作者電子郵箱chengli@ms.xjb.ac.cn)

基于動(dòng)態(tài)可配置規(guī)則的數(shù)據(jù)清洗方法

朱會(huì)娟1,2,3,蔣同海1,3,周 喜1,3,程 力1,3*,趙 凡1,3,馬 博1,3

1.中國(guó)科學(xué)院新疆理化技術(shù)研究所 多語(yǔ)種信息技術(shù)研究室, 烏魯木齊 830011;2.中國(guó)科學(xué)院大學(xué) 計(jì)算機(jī)與控制學(xué)院, 北京 100049; 3.新疆民族語(yǔ)音語(yǔ)言信息處理重點(diǎn)實(shí)驗(yàn)室, 烏魯木齊 830011)(*通信作者電子郵箱chengli@ms.xjb.ac.cn)

針對(duì)傳統(tǒng)數(shù)據(jù)清洗方法通過(guò)硬編碼方法來(lái)實(shí)現(xiàn)業(yè)務(wù)邏輯而導(dǎo)致系統(tǒng)的可重用性、可擴(kuò)展性與靈活性較差等問(wèn)題,提出了一種基于動(dòng)態(tài)可配置規(guī)則的數(shù)據(jù)清洗方法——DRDCM。該方法支持多種類(lèi)型規(guī)則間的復(fù)雜邏輯運(yùn)算,并支持多種臟數(shù)據(jù)修復(fù)行為,集數(shù)據(jù)檢測(cè)、數(shù)據(jù)修復(fù)與數(shù)據(jù)轉(zhuǎn)換于一體,具有跨領(lǐng)域、可重用、可配置、可擴(kuò)展等特點(diǎn)。首先,對(duì)DRDCM方法中的數(shù)據(jù)檢測(cè)和數(shù)據(jù)修復(fù)的概念、實(shí)現(xiàn)步驟以及實(shí)現(xiàn)算法進(jìn)行描述;其次,闡述了DRDCM方法中支持的多種規(guī)則類(lèi)型以及規(guī)則配置;最后,對(duì)DRDCM方法進(jìn)行實(shí)現(xiàn),并通過(guò)實(shí)際項(xiàng)目數(shù)據(jù)集驗(yàn)證了該實(shí)現(xiàn)系統(tǒng)在臟數(shù)據(jù)修復(fù)中,丟棄修復(fù)行為具有很高的準(zhǔn)確率,尤其是對(duì)需遵守法定編碼規(guī)則的屬性(例如身份證號(hào)碼)處理時(shí)其準(zhǔn)確率可達(dá)100%。實(shí)驗(yàn)結(jié)果表明,DRDCM實(shí)現(xiàn)系統(tǒng)可以將動(dòng)態(tài)可配置規(guī)則無(wú)縫集成于多個(gè)數(shù)據(jù)源和多種不同應(yīng)用領(lǐng)域且該系統(tǒng)的性能并不會(huì)隨著規(guī)則條數(shù)增加而極速降低,這也進(jìn)一步驗(yàn)證了DRDCM方法在真實(shí)環(huán)境中的切實(shí)可行性。

大數(shù)據(jù);數(shù)據(jù)質(zhì)量;數(shù)據(jù)清洗;動(dòng)態(tài)可配置規(guī)則;數(shù)據(jù)預(yù)處理

0 引言

對(duì)幾個(gè)著名的公司數(shù)據(jù)進(jìn)行研究,其中有25%的重要數(shù)據(jù)是存在缺陷的[1],由它帶來(lái)的經(jīng)濟(jì)損失也是驚人的,據(jù)統(tǒng)計(jì),“臟數(shù)據(jù)”導(dǎo)致美國(guó)商業(yè)每年約損失6 000億美元[2]。在大數(shù)據(jù)時(shí)代,數(shù)據(jù)預(yù)處理已經(jīng)成為一個(gè)重要的研究課題,吸引了越來(lái)越多學(xué)術(shù)界和工業(yè)界研究人員的注意,根據(jù)調(diào)查顯示,數(shù)據(jù)質(zhì)量工具的市場(chǎng)正以每年17%的速度增長(zhǎng),遠(yuǎn)遠(yuǎn)高出IT行業(yè)中其他分支平均7%的增長(zhǎng)速度[3]。

典型的數(shù)據(jù)預(yù)處理過(guò)程如圖1所示,左邊的方框表示原始數(shù)據(jù)集,其中包括結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)。中間的方框表示數(shù)據(jù)預(yù)處理的兩個(gè)主要任務(wù)即數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)清洗。數(shù)據(jù)轉(zhuǎn)換(Data Transformation)是指從原始數(shù)據(jù)中提取數(shù)據(jù),并將其轉(zhuǎn)換成適合進(jìn)一步分析的數(shù)據(jù)格式的過(guò)程。數(shù)據(jù)清洗(Data Cleaning、 Data Cleansing或者Data Scrubbing)主要用來(lái)檢測(cè)數(shù)據(jù)中存在的異常數(shù)據(jù)(例如錯(cuò)誤、缺失、不一致等)[4]并去除或修正它們,最終目的就是提高數(shù)據(jù)的質(zhì)量[5-6]。

圖1 典型的數(shù)據(jù)預(yù)處理過(guò)程

在過(guò)去的十幾年中,數(shù)據(jù)清洗領(lǐng)域得以飛速發(fā)展,衍生出了許多數(shù)據(jù)清洗方法和系統(tǒng),基于規(guī)則的數(shù)據(jù)清洗方法因?yàn)槠渥陨淼暮?jiǎn)單易實(shí)現(xiàn)并且清洗效果顯著等特點(diǎn)使其在數(shù)據(jù)清洗領(lǐng)域一直扮演著一個(gè)重要的角色[7-8]。文獻(xiàn)[9]對(duì)數(shù)據(jù)質(zhì)量問(wèn)題作了詳細(xì)的分類(lèi)和分析,并以判定樹(shù)的形式給出了檢測(cè)方法,從而有力地支持了基于規(guī)則的數(shù)據(jù)清洗技術(shù)的現(xiàn)實(shí)可行性。本文對(duì)現(xiàn)有的一些基于規(guī)則的數(shù)據(jù)清洗方法,例如NADEEF(A Commodity Data Cleaning System)、AzszpClean (A Rule-based Solution to Data Cleaning)等進(jìn)行了研究并概括如表1。

表1 基于規(guī)則的數(shù)據(jù)清洗方案的比較

目前大多數(shù)的數(shù)據(jù)清洗工具或框架都是針對(duì)某些特定領(lǐng)域,如果用戶需引入新的規(guī)則或是復(fù)用其他領(lǐng)域的一些規(guī)則(例如檢查身份證號(hào)的規(guī)則在很多領(lǐng)域是通用的)則十分困難,而且擴(kuò)展現(xiàn)有解決方案或部署這些方案到自己系統(tǒng)中也十分艱巨[13,19-21];目前還有一些清洗工具的臟數(shù)據(jù)檢測(cè)和修復(fù)借助硬編碼來(lái)實(shí)現(xiàn)[5],這會(huì)導(dǎo)致系統(tǒng)的可擴(kuò)展性和靈活性較差,當(dāng)清洗規(guī)則發(fā)生變化時(shí)清洗部分的代碼需要重新實(shí)現(xiàn),并且硬編碼方法對(duì)數(shù)據(jù)清洗的描述性較弱,在實(shí)現(xiàn)復(fù)雜邏輯方面的數(shù)據(jù)清洗時(shí)會(huì)比較困難,而且用戶的理解度和接受度較低;另外,有一些清洗工具是借助人工判斷來(lái)完成臟數(shù)據(jù)檢測(cè)和修復(fù)[22],該類(lèi)方法在數(shù)據(jù)量較小時(shí)具有高準(zhǔn)確性的優(yōu)勢(shì),但在數(shù)據(jù)量龐大且多源異構(gòu)的情況下劣勢(shì)會(huì)愈發(fā)明顯。

1 DRDCM方法

基于以上問(wèn)題,本文提出了一種基于動(dòng)態(tài)可配置規(guī)則的數(shù)據(jù)清洗方法(Dynamic Rule-based Data Cleaning Method, DRDCM),這是一種跨領(lǐng)域的、可重用的、可配置的將臟數(shù)據(jù)檢查與臟數(shù)據(jù)修復(fù)以及數(shù)據(jù)轉(zhuǎn)換三者融為一體的新方法。該方法支持多種規(guī)則類(lèi)型以及規(guī)則間的復(fù)雜邏輯運(yùn)算;支持三種臟數(shù)據(jù)修復(fù)行為:保留(RETAIN)、丟棄(DISCARD)和回填(REFILL);支持用戶在運(yùn)行時(shí)增加、刪除或修改規(guī)則等。

1.1 DRDCM相關(guān)定義

圖2為DRDCM的數(shù)據(jù)清洗過(guò)程。

圖2 DRDCM的數(shù)據(jù)清洗過(guò)程

首先,用戶對(duì)原始數(shù)據(jù)分析提取規(guī)則,在DRDCM支持三種類(lèi)型規(guī)則,分別是:DROOLS(JBoss Rules)規(guī)則、REGEX(Regular Expression)規(guī)則和FUN(Function)規(guī)則。在規(guī)則配置階段實(shí)現(xiàn)規(guī)則與屬性、表以及領(lǐng)域的綁定。其中規(guī)則執(zhí)行包括兩部分即數(shù)據(jù)檢測(cè)以及根據(jù)檢測(cè)結(jié)果進(jìn)行數(shù)據(jù)修復(fù)。DRDCM中涉及到的相關(guān)定義如下:

定義1 數(shù)據(jù)清洗(Data Cleaning)。數(shù)據(jù)清洗是把原始輸入數(shù)據(jù)通過(guò)一系列的數(shù)據(jù)檢測(cè)和數(shù)據(jù)修復(fù)后轉(zhuǎn)換為干凈數(shù)據(jù)的過(guò)程,可以形式化表示為:

其中:R代表原始數(shù)據(jù);D代表干凈數(shù)據(jù)。

定義2 數(shù)據(jù)檢測(cè)(Data Check)。用來(lái)檢測(cè)數(shù)據(jù)是否符合既定知識(shí)的過(guò)程,可用謂詞函數(shù)表示為CHECKCOND:D →{T, F}:

CHECKCOND(d)=T表示待檢測(cè)數(shù)據(jù)項(xiàng)d是符合清洗規(guī)則的數(shù)據(jù),即為“干凈數(shù)據(jù)”,直接存入干凈數(shù)據(jù)庫(kù);

CHECKCOND(d)=F表示待檢測(cè)數(shù)據(jù)項(xiàng)d是不符合清洗規(guī)則的數(shù)據(jù),即為“臟數(shù)據(jù)”,需要進(jìn)一步作數(shù)據(jù)修復(fù)(見(jiàn)定義3);

定義3 數(shù)據(jù)修復(fù)(Data Revise)。根據(jù)數(shù)據(jù)檢測(cè)的結(jié)果,如果為F則需要對(duì)原數(shù)據(jù)進(jìn)行修改,DRDCM支持三種修改行為:保留(RETAIN)、丟棄(DISCARD)和回填(REFILL)。

定義4 DROOLS規(guī)則。抽取的規(guī)則可以通過(guò)Drools語(yǔ)法[23]清晰表達(dá)的,均定義為DROOLS規(guī)則類(lèi)型,形如“rule 〈name〉 attributes; when 〈LHS〉; then 〈RHS〉; end”。

定義5 REGEX規(guī)則。抽取的規(guī)則可以通過(guò)Java正則表達(dá)式[24]清晰表達(dá)的,均定義為REGEX規(guī)則類(lèi)型,例如“18位身份證號(hào)且支持以X結(jié)尾”,可以定義為正則表達(dá)式“(^[1-9]([0-9]{16}|[0-9]{13})[xX0-9]$)”。

定義6 FUN規(guī)則。抽取的規(guī)則通過(guò)DROOLS規(guī)則和REGEX規(guī)則均無(wú)法表達(dá)的,可以定義為FUN規(guī)則,例如一些時(shí)間函數(shù)、轉(zhuǎn)換函數(shù)和數(shù)學(xué)函數(shù)等。

定義7 清洗規(guī)則(Clean Rule)。本文提出的清洗規(guī)則可用四元組表示為:

CleanRule ::=〈Number, Rule Type, Data Check, Data Revise〉

其中:Number是由規(guī)則組號(hào)和規(guī)則號(hào)組成;Rule Type見(jiàn)定義4~6;Data Check見(jiàn)定義2;Data Revise見(jiàn)定義3。

1.2 DRDCM方法的組成

DRDCM方法主要包括如下幾個(gè)組成部分:

規(guī)則模板 即規(guī)則實(shí)體定義,方便用戶閱讀、定義以及修改規(guī)則。

規(guī)則庫(kù) 集中保存跨領(lǐng)域的所有規(guī)則,以規(guī)則組號(hào)和規(guī)則號(hào)組合為唯一標(biāo)識(shí),以便進(jìn)行規(guī)則的管理與重用。

規(guī)則配置與存儲(chǔ) 處理在實(shí)際清洗過(guò)程中規(guī)則實(shí)體與屬性、表、領(lǐng)域等的匹配關(guān)系,支持復(fù)雜邏輯描述表達(dá)式如:((規(guī)則1‖規(guī)則2)&& !規(guī)則3),支持二元組〈屬性名,規(guī)則表達(dá)式〉、三元組〈表名,屬性名,規(guī)則表達(dá)式〉和四元組〈領(lǐng)域名,表名,屬性名,規(guī)則表達(dá)式〉等。

規(guī)則引擎 是規(guī)則的運(yùn)行環(huán)境,用來(lái)編譯和執(zhí)行規(guī)則。

數(shù)據(jù)清洗反饋類(lèi) 負(fù)責(zé)將清洗結(jié)果和存在問(wèn)題反饋給用戶。

1.3 DRDCM方法的特點(diǎn)

相較于其他基于規(guī)則的數(shù)據(jù)清洗方法,DRDCM方法具備以下幾個(gè)特點(diǎn):

1)DRDCM采用低耦合的設(shè)計(jì)模式,因此將業(yè)務(wù)規(guī)則與業(yè)務(wù)系統(tǒng)分離。

2)DRDCM采用規(guī)則的動(dòng)態(tài)編譯方法,不僅具備堅(jiān)實(shí)的編譯理論基礎(chǔ),而且可以方便地在線修改和增刪規(guī)則,方便應(yīng)對(duì)特殊狀況,比如用戶一開(kāi)始沒(méi)有考慮到引入規(guī)則或是規(guī)則引入有誤或引入規(guī)則不足以表達(dá)實(shí)際需求等情況。

3)DRDCM方法中規(guī)則的定義遵循最小化原則(即規(guī)則不可再被拆分為其他子規(guī)則),給數(shù)據(jù)清洗的復(fù)雜邏輯描述以及多領(lǐng)域規(guī)則重用打下基礎(chǔ)。

4)DRDCM方法中將數(shù)據(jù)轉(zhuǎn)換與規(guī)則配置相結(jié)合,使單源數(shù)據(jù)或多源數(shù)據(jù)在集成的同時(shí),完成數(shù)據(jù)清洗和修復(fù),避免數(shù)據(jù)多次導(dǎo)入導(dǎo)出。

5)DRDCM支持三種規(guī)則類(lèi)型,避免單一規(guī)則類(lèi)型的局限性,能夠較全面地描述真實(shí)數(shù)據(jù)集中可以提取的規(guī)則。

6)DRDCM實(shí)現(xiàn)一種新的規(guī)則引擎,可以支持復(fù)雜的邏輯表達(dá)式和不同層次的規(guī)則配置,如屬性、表和領(lǐng)域。

1.4 DRDCM方法的工作模式

DRDCM方法的工作模式如下:首先,對(duì)原始數(shù)據(jù)集進(jìn)行分析并提取有效規(guī)則,通過(guò)規(guī)則定義界面將這些規(guī)則錄入并存儲(chǔ)進(jìn)規(guī)則庫(kù)中,其中規(guī)則的定義必須符合規(guī)則模板。接下來(lái)是數(shù)據(jù)轉(zhuǎn)換,周傲英教授在文獻(xiàn)[25]中闡述了數(shù)據(jù)轉(zhuǎn)換的重要性,對(duì)多源異構(gòu)數(shù)據(jù)進(jìn)行分析,從非結(jié)構(gòu)化、半結(jié)構(gòu)化的源數(shù)據(jù)中抽取結(jié)構(gòu)化信息來(lái)定義XML模型從而完成數(shù)據(jù)轉(zhuǎn)換。在DRDCM方法中,是在數(shù)據(jù)轉(zhuǎn)換的過(guò)程中完成規(guī)則配置,規(guī)則配置形如:,其中1_4、1_5和1_6均標(biāo)識(shí)規(guī)則庫(kù)中的唯一一條規(guī)則。最后是規(guī)則的執(zhí)行,DRDCM提供的規(guī)則執(zhí)行核心模塊根據(jù)規(guī)則配置將所需規(guī)則從規(guī)則庫(kù)中取出放入規(guī)則隊(duì)列,規(guī)則引擎會(huì)解析對(duì)應(yīng)的規(guī)則,根據(jù)規(guī)則類(lèi)型編譯和執(zhí)行對(duì)應(yīng)規(guī)則,規(guī)則的執(zhí)行包括數(shù)據(jù)檢測(cè)和根據(jù)檢測(cè)結(jié)果執(zhí)行數(shù)據(jù)修復(fù)兩部分。

1.5 算法設(shè)計(jì)

DRDCM支持三種不同類(lèi)型的數(shù)據(jù)清洗規(guī)則,如何把這些規(guī)則行之有效地部署到實(shí)際應(yīng)用中是其中一個(gè)關(guān)鍵。因此需要設(shè)計(jì)出一套切實(shí)有效的算法來(lái)自動(dòng)地進(jìn)行數(shù)據(jù)清洗。

算法1 數(shù)據(jù)清洗算法。

Input: DRL:待清洗記錄集; AttributeInfoBeanMap: 存儲(chǔ)記錄集中屬性的元數(shù)據(jù)。 // 類(lèi)型為Map

Output: CleanRL: 干凈的記錄集。

1)

CleanRL ←{};

//存儲(chǔ)干凈的記錄集,初始化為空

2)

ruleExp="";

//初始化規(guī)則表達(dá)式

3)

ruleQuene←new LinkedList<>();

//初始化規(guī)則隊(duì)列為空,用于存儲(chǔ)規(guī)則實(shí)體

4)

checkValueMap← new Map();

//用于存儲(chǔ)規(guī)則的檢查結(jié)果,key值為規(guī)則編號(hào)

5)

For each record in DRL Do

6)

cleanRecord←record;

//用于存儲(chǔ)修復(fù)后的干凈記錄

7)

For each attribute∈ record Do

8)

If (AttributeInfoBeanMap.get(attribute) !=null)

9)

ruleExp ← 讀取對(duì)應(yīng)AttributeInfoBean中的規(guī)則表達(dá)式;

//形如"1_4 or 1_5 or 1_6"

10)

ruleQuene← ruleExp中所有規(guī)則號(hào)對(duì)應(yīng)的規(guī)則實(shí)體ruleEntity;

11)

For each ruleEntity in ruleQuene Do

12)

ruleType ← ruleEntity.getRuleType;

13)

If (ruleType=="DROOLS")

14)

checkValue← Call DroolsSemErr;

15)

Else if(ruleType=="REGEX")

16)

checkValue←Call RegextSemErr;

17)

Else If(ruleType=="FUN")

18)

checkValue ←Call FunSemErr;

19)

checkValueMap.put(ruleNumber, checkValue);

20)

expCheckValue←runLogicalExp(ruleExp, checkValueMap)

21)

if (expCheckValue== false)

22)

cleanRecord←call 數(shù)據(jù)修復(fù)算法更新cleanRecord;

23)

If (cleanRecord==null)

24)

break;

//退出循環(huán)

25)

End For each attribute;

26)

If (cleanRecord!=null)

27)

CleanRL.add(cleanRecord);

28)

End For each record;

29)

return CleanRL;

在算法2中,RetainNumMap為Map類(lèi)型,用于存儲(chǔ)屬性名以及該屬性中不符合規(guī)則并且沒(méi)有合適修復(fù)策略的屬性值個(gè)數(shù)。

算法2 數(shù)據(jù)修復(fù)算法。

Input: Record: 待修復(fù)的記錄; AtrributeName: 待修復(fù)的屬性名; Action: 修復(fù)動(dòng)作; RetainNumMap:

//Map

Output: ModifiedRecord:被修復(fù)后的記錄。

1)

modifiedRecord ← Record;

2)

if (Action==DISCARD)

3)

modifiedRecord=null;

4)

If (Action==RETAIN)

5)

更新RetainNumMap;

6)

If (Action==REFILL)

7)

//根據(jù)屬性所屬類(lèi)型選擇回填值;

8)

If (AtrributeName是枚舉型屬性)

9)

ModifiedRecord←ModifiedRecord.setAttribute (AtrributeName, MaxFreqValue);

// MaxFreqValue為該屬性中出現(xiàn)頻率最高的屬性值

10)

If (AtrributeName是數(shù)值型屬性)

11) ModifiedRecord←ModifiedRecord.setAttribute (AtrributeName, MeanValue);

// MeanValue為該屬性值的樣本均值

12)

If (AtrributeName是日期型屬性)

13)

轉(zhuǎn)換日期型格式,如果為空值參考字符串型處理方法;

14)

If(AtrributeName是字符串型屬性)

15)

尋找重復(fù)記錄或最鄰近記錄對(duì)應(yīng)的屬性值作為填充值;

16)

return ModifiedRecord;

表2 元表(部分)

2 DRDCM參考實(shí)現(xiàn)系統(tǒng)

2.1 DRDCM系統(tǒng)架構(gòu)

DRDCM系統(tǒng)的總體架構(gòu)如圖3所示,主要有數(shù)據(jù)導(dǎo)入模塊,它給結(jié)構(gòu)化、非結(jié)構(gòu)化數(shù)據(jù)以及半結(jié)構(gòu)化數(shù)據(jù)的導(dǎo)入提供了一個(gè)統(tǒng)一的接口,這樣就可以實(shí)現(xiàn)綜合的管理,提高整體的使用效率,減少今后維護(hù)的成本;數(shù)據(jù)轉(zhuǎn)換與規(guī)則配置模塊,該模塊的主要任務(wù)是將結(jié)構(gòu)化、非結(jié)構(gòu)化以及半結(jié)構(gòu)化數(shù)據(jù)轉(zhuǎn)換為方便后期進(jìn)行數(shù)據(jù)分析的統(tǒng)一格式,并通過(guò)該模塊將規(guī)則與屬性、表以及領(lǐng)域進(jìn)行匹配;規(guī)則收集模塊(包括規(guī)則模板、規(guī)則定義界面和規(guī)則庫(kù)等),該模塊主要功能是從原始數(shù)據(jù)中抽取規(guī)則并進(jìn)行定義和存儲(chǔ)規(guī)則;規(guī)則執(zhí)行核心模塊(包括規(guī)則引擎、規(guī)則編譯、數(shù)據(jù)檢測(cè)和數(shù)據(jù)修復(fù)等),主要功能是執(zhí)行數(shù)據(jù)清洗規(guī)則以及對(duì)原始數(shù)據(jù)進(jìn)行修正以獲取干凈數(shù)據(jù);數(shù)據(jù)輸出模塊(包括清洗反饋和干凈數(shù)據(jù)存儲(chǔ))。

2.2 清洗規(guī)則

清洗規(guī)則可以表示為:

RULE(n, t, c, o, v)

n: 規(guī)則的名稱(chēng)(字母、數(shù)字和下劃線組成);

t:規(guī)則的類(lèi)型(t∈{DROOLS, FUN, REGEX});

c:清洗檢測(cè)(c∈RegexSemErr, DroolsSemErr, FunSemErr);

o:規(guī)則的操作符(o∈{ BELONGTO, NOTBELONGTO, CONTAINS, NOTCONTAINS, MATCHS, NOTMATCHS, GREATER, LESS, EQUAL, NOTEQUAL, INNER, OUTSIDE, SATISFY, NOT SATISFY});

v:標(biāo)準(zhǔn)值或標(biāo)準(zhǔn)值域。

BELONGTO與NOTBELONGTO描述個(gè)體與集合的關(guān)系,例如: 1∈{1, 2, 3}、4?{1, 2, 3};CONTAINS 與 NOTCONTAINS描述集合與集合的關(guān)系,例如:{1}?{1, 5, 6}、{1}?{4, 5, 6};GREATER、GREATEREQ、LESS、LESSEQ、EQUAL、 NOTEQUAL、 INNER、OUTSIDE分別表示大于、大于等于、小于、小于等于、等于、不等于、在區(qū)間內(nèi)和在區(qū)間外,其中INNER、OUTSIDE可以通過(guò)GREATER(GREATEREQ)與LESS(LESSEQ)的“∧”運(yùn)算實(shí)現(xiàn)。

規(guī)則操作符的定義:

BELONGTO ?∈

NOTBELONGTO ??

CONTAINS ??

NOTCONTAINS ??

GREATER ?>

GREATEREQ ?≥

LESS ?<

LESSEQ ?≤

EQUAL ?=

NOTEQUAL ?≠

圖3 DRDCM參考實(shí)現(xiàn)系統(tǒng)的總體架構(gòu)

2.3 規(guī)則引擎

DRDCM參考實(shí)現(xiàn)系統(tǒng)的規(guī)則引擎分三個(gè)步驟:

步驟1 解析規(guī)則配置文件,其中配置文件涉及到的數(shù)據(jù)轉(zhuǎn)換元表和規(guī)則表達(dá)式元表,如表2所示。

步驟2 在將原數(shù)據(jù)進(jìn)行數(shù)據(jù)轉(zhuǎn)換時(shí)讀取元數(shù)據(jù)模型中的規(guī)則表達(dá)式Exp,并根據(jù)規(guī)則類(lèi)型調(diào)用對(duì)應(yīng)的規(guī)則執(zhí)行文件,本文有三種規(guī)則類(lèi)型,對(duì)應(yīng)的規(guī)則執(zhí)行文件提供的接口分別為:

RegextSemErr(Object d1, ExpEntity e1)

DroolsSemErr(Object d1, ExpEntity e1)

FunSemErr(Object d1, ExpEntity e1)

其中:d1為待清洗數(shù)據(jù);e1表示規(guī)則實(shí)體。這三個(gè)接口用來(lái)完成每條規(guī)則的數(shù)據(jù)檢測(cè)。

步驟3 計(jì)算規(guī)則表達(dá)式的值,如果為F則調(diào)用數(shù)據(jù)修復(fù)模塊進(jìn)行數(shù)據(jù)修復(fù),最終存入干凈數(shù)據(jù)庫(kù)。

2.4 規(guī)則配置

規(guī)則是從一些領(lǐng)域知識(shí)或是復(fù)雜商業(yè)邏輯中提取出來(lái)的,不同領(lǐng)域的原始數(shù)據(jù)集中會(huì)存在一些共有的信息,例如對(duì)人的信息采集,包括人的性別、身份證號(hào)碼、族別、出生日期、年齡等信息,而從這些基本信息中可以抽取到的規(guī)則有:性別只有男/女,身份證號(hào)碼18位支持X字母結(jié)尾,民族只能是56個(gè)民族中的其中一個(gè)(中國(guó)公民),出生日期的日期格式,等等。在DRDCM系統(tǒng)中,規(guī)則從領(lǐng)域知識(shí)中提取但又不依賴(lài)于領(lǐng)域,規(guī)則庫(kù)中的規(guī)則可以跨領(lǐng)域進(jìn)行重用。

DRDCM系統(tǒng)根據(jù)規(guī)則的關(guān)聯(lián)號(hào)把規(guī)則分為若干個(gè)分組,并以〈規(guī)則組號(hào)-規(guī)則號(hào)〉為索引來(lái)匹配和執(zhí)行規(guī)則,大大降低了時(shí)間復(fù)雜度?;谶@個(gè)原則進(jìn)行規(guī)則配置,當(dāng)用戶修改規(guī)則時(shí),規(guī)則引擎無(wú)需作任何改動(dòng);當(dāng)用戶增加或刪除規(guī)則時(shí),僅需要改動(dòng)規(guī)則配置模塊,規(guī)則引擎和其他模塊無(wú)需作任何改動(dòng),從而極大提高了系統(tǒng)的重用性、擴(kuò)展性和靈活性。

規(guī)則配置中涉及到規(guī)則表達(dá)式用二元組表示為:

RL=〈RN, LC〉

RN是規(guī)則組號(hào)-規(guī)則號(hào),用來(lái)唯一標(biāo)識(shí)一個(gè)規(guī)則。LC是邏輯連接詞,用“not”代表“(否定)”、用“and” 代表“∧(合取)”、用“or”代表“∨(析取)”、用“ifThen”代表“→(蘊(yùn)涵)”、用“EQ”代表“?(等價(jià))”。

規(guī)則配置支持如下幾種格式:

1)Expc::=〈A, RL〉,用來(lái)表達(dá)單個(gè)屬性下的規(guī)則約束;

2)Expc::=〈T, A, RL, LC〉,用來(lái)表達(dá)以表為單位的規(guī)則約束;

3)Expc::=〈D,T, A, RL, LC〉,用來(lái)表示不同領(lǐng)域下的規(guī)則約束。

其中:A代表屬性名;T代表表名;LC是邏輯連接詞;D代表領(lǐng)域名。

在XML規(guī)則配置文件中,Expc::=〈A, RL〉格式如下所示:

3 實(shí)際應(yīng)用

面向公安、國(guó)安等地區(qū)大數(shù)據(jù)分析的需求,結(jié)合工信部物聯(lián)網(wǎng)發(fā)展專(zhuān)項(xiàng)的“新疆電梯安全動(dòng)態(tài)監(jiān)管物聯(lián)網(wǎng)系統(tǒng)研發(fā)與應(yīng)用”的數(shù)據(jù),以及國(guó)家發(fā)改委物聯(lián)網(wǎng)重大專(zhuān)項(xiàng)的“基于物聯(lián)網(wǎng)技術(shù)的車(chē)載氣瓶電子監(jiān)管系統(tǒng)及產(chǎn)業(yè)化”的數(shù)據(jù)。采用DRDCM系統(tǒng)對(duì)這些原始數(shù)據(jù)進(jìn)行清洗,從而保障數(shù)據(jù)檢索、數(shù)據(jù)分析以及分析結(jié)果展示的準(zhǔn)確性。

在實(shí)驗(yàn)部分通過(guò)以下三個(gè)方面來(lái)展示該系統(tǒng)的性能:1)給出該系統(tǒng)的輸入輸出數(shù)據(jù);2)給出該系統(tǒng)數(shù)據(jù)清洗的準(zhǔn)確性;3)給出該系統(tǒng)數(shù)據(jù)清洗的效率。

3.1 數(shù)據(jù)采集

該數(shù)據(jù)集共計(jì)10.7 GB,時(shí)間跨度為2016年1月到2016年5月。數(shù)據(jù)采集方式有三種:第一種是通過(guò)具備N(xiāo)FC功能的智能手機(jī)或其他智能手持設(shè)備獲?。坏诙N是通過(guò)人工錄入;第三種是和其他系統(tǒng)對(duì)接來(lái)導(dǎo)入數(shù)據(jù)。

“新疆電梯安全動(dòng)態(tài)監(jiān)管物聯(lián)網(wǎng)系統(tǒng)研發(fā)與應(yīng)用” 和“基于物聯(lián)網(wǎng)技術(shù)的車(chē)載氣瓶電子監(jiān)管系統(tǒng)及產(chǎn)業(yè)化” 兩個(gè)項(xiàng)目中都引入了近距離無(wú)線通信技術(shù)(Near Field Communication, NFC),它是工作在13.56 MHz頻率,有效距離在20 cm內(nèi)。事實(shí)上,操作距離以及嵌入手機(jī)或其他手持設(shè)備的NFC設(shè)備自身的靈敏度都會(huì)影響到從電子標(biāo)簽中讀取數(shù)據(jù)。第二種采集方法中,排除紙質(zhì)材料本身的完整性,在人工錄入時(shí)難免會(huì)存在錯(cuò)錄或少錄的情況。在第三種采集方法中,數(shù)據(jù)來(lái)自不同系統(tǒng),因此數(shù)據(jù)具有異構(gòu)、多源、分布式、時(shí)間跨度大等特點(diǎn),這些數(shù)據(jù)中不可避免地會(huì)存在著一些粗糙的、不合時(shí)宜的數(shù)據(jù)。

3.2 評(píng)價(jià)標(biāo)準(zhǔn)

為了驗(yàn)證本文方法在丟棄記錄與回填記錄的有效性,本文引入準(zhǔn)確率Accuracy來(lái)評(píng)定,其定義如下:

(1)

其中:TP是真正例的個(gè)數(shù),即不符合清洗規(guī)則且被正確地執(zhí)行了丟棄或回填動(dòng)作的屬性值個(gè)數(shù);TN是真負(fù)例的個(gè)數(shù),即屬性值本身為干凈數(shù)據(jù)且沒(méi)有被執(zhí)行任何修復(fù)動(dòng)作的屬性值個(gè)數(shù);FP是假正例的個(gè)數(shù);FN為假負(fù)例的個(gè)數(shù)。TP+TN+FP+FN為樣本總數(shù)。總而言之,準(zhǔn)確率就是被正確處理的樣本數(shù)除以所有的樣本數(shù),通常來(lái)說(shuō),準(zhǔn)確率越高,則處理效果越好。

3.3 實(shí)驗(yàn)結(jié)果以及分析

實(shí)驗(yàn)1 限于篇幅和所屬項(xiàng)目數(shù)據(jù)本身的保密性,本文僅給出其中一個(gè)數(shù)據(jù)表的部分信息(如表3中的輸入數(shù)據(jù)所示)作數(shù)據(jù)清洗描述,該測(cè)試數(shù)據(jù)來(lái)源是經(jīng)數(shù)據(jù)轉(zhuǎn)換后的結(jié)構(gòu)化數(shù)據(jù)。

表3 測(cè)試數(shù)據(jù)(部分)

表1中:“idType”屬性中值1代表“idNum”中存儲(chǔ)的是“身份證”, 值2表示的是“組織機(jī)構(gòu)”,其中組織機(jī)構(gòu)是由8位數(shù)字組成,值3表示的是“護(hù)照”。另外因?yàn)樯婕半[私問(wèn)題,表3中所列數(shù)據(jù)中的身份證號(hào)碼、護(hù)照號(hào)和姓名都經(jīng)過(guò)了替換處理,并且某些數(shù)字用“*”號(hào)代替。其中idNum的規(guī)則配置見(jiàn)2.4節(jié)中的示例({"constraint":"1_4or1_5or1_6","ruleAction":"DISCARD"})。

因篇幅原因,只列舉在規(guī)則配置文件中的兩條規(guī)則作為示例。

ID_CARD_NUM 1_4 REGEX SATISFY (^[1-9]([0-9]{16}|[0-9]{13})[xX0-9]$)

REPLACE_GENDER 3_1 FUN BELONGTO M:男,F:女

規(guī)則1_4是正則表達(dá)式類(lèi)型規(guī)則,用于檢測(cè)身份證號(hào)碼的合法性。規(guī)則3_1是函數(shù)類(lèi)型規(guī)則,它的作用是將gender屬性中的“F”值替換為“女”、“M”替換為“男”。在規(guī)則配置時(shí),因?yàn)閕dNum是該表的主鍵,如果idNum不符合清洗規(guī)則表達(dá)式,則表示該條記錄為無(wú)效記錄予以丟棄。

經(jīng)DRDCM系統(tǒng)進(jìn)行清洗后,表3中輸入數(shù)據(jù)部分的第一條記錄中ethnic屬性值被回填為“漢”另外,第2條和第4條因idNum不符合清洗規(guī)則表達(dá)式所以予以丟棄,具體清洗結(jié)果如表3中輸出數(shù)據(jù)部分所示。

如果使用硬編碼方法實(shí)現(xiàn)就需要冗長(zhǎng)的if…else語(yǔ)句實(shí)現(xiàn),硬編碼方式不僅容易引入錯(cuò)誤,而且修改起來(lái)相當(dāng)困難,對(duì)不同的應(yīng)用難以復(fù)用。而DRDCM方法僅需幾條規(guī)則即可,在代碼實(shí)現(xiàn)部分無(wú)需任何改動(dòng),極大地方便和簡(jiǎn)化了數(shù)據(jù)清洗和修復(fù)的流程。

實(shí)驗(yàn)2 每次隨機(jī)抽取記錄,重復(fù)20次,統(tǒng)計(jì)出有多少條記錄被拋棄、多少屬性值被回填以及它們的準(zhǔn)確率。在本次實(shí)驗(yàn)中,用到的規(guī)則數(shù)量分別是5、10和20。數(shù)據(jù)清洗的統(tǒng)計(jì)結(jié)果如表4所示,實(shí)驗(yàn)結(jié)果表明丟棄記錄的準(zhǔn)確率是可以接受的,但是回填記錄的準(zhǔn)確率有待提高,這在本項(xiàng)目目前正在開(kāi)發(fā)的數(shù)據(jù)清洗和數(shù)據(jù)融合系統(tǒng)中會(huì)進(jìn)一步完善。

表4 DRDCM系統(tǒng)的準(zhǔn)確率

實(shí)驗(yàn)3 對(duì)DRDCM的清洗效率進(jìn)行了實(shí)驗(yàn),并與硬編碼(HardCoding,HardCode)方法作了對(duì)比。在圖4中,橫坐標(biāo)表示實(shí)驗(yàn)中所使用的規(guī)則條數(shù),縱坐標(biāo)表示在對(duì)應(yīng)的規(guī)則條數(shù)上執(zhí)行10條、100條、1 000條和10 000條記錄所消耗的時(shí)間。從圖4可知,隨著規(guī)則數(shù)量的增加,性能緩慢下降,說(shuō)明DRDCM系統(tǒng)的性能和規(guī)則條數(shù)的相關(guān)度不是很大。

圖4 DRDCM系統(tǒng)的效率

在圖5中給出了DRDCM與HardCode性能的比較。由圖5可知,在規(guī)則數(shù)為5時(shí)DRDCM系統(tǒng)在性能上要略差于HardCode方法;但隨著規(guī)則數(shù)增長(zhǎng),當(dāng)規(guī)則數(shù)為20時(shí)和40時(shí),DRDCM系統(tǒng)和HardCode的性能差距越來(lái)越小。另外,規(guī)則數(shù)量的增加,對(duì)HardCode和DRDCM系統(tǒng)的影響基本趨于一致。雖然較之HardCode,在性能上DRDCM系統(tǒng)的優(yōu)勢(shì)并不明顯,但是DRDCM可以使用形式化語(yǔ)言描述規(guī)則的復(fù)雜邏輯運(yùn)算,且易于用戶理解和接受;DRDCM把業(yè)務(wù)規(guī)則和業(yè)務(wù)系統(tǒng)進(jìn)行分離,也更方便用戶的擴(kuò)展與修改,以及一些突發(fā)情況的處理;另外,DRDCM方法支持規(guī)則的跨領(lǐng)域重用、配置等。

圖5 DRDCM與HardCode的性能比較

4 結(jié)語(yǔ)

本文通過(guò)對(duì)現(xiàn)有數(shù)據(jù)清洗方法特別是基于規(guī)則的數(shù)據(jù)清洗方法進(jìn)行詳細(xì)研究后,提出了一種新的基于動(dòng)態(tài)可配置規(guī)則的數(shù)據(jù)清洗方法DRDCM,將規(guī)則配置、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)檢測(cè)以及數(shù)據(jù)修復(fù)融為一體;支持跨領(lǐng)域多源數(shù)據(jù)的規(guī)則重用;DRDCM方法支持三種類(lèi)型的規(guī)則并提供對(duì)應(yīng)接口實(shí)現(xiàn),可以避免單一規(guī)則對(duì)源數(shù)據(jù)特征描述時(shí)的局限性。另外,本文對(duì)DRDCM方法提出一種參考實(shí)現(xiàn)系統(tǒng),它支持規(guī)則的動(dòng)態(tài)編譯,利用該系統(tǒng)用戶可以方便地對(duì)規(guī)則進(jìn)行閱讀、抽取、新增、修改和刪除等操作,并且支持規(guī)則的復(fù)雜邏輯描述等,綜合上述改進(jìn)使該系統(tǒng)具備靈活性和擴(kuò)展性。該系統(tǒng)已部署在工信部物聯(lián)網(wǎng)發(fā)展專(zhuān)項(xiàng)的“新疆電梯安全動(dòng)態(tài)監(jiān)管物聯(lián)網(wǎng)系統(tǒng)研發(fā)與應(yīng)用”和國(guó)家發(fā)改委物聯(lián)網(wǎng)重大專(zhuān)項(xiàng)的“基于物聯(lián)網(wǎng)技術(shù)的車(chē)載氣瓶電子監(jiān)管系統(tǒng)及產(chǎn)業(yè)化”項(xiàng)目中,在這些項(xiàng)目中的實(shí)際運(yùn)行情況以及獲取到的真實(shí)數(shù)據(jù)集進(jìn)一步驗(yàn)證了該方法在現(xiàn)實(shí)場(chǎng)景下的可行性。

)

[1]SWARTZN.Gartnerwarnsfirmsof“dirtydata” [J].InformationManagementJournal, 2007, 41(3): 6-7.

[2]ECKERSONWW.Dataqualityandthebottomline:achievingbusinesssuccessthroughacommitmenttohighqualitydata[EB/OL]. [2016- 03- 10].http://download.101com.com/pub/tdwi/Files/DQReport.pdf.

[3]GRAHAMC.Forecast:dataqualitytools,worldwide, 2006-2011 [EB/OL]. [2016- 03- 10].https://www.gartner.com/doc/507207/forecast-data-quality-tools-worldwide.

[4] 覃遠(yuǎn)翔, 段亮, 岳昆. 基于信息熵的不確定性數(shù)據(jù)清理方法[J]. 計(jì)算機(jī)應(yīng)用, 2013, 33(9): 2490-2492.(QINYX,DUANL,YUEK.Approachforcleaninguncertaindatabasedoninformationentropytheory[J].JournalofComputerApplications, 2013, 33(9):2490-2492.)

[5]RAHME,DOHH.Datacleaning:problemsandcurrentapproaches[J].IEEEDataEngineeringBulletin, 2000, 23(4): 3-13.

[6] 楊明花, 古志民. 基于興趣特征的WUM數(shù)據(jù)預(yù)處理方法[J]. 計(jì)算機(jī)應(yīng)用, 2006, 26(10): 133-134.(YANGMH,GUZM.DatapreprocessingmethodbasedoncharacteristicofinterestsforWUM[J].JournalofComputerApplications, 2006, 26(10):2393-2388.)

[7]GALHARDASH,FLORESCUD,SHASHAD,etal.Declarativedatacleaning:language,model,andalgorithms[C]//VLDB2001:Proceedingsofthe27thInternationalConferenceonVeryLargeDataBases.SanFrancisco:MorganKaufmannPublishers, 2001: 371-380.

[8]VOLKOVSM,CHIANGF,SZLICHTAJ,etal.Continuousdatacleaning[C]//Proceedingsofthe2014IEEE30thInternationalConferenceonDataEngineering.Piscataway,NJ:IEEE, 2014: 244-255.

[9]OLIVEIRAP,RODRIGUESF,HENRIQUESP,etal.Ataxonomyofdataqualityproblems[EB/OL]. [2016- 03- 10].https://www.researchgate.net/profile/Helena_Galhardas/publication/250693546_A_Taxonomy_of_Data_Quality_Problems/links/02e7e5347984 84567c000000.pdf.

[10]EBAIDA,ELMAGARMIDA,ILYASIF,etal.NADEEF:ageneralizeddatacleaningsystem[J].ProceedingsoftheVLDBEndowment, 2013, 6(12): 1218-1221.

[11]DALLACHIESAM,EBAIDA,ELDAWYA,etal.NADEEF:acommoditydatacleaningsystem[C]//Proceedingsofthe2013ACMSIGMODInternationalConferenceonManagementofData.NewYork:ACM, 2013: 541-552.

[12] 李俊奎, 王元珍, 李專(zhuān).AzszpClean: 一種基于規(guī)則的數(shù)據(jù)清洗方案[J]. 山東大學(xué)學(xué)報(bào)(理學(xué)版), 2007, 42(9):71-74.(LIJK,WANGYZ,LIZ.AzszpClean:arule-basedsolutiontodatacleaning[J].JournalofShandongUniversity(NaturalScience), 2007, 42(9):71-74.)

[13]BOHANNONP,FANW,FLASTERM,etal.Acost-basedmodelandeffectiveheuristicforrepairingconstraintsbyvaluemodification[C]//Proceedingsofthe2005ACMSIGMODInternationalConferenceonManagementofData.NewYork:ACM, 2005: 143-154.

[14]CHOMICKJJ,MARCINKOWSKIJ.Minimal-changeintegritymaintenanceusingtupledeletions[J].InformationandComputation, 2005, 197(1): 90-121.

[15]WIJSENJ.Databaserepairingusingupdates[J].ACMTransactionsonDatabaseSystems, 2005, 30(3): 722-768.

[16]FANW,GEERTSF,JIAX,etal.Conditionalfunctionaldependenciesforcapturingdatainconsistencies[J].ACMTransactionsonDatabaseSystems, 2008, 33(2): 6.

[17]BRAVOL,FANW,MAS.Extendingdependencieswithconditions[EB/OL]. [2016- 03- 10].http://www.vldb.org/conf/2007/papers/research/p243-bravo.pdf.

[18]GOLABL,KARLOFFH,KORNF,etal.Ongeneratingnear-optimaltableauxforconditionalfunctionaldependencies[J].ProceedingsoftheVLDBEndowment, 2008, 1(1): 376-390.

[19]CHUX,ILYASIF,PAPOTTIP.Holisticdatacleaning:putviolationsintocontext[C]//Proceedingsofthe2013IEEE29thInternationalConferenceonDataEngineering.Piscataway,NJ:IEEE, 2013:458-469.

[20]FANW,MAS,TANGN,etal.Interactionbetweenrecordmatchinganddatarepairing[J].JournalofDataandInformationQuality, 2014, 4(4):ArticleNo16.

[21]YAKOUTM,ELMAGARMIDAK,NEVILLEJ,etal.Guideddatarepair[J].ProceedingsoftheVLDBEndowment, 2011, 4(5): 279-289.

[22]VWRBORGHR,DEWM.UsingOpenRefine[M].Birmingham:PacktPublishing, 2013:53.

[23]PROCTORM,NEALEM,LINP,etal.Droolsdocumentation[EB/OL]. [2016- 03- 10].http://www.jboss.org/drools/documentation.html.

[24] 丁晶, 陳曉嵐, 吳萍. 基于正則表達(dá)式的深度包檢測(cè)算法[J]. 計(jì)算機(jī)應(yīng)用, 2007, 27(9): 2184-2186.(DINGJ,CHENXL,WUP.Deeppacketinspectionalgorithmbasedonregularexpressions[J].JournalofComputerApplications, 2007, 27(9):2184-2186.)

[25] 周傲英, 金澈清, 王國(guó)仁, 等. 不確定性數(shù)據(jù)管理技術(shù)研究綜述[J]. 計(jì)算機(jī)學(xué)報(bào), 2009, 32(1): 1-16.(ZHOUAY,JINCQ,WANGGR,etal.Asurveyonthemanagementofuncertaindata[J].ChineseJournalofComputers, 2009, 32(1):1-16.)

ThisworkispartiallysupportedbytheXinjiangHigh-TechR&DProgram(201512103),theWestLightFoundationoftheChineseAcademyofSciences(XBBS201313),theXinjiangYoungScholarSupportProgram(2014721033).

ZHU Huijuan, born in 1984, Ph. D. candidate. Her research interests include data cleaning, data fusion, data analysis.

JIANG Tonghai, born in 1963, Ph. D., research fellow. His research interests include data fusion, data analysis, data mining.

ZHOU Xi, born in 1978, Ph. D., research fellow. His research interests include data cleaning, data fusion, data analysis.

CHENG Li, born in 1973, Ph. D., research fellow. His research interests include cloud computing, grid computing, high performance computing, data fusion.

ZHAO Fan, born in 1980, Ph. D. candidate, associate research fellow. His research interests include bilingual teaching, data visualization analysis.

MA Bo, born in 1984, Ph. D., associate research fellow. His research interests include semantic retrieval, data mining, knowledge discovery, data analysis.

Data cleaning method based on dynamic configurable rules

ZHU Huijuan1,2,3, JIANG Tonghai1,3, ZHOU Xi1,3, CHENG Li1,3*, ZHAO Fan1,3, MA Bo1,3

(1. Research Center for Multilingual Information Technology, Xinjiang Technical Institute of Physics and Chemistry, Chinese Academy of Sciences, Urumqi Xinjiang 830011, China;2. School of Computer and Control Engineering, University of Chinese Academy of Sciences, Beijing 100049, China;3. Xinjiang Laboratory of Minority Speech and Language Information Processing, Urumqi Xinjiang 830011, China)

Traditional data cleaning approaches usually implement cleaning rules specified by business requirements through hard-coding mechanism, which leads to well-known issues in terms of reusability, scalability and flexibility. In order to address these issues, a new Dynamic Rule-based Data Cleaning Method (DRDCM) was proposed, which supports the complex logic operation between various types of rules and three kinds of dirty data repair behavior. It integrates data detection, error correction and data transformation in one system and contributes several unique characteristics, including domain-independence, reusability and configurability. Besides, the formal concepts and terms regarding data detection and correction were defined, while necessary procedures and algorithms were also introduced. Specially, the supported multiple rule types and rule configurations in DRDCM were presented in detail. At last, the DRDCM approach was implemented. Experimental results show that the implemented system provides a high accuracy on the discarded behavior of dirty data repair with real-life data sets. Especially for the attribute required to comply with the statutory coding rules (such as ID card number), whose accuracy can reach 100%. Moreover, these results also indicate that this reference implementation of DRDCM can successfully support multiple data sources in cross-domain scenarios, and its performance does not sharply decrease with the increase of the number of rules. These results further validate that the proposed DRDCM is practical in real-world scenarios.

big data; data quality; data cleaning; dynamic configurable rules; data preprocessing

2016- 09- 20;

2016- 12- 22。 基金項(xiàng)目:新疆維吾爾自治區(qū)高技術(shù)研究發(fā)展計(jì)劃項(xiàng)目(201512103);中國(guó)科學(xué)院西部之光人才培養(yǎng)計(jì)劃項(xiàng)目(XBBS201313);新疆維吾爾自治區(qū)青年科技創(chuàng)新人才培養(yǎng)工程計(jì)劃項(xiàng)目(2014721033)。

朱會(huì)娟(1984—),女,河南洛陽(yáng)人,博士研究生,主要研究方向:數(shù)據(jù)清洗、數(shù)據(jù)融合、數(shù)據(jù)分析; 蔣同海(1963—),男,新疆福海人,研究員,博士生導(dǎo)師,博士,主要研究方向:數(shù)據(jù)融合、數(shù)據(jù)分析、數(shù)據(jù)挖掘; 周喜(1978—),男,湖南雙峰人,研究員,博士,主要研究方向:數(shù)據(jù)清洗、數(shù)據(jù)融合、數(shù)據(jù)分析; 程力(1973—),男,新疆烏魯木齊人,研究員,博士生導(dǎo)師,博士,CCF會(huì)員,主要研究方向:云計(jì)算、網(wǎng)格計(jì)算、高性能計(jì)算、數(shù)據(jù)融合; 趙凡(1980—),男,山西介休人,副研究員,博士研究生,主要研究方向:雙語(yǔ)教學(xué)、數(shù)據(jù)可視化分析; 馬博(1984—),男,遼寧鞍山人,副研究員,博士,主要研究方向:語(yǔ)義檢索、數(shù)據(jù)挖掘、知識(shí)發(fā)現(xiàn)、數(shù)據(jù)分析。

1001- 9081(2017)04- 1014- 07

10.11772/j.issn.1001- 9081.2017.04.1014

TP311.11

A

猜你喜歡
定義規(guī)則方法
撐竿跳規(guī)則的制定
數(shù)獨(dú)的規(guī)則和演變
讓規(guī)則不規(guī)則
TPP反腐敗規(guī)則對(duì)我國(guó)的啟示
用對(duì)方法才能瘦
成功的定義
四大方法 教你不再“坐以待病”!
賺錢(qián)方法
捕魚(yú)
修辭學(xué)的重大定義
拉孜县| 察雅县| 壶关县| 铁岭市| 玉环县| 屏东市| 京山县| 吉木乃县| 永福县| 唐海县| 海口市| 凉山| 阳春市| 华池县| 曲阳县| 海宁市| 河源市| 宁蒗| 泽州县| 齐齐哈尔市| 临城县| 体育| 江川县| 易门县| 确山县| 海阳市| 东乡县| 蒙城县| 容城县| 化州市| 新巴尔虎右旗| 嘉义市| 福清市| 白河县| 海宁市| 兴安县| 寿阳县| 辽阳市| 抚顺县| 兰西县| 射阳县|