提高目标数据准确性的数据清洗方法及清洗系统的制作方法

文档序号:6466575阅读:238来源:国知局
专利名称:提高目标数据准确性的数据清洗方法及清洗系统的制作方法
技术领域
本发明涉及数据库领域,特别是涉及对数据仓库中目标数据进行清洗的 数据清洗方法及数据清洗系统。
背景技术
数据仓库是在企业管理和决策中面向主题、集成的、与时间相关的、不
可修改的数据集合。也就是说,对所有的应用系统,例如客户关系管理(CRM, Customer Relationship Management)系统、财务系统等,按主题进行集成,并 记录整个历史变化情况。随着企业信息化程度的不断提高,企业内部积累了 大量的业务数据,数据仓库用于对这些相互独立、分散的数据进行统一处理, 以满足企业高层决策与分析需要。
参照图1,其为数据仓库系统的体系结构框图。整个数据仓库系统是一个 包含四个层次的体系结构,包括数据源101、数据仓库102、联机分析处理 (OLAP, on-line analytical processing)系统103及前端工具104,其中
数据源101,是数据仓库系统的基础,通常包括企业内部信息和外部信息。 内部信息包括各种业务处理数据和各类文档数据,外部信息包括各类法律法 规、市场信息和竟争对手的信息等。例如,CRM系统,财务系统。
数据仓库102,是以数据表的结构存储所述数据源101的数据,每个数据 表对应 一个数据对象, 一个数据源可以对应多个数据对像。
OLAP系统103,用于对分析需要的数据进行有效集成,按多维模型予以 组织,以便进行多角度、多层次的分析,并发现趋势。
前端工具104,主要包括各种报表工具,查询工具、数据分析工具、数据 挖掘工具以及各种基于数据仓库的应用开发工具,实现对数据仓库102的访 问。其中,数据分析工具主要针对OLAP服务器,才艮表工具、数据挖掘工具 主要针对数据仓库。
数据仓库的ETL模块是对数据抽取(extract)、转换(Transform )、清洗 (Cleansing)、装载(Load)的过程,是对OLAP系统开发的过程。其中,所述数据抽取是指从源系统中提取数据;所述数据转换是指开发者将提取的数据 进行转换,lt据清洗是指将提取的数据按照业务需要转换为目标数据结构, 并实现汇总;所述数据装载是指加载经转换和汇总的数据到目标数据仓库中。 每一ETL模块用于完成对数据的一项处理,如上述提及的数据抽取、转换、 清洗、装载,并对处理结果以数据表的形式保存在数据仓库中,以提供企业 管理和决策中使用。
在现有的ETL过程中,数据源101中的数据质量是一个非常令人头疼的 问题,没有良好数据质量的数据源,使得ELT模块处理后的数据表,并不一 定能体现用户的真实信息,很容易误导公司的决策。特别是在互联网上,通 常存在很多用户不能信任服务提供商或者保护自身的隐私的角度不填写真实 信息的情况发生,基于这些不准确或没有填写的资料进行数据清洗时,通常 是通过一个原始数据的简单加工输出至目标数据,这种清选得到的数据准确 性差,容易使得数据准备性偏差,这给后续的分析和模型实践带来一定的误 差,从而一定程度上误导决策者的决策支持作用。

