脏数据识别方法及装置、数据清洗方法及装置、控制器与流程

文档序号:16248503发布日期:2018-12-11 23:48阅读:261来源:国知局
脏数据识别方法及装置、数据清洗方法及装置、控制器与流程

本发明涉及一种数据处理方法,特别是涉及一种脏数据识别方法及装置、数据清洗方法及装置、控制器。

背景技术

充电桩是电动汽车充电设备中不可或缺的组成部分。在充电资源管理监控系统中,往往需要接入第三方平台的充电桩(简称为三方桩)的数据来满足业务的需求,而三方桩数据的质量对上层业务有直接的影响,因此在三方桩数据进入充电资源管理监控系统之前需进行数据清洗。数据清洗可以被描述为从大量原始数据中使用一系列的逻辑运算检测出脏数据并修复或者丢弃之。如果三方桩数据清洗完全依靠人工辅助来进行,效率比较低下。



技术实现要素:

本发明的目的在于,提供一种脏数据识别方法及数据清洗方法,所要解决的是改善现有数据清洗方法效率低下的技术问题,提高数据清洗效率及清洗准确性。

本发明的目的及解决其技术问题是采用以下的技术方案来实现的。依据本发明提出的脏数据识别方法,包括:提取领域规则库,所述领域规则库包含一条或多条第一判定规则以及一条或多条第二判定规则;根据所述领域规则库,对数据字段中的脏数据进行识别:采用所述第一判定规则对所述数据字段进行过滤,如果所述数据字段匹配任意一条所述第一判定规则,则判定所述数据字段为脏数据;如果没有匹配到所述第一判定规则,则采用所述第二判定规则对所述数据字段进行过滤。

前述的脏数据识别方法,其中,采用第二判定规则对所述数据字段进行过滤时,如果所述数据字段没有匹配到所述第二判定规则,则判定所述数据字段为正常数据,如果所述数据字段匹配到n(n>=1)条所述第二判定规则,在所述匹配的n条第二判定规则中选取脏数据识别率最高的m(1<=m<=n)条规则,计算所述m条规则的联合概率p,设定一个阈值α,当概率p>α,表示所述数据字段为脏数据,当概率p<=α,则所述数据字段为正常数据。

前述的脏数据识别方法,其中,所述联合概率p由下述公式计算:

其中,pi表示p(d|wi),d表示脏数据,wi表示某一条第二判定规则,所述p(d|wi)表示在第二判定规则wi匹配的条件下为脏数据的概率,1<=i<=m。

前述的脏数据识别方法,其中,某数据字段在第二判定规则wi匹配条件下的脏数据识别率pi由下述方法获得:w表示某一第二判定规则,在所述规则w匹配的条件下,所述数据是脏数据的概率为

其中,h表示正常数据,d表示脏数据,p(h)表示某数据字段为正常数据的概率,p(d)表示某数据字段为脏数据的概率,p(w|h)表示正常数据的条件下所述规则w出现的概率,p(w|d)表示脏数据条件下所述规则w出现的概率。

前述的脏数据识别方法,其中,所述阈值α取值为0.7-0.9中的任意一值。

本发明还提出一种数据清洗方法,对数据记录中的各个数据字段逐一按照下述方法进行清洗:采用上述的脏数据识别方法进行脏数据识别,清洗识别出的脏数据。

前述的数据清洗方法,其中,所述领域规则库中的每一条规则包含:用于识别脏数据的识别规则以及对脏数据采取的清洗动作,所述识别规则包括所述第一判定规则和所述第二判定规则,不同的所述识别规则对应于不同的所述清洗动作;在清洗识别出的脏数据时,按照所述数据字段的领域规则库中的所述对脏数据采取的清洗动作进行清洗。

前述的数据清洗方法,其中,所述的按照所述数据字段的领域规则库中的所述对脏数据采取的清洗动作进行清洗包括:如果某数据记录的某数据字段与所述领域规则库中的n(n>=1)条规则相匹配,若所述n条规则中任一条规则对应的清洗动作为丢弃,则丢弃所述数据记录,若所述n条规则的清洗动作均不为丢弃,则分别应用所述n条规则对应的清洗动作对所述数据字段进行处理。

前述的数据清洗方法,其中,还包括下述步骤:将各数据字段脏数据的清洗动作的信息存储在数据清洗日志中。

