CN109947752A - 一种基于DeepDive的自动数据清洗方法 - Google Patents
一种基于DeepDive的自动数据清洗方法 Download PDFInfo
- Publication number
- CN109947752A CN109947752A CN201910077102.6A CN201910077102A CN109947752A CN 109947752 A CN109947752 A CN 109947752A CN 201910077102 A CN201910077102 A CN 201910077102A CN 109947752 A CN109947752 A CN 109947752A
- Authority
- CN
- China
- Prior art keywords
- data
- attribute
- rule
- network
- deepdive
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于DeepDive的数据自动清洗方法,包括:(1)根据原始数据规模与设定阈值进行比较,规模超过阈值则随机采样得到采样数据;(2)从原始数据或者采样数据中学习得到属性之间贝叶斯网络;(3)将学习得到的贝叶斯网络转换成一阶谓词逻辑规则;(4)使用互信息理论计算一阶谓词逻辑规则的权重,将带权重的一阶谓词逻辑规则转换成马尔可夫逻辑网络;(5)基于马尔科夫逻辑网络生成DeepDive规则;(6)基于DeepDive进行错误/缺失数据的概率推理,得到元组的属性取不同值的概率;(7)将推理结果用于原始脏数据清洗。本发明能够用于无需现成的数据质量模式/规则和人工介入情况下的数据自动清洗,能够有效提高数据清洗的效率和质量。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种基于DeepDive的数据自动清洗方法。
背景技术
现实世界中脏数据十分普遍,针对脏数据的清洗是一个长期存在的问题。大数据时代,数据清洗的重要性更加凸显。从脏数据中检测错误并修复是数据分析领域所面临的主要挑战之一,低劣的数据质量可能导致分析结果的准确性大打折扣。一般来说,数据清洗包含两个阶段:第一个阶段是错误检测,检测出其中包含的错误或者异常数据;第二个阶段是错误修复,修复数据中包含的错误或者异常。目前已有的数据清洗方法大多利用已有的约束规则或模式进行错误检测和修复,主要存在如下的局限性:(1)现有的方法通常需要人工的参与或者额外的信息进行错误的检测和修复。这些方法在数据规模较小的时候还能够应付,然而如今数据的规模以指数级增长,因此这些方法在面对海量数据时并不适合。而且,这些方法的人工成本花费较大,在数据规模较大时人工成本更高。(2)一些其他的方法在进行数据修复的时候依赖于使用离线的模式/规则,而对很多真实数据和应用场景来说,获取离线的模式/规则并不一定可行。(3)一些方法依赖于从干净的数据中进行模式/规则的学习或者从包含脏数据的数据中直接进行模式/规则的学习。对于一些特定场景来说,数据清洗语料库的建立通常需要用户的参与或者仅适合特定的应用场景。尽管这些方法可以学习得到模式/规则,但是通常数据清洗的效果不尽如人意。
发明内容
要解决的技术问题
为解决在缺乏现有的模式/规则以及人工参与情况下实现自动数据清洗,本发明提出一种基于DeepDive的自动数据清洗方法,从而解决现有技术中存在的前述问题。
技术方案
一种基于DeepDive的自动数据清洗方法,其特征在于步骤如下:
步骤1:数据预处理,对包含脏数据的原始数据进行数据规模判断,如果数据规模超过阈值,对原始数据进行采样,得到采样后数据,否则维持原始数据;
步骤2:数据模型学习,从步骤1得到的数据中学习属性之间的依赖关系,学习得到隐含的非绝对的或者相对较弱的依赖关系,并用贝叶斯网络的形式表示;
步骤3:数据模型转换,定义一阶谓词逻辑谓词,包括“等价”、“匹配”谓词,将步骤1得到的属性之间的贝叶斯网络自动转换成一阶谓词逻辑规则,得到基于数据属性之间贝叶斯网络的一阶谓词逻辑规则集合;
步骤4:使用互信息理论计算步骤2得到的基于数据属性之间贝叶斯网络的一阶谓词逻辑规则集合中每一条一阶谓词逻辑规则的权重,将带权重的一阶谓词逻辑规则转换成马尔可夫逻辑网络;
步骤5:基于马尔科夫逻辑网络生成DeepDive规则,规则中布尔查询由马尔科夫逻辑网络中一阶谓词逻辑得到,规则权重为马尔科夫逻辑网络的权重;
步骤6:基于DeepDive进行错误/缺失数据的概率推理,构建因子图作为推理的模型,使用吉布斯采样方法估计元组的属性取不同值的概率;
步骤7:根据概率推理的结果,检测数据中包含的脏数据并对脏数据选择取值概率最大的值与设定的阈值进行比较,如果取值概率最大的值大于阈值,则进行自动修复,否则不做处理。
有益效果
本发明提出的一种基于DeepDive的自动数据清洗方法,根据数据规模大小不同从原始数据或者原始数据的采样数据中学习得到一个数据属性之间的贝叶斯网络,该网络反映了数据中不同属性之间的依赖关系,通过定义一阶谓词逻辑谓词,将学习得到的属性之间的贝叶斯网络转化为一阶谓词逻辑规则,基于互信息根据原始数据计算每一条一阶谓词逻辑规则的权重,得到和每一条一阶谓词逻辑规则对应的马尔可夫逻辑网络,基于马尔科夫逻辑网络生成DeepDive规则,基于DeepDive在原始数据或者原始数据的采样数据上进行错误/缺失数据的概率推理,使用吉布斯采样方法估计元组的属性取不同值的概率,根据概率计算结果选择概率最大的值作为属性的修复值,使用修复值对错误数据进行修复,对缺失数据进行填充,从而完成数据的自动清洗;因此,本发明在进行数据清洗时无需现成的数据清洗模式/规则,同时也无需人工介入,一方面,从概率的角度对数据属性之间的关系建立模型,因此能够容忍训练数据中存在一定比例的脏数据;另一方面,统计关系学习和推理的应用有助于找出数据中的潜在错误并提升数据清洗的效果;本发明能够解决现有技术中存在的需要现成的数据质量模式/规则或者需要人工介入的问题,同时由于实现了数据的自动清洗,本发明更适合数据规模海量的脏数据清洗,有效提高数据清洗的效率和质量。
附图说明
图1基于DeepDive的自动数据清洗流程图
图2包含3个变量节点和1个因子节点的因子图
具体实施方式
现结合实施例、附图对本发明作进一步描述:
本发明提出了基于DeepDive的自动数据清洗方法,自动数据清洗流程图见图1,解决其技术问题所采用的技术方案包括以下内容:
1.数据预处理
设定待清洗数据规模阈值计算待清洗数据规模,也就是包含元组个数,如果则对原始数据随机采样,得到采样后数据,否则保持原始数据。
2.数据模型学习
在缺乏现成的数据清洗模式/规则情况下,从数据预处理后得到的数据中进行数据模型学习,找出数据中隐含的非绝对的或者相对较弱的依赖关系,并用贝叶斯网络的形式表示。贝叶斯网络的学习阶段,本发明基于数据表构建属性之间的全连接图,然后计算任意属性X、Y之间的互信息I(X;Y),设定阈值λ,如果I(X;Y)>λ,则保留属性X、Y之间的连接,否则删除X、Y之间的连接,通过这种方式得到一个简化的网络,基于该网络进行完备搜索,找到代表数据表属性之间依赖关系的贝叶斯网络结构,该方法确保该结果能满足全局最优化,有助于高质量数据质量规则的构建。
3.数据模型转换
本发明将数据模型学习得到的反映数据表属性之间依赖关系的贝叶斯网络进一步转换成一阶谓词逻辑。一阶谓词逻辑中,关系常量蕴含了多个元素之间的关系。本发明定义关系常量如下:
等价:equal-A(key1,key2),表示关系表R中主键为key1的元组与主键为key2的元组的A属性值相同。
匹配:match-A(key1,key2),表示关系表R中主键为key1的元组与主键为key2的元组的A属性值相匹配。
本发明对于关系R中的每个属性A,将A表示为A(key,v),这里A(key,v)表示主键为key的元组的A属性值为v。
本发明依据学习得到的贝叶斯网络构建一阶谓词逻辑。假定数据表属性A1和A2之间存在一条有向边且从A1指向A2,则可以将A1和A2之间的依赖关系形式化为如下的一阶谓词逻辑:
这里v是元组key1和key2的A属性值。如果有多个属性指向一个属性,如属性A1、A2、…、Ai同时指向Aj,则它们之间的依赖关系可以形式化为如下的一阶谓词逻辑:
这里v1、v2、…、vi是元组key1和key2在属性A1、A2、…、Ai上的属性值。
本发明通过上述方式将学习得到的贝叶斯网络转换为对应的一阶谓词逻辑规则集合转换采用自动方式进行,输入为贝叶斯网络依赖集合和属性集合Attrs(R)=(A1,…,Am),输出为谓词集合和规则集对由得到谓词集合对贝叶斯网络依赖集合Φ中的任一元素j∈[1,n],假定为的左部,为的右部。对规则集中的任一规则fj,j∈[1,n],假定为fj的左部,RHS(fj)为fj的右部。假定在fj不为空时,根据Bk(key1,Bk)∧Bk(key2,Bk)得到fj为空时,根据LHS(fj)∧Bk(key1,Bk)∧Bk(key2,Bk)得到而RHS(fj)由得到。
转换后得到两种类型的规则,一种是绝对规则,另外一种是近似满足的非绝对规则。
4.一阶谓词逻辑权重计算
针对一阶谓词逻辑规则集合中的每一条规则F,本发明将其转换为马尔可夫逻辑网络L,L是组合(F,w)的集合,这里w为F的权重。针对绝对规则,本发明对其权重赋值为正无穷大;对于近似满足的非绝对规则,本发明基于规则涉及的属性之间的互信息计算规则的权重。假定一条一阶逻辑规则涉及到两个属性X和Y,本发明使用如下的公式进行规则权重WF的计算:
WF=exp{I(X;Y)}-1 (1)
对于包含多个属性的一阶谓词逻辑规则,假定规则涉及n+1个属性,属性的互信息为I(X;Y1,Y2,…,Yn),本发明使用如下的公式进行规则权重WF的计算:
WF=exp{I(X;Y1,Y2,…,Yn)}-1 (2)
这里e为指数函数,属性之间的互信息作为指数函数e的指数,WF表示规则的置信度。由于I(X;Y)≥0,而且I(X;Y1,Y2,…,Yn)≥0,确保exp{I(X;Y)}-1≥0,同时exp{I(X;Y1,Y2,…,Yn)}-1≥0,计算得到的规则权重WF的值为非负值,同时指数函数e的引入使得一阶谓词逻辑规则的权重与对应属性的互信息相比得到了强化。
5.DeepDive规则生成
本发明将马尔可夫逻辑网络转换成DeepDive规则,转换过程中,DeepDive规则的布尔查询的谓词由马尔可夫逻辑网络中的一阶谓词逻辑规则和数据模型转换中定义的关系常量equal、match得到,DeepDive规则的权重由马尔可夫逻辑网络规则权重得到,代表DeepDive规则的置信度。
6.基于DeepDive进行错误/缺失数据的修复值概率推理
本发明中预处理后数据加载到PostgreSQL数据库,由DeepDive读取预处理数据,执行生成的DeepDive规则,通过对原始数据/原始数据采样后得到的数据进行遍历,得到马尔可夫逻辑网络L中涉及属性的可能世界,将可能世界构建为限常量集合C。将马尔可夫逻辑网络L与有限常量集合C结合,得到对应的马尔科夫网络ML,C。
针对马尔可夫逻辑网络L,将其转换成因子图,转换得到的因子图包含变量节点和因子节点。因子图的变量节点获取,由ML,C规则中涉及到的属性得到。因子图的因子节点为与其相连接变量的函数,本发明中因子节点根据ML,C规则中涉及到的一阶谓词得到。假定因子图包含3个变量节点,分别为x1、x2和x3,一个因子节点f1,因子节点和变量节点之间存在连接关系,如附图2所示。
在得到转换后的因子图之后,在因子图上采用马尔科夫链蒙特卡洛方法中的吉布斯采样方法进行统计推理,进而得到元组的属性可能的不同取值以及对应的概率。
7.原始脏数据清洗
本发明根据DeepDive概率推理的结果,检测数据中包含的脏数据,根据得到的元组的属性可能的不同取值以及对应的概率,选取概率最大的属性的值作为错误值修复或者缺失值填充的依据,遍历包含脏数据的原始数据,对错误值进行替换,对缺失值进行填充,从而实现脏数据的清洗。
Claims (7)
1.一种基于DeepDive的数据自动清洗方法,其特征在于步骤如下:
步骤1:数据预处理,对包含脏数据的原始数据进行数据规模判断,如果数据规模超过阈值,对原始数据进行采样,得到采样后数据,否则维持原始数据;
步骤2:数据模型学习,从步骤1得到的数据中学习属性之间的依赖关系,学习得到隐含的非绝对的或者相对较弱的依赖关系,并用贝叶斯网络的形式表示;
步骤3:数据模型转换,定义一阶谓词逻辑谓词,包括“等价”、“匹配”谓词,将步骤1得到的属性之间的贝叶斯网络自动转换成一阶谓词逻辑规则,得到基于数据属性之间贝叶斯网络的一阶谓词逻辑规则集合;
步骤4:使用互信息理论计算步骤2得到的基于数据属性之间贝叶斯网络的一阶谓词逻辑规则集合中每一条一阶谓词逻辑规则的权重,将带权重的一阶谓词逻辑规则转换成马尔可夫逻辑网络;
步骤5:基于马尔科夫逻辑网络生成DeepDive规则,规则中布尔查询由马尔科夫逻辑网络中一阶谓词逻辑得到,规则权重为马尔科夫逻辑网络的权重;
步骤6:基于DeepDive进行错误/缺失数据的概率推理,构建因子图作为推理的模型,使用吉布斯采样方法估计元组的属性取不同值的概率;
步骤7:根据概率推理的结果,检测数据中包含的脏数据并对脏数据选择取值概率最大的值与设定的阈值进行比较,如果取值概率最大的值大于阈值,则进行自动修复,否则不做处理。
2.根据权利要求1所述的数据模型学习方法,其特征在于,基于数据表构建属性之间的全连接图,然后计算任意属性X、Y之间的互信息I(X;Y),设定阈值λ,如果I(X;Y)>λ,则保留属性X、Y之间的连接,否则删除X、Y之间的连接,通过这种方式得到一个简化的网络,基于该网络进行完备搜索,找到代表数据表属性之间依赖关系的贝叶斯网络结构。
3.根据权利要求1所述的数据模型转换方法,其特征在于,依据学习得到的贝叶斯网络构建一阶谓词逻辑,假定数据表属性A1和A2之间存在一条有向边且从A1指向A2,则可以将A1和A2之间的依赖关系形式化为如下的一阶谓词逻辑:
这里v是元组key1和key2的A属性值;
如果有多个属性指向一个属性,如属性A1、A2、…、Ai同时指向Aj,则它们之间的依赖关系可以形式化为如下的一阶谓词逻辑:
这里v1、v2、…、vi是元组key1和key2在属性A1、A2、…、Ai上的属性值;
通过上述方式将学习得到的贝叶斯网络转换为对应的一阶谓词逻辑规则集合包含两种类型的规则,一种是绝对规则,另外一种是近似满足的非绝对规则。
4.根据权利要求1所述的一阶谓词逻辑权重计算方法,其特征在于,假定一条一阶逻辑规则涉及到两个属性X和Y,本发明使用如下的公式进行规则权重WF的计算:
WF=exp{I(X;Y)}-1
对于包含多个属性的一阶谓词逻辑规则,假定规则涉及n+1个属性,属性的互信息为I(X;Y1,Y2,…,Yn),本发明使用如下的公式进行规则权重WF的计算:
WF=exp{I(X;Y1,Y2,…,Yn)}-1
这里e为指数函数,属性之间的互信息作为指数函数e的指数,WF表示规则的置信度。
5.根据权利要求1所述的DeepDive规则生成方法,其特征在于,将马尔可夫逻辑网络转换成DeepDive规则,转换过程中,DeepDive规则的布尔查询的谓词由马尔可夫逻辑网络中的一阶谓词逻辑规则和数据模型转换中定义的关系常量equal、match得到,DeepDive规则的权重由马尔可夫逻辑网络规则权重得到。
6.根据权利要求1所述的基于DeepDive进行错误/缺失数据的修复值概率推理方法,其特征在于,通过对原始数据/原始数据采样后得到的数据进行遍历,得到马尔可夫逻辑网络L中涉及属性的可能世界,将可能世界构建为限常量集合C,将马尔可夫逻辑网络L与有限常量集合C结合,得到对应的马尔科夫网络ML,C;
针对马尔可夫逻辑网络L,将其转换成因子图,转换得到的因子图包含变量节点和因子节点,因子图的变量节点获取,由ML,C规则中涉及到的属性得到,因子节点根据ML,C规则中涉及到的一阶谓词得到;
在得到转换后的因子图之后,在因子图上采用马尔科夫链蒙特卡洛方法中的吉布斯采样方法进行统计推理,进而得到元组的属性可能的不同取值以及对应的概率。
7.根据权利要求1所述的原始脏数据清洗方法,其特征在于,根据DeepDive概率推理的结果,检测数据中包含的脏数据,根据得到的元组的属性可能的不同取值以及对应的概率,选取概率最大的属性的值作为错误值修复或者缺失值填充的依据,遍历包含脏数据的原始数据,对错误值进行替换,对缺失值进行填充,从而实现脏数据的清洗。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910077102.6A CN109947752A (zh) | 2019-01-28 | 2019-01-28 | 一种基于DeepDive的自动数据清洗方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910077102.6A CN109947752A (zh) | 2019-01-28 | 2019-01-28 | 一种基于DeepDive的自动数据清洗方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109947752A true CN109947752A (zh) | 2019-06-28 |
Family
ID=67006553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910077102.6A Pending CN109947752A (zh) | 2019-01-28 | 2019-01-28 | 一种基于DeepDive的自动数据清洗方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109947752A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111352928A (zh) * | 2020-02-27 | 2020-06-30 | 哈尔滨工业大学 | 使用CFDs的数据清洗方法、计算机设备和可读存储介质 |
WO2021098214A1 (zh) * | 2019-11-19 | 2021-05-27 | 平安科技(深圳)有限公司 | 数据样本获取方法、装置、电子设备及存储介质 |
CN114968827A (zh) * | 2022-08-01 | 2022-08-30 | 江铃汽车股份有限公司 | 车辆总线信号信息校验方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105447079A (zh) * | 2015-11-04 | 2016-03-30 | 华中科技大学 | 一种基于函数依赖的数据清洗方法 |
CN107103000A (zh) * | 2016-02-23 | 2017-08-29 | 广州启法信息科技有限公司 | 一种基于关联规则与贝叶斯网络集成的推荐技术 |
CN108399226A (zh) * | 2018-02-12 | 2018-08-14 | 安徽千云度信息技术有限公司 | 一种用于数字图书馆的大数据清洗方法 |
CN109213755A (zh) * | 2018-09-30 | 2019-01-15 | 长安大学 | 一种基于时空序列的交通流数据清洗与修复方法 |
-
2019
- 2019-01-28 CN CN201910077102.6A patent/CN109947752A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105447079A (zh) * | 2015-11-04 | 2016-03-30 | 华中科技大学 | 一种基于函数依赖的数据清洗方法 |
CN107103000A (zh) * | 2016-02-23 | 2017-08-29 | 广州启法信息科技有限公司 | 一种基于关联规则与贝叶斯网络集成的推荐技术 |
CN108399226A (zh) * | 2018-02-12 | 2018-08-14 | 安徽千云度信息技术有限公司 | 一种用于数字图书馆的大数据清洗方法 |
CN109213755A (zh) * | 2018-09-30 | 2019-01-15 | 长安大学 | 一种基于时空序列的交通流数据清洗与修复方法 |
Non-Patent Citations (1)
Title |
---|
李卫榜: "分布式大数据一致性管理关键技术研究", 《中国博士学位论文全文数据库 科技信息辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021098214A1 (zh) * | 2019-11-19 | 2021-05-27 | 平安科技(深圳)有限公司 | 数据样本获取方法、装置、电子设备及存储介质 |
CN111352928A (zh) * | 2020-02-27 | 2020-06-30 | 哈尔滨工业大学 | 使用CFDs的数据清洗方法、计算机设备和可读存储介质 |
CN114968827A (zh) * | 2022-08-01 | 2022-08-30 | 江铃汽车股份有限公司 | 车辆总线信号信息校验方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109241291B (zh) | 基于深度强化学习的知识图谱最优路径查询***及其方法 | |
CN109947752A (zh) | 一种基于DeepDive的自动数据清洗方法 | |
CN112966954B (zh) | 一种基于时间卷积网络的防洪调度方案优选方法 | |
CN110335168B (zh) | 基于gru优化用电信息采集终端故障预测模型的方法及*** | |
CN111914550B (zh) | 一种面向限定领域的知识图谱更新方法及*** | |
CN111930774A (zh) | 一种电力知识图谱本体自动构建方法及*** | |
CN115795131B (zh) | 基于人工智能的电子档案分类方法、装置及电子设备 | |
Nie et al. | 2-tuple linguistic intuitionistic preference relation and its application in sustainable location planning voting system | |
CN104331523A (zh) | 一种基于概念对象模型的问句检索方法 | |
WO2020024444A1 (zh) | 人群绩效等级识别方法、装置、存储介质及计算机设备 | |
CN101901251A (zh) | 基于马尔科夫过程亚稳性的复杂网络簇结构分析和识别方法 | |
CN113312494A (zh) | 垂直领域知识图谱构建方法、***、设备及存储介质 | |
CN113987808A (zh) | 一种特征加权贝叶斯网络的用电用户投诉预警方法 | |
CN108536796B (zh) | 一种基于图的异构本体匹配方法及*** | |
CN110796169A (zh) | 一种邻域决策错误率集成的属性约简方法 | |
CN109491991B (zh) | 一种无监督的数据自动清洗方法 | |
CN108615056A (zh) | 一种基于可分解评分函数的树增强朴素贝叶斯分类方法 | |
CN110570093B (zh) | 一种业务拓展渠道自动管理的方法和装置 | |
CN110990426B (zh) | 一种基于树搜索的rdf查询方法 | |
Li et al. | Statistical relational learning based automatic data cleaning | |
CN117057522B (zh) | 造价数据库的智能构建方法及*** | |
CN116541506B (zh) | 基于机器学习的智能对话方法、装置、设备及存储介质 | |
Liu et al. | A query-specific reasoning method for inconsistent and uncertain ontology | |
CN111522797B (zh) | 用于基于业务数据库构建业务模型的方法和装置 | |
CN115563167B (zh) | 数据查询方法、电子设备以及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190628 |
|
WD01 | Invention patent application deemed withdrawn after publication |