发明内容
本发明的第一目的在于提供一种提高目标数据准确性的数据清洗方法, 以解决现有技术中从数据源中得到的目标数据质量不好,从而给后续的分析 和模型实践带来一定误差的技术问题。
本发明的第二目的在于提供一种提高目标数据准确性的数据清洗系统。 为了达到上述目的,本发明进一步提供了提高目标数据准确性的数据清 洗方法,用以提高从数据源中清洗出来的目标数据的准确性,包括以下步骤
(1) 从数据源中找到与所述目标数据相关的若干原始字段项Al,A2…An;
(2) 建立逻辑处理模型
(21) 根据每一原始字段项中影响目标数据的因素大小确定每一原始字 段项的权重值ql, q2…qn;
(22) 确定该目标数据值的逻辑处理模型
目标数据量=f(Ml(ql,Gl(Al)), M2(q2, G2(A2)),…Mn(qn,Gn(An))) 其中,Al,A2…An分别为原始字段项,G1(A1)、 G2(A2)…Gn(An)分别为反映每一原始字段项中lt据属性的属性函数,ql, q2…qn为每一原始字段项 的权重值;Ml(ql,Gl(Al), M2(q2, G2(A2)).. Mn(qn,Gn(An))为影响目标数据 值的每一原始字段分值的影响函数,f()为根据每一影响函数确定目标数据值 的确定函数;
(3)在每一次数据清洗时,找到所有的原始字段项,根据逻辑处理模型确 定目标数据的数值。
较优地,步骤(2)中所述影响函数为每一原始字段中的变量出现的概率, 所述所有权重值为相同,所述确定函数是指概率最高的变量为目标数据值; 步骤(3)进一步包括,先找到所有的原始字段项,然后统计每一原始字段项中 每一变量出现的概率,随后将不同字段项中相同值的变量的概率值进行相加, 其概率值最大的变量为本次数据清洗的目标数据值。
较优地,步骤(2)中所述影响函数为每一原始字段中的变量出现的概率, 所述确定函数是指概率最高的变量为目标数据值;步骤(3)进一步包括,先找 到所有的原始字段项,然后统计每一原始字段项中每一变量出现的概率,每 一原始字段项的影响函数值为该原始字段中概率最高的变量值,随后统计所 有影响函数值,其相同值最多的影响函数值为本次数据清洗时该目标数据的 数据值。
较优地,步骤(2)中确定每一原始字段项的权重值中某一字段项的权重为 最大比重值;步骤(3)进一步包括找到该原始字段项,按照预先设定的该原 始字段项的影响函数来确定本次lt据清洗时该目标数据的数据值。
本发明还包括定期或事件触发式地修改逻辑处理模型,至少删除、增 加或修改原始字段项、修改属性函数、各权重值、影响函数、确定函数的其 中之一操作;当进行数据清洗时,按照修改后的逻辑处理模型进行该目标数 据值的清洗。
本发明进一步包括定期或事件触发式地修改逻辑处理模型,在该逻辑 处理模型中增加新目标数据清洗的确定函数;当进行数据清洗时,清洗新增 目标数据的数据寸直。
一种数据清洗系统,包括数据库和服务器,其中,数据库包括数据源和数据仓库,所述数据源用于实时存储用户进行商务处理的数据,所述数据仓
库还用于存储每一 目标数据值的逻辑处理模型
目标数据量=f(Ml(ql,Gl(Al)), M2(q2, G2(A2)),…Mn(qn,Gn(An)))
其中,Al,A2.,.An分别为原始字段项,G1(A1)、 G2(A2)…Gn(An)分别为 反映每一原始字段项中数据属性的属性函数,ql, q2…qn为每一原始字段项 的权重值;Ml(ql,Gl(Al), M2(q2, G2(A2)).. Mn(qn,Gn(An))为影响目标数据 值的每一原始字段分值的影响函数,f()为根据每一影响函数确定目标数据值 的确定函数;
服务器至少包括一智能清洗单元,用于在每一数据清洗过程中找到所有 的原始字段项,根据逻辑处理模型确定目标数据的数值。
而本发现,可以在原有的数据基础上,通过更成熟和智能化的算法实现 数据的加工处理,充分利用各个源数据共同服务于目标数据,避免了以前的 那种使用单一某项数据或数据缺失带来的数据偏差,^使得数据清洗不再无序 和单一,使得目标数据表中的数据更加完整,提高了数据质量。


图1为数据仓库系统的体系结构框图2为本发明提供的一种数据清洗系统的结构示意图3为智能清洗单元的一处理逻辑示意图4为本发明的一种提高目标数据准确性的数据清洗方法的流程图。
具体实施例方式
以下结合附图,具体说明本发明。
请参阅图2,本发明提供了一种数据清洗系统的结构示意图。它包括数据 库21和服务器22,其中,数据库21包括数据源211和数据仓库212,数据 源211用于实时存储用户进行商务处理的数据。数据仓库212还用于存储每 一目标数据值的逻辑处理模型
目标数据量=f(Ml(ql,Gl(Al)), M2(q2, G2(A2)),…Mn(qn,Gn(An)))
其中,Al,A2…An分别为原始字段项,G1(A1)、 G2(A2)…Gn(An)分别为 反映每一原始字段项中数据属性的属性函数,ql, q2…qn为每一原始字段项
8的权重值;Ml(ql,Gl(Al), M2(q2, G2(A2)).. Mn(qn,Gn(An))为影响目标数据 值的每一原始字段分值的影响函数,f()为根据每一影响函数确定目标数据值 的确定函数;
服务器22至少包括一智能清洗单元221,用于在每一数据清洗过程中找 到所有的原始字^R项,根据逻辑处理模型确定目标数据的数值。
事实上,在服务器22上通过软件设置一智能清洗单元221即可完成本发 明的清洗功能。
请参阅图3,其为智能清洗单元221的一处理逻辑示意图。它包括原始数 据池223、逻辑处理模型224和目标数据项单元225。
原始数据池223中存储与该目标数据相关的原始字段项。
逻辑处理模型224保存每一目标数据值的所包含的原始字段项、每一原 始字段项的属性函数、影响函数及确定函数
目标数据量=f(Ml(ql,Gl(Al)), M2(q2, G2(A2)),…Mn(qn,Gn(An))) 其中,Al,A2…An分别为原始字段项,G1(A1)、 G2(A2)…Gn(An)分别为 反映每一原始字段项中数据属性的属性函数,ql, q2…qn为每一原始字段项 的权重值;Ml(ql,Gl(Al), M2(q2, G2(A2)).. Mn(qn,Gn(An))为影响目标数据 值的每一原始字段分值的影响函数,f()为根据每一影响函数确定目标数据值 的确定函数。
目标数据项单元225用于保存每一次清洗的目标数据的数据值。 请参阅图4,其为本发明的一种提高目标数据准确性的数据清洗方法的流 程图。它用以提高从数据源中清洗出来的目标数据的准确性,包括以下步骤
S110:从lt据源中找到与目标数据相关的若干原始字段项Al,A2…An;
S120:建立逻辑处理模型
S121:根据每一原始字段项中影响目标数据的因素大小确定每一原始 字段项的权重值ql, q2…qn;
S122:确定该目标数据值的逻辑处理模型
目标数据量=f(Ml(ql,Gl(Al)), M2(q2, G2(A2)),…Mn(qn,Gn(An)))其中,Al,A2…An分别为原始字段项,G1(A1)、 G2(A2)…Gn(An)分别为 反映每一原始字段项中数据属性的属性函数,ql, q2…qn为每一原始字段项 的权重值;Ml(ql,Gl(Al), M2(q2, G2(A2)).. Mn(qn,Gn(An))为影响目标数据 值的每一原始字段分值的影响函数,f()为根据每一影响函数确定目标数据值 的确定函数;
S130:在每一次数据清洗时,找到所有的原始字段项,根据逻辑处理模 型确定目标数据的数值。
以下就举一应用例来说明本发明。
考虑到很多用户在填写其所在地址时,存在"不填写"或"填写信息不 准确,,这些情况,为此可以以目标数据"用户地址,,来建成逻辑处理;溪型。
预先确定原始字段项,如包括用户填写的字段项"收货地址"、"用户所 在的IP地址"、用户用于支付银行卡的"银行卡开户行所在地址"。
可以由很多方式确定"用户地址,,的逻辑处理模型。
第一种方式为确定每一原始字段项的权重值都为1;
目标数据量=f(Ml(ql,Gl(Al)), M2(q2, G2(A2)),…Mn(qn,Gn(An)))
G1(A1)为"收货地址"出现的字段变量,G2(A2)为"用户所在的IP地址" 所在的地址的字段变量,Gn(An)为"银行卡开户行所在地址"的字段变量, Ml(ql,Gl(Al))为"收货地址"出现的字段变量中每一变量的概率值;M2(q2, G2(A2))为"用户所在的IP地址"所在的地址的字段变量中每一变量的概率值; Mn(qn,Gn(An))为"银行卡开户行所在地址"的字段变量中每一变量的概率值; 所述f(Ml(ql,Gl(Al)), M2(q2, G2(A2)),…Mn(qn,Gn(An)))为概率最高的变量 为目标数据值,即影响函数为每一原始字段中的变量出现的概率,所述所有 权重值为相同,所述确定函数是指概率最高的变量为目标数据值。
在每一次数据清洗时,比如一个月后进行数据清洗,统计每一原始字段项 中每一变量出现的概率,随后将不同字段项中相同值的变量的概率值进行相 加,其概率值最大的变量为本次数据清洗的目标数据值。
第二种方式为影响函^:为每一原始字段中的变量出现的概率,确定函数是
10指概率最高的变量为目标数据值。
在每一次数据清洗时,先找到所有的原始字段项,然后统计每一原始字 段项中每一 变量出现的概率,每一原始字段项的影响函数值为该原始字段中 概率最高的变量值,随后统计所有影响函数值,其相同值最多的影响函数值 为本次数据清洗时该目标数据的数据值。
第三种方式为确定每一原始字段项的权重值中某 一字段项的权重为最大
比重值。比如,确定"银行卡开户行所在地址,,的字段项的权重为80%。
在每一次数据清洗,找到该原始字段项,按照预先设定的该原始字段项 的影响函数来确定本次数据清洗时该目标数据的数据值。如果"银行卡开户 行所在地址,,在哪,哪就是目标数据的数据值。
上述所举的仅是本发明的应用例,本发明并非局限于此。
本发明通过目前系统中已有的数据信息进行加工和处理,将原先用户并 未直接填写或者未有任何直接数据的前提下(其它场景也类似),通过若干个原 始数据关系信息的运算和相关权重,得到"最匹配"的信息,从而将某些缺 失数据或者低质量数据得到质量提升,以满足应用和数据分析的需要。请注 意,这里是有若干个原始数据会被同时处理,该技术通过几个都可以影响目 标变量的原始变量进行逻辑运算,根据一系列条件和因素,得到最符合目标 变量值的处理过程,然后再将该过程后的变量值填写到目标变量或数据中。
本发明还可以定期或事件触发式地修改逻辑处理模型,至少删除、增加 或修改原始字)炎项、修改属性函数、各权重值、影响函数、确定函数的其中 之一操作;当进行数据清洗时,按照修改后的逻辑处理模型进行该目标数据 值的清洗。
本发明也可以定期或事件触发式地修改逻辑处理;f莫型,在该逻辑处理模 型中增加新目标数据清洗的确定函数;当进行数据清洗时,清洗新增目标数 据的数据值。
以上公开的仅为本发明的几个具体实施例,但本发明并非局限于此,任 何本领域的技术人员能思之的变化,都应落在本发明的保护范围内。
权利要求
1、一种提高目标数据准确性的数据清洗方法,用以提高从数据源中清洗出来的目标数据的准确性,其特征在于,包括以下步骤(1)从数据源中找到与所述目标数据相关的若干原始字段项A1,A2...An;(2)建立逻辑处理模型(21)根据每一原始字段项中影响目标数据的因素大小确定每一原始字段项的权重值q1,q2...qn;(22)确定该目标数据值的逻辑处理模型目标数据量=f(M1(q1,G1(A1)),M2(q2,G2(A2)),...Mn(qn,Gn(An)))其中,A1,A2...An分别为原始字段项,G1(A1)、G2(A2)...Gn(An)分别为反映每一原始字段项中数据属性的属性函数,q1,q2...qn为每一原始字段项的权重值;M1(q1,G1(A1),M2(q2,G2(A2))..Mn(qn,Gn(An))为影响目标数据值的每一原始字段分值的影响函数,f()为根据每一影响函数确定目标数据值的确定函数;(3)在每一次数据清洗时,找到所有的原始字段项,根据逻辑处理模型确定目标数据的数值。
2、 如权利要求1所述的提高目标数据准确性的数据清洗方法,其特征在于,步骤(2)中所述影响函数为每一原始字段中的变量出现的概率,所述所有 权重值为相同,所述确定函数是指概率最高的变量为目标数据值;步骤(3)进一步包括,先找到所有的原始字段项,然后统计每一原始字段 项中每一变量出现的概率,随后将不同字段项中相同值的变量的概率值进行 相加,其概率值最大的变量为本次数据清洗的目标数据值。
3、 如权利要求1所述的提高目标数据准确性的数据清洗方法,其特征在于,步骤(2)中所述影响函数为每一原始字段中的变量出现的概率,所述确定函数是指概率最高的变量为目标数据值;步骤(3)进一步包括,先找到所有的原始字段项,然后统计每一原始字殺: 项中每一变量出现的概率,每一原始字段项的影响函数值为该原始字段中概 率最高的变量值,随后统计所有影响函数值,其相同值最多的影响函数值为 本次数据清洗时该目标数据的数据值。
4、 如权利要求1所述的提高目标数据准确性的数据清洗方法,其特征在于,步骤(2)中确定每一原始字段项的权重值中某一字段项的权重为最大比重值;步骤(3)进一步包括找到该原始字段项,按照预先设定的该原始字段项 的影响函数来确定本次数据清洗时该目标数据的数据值。
5、 如权利要求1所述的提高目标数据准确性的数据清洗方法,其特征在 于,还包括定期或事件触发式地修改逻辑处理模型,至少删除、增加或修改原始字 段项、修改属性函数、各权重值、影响函数、确定函数的其中之一操作;当进行数据清洗时,按照修改后的逻辑处理模型进行该目标数据值的清洗。
6、 如权利要求1所述的提高目标数据准确性的数据清洗方法,其特征在 于,还包括定期或事件触发式地修改逻辑处理模型,在该逻辑处理模型中增加新目 标数据清洗的确定函数;当进行数梧清洗时,清洗新增目标数据的数据值。
7、 一种数据清洗系统,其特征在于,包括数据库和服务器,其中,数据 库包括数据源和数据仓库,所述数据源用于实时存储用户进行商务处理的数 据,所述数据仓库还用于存储每一 目标数据值的逻辑处理模型目标数据量=f(Ml(ql,Gl(Al)), M2(q2, G2(A2)),…Mn(qn,Gn(An)))其中,Al,A2…An分别为原始字段项,G1(A1)、 G2(A2)…Gn(An)分别为反映每一原始字段项中数据属性的属性函数,ql, q2…qn为每一原始字段项 的权重值;Ml(ql,Gl(Al), M2(q2, G2(A2)).. Mn(qn,Gn(An))为影响目标数据 值的每一原始字段分值的影响函数,f()为根据每一影响函数确定目标数据值 的确定函数;所述服务器至少包括一智能清洗单元,用于在每一数据清洗过程中找到 所有的原始字段项,根据逻辑处理模型确定目标数据的数值。
全文摘要
一种提高目标数据准确性的数据清洗方法,包括(1)从数据源中找到与所述目标数据相关的若干原始字段项A1,A2...An;(2)建立逻辑处理模型目标数据量=f(M1(q1,G1(A1)),M2(q2,G2(A2)),...Mn(qn,Gn(An)))其中,A1,A2...An分别为原始字段项,G1(A1)、G2(A2)...Gn(An)分别为反映每一原始字段项中数据属性的属性函数,q1,q2...qn为每一原始字段项的权重值;M1(q1,G1(A1),M2(q2,G2(A2))..Mn(qn,Gn(An))为影响目标数据值的每一原始字段分值的影响函数,f()为根据每一影响函数确定目标数据值的确定函数;(3)在每一次数据清洗时,找到所有的原始字段项,根据逻辑处理模型确定目标数据的数值。本发明能够提高从数据源中清洗出来的目标数据的准确性。
文档编号G06F17/30GK101676900SQ20081014903
公开日2010年3月24日 申请日期2008年9月18日 优先权日2008年9月18日
发明者向继新, 徐建军 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1