前述的数据清洗方法,其中,所述数据清洗日志中每一条日志记录均包括下述内容中至少一种或多种:所采用的脏数据识别规则,需要清洗的数据记录关键字标识,需要清洗的数据字段名,清洗动作,原始数据字段,清洗后数据字段。

前述的数据清洗方法,其中还包括下述步骤:分析所述清洗日志中的内容,对脏数据识别和清洗进行迭代改进。

前述的数据清洗方法,其中,所述对脏数据识别和清洗进行迭代改进具体包括下述内容:在领域规则库中添加使用时被发现的脏数据所对应的脏数据识别规则,完善领域规则库。

前述的数据清洗方法,其中,所述对脏数据识别和清洗进行迭代改进具体包括下述内容:判断是否存在把不是脏数据的数据字段判定为脏数据的情况,若存在则进行调整,若脏数据清洗后仍属于脏数据或不可用,则调整与所述脏数据相应的脏数据识别规则的清洗动作。

前述的数据清洗方法,其中,所述对脏数据识别和清洗进行迭代改进具体包括下述内容:每次接入和分析一批数据记录之后,迭代修正领域规则库中对于脏数据识别规则中每一条第二判定规则基于历史统计数据得出的p(w|h)和p(w|d)值。

本发明还提出一种脏数据识别装置,包括:提取模块,用于提取领域规则库,所述领域规则库包含一条或多条第一判定规则以及一条或多条第二判定规则;识别模块,用于根据所述领域规则库,对数据字段中的脏数据进行识别:采用所述第一判定规则对所述数据字段进行过滤,如果所述数据字段匹配任意一条所述第一判定规则,则判定所述数据字段为脏数据;如果没有匹配到所述第一判定规则,则采用所述第二判定规则对所述数据字段进行过滤。

前述的脏数据识别装置,其中,所述识别模块具体用于:采用所述第二判定规则对所述数据字段进行过滤时,如果所述数据字段没有匹配到所述第二判定规则,则判定所述数据字段为正常数据,如果所述数据字段匹配到n(n≥1)条所述第二判定规则,在所述匹配的n条第二判定规则中选取脏数据识别率最高的m(1≤m≤n)条规则,计算所述m条规则的联合概率p,设定一个阈值α,当概率p>α,表示所述数据字段为脏数据,当概率p≤α,则所述数据字段为正常数据。

前述的脏数据识别装置,其中,所述识别模块包括联合概率确定单元,用于由下述公式计算所述联合概率p:

其中,pi表示p(d|wi),d表示脏数据,wi表示某一条第二判定规则,所述p(d|wi)表示在第二判定规则wi匹配的条件下为脏数据的概率,1≤i≤m。

前述的脏数据识别装置,其中,所述联合概率确定单元包括脏数据识别率确定子单元,用于由下述方法获得某数据字段在第二判定规则wi匹配条件下的脏数据识别率pi:

w表示某一第二判定规则,在所述规则w匹配的条件下,所述数据是脏数据的概率为

其中,h表示正常数据,d表示脏数据,p(h)表示某数据字段为正常数据的概率,p(d)表示某数据字段为脏数据的概率,p(w|h)表示正常数据的条件下所述规则w出现的概率,p(w|d)表示脏数据条件下所述规则w出现的概率。

前述的脏数据识别装置,其中,所述阈值α取值为0.7-0.9中的任意一值。

本发明还提出一种数据清洗装置,包括:提取模块,用于根据前述的脏数据识别方法对数据记录中的各个数据字段提取领域规则库;识别模块,用于根据前述的脏数据识别方法运用所述领域规则库对所述数据字段中的脏数据进行识别;清洗模块,用于对识别出的脏数据进行修复或删除。

前述的数据清洗装置,其中,所述领域规则库中的每一条规则包含:用于识别脏数据的识别规则以及对脏数据采取的清洗动作,所述识别规则包括所述第一判定规则和所述第二判定规则,不同的所述识别规则对应于不同的所述清洗动作;所述清洗模块具体用于在清洗识别出的脏数据时,按照所述数据字段的领域规则库中的所述对脏数据采取的清洗动作进行清洗。

前述的数据清洗装置,其中,所述清洗模块具体用于如果某数据记录的某数据字段与所述领域规则库中的n(n≥1)条规则相匹配,若所述n条规则中任一条规则对应的清洗动作为丢弃,则丢弃所述数据记录,若所述n条规则的清洗动作均不为丢弃,则分别应用所述n条规则对应的清洗动作对所述数据字段进行处理。

前述的数据清洗装置,其中,还包括记录模块,用于将各数据字段脏数据的清洗动作的信息存储在数据清洗日志中。

前述的数据清洗装置,其中,所述数据清洗日志中每一条日志记录均包括下述内容中至少一种或多种:所采用的脏数据识别规则,需要清洗的数据记录关键字标识,需要清洗的数据字段名,清洗动作,原始数据字段,清洗后数据字段。

前述的数据清洗装置,其中,还包括迭代改进模块,用于分析所述清洗日志中的内容,对脏数据的识别和清洗进行迭代改进。

前述的数据清洗装置,其中,所述迭代改进模块具体用于:在领域规则库中添加使用时被发现的脏数据所对应的脏数据识别规则,完善领域规则库。

前述的数据清洗装置,其中,所述迭代改进模块具体用于:判断是否存在把不是脏数据的数据字段判定为脏数据的情况,若存在则进行调整,若脏数据清洗后仍属于脏数据或不可用,则调整与所述脏数据相应的脏数据识别规则的清洗动作。

前述的数据清洗装置,其中,所述迭代改进模块具体用于:每次接入和分析一批数据记录之后,迭代修正领域规则库中对于脏数据识别规则中每一条第二判定规则基于历史统计数据得出的p(w|h)和p(w|d)值。

本发明还提出一种计算机可读存储介质,用于存储计算机指令,所述指令在由计算机或处理器执行时实现上述任意一项脏数据识别方法或数据清洗方法的步骤。

本发明还提出一种控制器,其包括存储器与处理器,所述存储器存储有计算机程序,所述程序在被所述处理器执行时能够实现上述任一种所述脏数据识别方法或数据清洗方法的步骤。

借由上述技术方案,本发明至少具有下列优点及有益效果:

(1)本发明提出的脏数据识别方法,先采用第一判定规则(或者称为直接判定规则)对数据字段进行过滤,再用第二判定规则(或者称为非直接判定规则)对数据字段进行过滤,确保脏数据能够被识别,减少漏判,提高脏数据识别的准确性,从而提高数据清洗效率和清洗质量。

(2)本发明提出的脏数据识别方法采用非直接判定规则时,如果某数据字段匹配到n(n>=1)条非直接判定规则,在匹配的非直接判定规则中选取脏数据识别率最高的m(1<=m<=n)条规则,计算这m条规则的联合概率p,当概率p超过阈值α时判定该数据字段为脏数据,进一步提高脏数据识别的准确率,进而提高数据清洗质量。

(3)本发明数据清洗方法,在数据清洗后分析清洗日志中的内容,迭代改进数据识别和清洗,从而提升数据清洗修复动作的可用性和准确性,提高数据识别清洗的效果。

上述说明仅是本发明技术方案的概述,为了能更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。

附图说明

图1是本发明脏数据识别方法的流程图;

图2是本发明数据清洗方法的流程图;

图3是本发明脏数据识别装置的结构框图;

图4是本发明数据清洗装置的结构框图。

具体实施方式

为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的脏数据识别方法及数据清洗方法的具体实施方式、特征及其效果,详细说明如后。

请参阅图1,本发明涉及一种脏数据识别方法,包括下述步骤:

步骤s1,定义数据清洗的领域规则库。

以三方桩数据为例,根据业务需求,每一条三方桩数据记录(由唯一的桩id标识)中的需要清洗的字段包括:地址信息字段,营业(服务)时间字段等。根据三方桩数据特点,对于每一个需要数据清洗的字段如地址信息、营业(服务)时间等,定义其领域规则库,记为:

f=>{r1,r2,r3,…rn},其中f表示某一个需要数据清洗的字段,rj(1≤j≤n)表示对于该字段的某一条数据清洗规则。这样由每个字段的数据清洗规则组成一个完整的针对数据记录进行清洗的领域规则库。

可选地,每条数据清洗规则rj包含两部分:用于识别脏数据的规则以及对脏数据采取的清洗动作,其中,该清洗动作包括但不限于:修复数据和丢弃数据。即对于每个rj,有mj→aj,其中,mj表示脏数据识别规则,aj表示相应的数据清洗动作。不同的识别规则对应于不同的清洗动作。

作为一种可选示例,对于三方桩地址信息字段,根据数据特点,可以定义如下的多种脏数据识别规则:

字段内容为空规则;

字段内容出现非法字符规则;

地址信息中出现重复词规则(例如,在“上海市嘉定嘉定区”这条数据中,“嘉定”为重复词);

地址信息关键词规则(地址信息中出现“省”、“市”、“区”等的地址信息特有的关键词)。

上述的多种数据识别规则对应于不同的清洗动作。例如,对于地址信息字段内容为空的三方桩数据记录,可以采取的清洗动作是:直接丢弃该数据记录;对于字段内容出现非法字符的三方桩数据记录,采取的清洗动作是:把非法字符过滤掉的这种修复数据动作;而对于地址信息中出现重复词的三方桩数据记录,可以采取的清洗动作是:仅保留重复词中的一个并删除多余的重复词的这种修复数据动作。

本发明将脏数据识别规则(即上文提到的mj)分为两类:直接判定规则(或者称为第一判定规则)和非直接判定规则(或者称为第二判定规则)。其中,直接判定规则为:一旦匹配该直接判定规则,则数据必为脏数据,例如,字段内容为空规则为直接判定规则。而非直接判定规则为:若匹配该非直接判定规则,则有一定可能该数据为脏数据,例如,对于三方桩数据地址信息字段内容中有重复词出现,但出现重复词不一定就是脏数据,例如,“上海市嘉定区嘉定新城”之中虽然出现了两个“嘉定”,但该数据为正常数据。

步骤s2,提取三方桩数据清洗的领域规则库,作为一个可选示例,从领域规则库中提取与三方桩数据记录中的数据字段相对应的规则集合作为该数据字段的领域规则库;应用领域规则库中识别该字段是否为脏数据的直接判定规则和非直接判定规则,对三方桩数据字段中的脏数据进行识别:

首先执行步骤s3,判断数据字段是否匹配任意一条直接判定规则,即用直接判定规则对数据字段进行过滤,如果判定结果为是,则执行步骤s4判定该数据字段为脏数据;

如果判定结果为否,则执行步骤s5判断数据字段是否匹配到非直接判定规则,对该数据字段用非直接判定规则进行过滤。

对于直接判定规则,可以直接判定数据字段为脏数据,即脏数据识别率为100%,但对于非直接判定规则,需要定义(计算)出每一条规则的脏数据识别率,而每一条非直接判定规则的脏数据识别率是建立在统计分析结果之上的。

每一条非直接判定规则的脏数据识别率计算过程如下:

首先,获取一个完整的三方桩数据记录集作为基础统计数据集,以数据记录的某个字段为例,对于里面的三方桩数据记录进行区分,得到两组预先识别好的数据,一组为正常数据,另一组为脏数据。利用这两组数据,对过滤器进行“训练”。让每一条非直接判定规则分别到正常数据和脏数据中进行匹配,然后得到每条规则在正常数据和脏数据中的出现频率。比如正常数据的规模是4000条,脏数据的规模是1000条,这两组数据的规模越大,“训练”效果就越好。假定某一条非直接判定规则,在4000条正常数据中,只有10条匹配该规则,那么该规则在正常数据中的出现频率就是0.25%;在1000条脏数据中,有50条匹配该规则,那么该规则在脏数据中的出现频率就是5%。

对于一条新数据,在未经统计分析之前,假定它是脏数据的概率为50%,即先假定该数据为脏数据的先验概率为50%,用h(health)表示正常数据,用d(dirty)表示脏数据,p(h)表示某数据字段为正常数据的概率,p(d)表示某数据字段为脏数据的概率,p(h)和p(d)的先验概率都是50%,即p(h)=p(d)=50%。用w表示某一条非直接判定规则,希望得到的是在该规则w匹配的情况下,该数据是脏数据的概率,不妨记作p(d|w)。按照如下公式可以得到该p(d|w):

现定义样本空间s,是两个事件h(正常数据)与d(脏数据)的和。因为该数据字段要么是正常数据,要么是脏数据,所以共同构筑了样本空间s,根据全概率公式:

p(w)=p(w|h)p(h)+p(w|d)p(d)

则改写分母可得出:

其中,p(w|h)表示正常数据的条件下该规则w出现的概率,p(w|d)表示在脏数据的条件下该规则w出现的概率,p(w|h)与p(w|d)两个值可以从上文所述的统计数据中得到,另外,p(h)和p(d)的先验概率均为50%,因此,可以计算得到p(d|w)的值,即在某非直接判定规则事件发生的条件下该数据为脏数据的概率。

假设通过基础统计数据的收集分析,得出p(w|h)=0.25%,p(w|d)=5%,则:

即根据推断,在某非直接判定规则匹配的情况下,该数据为脏数据的的概率为95%(后验概率)。脏数据识别由50%的先验概率提高到了95%的后验概率。

根据以上方法得到对每一条非直接判定规则的脏数据识别率的集合:{m1→p1,m2→p2,m3→p3,…mn→pn},其中mi表示某一条非直接判定规则,pi表示其相应的脏数据识别率。

用非直接判定规则进行过滤时,如果判定结果为否,即数据字段没有匹配到非直接判定规则,则执行s6,判定该字段内容为正常数据,如果判定结果为是,则执行步骤s7,在匹配的多条规则中选取脏数据识别率最高的m条规则,计算联合概率p,然后执行步骤s8,判断计算出的联合概率p是否达到脏数据识别率的阈值α,如果判断结果为否,则执行步骤s6判定该数据字段为正常数据,如果判断结果为是,则执行步骤s4判断该数据字段为脏数据。

在一种实施例中,用非直接判定规则进行过滤时,如果数据字段匹配到n(n≥1)条非直接判定规则,在匹配的非直接判定规则中选取脏数据识别率最高的m(1≤m≤n)条规则,m条规则的联合概率p按照如下公式计算,

其中,pi表示p(d|wi),表示在非直接判定规则wi匹配的条件下为脏数据的概率,1≤i≤m。

设定一个阈值α,概率p>α时,表示该数据字段为脏数据;当概率p≤α,则该数据字段为正常数据。可选地,m的取值默认设定为m=n,阈值α设定为0.9,即当m条规则联合认定有90%以上可能属于脏数据时,即把该数据字段认定为脏数据。也可以是,将阈值α设定为0.7到0.9之中的任意一值。值得注意的是,阈值α的取值并不限于上述示例,在实际应用中,阈值α根据实际情况确定。

在一种实施例中,定义三方桩数据清洗的领域规则库时,对于每一条三方桩数据记录中每一个需要数据清洗的字段,定义该字段的数据清洗的领域规则并记为:f=>{r1,r2,r3,…rn},其中f表示某一个需要数据清洗的字段,rj(1≤j≤n)表示对于该字段的某一条数据清洗规则,由每个字段的数据清洗规则库组成完整的针对三方桩数据记录进行清洗的领域规则库,基于不同的识别规则,对应于不同的清洗动作。

需要注意的是,本发明脏数据识别方法,还适用于除三方桩数据外的其他数据。

请参阅图2,本发明还涉及一种数据清洗方法,以三方桩数据清洗为例,具体包括下述步骤:

首先执行步骤s11,读取三方桩数据记录原始内容,然后分别执行步骤s12、s13、s14,对数据记录中的各个需要清洗的数据字段逐一进行脏数据识别和数据清洗,脏数据识别采用上述的脏数据识别方法进行。

在一种实施例中,领域规则库中的每一条规则包含:用于识别脏数据的识别规则以及对脏数据采取的清洗动作,该识别规则包括第一判定规则和第二判定规则,不同的识别规则对应于不同的清洗动作;在清洗识别出的脏数据时,按照数据字段的领域规则中的对脏数据采取的清洗动作进行清洗。比如对于字段内容为空的规则,采取的清洗动作是丢弃数据记录;而对于字段内容出现非法字符规则,采取的清洗动作是修复数据字段,把非法字符过滤掉。

在一种实施例中,如果识别出脏数据的某数据记录的某数据字段与领域规则库中的n(n≥1)条脏数据识别规则相匹配,若上述n条脏数据识别规则中任一条规则对应的清洗动作为丢弃,则丢弃该数据记录,若上述n条脏数据识别规则的清洗动作均不为丢弃,则分别应用上述n条脏数据识别规则对应的清洗动作对该数据字段进行处理。

在一种实施例中,对三方桩数据中的脏数据进行清洗后,将各字段脏数据的清洗动作的信息存储在数据清洗日志中。具体的,数据清洗日志中每一条日志记录的格式定义为:

{

清洗动作所采用的脏数据识别规则=>

需要清洗的数据记录关键字标识(桩id唯一标识),

需要清洗的数据字段名,

清洗动作(丢弃或者修复),

原始数据字段,

清洗后数据字段(若清洗动作为修复)

}。

在一种实施例中,进行数据清洗后,分析清洗日志中的内容,对脏数据的识别和清洗进行迭代改进:

完善满足三方桩数据特点的领域规则库。由于定义的领域规则库里缺乏相应的识别规则而致使脏数据没有被识别出来,即原始数据没有匹配到事先定义的规则库里的任何规则,导致脏数据未被识别、清洗,在使用该数据时才发现为脏数据,则在领域规则库中添加相应的脏数据识别规则完善领域规则库。

对于被识别出的脏数据,在清洗日志中记录下了相应信息,结合人工辅助分析,判断是否存在脏数据误判,即是否存在把不是脏数据的数据判定为脏数据的情况,若有则进行调整;同时,对于确认为脏数据的数据字段,经清洗修复后,分析清洗修复后的数据字段是否为真正可用的正常数据,若清洗后的数据仍然属于脏数据或不可用,则调整改进相应识别规则的清洗动作,从而提升数据清洗修复动作的可用性和准确性。

每次接入和分析一批三方桩数据记录之后(对原始数据经过识别和清洗,加上清洗日志记录的分析),扩充基础统计数据集,同时不断迭代修正领域规则库里对于脏数据识别规则中每一条非直接判定规则基于历史统计数据得出的p(w|h)和p(w|d)值,即在正常数据的条件下该规则出现的概率和在脏数据的条件下该规则出现的概率。数据的规模越大,p(w|h)和p(w|d)的值就越准确,基于规则的推断就越精确,数据识别清洗的效果就越好。

需要注意的是,本发明数据清洗方法,还适用于除三方桩数据外的其他数据。

本发明还涉及一种脏数据识别装置100,请参阅图3,该脏数据识别装置100主要包括提取模块110和识别模块120。其中,该提取模块110用于提取领域规则库,该领域规则库包含一条或多条直接判定规则(或者称为第一判定规则)以及一条或多条非直接判定规则(或者称为第二判定规则),该识别模块120用于运用该领域规则库对数据字段中的脏数据进行识别。具体地,该识别模块120用于采用领域规则库中的直接判定规则对数据字段进行过滤,如果数据字段匹配任意一条直接判定规则,则判定该数据字段为脏数据;若没有匹配到直接判定规则,则对该数据字段采用领域规则库中的非直接判定规则进行过滤。

在一种可选实施例中,该识别模块120具体用于:采用非直接判定规则进行过滤时,如果数据字段没有匹配到非直接判定规则,则判定该数据字段为正常数据,如果数据字段匹配到n(n≥1)条非直接判定规则,在匹配的n条非直接判定规则中选取脏数据识别率最高的m(1≤m≤n)条规则,计算这m条规则的联合概率p,设定一个阈值α,当概率p>α,表示该数据字段为脏数据,当概率p≤α,则该数据字段为正常数据。可选地,m的取值默认设定为m=n,阈值α设定为0.9,即当m条规则联合认定有90%以上可能属于脏数据时,即把该数据字段认定为脏数据。也可以是,将阈值α设定为0.7到0.9之中的任意一值。值得注意的是,阈值α的取值并不限于上述示例,在实际应用中,阈值α根据实际情况确定。

在一种可选实施例中,该识别模块120包括联合概率确定单元(图中未示出),用于由下述公式计算该联合概率p:

其中,pi表示p(d|wi),d表示脏数据,wi表示某一条非直接判定规则,该p(d|wi)表示在非直接判定规则wi匹配的条件下为脏数据的概率,1≤i≤m。

在一种可选实施例中,该联合概率确定单元包括脏数据识别率确定子单元(图中未示出),用于由下述方法获得某数据字段在非直接判定规则wi匹配条件下的脏数据识别率pi:

w表示某一非直接判定规则,在该规则w匹配的条件下,该数据是脏数据的概率为

其中,h表示正常数据,d表示脏数据,p(h)表示某数据字段为正常数据的概率,p(d)表示某数据字段为脏数据的概率。可选地,p(h)、p(d)的先验概率都设为50%,即p(h)=p(d)=50%,p(w|h)表示正常数据的条件下该规则w出现的概率,p(w|d)表示脏数据条件下该规则w出现的概率。

在一种可选实施例中,该提取模块110包括领域规则库定义单元(图中未示出),用于在定义数据清洗的领域规则库时,对于每一条数据记录中每一个需要数据清洗的字段,定义该字段的数据清洗的领域规则为:

f=>{r1,r2,r3,…rn},其中f表示某一个需要数据清洗的字段,rj(1≤j≤n)表示对于该字段的某一条数据清洗规则,所有字段的数据清洗规则库组成完整的针对该数据记录进行清洗的领域规则库。

可选地,每条数据清洗规则rj包含两部分:用于识别脏数据的识别规则以及对脏数据采取的清洗动作,其中,该识别规则包括第一判定规则和第二判定规则,该清洗动作包括但不限于修复数据和丢弃数据。即对于每个rj,有mj→aj,其中,mj表示脏数据识别规则,aj表示相应的数据清洗动作。不同的识别规则对应于不同的清洗动作。

本发明还涉及一种数据清洗装置200,请参阅图4,该数据清洗装置200主要包括提取模块210、识别模块220、清洗模块230。其中,该提取模块210用于对数据记录中的各个数据字段提取领域规则库,该识别模块220用于运用领域规则库对数据字段中的脏数据进行识别,该清洗模块230用于对识别出的脏数据进行修复或删除。值得注意的是,该提取模块210可采用前述任一个脏数据识别方法的实施例进行领域规则库的提取,该识别模块220可采用前述任一个脏数据识别方法的实施例进行脏数据的识别。

在一种可选实施例中,该领域规则库中的每一条规则包含:用于识别脏数据的识别规则以及对脏数据采取的清洗动作,该识别规则包括第一判定规则和第二判定规则,不同的识别规则对应于不同的清洗动作,该清洗模块230具体用于在清洗识别出的脏数据时,按照数据字段的领域规则库中的对脏数据采取的清洗动作进行清洗。

进一步地,作为一种可选示例,该清洗模块230具体用于:如果识别出脏数据的某数据记录的某数据字段与领域规则库中的n(n≥1)条脏数据识别规则相匹配,若该n条脏数据识别规则中任一条规则对应的清洗动作为丢弃,则丢弃该数据记录,若该n条脏数据识别规则的清洗动作均不为丢弃,则分别应用该n条脏数据识别规则对应的清洗动作对该数据字段进行处理。

在一种可选实施例中,该数据清洗装置200还包括记录模块(图中未示出),用于将各数据字段脏数据的清洗动作的信息存储在数据清洗日志中。可选地,数据清洗日志中每一条日志记录均包括下述内容中至少一种或多种:所采用的脏数据识别规则,需要清洗的数据记录关键字标识,需要清洗的数据字段名,清洗动作,原始数据字段,清洗后数据字段。

在一种可选实施例中,该数据清洗装置200还包括迭代改进模块(图中未示出),用于分析清洗日志的内容,对脏数据的识别和清洗进行迭代改进。

进一步地,作为一种可选示例,该迭代改进模块具体用于:在领域规则库中添加使用时被发现的脏数据所对应的脏数据识别规则,完善领域规则库。

进一步地,作为一种可选示例,该迭代改进模块具体用于:判断是否存在把不是脏数据的数据字段判定为脏数据的情况,若存在则进行调整,若脏数据清洗后仍属于脏数据或不可用,则调整与该脏数据相应的脏数据识别规则的清洗动作。

进一步地,作为一种可选示例,该迭代改进模块具体用于:每次接入和分析一批数据记录之后,迭代修正领域规则库中对于脏数据识别规则中每一条非直接判定规则基于历史统计数据得出的p(w|h)和p(w|d)值。

本发明涉及一种计算机可读存储介质,用于存储计算机指令,该指令执行时能实现上述脏数据识别方法或数据清洗方法的步骤。

本发明涉及一种控制器,包括存储器与处理器,存储器存储有计算机程序,所述程序在被所述处理器执行时能够实现上述脏数据识别方法或数据清洗方法的步骤。

以上所述,仅是本发明的较佳实施例而已,并非对本发明做任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1