CN115840742B - 一种数据清洗方法、装置、设备及介质 - Google Patents
一种数据清洗方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115840742B CN115840742B CN202310101627.5A CN202310101627A CN115840742B CN 115840742 B CN115840742 B CN 115840742B CN 202310101627 A CN202310101627 A CN 202310101627A CN 115840742 B CN115840742 B CN 115840742B
- Authority
- CN
- China
- Prior art keywords
- list
- field name
- preset
- data
- field
- 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.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Electric Vacuum Cleaner (AREA)
Abstract
本发明涉及计算机技术领域,尤其是一种数据清洗方法、装置、设备及介质,其中,所述方法包括:获取预设字段三元组列表和预设任务数据列表;根据所述预设任务数据列表,获取第一数据列表;根据所述第一数据列表和所述预设字段三元组列表,获取第一字段名列表;根据所述第一字段名列表,获取第二字段名列表;根据所述第二字段名列表和所述预设任务数据列表,获取目标数据列表,以使得对所述目标数据列表进行数据清洗;可知,只使用一个通用性强的数据清洗判断条件对待处理数据进行数据清洗,存储量较小,不会造成资源浪费;对待处理数据按照多种方法进行处理,获取目标数据列表,减少了***整体的数据处理量,有利于提高***的运行效率。
Description
技术领域
本发明涉及数据库处理技术领域,特别是涉及一种数据清洗方法、装置、设备及介质。
背景技术
随着计算机技术的发展,人们可以获得越来越多的数字化信息资源,数字化信息资源中的数据格式以及数据内容,存在标准不统一,冗余数据多等情况,导致数字化信息资源中难免出现脏数据,因此需要对数字化信息资源中的数据做数据清洗,将脏数据清除。
现有的数据清洗方法为:获取数据清洗模板;获取待处理的数据;将待处理的数据进行分类,将分类后的待处理数据与数据清洗模板中的元数据进行对比,获取每一类待处理数据的数据清洗规则,按照相应的数据清洗规则对所有的待处理数据进行数据清洗。
但上述方法也存在以下技术问题:
一方面,在数据清洗的过程中,数据清洗规则较多且数据清洗规则的通用性不强,对于大规模数据,需要的存储量较大,容易造成资源浪费,另一方面,对不必要的数据也进行分类、对比并按照数据清洗规则进行数据清洗,***整体的数据处理量较大,处理效率较低。
发明内容
针对上述技术问题,本发明保护了一种数据清洗方法,所述方法包括如下步骤:
获取预设字段三元组列表和预设任务数据列表。
根据所述预设任务数据列表,获取第一数据列表。
根据所述第一数据列表和所述预设字段三元组列表,获取第一字段名列表。
根据所述第一字段名列表,获取第二字段名列表。
根据所述第二字段名列表和所述预设任务数据列表,获取目标数据列表,以使得对所述目标数据列表进行数据清洗。
本发明还保护了一种数据清洗装置,所述装置包括:
预设字段三元组列表获取模块,预设字段三元组列表获取模块用于获取预设字段三元组列表。
预设任务数据列表获取模块,预设任务数据列表获取模块用于获取预设任务数据列表。
第一数据列表获取模块,第一数据列表获取模块用于根据所述预设任务数据列表,获取第一数据列表。
第一执行获取模块,第一执行模块用于根据所述第一数据列表和所述预设字段三元组列表,获取第一字段名列表。
第二执行模块,第二执行模块用于根据所述第一字段名列表,获取第二字段名列表。
第三执行模块,第三执行模块用于根据所述第二字段名列表和所述预设任务数据列表,获取目标数据列表以使得对所述目标数据列表进行数据清洗。
本发明保护了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的数据清洗方法。
本发明保护了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的数据清洗方法。
本发明与现有技术相比具有明显的优点和有益效果,借由上述技术方案,本发明提供的一种数据清洗方法、装置、设备及介质可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至少具有下列优点:
本发明的一种数据清洗方法、装置、设备及介质,其中,所述方法包括:获取预设字段三元组列表和预设任务数据列表;根据所述预设任务数据列表,获取第一数据列表;根据所述第一数据列表和所述预设字段三元组列表,获取第一字段名列表;根据所述第一字段名列表,获取第二字段名列表;根据所述第二字段名列表和所述预设任务数据列表,获取目标数据列表,以使得对所述目标数据列表进行数据清洗;可知,在对目标数据列表进行数据清洗时,只使用一个通用性强的数据清洗判断条件对待处理数据进行数据清洗,需要的存储量较小,不会造成资源浪费;在获取目标数据列表的过程中,对待处理数据按照多种方法进行分类、对比,获取用户需要的数据,避免了对不必要的数据进行数据清理,减少了***整体的数据处理量,有利于提高***的运行效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种数据清洗方法的流程图;
图2为本发明实施例一提供的S200步骤的流程图;
图3为本发明实施例一提供的S203步骤的流程图;
图4为本发明实施例一提供的S300步骤的流程图;
图5为本发明实施例一提供的S400步骤的流程图;
图6为本发明实施例二提供的S300步骤的流程图;
图7为本发明实施例二提供的S400步骤的流程图;
图8为本发明实施例三提供的一种数据清洗装置的结构示意图;
图9为本发明实施例三提供的200模块的结构示意图;
图10为本发明实施例三提供的203模块的结构示意图;
图11为本发明实施例三提供的300模块的结构示意图;
图12为本发明实施例三提供的400模块的结构示意图;
图13为本发明实施例四提供的300模块的结构示意图;
图14为本发明实施例四提供的400模块的结构示意图。
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种数据清洗方法的具体实施方式及其功效,详细说明如后。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的任务,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
如图1所示,本实施例一提供了一种数据清洗方法,所述方法包括如下步骤:
S100、获取预设字段三元组列表和预设任务数据列表;可以理解为:预设字段三元组列表A={A1,……,Ai,……,Am},Ai为第i个预设字段三元组,i=1……m,m为预设字段三元组的数量;预设任务数据列表DX={DX1,……,DXr,……,DXs},DXr={DXr1,……,DXrv,……,DXru(r)},DXrv为第r个预设任务数据列表中的第v个字段的预设任务字段名,v=1……u(r),u(r)为第r个预设任务数据列表中字段的数量,r=1……s,s为预设任务数据列表的数量。
具体地,预设字段三元组包括预设字段名、预设数据表名、预设字段名与预设数据表名的关系。
进一步地,预设字段名与预设数据表名的关系为:根据预设字段名对应的数据项对预设数据表名对应的数据表执行操作指令的关系,操作指令例如:***指令、查询指令、删除指令、外连接指令、内连接指令、合并指令等。
具体地,DXrv对应的字段中具有多个数据项。
S200、根据所述预设任务数据列表,获取第一数据列表;可以理解为:根据DX,获取第一数据列表B={B1,……,Br,……,Bs},Br={Br1,……,Brv,……,Bru(r)},Brv为DXrv对应的第一数据记录。
具体地,第一数据记录包括:所述预设任务数据列表中的预设任务字段名、所述预设任务字段名对应的第一文本字符串和所述预设任务字段名对应的SQL字符串,其中,SQL字符串还可以被其他DSL替代,也可以实现本发明的技术方案,在此不再赘述。
进一步地,所述预设任务字段名对应的第一文本字符串为用于描述所述预设任务字段名功能的文本字符串。
具体地,在S200步骤中,还包括如下步骤,如图2所示:
S201、将DX输入预设语义提取模型中,获取DXrv对应的第一文本字符串,其中,本领域技术人员知晓,现有技术中,任一可选的语义提取模型均为本实施例的保护范围,在此不再赘述。
S203、根据预设语句生成规则、DXr中DXrv对应的字段内的数据项以及与DXrv具有关联关系的字段内的数据项,获取DXrv对应的SQL字符串,其中,与DXrv具有关联关系的字段可以根据预设的关联关系映射表确定,所述关联关系映射表记录了若干候选字段名,以及每一候选字段名对应的至少一个关联字段名,本领域技术人员知晓,现有技术中,任一可选的预设语句生成规则均属于本发明的保护范围,在此不再赘述。
具体地,在S203步骤中,还包括如下步骤确认与DXrv具有关联关系的字段,如图3所示:
S2031、获取关联关系映射表。
S2033、将关联关系映射表中与DXrv相同的候选字段名,确定为中间字段名。
S2035、将关联关系映射表中中间字段名对应的关联字段名,确定为目标关联字段名。
S2037、将DXr中与任一目标关联字段名相同的预设任务字段名所对应的字段,确定为与DXrv具有关联关系的字段。
上述,对已有的数据进行分析,获取第一数据列表,无需从外部获取第一数据列表中的数据,成本较低,有利于节省资源。
S300、根据所述第一数据列表和所述预设字段三元组列表,获取第一字段名列表;可以理解为:根据A和B,获取第一字段名列表C={C1,……,Cj,……Cn},Cj={Cj1,……,Cjk,……,Cjt(j)},Cjk=(C1 jk,……,Ca jk,……,Cc jk),Ca jk为A中第j个去重后预设数据表名对应的预设数据表中第k个预设字段名对应的第a个第一字段名,a=1……c,c为B中与Cjk对应的Brv中的DXrv的数量,k=1……t(j),t(j)为A中第j个去重后预设数据表名对应的预设数据表中预设字段名的数量,j=1……n,n为对Ai中的预设数据表名进行去重后得到的去重后预设数据表名的数量。
具体地,在S300步骤中,还包括如下步骤,如图4所示:
S301、根据所述预设字段三元组列表,获取第三字段名列表;可以理解为:根据A,获取第三字段名列表E={E1,……,Ej,……,En},Ej=(Ej1,……,Ejk,……,Ejt(j)),Ejk为A中第j个去重后预设数据表名对应的预设数据表中第k个预设字段名,其中,本领域技术人员知晓,现有技术中任一根据字段三元组列表,获取字段名的方法和对字段三元组列表中的数据表名进行去重处理的方法,均属于本发明的保护范围,在此不再赘述。
S303、根据所述第一数据列表,获取第四字段名列表;可以理解为:根据B,获取第四字段名列表B′={B′1,……,B′r,……,B′s},B′r=(B′r1,……,B′rv,……,B′ru(r)),B′rv为Brv中的DXrv,其中,本领域技术人员知晓,现有技术中任一从数据记录中获取字段名的方法,均属于本发明的保护范围,在此不做赘述。
S305、根据所述第三字段名列表和所述第四字段名列表,获取第一字段名列表;可以理解为:根据E和B′,获取第一字段名列表,其中,在B′中获取符合Ejk对应的预设第一规则的B′rv,将其作为Ca jk***到Cjk中。
具体地,预设第一规则为正则表达式;进一步地,本领域技术人员知晓,任一可选的正则表达式均属于本发明的保护范围,在此不做赘述。
上述,根据预设第一规则,对第一数据列表中的预设任务字段名进行处理,将预设字段三元组中的预设字段名与第一数据列表中的预设任务字段名逐个进行匹配,获取预设字段名对应的第四字段名,对第四字段名进行处理,有利于获取第二字段名,只对第二字段名获取其对应的优先级,避免了对不必要的数据进行数据清理,减少了***整体的数据处理量,有利于提高***的运行效率。
S400、根据所述第一字段名列表,获取第二字段名列表;可以理解为:根据C,获取第二字段名列表Z={Z1,……,Zj,……,Zn},Zj={Zj1,……,Zjk,……,Zjt(j)},Zjk=(Z1 jk,……,Zg jk,……,Zh jk),Zg jk为从Ca jk中确定出的第g个第二字段名,g=1……h,h≤c,h为Zjk中第二字段名的数量。
具体地,在S400步骤中,还包括如下步骤,如图5所示:
S401、根据所述第一字段名列表,获取所述第一字段名列表对应的第一字段名向量列表;可以理解为:将C输入到预设的自然语言处理模型中,获取C对应的第一字段名向量列表G={G1,……,Gj,……Gn},Gj={Gj1,……,Gjk,……,Gjt(j)},Gjk={G1 jk,……,Ga jk,……,Gc jk},Ga jk=(Ga1 jk,……,Gaz jk,……,Gaw jk),Gaz jk为Ca jk对应的第z个第一字段名向量值,z=1……w,w为Ca jk对应的第一字段名向量值的数量。
S402、根据所述第三字段名列表,获取所述第三字段名列表对应的第三字段名向量列表;可以理解为:将E输入预设的自然语言处理模型中,获取E对应的第三字段名向量列表F={F1,……,Fj,……,Fn},Fj={Fj1,……,Fjk,……,Fjt(j)},Fjk=(F1 jk,……,Fz jk,……,Fw jk),Fb jk为Ejk对应的第w个第三字段名向量值。
具体地,本领域技术人员知晓,现有技术中任一可选的自然语言处理模型,均属于本发明的保护范围,在此不再赘述。
S403、根据所述第一字段名向量列表和所述第三字段名向量列表,获取所述第一字段名列表对应的第一优先级列表;可以理解为:根据G和F,获取C对应的第一优先级列表Y1={Y11,……,Y1j,……,Y1n},Y1j={Y1j1,……,Y1jk,……,Y1jt(j)},Y1jk=(Y11 jk,……,Y1a jk,……,Y1c jk),Y1a jk为Ca jk对应的第一优先级。
具体地,Y1a jk符合如下条件:
。
S404、根据所述第一数据列表,获取所述第一字段名列表对应的第一文本列表;可以理解为:根据B,获取C对应的第一文本列表,第一文本列表中的数据为在B中Ca jk对应的第一文本字符串,其中,本领域技术人员知晓,现有技术中任一从数据记录中获取字段名对应的文本字符串的方法,均属于本发明的保护范围,在此不再赘述。
S405、根据所述第三字段名列表,获取所述第三字段名列表对应的第二文本列表;可以理解为:获取E对应的第二文本列表,第二文本列表中的数据为Ejk对应的第二文本字符串,第二文本串为用于描述Ejk功能的文本字符串。
S406、根据所述第一文本列表,获取第一文本向量列表;可以理解为:将第一文本列表输入到预设的自然语言处理模型中,获取第一文本向量列表。
S407、根据所述第二文本列表,获取第二文本向量列表;可以理解为:将第二文本列表输入到预设的自然语言处理模型中,获取第二文本向量列表。
S408、根据所述第一文本向量列表和所述第二文本向量列表,获取所述第一字段名列表对应的第二优先级列表;可以理解为:根据第一文本向量列表与第二文本向量列表,获取C对应的第二优先级列表Y2={Y21,……,Y2j,……,Y2n},Y2j={Y2j1,……,Y2jk,……,Y2jt(j)},Y2jk=(Y21 jk,……,Y2a jk,……,Y2c jk),Y2a jk为Ca jk对应的第二优先级,其中,根据第一文本向量列表和第二文本向量列表,获取C对应的第二优先级列表的方法与S403步骤一致,在此不再赘述。
S409、根据所述第一优先级列表和所述第二优先级列表,获取第二字段名列表;可以理解为:当Y1a jk≥Y10或Y2a jk≥Y20时,获取Y2a jk对应的Ca jk,作为第二字段名列表中的其中一个第二字段名,其中,Y10为预设的第一优先级阈值,Y20为预设的第二优先级阈值。
具体地,Y10、Y20的取值范围为[0.9-1]。
优选地,Y10=Y20=0.9,防止阈值设置过低,进而导致获取错误的第二字段名,或阈值设置过高,进而遗漏第二字段名。
上述,获取第一字段名对应的第一优先级和第二优先级,对第一优先级和第二优先级进行判断,避免遗漏第二字段名,有利于准确的获取第二字段名,只对第二字段名对应的字段的数据项进行数据清洗,避免了对不必要的数据进行数据清理,减少了***整体的数据处理量,有利于提高***的运行效率,第二字段名对应的字段的数据项可以理解为用户需要的数据项。
S500、根据所述第二字段名列表和所述预设任务数据列表,获取目标数据列表,以使得对所述目标数据列表进行数据清洗;可以理解为:根据Z与DX,获取目标数据列表D,以使得对D进行数据清洗,其中,D中的数据为Zg jk对应的字段中的数据项。
具体地,按照预设第二判断条件对目标数据列表进行数据清洗,本领域技术人员知晓,现有技术中任一可选的预设第二判断条件均属于本发明的保护范围,在此不再赘述。
上述,将所有第二字段名对应的字段的数据项融合到一个目标数据列表中,使用一个通用性强的预设第二判断条件对目标数据列表中的数据进行数据清洗,需要的存储量较小,不会造成资源浪费,并且有利于加快数据清洗的速度,提高***的效率。
本实施例一提供了一种数据清洗方法,所述方法包括:获取预设字段三元组列表和预设任务数据列表;根据所述预设任务数据列表,获取第一数据列表;根据所述第一数据列表和所述预设字段三元组列表,获取第一字段名列表;根据所述第一字段名列表,获取第二字段名列表;根据所述第二字段名列表和所述预设任务数据列表,获取目标数据列表,以使得对所述目标数据列表进行数据清洗;可知,在对目标数据列表进行数据清洗时,只使用一个通用性强的数据清洗判断条件对待处理数据进行数据清洗,需要的存储量较小,不会造成资源浪费;在获取目标数据列表的过程中,对待处理数据按照多种方法进行分类、对比,获取用户需要的数据,避免了对不必要的数据进行数据清理,减少了***整体的数据处理量,有利于提高***的运行效率。
实施例二
本实施例二提供了一种数据清洗方法,与实施例一不同之处在于,在S300步骤中,还包括如下步骤,如图6所示:
S301、根据所述预设字段三元组列表,获取第一字段名知识图谱集;可以理解为:根据A,获取第一字段名知识图谱集L={L1,……,LA,……,LC},LA为第A类第一字段知识图谱,A=1……C,C为Ai中预设字段名与预设数据表名的关系的种类,其中,本领域技术人员知晓,现有技术中任一根据三元组构建知识图谱的方法,均属于本发明的保护范围,在此不再赘述。
S303、根据所述第一数据列表,获取第一数据列表对应的SQL字符串列表;可以理解为:根据B,获取B对应的SQL字符串列表K={K1,……,Kr,……,Ks},Kr=(Kr1,……,Krv,……,Kru(r)),Krv为Brv中DXrv对应的SQL字符串,其中,本领域技术人员知晓,现有技术中任一从数据记录中获取SQL字符串的方法,均属于本发明的保护范围,在此不再赘述。
S305、根据所述SQL字符串列表,获取第三字段名知识图谱集;可以理解为:根据K,获取第三字段名知识图谱集M={M1,……,MA,……,MC},MA为第A类第二字段知识图谱,其中,M中任一MA均为对K中的Krv进行解析获取到的,其中,本领域技术人员知晓,现有技术中任一对SQL字符串进行解析并获取知识图谱的方法,均属于本发明的保护范围,在此不再赘述。
S307、根据所述第一字段知识图谱集和所述第三知识图谱集,获取第一中间字段名列表;可以理解为:根据L、M、预设第一判断条件,获取第一中间字段名列表LM1={LM1 1,……,LM1 j,……,LM1 n},LM1 j={LM1 j1,……,LM1 jk,……,LM1 jt(j)},LM1 jk=(LM11 jk,……,LM1a jk,……,LM1c jk),LM1a jk为第j个去重后预设数据表名对应的预设数据表中第k个在LA中符合第一判断条件且在MA中有对应的预设任务字段名的预设字段名。
具体地,本领域技术人员知晓,现有技术中,任一可选的预设第一判断条件均属于本发明的保护范围,在此不再赘述。
S309、根据所述第一中间字段名列表和所述第三字段名知识图谱集,获取第一字段名列表;可以理解为:根据LM1、M、预设第一判断条件,获取第一字段名列表,其中,LM1a jk在LM1a jk对应的MA中获取符合预设第一判断条件的预设任务字段名,将其作为Cjk对应的Ca jk;在一个应用层面上:将LA与MA按照图的结构进行图匹配,在MA中获取LM1a jk对应的预设任务字段名。
上述,相较于实施例一,对第一数据列表中的SQL语句进行处理,构建第三字段名知识图谱集,将第三字段名知识图谱与由预设字段三元组列表构建的第一字段知识图谱进行图匹配,一次性可以匹配出多个符合预设第一判断条件的第一字段名,提高了获取第一字段名列表的效率。
具体地,在S400步骤中,还包括如下步骤,如图7所示:
S401、获取所述第一字段名列表对应的第三文本列表,其中,获取第三文本列表的方法与获取第一文本列表的步骤一致,在此不再赘述。
S403、获取所述第一中间字段名对应的第四文本列表;其中,获取第四文本列表的方法与获取第二文本列表的方法一致,在此不再赘述。
S405、根据所述第三文本列表和所述第四文本列表,获取第一字段名对应的第三优先级列表;可以理解为:根据第三文本列表和第四文本列表,获取C对应的第三优先级列表Y3={Y31,……,Y3j,……,Y3n},Y3j={Y3j1,……,Y3jk,……,Y3jt(j)},Y3jk=(Y31 jk,……,Y3a jk,……,Y3c jk),Y3a jk为Ca jk对应的第三优先级,其中,获取C对应的第三优先级列表的方法与获取C对应的第二优先级列表的方法步骤一致,在此不再赘述。
S407、根据所述第三优先级列表,获取第二字段名列表;可以理解为:当Y3a jk≥Y30,获取Y3a jk对应的Ca jk,作为第二字段名列表中的其中一个第二字段名,其中,Y30为预设的第三优先级阈值。
具体地,Y30的取值范围为[0.9-1]。
优选地,Y30=0.9,防止阈值设置过低,进而导致获取错误的第二字段名,或阈值设置过高,进而遗漏第二字段名。
上述,相较于实施例一,在获取第二字段名的过程中,无需获取两个优先级,只需根据第三文本列表和第四文本列表获取第三优先级,对第三优先级进行判断,获取第二字段名,避免了对不必要的数据进行数据清理,减少了***整体的数据处理量,有利于提高***的运行效率。
本实施例二提供了一种数据清洗方法,所述方法包括:获取预设字段三元组列表和预设任务数据列表;根据所述预设任务数据列表,获取第一数据列表;根据所述第一数据列表和所述预设字段三元组列表,获取第一字段名列表;根据所述第一字段名列表,获取第二字段名列表;根据所述第二字段名列表和所述预设任务数据列表,获取目标数据列表,以使得对所述目标数据列表进行数据清洗;可知,构建第三字段名知识图谱集,将第三字段名知识图谱与由预设字段三元组列表构建的第一字段知识图谱进行图匹配,一次性可以匹配出多个符合预设第一判断条件的第一字段名;无需获取两个优先级,只需根据第三文本列表和第四文本列表获取第三优先级,对第三优先级进行判断,获取第二字段名,避免了对不必要的数据进行数据清理,减少了***整体的数据处理量,有利于提高***的运行效率。
实施例三
如图8所示,本实施例三提供了一种数据清洗装置,所述装置包括:
预设列表获取模块100,预设列表获取模块100用于获取预设字段三元组列表和预设任务数据列表;可以理解为:预设列表获取模块100用于获取预设字段三元组列表A={A1,……,Ai,……,Am}和预设任务数据列表DX={DX1,……,DXr,……,DXs},Ai为第i个预设字段三元组,i=1……m,m为预设字段三元组的数量,DXr={DXr1,……,DXrv,……,DXru(r)},DXrv为第r个预设任务数据列表中的第v个字段的预设任务字段名,v=1……u(r),u(r)为第r个预设任务数据列表中字段的数量,r=1……s,s为预设任务数据列表的数量。
具体地,预设字段三元组包括预设字段名、预设数据表名、预设字段名与预设数据表名的关系。
进一步地,预设字段名与预设数据表名的关系为:根据预设字段名对应的数据项对预设数据表名对应的数据表执行操作指令的关系,操作指令例如:***指令、查询指令、删除指令、外连接指令、内连接指令、合并指令等。
具体地,DXrv对应的字段中具有多个数据项。
第一数据列表获取模块200,第一数据列表获取模块200用于根据所述预设任务数据列表,获取第一数据列表;可以理解为:第一数据列表获取模块200用于根据DX,获取第一数据列表B={B1,……,Br,……,Bs},Br={Br1,……,Brv,……,Bru(r)},Brv为DXrv对应的第一数据记录。
具体地,第一数据记录包括:所述预设任务数据列表中的预设任务字段名、所述预设任务字段名对应的第一文本字符串和所述预设任务字段名对应的SQL字符串,其中,SQL字符串还可以被其他DSL替代,也可以实现本发明的技术方案,在此不再赘述。
进一步地,所述预设任务字段名对应的第一文本字符串为用于描述所述预设任务字段名功能的文本字符串。
具体地,所述第一数据列表获取模块200包括,如图9所示:
第一中间执行模块201,第一中间执行模块201用于获取DXrv对应的第一文本字符串;可以理解为:将DX输入预设语义提取模型中,获取DXrv对应的第一文本字符串,其中,本领域技术人员知晓,现有技术中,任一可选的语义提取模型均为本实施例的保护范围,在此不再赘述。
第二中间执行模块203,第二中间执行模块203用于获取DXrv对应的SQL字符串;可以理解为:根据预设语句生成规则、DXr中DXrv对应的字段内的数据项以及与DXrv具有关联关系的字段内的数据项,获取DXrv对应的SQL字符串,其中,与DXrv具有关联关系的字段可以根据预设的关联关系映射表确定,所述关联关系映射表记录了若干候选字段名,以及每一候选字段名对应的至少一个关联字段名,本领域技术人员知晓,现有技术中,任一可选的预设语句生成规则均属于本发明的保护范围,在此不再赘述。
具体地,所述第二中间执行模块203包括,如图10所示:
关联关系映射表获取模块2031,关联关系映射表获取模块2031用于获取关联关系映射表。
中间字段名获取模块2033,中间字段名获取模块2033用于获取中间字段名,可以理解为:将关联关系映射表中与DXrv相同的候选字段名,确定为中间字段名。
目标关联字段名获取模块2035,目标关联字段名获取模块2035用于获取目标关联字段名,可以理解为:将关联关系映射表中中间字段名对应的关联字段名,确定为目标关联字段名。
字段获取模块2037,字段获取模块2037用于获取与DXrv具有关联关系的字段;可以理解为:将DXr中与任一目标关联字段名相同的预设任务字段名所对应的字段,确定为与DXrv具有关联关系的字段。
第一执行获取模块300,第一执行模块300用于根据所述第一数据列表和所述预设字段三元组列表,获取第一字段名列表;可以理解为:第一执行模块300用于根据A和B,获取第一字段名列表C={C1,……,Cj,……Cn},Cj={Cj1,……,Cjk,……,Cjt(j)},Cjk=(C1 jk,……,Ca jk,……,Cc jk),Ca jk为A中第j个去重后预设数据表名对应的预设数据表中第k个预设字段名对应的第a个第一字段名,a=1……c,c为B中与Cjk对应的Brv中的DXrv的数量,k=1……t(j),t(j)为A中第j个去重后预设数据表名对应的预设数据表中预设字段名的数量,j=1……n,n为对Ai中的预设数据表名进行去重后得到的去重后预设数据表名的数量。
具体地,所述第一执行获取模块300包括,如图11所示:
第三字段名列表获取模块301,第三字段名列表获取模块301用于根据所述预设字段三元组列表,获取第三字段名列表;可以理解为:第三字段名列表获取模块301用于根据A,获取第三字段名列表E={E1,……,Ej,……,En},Ej=(Ej1,……,Ejk,……,Ejt(j)),Ejk为A中第j个去重后预设数据表名对应的预设数据表中第k个预设字段名,其中,本领域技术人员知晓,现有技术中任一根据字段三元组列表,获取字段名的方法和对字段三元组列表中的数据表名进行去重处理的方法,均属于本发明的保护范围,在此不再赘述。
第四字段名列表获取模块303,第四字段名列表获取模块303用于根据所述第一数据列表,获取第四字段名列表;可以理解为:第四字段名列表获取模块303用于根据B,获取第四字段名列表B′={B′1,……,B′r,……,B′s},B′r=(B′r1,……,B′rv,……,B′ru(r)),B′rv为Brv中的DXrv,其中,本领域技术人员知晓,现有技术中任一从数据记录中获取字段名的方法,均属于本发明的保护范围,在此不做赘述。
第一字段名获取模块305,第一字段名获取模块305用于根据所述第三字段名列表和所述第四字段名列表,获取第一字段名列表;可以理解为:第一字段名获取模块305用于根据E和B′,获取第一字段名列表,其中,在B′中获取符合Ejk对应的预设第一规则的B′rv,将其作为Ca jk***到Cjk中。
具体地,预设第一规则为正则表达式;进一步地,本领域技术人员知晓,任一可选的正则表达式均属于本发明的保护范围,在此不做赘述。
第二执行模块400,第二执行模块400用于根据所述第一字段名列表,获取第二字段名列表;可以理解为:第二执行模块400用于将C输入到预设的自然语言处理模型中,获取C对应的第一字段名向量列表G={G1,……,Gj,……Gn},Gj={Gj1,……,Gjk,……,Gjt(j)},Gjk={G1 jk,……,Ga jk,……,Gc jk},Ga jk=(Ga1 jk,……,Gaz jk,……,Gaw jk),Gaz jk为Ca jk对应的第z个第一字段名向量值,z=1……w,w为Ca jk对应的第一字段名向量值的数量。
具体地,所述第二执行模块400包括,如图12所示:
第一字段名向量列表获取模块401,第一字段名向量列表获取模块401用于根据所述第一字段名列表,获取所述第一字段名列表对应的第一字段名向量列表;可以理解为:第一字段名向量列表获取模块401用于将C输入到预设的自然语言处理模型中,获取C对应的第一字段名向量列表G={G1,……,Gj,……Gn},Gj={Gj1,……,Gjk,……,Gjt(j)},Gjk={G1 jk,……,Ga jk,……,Gc jk},Ga jk=(Ga1 jk,……,Gaz jk,……,Gaw jk),Gaz jk为Ca jk对应的第z个第一字段名向量值,z=1……w,w为Ca jk对应的第一字段名向量值的数量。
第三字段名向量列表获取模块402,第三字段名向量列表获取模块402用于根据所述第三字段名列表,获取所述第三字段名列表对应的第三字段名向量列表;可以理解为:第三字段名向量列表获取模块402用于将E输入预设的自然语言处理模型中,获取E对应的第三字段名向量列表F={F1,……,Fj,……,Fn},Fj={Fj1,……,Fjk,……,Fjt(j)},Fjk=(F1 jk,……,Fz jk,……,Fw jk),Fb jk为Ejk对应的第w个第三字段名向量值。
具体地,本领域技术人员知晓,现有技术中任一可选的自然语言处理模型,均属于本发明的保护范围,在此不再赘述。
第一优先级列表获取模块403,第一优先级列表获取模块403用于根据所述第一字段名向量列表和所述第三字段名向量列表,获取所述第一字段名列表对应的第一优先级列表;可以理解为:第一优先级列表获取模块403用于根据G和F,获取C对应的第一优先级列表Y1={Y11,……,Y1j,……,Y1n},Y1j={Y1j1,……,Y1jk,……,Y1jt(j)},Y1jk=(Y11 jk,……,Y1a jk,……,Y1c jk),Y1a jk为Ca jk对应的第一优先级。
具体地,Y1a jk符合如下条件:
。
第一文本列表获取模块404,第一文本列表获取模块404用于根据所述第一数据列表,获取所述第一字段名列表对应的第一文本列表;可以理解为:第一文本列表获取模块404用于根据B,获取C对应的第一文本列表,第一文本列表中的数据为在B中Ca jk对应的第一文本字符串,其中,本领域技术人员知晓,现有技术中任一从数据记录中获取字段名对应的文本字符串的方法,均属于本发明的保护范围,在此不再赘述。
第二文本列表获取模块405,第二文本列表获取模块405用于根据所述第三字段名列表,获取所述第三字段名列表对应的第二文本列表;可以理解为:第二文本列表获取模块405用于获取E对应的第二文本列表,第二文本列表中的数据为Ejk对应的第二文本字符串,第二文本串为用于描述Ejk功能的文本字符串。
第一文本向量列表获取模块406,第一文本向量列表获取模块406用于根据所述第一文本列表,获取第一文本向量列表;可以理解为:第一文本向量列表获取模块406用于将第一文本列表输入到预设的自然语言处理模型中,获取第一文本向量列表。
第二文本向量列表获取模块407,第二文本向量列表获取模块407用于根据所述第二文本列表,获取第二文本向量列表;可以理解为:第二文本向量列表获取模块407用于将第二文本列表输入到预设的自然语言处理模型中,获取第二文本向量列表。
第二优先级列表获取模块408,第二优先级列表获取模块408用于根据所述第一文本向量列表和所述第二文本向量列表,获取所述第一字段名列表对应的第二优先级列表;可以理解为:第二优先级列表获取模块408用于根据第一文本向量列表与第二文本向量列表,获取C对应的第二优先级列表Y2={Y21,……,Y2j,……,Y2n},Y2j={Y2j1,……,Y2jk,……,Y2jt(j)},Y2jk=(Y21 jk,……,Y2a jk,……,Y2c jk),Y2a jk为Ca jk对应的第二优先级,其中,根据第一文本向量列表和第二文本向量列表,获取C对应的第二优先级列表的方法与S403步骤一致,在此不再赘述。
第二字段名列表获取模块409,第二字段名列表获取模块409用于根据所述第一优先级列表和所述第二优先级列表,获取第二字段名列表;可以理解为:第二字段名列表获取模块409用于Y1a jk≥Y10或Y2a jk≥Y20时,获取Y2a jk对应的Ca jk,作为第二字段名列表中的其中一个第二字段名,其中,Y10为预设的第一优先级阈值,Y20为预设的第二优先级阈值。
具体地,Y10、Y20的取值范围为[0.9-1]。
优选地,Y10=Y20=0.9,防止阈值设置过低,进而导致获取错误的第二字段名,或阈值设置过高,进而遗漏第二字段名。
第三执行模块500,第三执行模块500用于根据所述第二字段名列表和所述预设任务数据列表,获取目标数据列表以使得对所述目标数据列表进行数据清洗;可以理解为:第三执行模块500用于根据Z与DX,获取目标数据列表D,以使得对D进行数据清洗,其中,D中的数据为Zg jk对应的字段中的数据项。
具体地,按照预设第二判断条件对D进行数据清洗,本领域技术人员知晓,现有技术中任一可选的预设第二判断条件,均属于本发明的保护范围,在此不再赘述。
实施例四
本实施例四提供了一种数据清洗装置,所述第一执行获取模块300还包括,如图13所示:
第一字段名知识图谱集获取模块301,第一字段名知识图谱集获取模块301用于根据所述预设字段三元组列表,获取第一字段名知识图谱集;可以理解为:第一字段名知识图谱集获取模块301用于根据A,获取第一字段名知识图谱集L={L1,……,LA,……,LC},LA为第A类第一字段知识图谱,A=1……C,C为Ai中预设字段名与预设数据表名的关系的种类,其中,本领域技术人员知晓,现有技术中任一根据三元组构建知识图谱的方法,均属于本发明的保护范围,在此不再赘述。
SQL字符串列表获取模块303,SQL字符串列表获取模块303用于根据所述第一数据列表,获取第一数据列表对应的SQL字符串列表;可以理解为:SQL字符串列表获取模块303用于根据B,获取B对应的SQL字符串列表K={K1,……,Kr,……,Ks},Kr=(Kr1,……,Krv,……,Kru(r)),Krv为Brv中DXrv对应的SQL字符串,其中,本领域技术人员知晓,现有技术中任一从数据记录中获取SQL字符串的方法,均属于本发明的保护范围,在此不再赘述。
第三字段名知识图谱集获取模块305,第三字段名知识图谱集获取模块305用于根据所述SQL字符串列表,获取第三字段名知识图谱集;可以理解为:第三字段名知识图谱集获取模块305用于根据K,获取第三字段名知识图谱集M={M1,……,MA,……,MC},MA为第A类第二字段知识图谱,其中,M中任一MA均为对K中的Krv进行解析获取到的,其中,本领域技术人员知晓,现有技术中任一对SQL字符串进行解析并获取知识图谱的方法,均属于本发明的保护范围,在此不再赘述。
第一中间字段名列表获取模块307,第一中间字段名列表获取模块307用于根据所述第一字段知识图谱集和所述第三知识图谱集,获取第一中间字段名列表;可以理解为:第一中间字段名列表获取模块307用于根据L、M、预设第一判断条件,获取第一中间字段名列表LM1={LM1 1,……,LM1 j,……,LM1 n},LM1 j={LM1 j1,……,LM1 jk,……,LM1 jt(j)},LM1 jk=(LM11 jk,……,LM1a jk,……,LM1c jk),LM1a jk为第j个去重后预设数据表名对应的预设数据表中第k个在LA中符合第一判断条件且在MA中有对应的预设任务字段名的预设字段名。
具体地,本领域技术人员知晓,现有技术中,任一可选的预设第一判断条件均属于本发明的保护范围,在此不再赘述。
第一字段名获取模块309,第一字段名获取模块309用于根据所述第一中间字段名列表和所述第三字段名知识图谱集,获取第一字段名列表;可以理解为:第一字段名获取模块309用于根据LM1、M、预设第一判断条件,获取第一字段名列表,其中,LM1a jk在LM1a jk对应的MA中获取符合预设第一判断条件的预设任务字段名,将其作为Cjk对应的Ca jk;在一个应用层面上:将LA与MA按照图的结构进行图匹配,在MA中获取LM1a jk对应的预设任务字段名。
所述第二执行模块400还包括,如图14所示:
第三文本列表获取模块401,第三文本列表获取模块401用于获取所述第一字段名列表对应的第三文本列表,其中,获取第三文本列表的方法与获取第一文本列表的步骤一致,在此不再赘述。
第四文本列表获取模块403,第四文本列表获取模块403用于获取所述第一中间字段名对应的第四文本列表,其中,获取第四文本列表的方法与获取第二文本列表的方法一致,在此不再赘述。
第三优先级列表获取模块405,第三优先级列表获取模块405用于根据所述第三文本列表和所述第四文本列表,获取第一字段名对应的第三优先级列表;可以理解为:第三优先级列表获取模块405用于根据第三文本列表和第四文本列表,获取C对应的第三优先级列表Y3={Y31,……,Y3j,……,Y3n},Y3j={Y3j1,……,Y3jk,……,Y3jt(j)},Y3jk=(Y31 jk,……,Y3a jk,……,Y3c jk),Y3a jk为Ca jk对应的第三优先级,其中,获取C对应的第三优先级列表的方法与获取C对应的第二优先级列表的方法步骤一致,在此不再赘述。
第二字段名列表获取模块407,第二字段名列表获取模块407用于根据所述第三优先级列表,获取第二字段名列表;可以理解为:第二字段名列表获取模块407用于Y3a jk≥Y30,获取Y3a jk对应的Ca jk,作为第二字段名列表中的其中一个第二字段名,其中,Y30为预设的第三优先级阈值。
具体地,Y30的取值范围为[0.9-1]。
优选地,Y30=0.9,防止阈值设置过低,进而导致获取错误的第二字段名,或阈值设置过高,进而遗漏第二字段名。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
获取预设字段三元组列表和预设任务数据列表。
根据所述预设任务数据列表,获取第一数据列表。
根据所述第一数据列表和所述预设字段三元组列表,获取第一字段名列表。
根据所述第一字段名列表,获取第二字段名列表。
根据所述第二字段名列表和所述预设任务数据列表,获取目标数据列表,以使得对所述目标数据列表进行数据清洗。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取预设字段三元组列表和预设任务数据列表。
根据所述预设任务数据列表,获取第一数据列表。
根据所述第一数据列表和所述预设字段三元组列表,获取第一字段名列表。
根据所述第一字段名列表,获取第二字段名列表。
根据所述第二字段名列表和所述预设任务数据列表,获取目标数据列表,以使得对所述目标数据列表进行数据清洗。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的确定进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构确定成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (12)
1.一种数据清洗方法,其特征在于,所述方法包括如下步骤:
获取预设字段三元组列表和预设任务数据列表,预设字段三元组列表A={A1,……,Ai,……,Am},Ai为第i个预设字段三元组,i=1……m,m为预设字段三元组的数量,预设任务数据列表DX={DX1,……,DXr,……,DXs},DXr={DXr1,……,DXrv,……,DXru(r)},DXrv为第r个预设任务数据列表中的第v个字段的预设任务字段名,v=1……u(r),u(r)为第r个预设任务数据列表中字段的数量,r=1……s,s为预设任务数据列表的数量,预设字段三元组包括预设字段名、预设数据表名、预设字段名与预设数据表名的关系;
根据所述预设任务数据列表,获取第一数据列表,第一数据列表B={B1,……,Br,……,Bs},Br={Br1,……,Brv,……,Bru(r)},Brv为DXrv对应的第一数据记录,所述第一数据记录包括:所述预设任务数据列表中的预设任务字段名、所述预设任务字段名对应的第一文本字符串和所述预设任务字段名对应的SQL字符串;
根据所述第一数据列表和所述预设字段三元组列表,获取第一字段名列表,第一字段名列表C={C1,……,Cj,……Cn},Cj={Cj1,……,Cjk,……,Cjt(j)},Cjk=(C1 jk,……,Ca jk,……,Cc jk),Ca jk为A中第j个去重后预设数据表名对应的预设数据表中第k个预设字段名对应的第a个第一字段名,a=1……c,c为B中与Cjk对应的Brv中的DXrv的数量,k=1……t(j),t(j)为A中第j个去重后预设数据表名对应的预设数据表中预设字段名的数量,j=1……n,n为对Ai中的预设数据表名进行去重后得到的去重后预设数据表名的数量;
根据所述第一字段名列表,获取第二字段名列表,第二字段名列表Z={Z1,……,Zj,……,Zn},Zj={Zj1,……,Zjk,……,Zjt(j)},Zjk=(Z1 jk,……,Zg jk,……,Zh jk),Zg jk为从Ca jk中确定出的第g个第二字段名,g=1……h,h为Zjk中第二字段名的数量;
根据所述第二字段名列表和所述预设任务数据列表,获取目标数据列表,以使得对所述目标数据列表进行数据清洗。
2.根据权利要求1所述的数据清洗方法,其特征在于,根据所述第一数据列表和所述预设字段三元组列表,获取第一字段名列表还包括如下步骤:
根据所述预设字段三元组列表,获取第三字段名列表,第三字段名列表E={E1,……,Ej,……,En},Ej=(Ej1,……,Ejk,……,Ejt(j)),Ejk为A中第j个去重后预设数据表名对应的预设数据表中第k个预设字段名;
根据所述第一数据列表,获取第四字段名列表,第四字段名列表B′={B′1,……,B′r,……,B′s},B′r=(B′r1,……,B′rv,……,B′ru(r)),B′rv为Brv中的DXrv;
根据所述第三字段名列表和所述第四字段名列表,获取第一字段名列表。
3.根据权利要求2所述的数据清洗方法,其特征在于,根据所述第一字段名列表,获取第二字段名列表还包括如下步骤:
根据所述第一字段名列表,获取所述第一字段名列表对应的第一字段名向量列表;
根据所述第三字段名列表,获取所述第三字段名列表对应的第三字段名向量列表;
根据所述第一字段名向量列表和所述第三字段名向量列表,获取所述第一字段名列表对应的第一优先级列表;
根据所述第一数据列表,获取所述第一字段名列表对应的第一文本列表,第一文本列表中的数据为在B中Ca jk对应的第一文本字符串;
根据所述第三字段名列表,获取所述第三字段名列表对应的第二文本列表,第二文本列表中的数据为Ejk对应的第二文本字符串,第二文本串为用于描述Ejk功能的文本字符串;
根据所述第一文本列表,获取第一文本向量列表;
根据所述第二文本列表,获取第二文本向量列表;
根据所述第一文本向量列表和所述第二文本向量列表,获取所述第一字段名列表对应的第二优先级列表;
根据所述第一优先级列表和所述第二优先级列表,获取第二字段名列表。
4.根据权利要求1所述的数据清洗方法,其特征在于,根据所述第一数据列表和所述预设字段三元组列表,获取第一字段名列表还包括如下步骤:
根据所述预设字段三元组列表,获取第一字段名知识图谱集;
根据所述第一数据列表,获取第一数据列表对应的SQL字符串列表;
根据所述SQL字符串列表,获取第三字段名知识图谱集;
根据所述第一字段名知识图谱集和所述第三字段名知识图谱集,获取第一中间字段名列表,第一中间字段名列表LM1={LM1 1,……,LM1 j,……,LM1 n},LM1 j={LM1 j1,……,LM1 jk,……,LM1 jt(j)},LM1 jk=(LM11 jk,……,LM1a jk,……,LM1c jk),LM1a jk为第j个去重后预设数据表名对应的预设数据表中第k个在LA中符合第一判断条件且在MA中有对应的预设任务字段名的预设字段名;
根据所述第一中间字段名列表和所述第三字段名知识图谱集,获取第一字段名列表。
5.根据权利要求4所述的数据清洗方法,其特征在于,根据所述第一字段名列表,获取第二字段名列表还包括如下步骤:
获取所述第一字段名列表对应的第三文本列表,获取第三文本列表的方法与获取第一文本列表的步骤一致;
获取所述第一中间字段名对应的第四文本列表,获取第四文本列表的方法与获取第二文本列表的方法一致;
根据所述第三文本列表和所述第四文本列表,获取第一字段名对应的第三优先级列表;
根据所述第三优先级列表,获取第二字段名列表。
6.一种数据清洗装置,其特征在于,所述装置包括:
预设字段三元组列表获取模块,预设字段三元组列表获取模块用于获取预设字段三元组列表,预设字段三元组列表A={A1,……,Ai,……,Am},Ai为第i个预设字段三元组,i=1……m,m为预设字段三元组的数量,预设任务数据列表DX={DX1,……,DXr,……,DXs},DXr={DXr1,……,DXrv,……,DXru(r)},DXrv为第r个预设任务数据列表中的第v个字段的预设任务字段名,v=1……u(r),u(r)为第r个预设任务数据列表中字段的数量,r=1……s,s为预设任务数据列表的数量,预设字段三元组包括预设字段名、预设数据表名、预设字段名与预设数据表名的关系;
预设任务数据列表获取模块,预设任务数据列表获取模块用于获取预设任务数据列表;
第一数据列表获取模块,第一数据列表获取模块用于根据所述预设任务数据列表,获取第一数据列表,第一数据列表B={B1,……,Br,……,Bs},Br={Br1,……,Brv,……,Bru(r)},Brv为DXrv对应的第一数据记录,所述第一数据记录包括:所述预设任务数据列表中的预设任务字段名、所述预设任务字段名对应的第一文本字符串和所述预设任务字段名对应的SQL字符串;
第一执行模块,第一执行模块用于根据所述第一数据列表和所述预设字段三元组列表,获取第一字段名列表,第一字段名列表C={C1,……,Cj,……Cn},Cj={Cj1,……,Cjk,……,Cjt(j)},Cjk=(C1 jk,……,Ca jk,……,Cc jk),Ca jk为A中第j个去重后预设数据表名对应的预设数据表中第k个预设字段名对应的第a个第一字段名,a=1……c,c为B中与Cjk对应的Brv中的DXrv的数量,k=1……t(j),t(j)为A中第j个去重后预设数据表名对应的预设数据表中预设字段名的数量,j=1……n,n为对Ai中的预设数据表名进行去重后得到的去重后预设数据表名的数量;
第二执行模块,第二执行模块用于根据所述第一字段名列表,获取第二字段名列表;第二字段名列表Z={Z1,……,Zj,……,Zn},Zj={Zj1,……,Zjk,……,Zjt(j)},Zjk=(Z1 jk,……,Zg jk,……,Zh jk),Zg jk为从Ca jk中确定出的第g个第二字段名,g=1……h,h为Zjk中第二字段名的数量;
第三执行模块,第三执行模块用于根据所述第二字段名列表和所述预设任务数据列表,获取目标数据列表以使得对所述目标数据列表进行数据清洗。
7.根据权利要求6所述的数据清洗装置,其特征在于,第一执行模块包括:
第三字段名列表获取模块,第三字段名列表获取模块用于根据所述预设字段三元组列表,获取第三字段名列表,第三字段名列表E={E1,……,Ej,……,En},Ej=(Ej1,……,Ejk,……,Ejt(j)),Ejk为A中第j个去重后预设数据表名对应的预设数据表中第k个预设字段名;
第四字段名列表获取模块,第四字段名列表获取模块用于根据所述第一数据列表,获取第四字段名列表,第四字段名列表B′={B′1,……,B′r,……,B′s},B′r=(B′r1,……,B′rv,……,B′ru(r)),B′rv为Brv中的DXrv;
第一字段名获取模块,第一字段名获取模块用于根据所述第三字段名列表和所述第四字段名列表,获取第一字段名列表。
8.根据权利要求7所述的数据清洗装置,其特征在于,第二执行模块包括:
第一字段名向量列表获取模块,第一字段名向量列表获取模块用于根据所述第一字段名列表,获取所述第一字段名列表对应的第一字段名向量列表;
第三字段名向量列表获取模块,第三字段名向量列表获取模块用于根据所述第三字段名列表,获取所述第三字段名列表对应的第三字段名向量列表;
第一优先级列表获取模块,第一优先级列表获取模块用于根据所述第一字段名向量列表和所述第三字段名向量列表,获取所述第一字段名列表对应的第一优先级列表;
第一文本列表获取模块,第一文本列表获取模块用于根据所述第一数据列表,获取所述第一字段名列表对应的第一文本列表,第一文本列表中的数据为在B中Ca jk对应的第一文本字符串;
第二文本列表获取模块,第二文本列表获取模块用于根据所述第三字段名列表,获取所述第三字段名列表对应的第二文本列表,第二文本列表中的数据为Ejk对应的第二文本字符串,第二文本串为用于描述Ejk功能的文本字符串;
第一文本向量列表获取模块,第一文本向量列表获取模块用于根据所述第一文本列表,获取第一文本向量列表;
第二文本向量列表获取模块,第二文本向量列表获取模块用于根据所述第二文本列表,获取第二文本向量列表;
第二优先级列表获取模块,第二优先级列表获取模块用于根据所述第一文本向量列表和所述第二文本向量列表,获取所述第一字段名列表对应的第二优先级列表;
第二字段名列表获取模块,第二字段名列表获取模块用于根据所述第一优先级列表和所述第二优先级列表,获取第二字段名列表。
9.根据权利要求6所述的数据清洗装置,其特征在于,第一执行模块包括:
第一字段名知识图谱集获取模块,第一字段名知识图谱集获取模块用于根据所述预设字段三元组列表,获取第一字段名知识图谱集;
SQL字符串列表获取模块,SQL字符串列表获取模块用于根据所述第一数据列表,获取第一数据列表对应的SQL字符串列表;
第三字段名知识图谱集获取模块,第三字段名知识图谱集获取模块用于根据所述SQL字符串列表,获取第三字段名知识图谱集;
第一中间字段名列表获取模块,第一中间字段名列表获取模块用于根据所述第一字段名知识图谱集和所述第三字段名知识图谱集,获取第一中间字段名列表,第一中间字段名列表LM1={LM1 1,……,LM1 j,……,LM1 n},LM1 j={LM1 j1,……,LM1 jk,……,LM1 jt(j)},LM1 jk=(LM11 jk,……,LM1a jk,……,LM1c jk),LM1a jk为第j个去重后预设数据表名对应的预设数据表中第k个在LA中符合第一判断条件且在MA中有对应的预设任务字段名的预设字段名;
第一字段名获取模块,第一字段名获取模块用于根据所述第一中间字段名列表和所述第三字段名知识图谱集,获取第一字段名列表。
10.根据权利要求9所述的数据清洗装置,其特征在于,第二执行模块包括:
第三文本列表获取模块,第三文本列表获取模块用于获取所述第一字段名列表对应的第三文本列表,获取第三文本列表的方法与获取第一文本列表的步骤一致;
第四文本列表获取模块,第四文本列表获取模块用于获取所述第一中间字段名对应的第四文本列表,获取第四文本列表的方法与获取第二文本列表的方法一致;
第三优先级列表获取模块,第三优先级列表获取模块用于根据所述第三文本列表和所述第四文本列表,获取第一字段名对应的第三优先级列表;
第二字段名列表获取模块,第二字段名列表获取模块用于根据所述第三优先级列表,获取第二字段名列表。
11.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6中任意一项所述的数据清洗方法。
12.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任意一项所述的数据清洗方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310101627.5A CN115840742B (zh) | 2023-02-13 | 2023-02-13 | 一种数据清洗方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310101627.5A CN115840742B (zh) | 2023-02-13 | 2023-02-13 | 一种数据清洗方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115840742A CN115840742A (zh) | 2023-03-24 |
CN115840742B true CN115840742B (zh) | 2023-05-12 |
Family
ID=85579610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310101627.5A Active CN115840742B (zh) | 2023-02-13 | 2023-02-13 | 一种数据清洗方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115840742B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108984652A (zh) * | 2018-06-27 | 2018-12-11 | 北京圣康汇金科技有限公司 | 一种可配置数据清洗***和方法 |
WO2020147385A1 (zh) * | 2019-01-17 | 2020-07-23 | 平安科技(深圳)有限公司 | 数据录入方法、装置、终端及计算机可读存储介质 |
CN114579839A (zh) * | 2022-03-17 | 2022-06-03 | 杭州云深科技有限公司 | 一种基于网页的数据处理*** |
CN115481114A (zh) * | 2022-09-15 | 2022-12-16 | 中国平安财产保险股份有限公司 | 数据清洗方法、装置、计算机设备及存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080059486A1 (en) * | 2006-08-24 | 2008-03-06 | Derek Edwin Pappas | Intelligent data search engine |
CN111831629B (zh) * | 2019-04-15 | 2024-05-03 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及装置 |
CN111159177B (zh) * | 2019-12-10 | 2023-11-07 | 大唐软件技术股份有限公司 | 一种基于异构数据的数据融合方法、装置、设备及介质 |
CN111639066A (zh) * | 2020-05-14 | 2020-09-08 | 杭州数梦工场科技有限公司 | 一种数据清洗的方法和装置 |
CN111400392B (zh) * | 2020-06-03 | 2020-08-21 | 上海冰鉴信息科技有限公司 | 多源异构数据处理方法及装置 |
CN113095064A (zh) * | 2021-03-18 | 2021-07-09 | 杭州数梦工场科技有限公司 | 代码字段识别方法、装置、电子设备及存储介质 |
CN113011189A (zh) * | 2021-03-26 | 2021-06-22 | 深圳壹账通智能科技有限公司 | 开放式实体关系的抽取方法、装置、设备及存储介质 |
CN114168608B (zh) * | 2021-12-16 | 2022-07-15 | 中科雨辰科技有限公司 | 一种用于更新知识图谱的数据处理*** |
CN114840507A (zh) * | 2022-04-19 | 2022-08-02 | 北京百度网讯科技有限公司 | 数据治理方法、装置、电子设备及存储介质 |
CN114996280B (zh) * | 2022-08-01 | 2022-10-25 | 每日互动股份有限公司 | 一种数据表的字段信息纠正方法、装置、设备及介质 |
-
2023
- 2023-02-13 CN CN202310101627.5A patent/CN115840742B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108984652A (zh) * | 2018-06-27 | 2018-12-11 | 北京圣康汇金科技有限公司 | 一种可配置数据清洗***和方法 |
WO2020147385A1 (zh) * | 2019-01-17 | 2020-07-23 | 平安科技(深圳)有限公司 | 数据录入方法、装置、终端及计算机可读存储介质 |
CN114579839A (zh) * | 2022-03-17 | 2022-06-03 | 杭州云深科技有限公司 | 一种基于网页的数据处理*** |
CN115481114A (zh) * | 2022-09-15 | 2022-12-16 | 中国平安财产保险股份有限公司 | 数据清洗方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115840742A (zh) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109815991B (zh) | 机器学习模型的训练方法、装置、电子设备及存储介质 | |
WO2018157805A1 (zh) | 一种自动问答处理方法及自动问答*** | |
WO2021174717A1 (zh) | 文本意图识别方法、装置、计算机设备和存储介质 | |
WO2020199591A1 (zh) | 文本分类模型训练方法、装置、计算机设备及存储介质 | |
WO2020143184A1 (zh) | 知识融合方法、装置、计算机设备和存储介质 | |
CN110674319A (zh) | 标签确定方法、装置、计算机设备及存储介质 | |
CN111177405A (zh) | 数据搜索匹配方法、装置、计算机设备和存储介质 | |
CA2882280A1 (en) | System and method for matching data using probabilistic modeling techniques | |
WO2020114100A1 (zh) | 一种信息处理方法、装置和计算机存储介质 | |
CN107704474B (zh) | 属性对齐方法和装置 | |
CN110334343B (zh) | 一种合同中个人隐私信息抽取的方法和*** | |
WO2020132933A1 (zh) | 短文本过滤方法、装置、介质及计算机设备 | |
CN112883030A (zh) | 数据收集方法、装置、计算机设备和存储介质 | |
CN112784063A (zh) | 一种成语知识图谱构建方法及装置 | |
JP2021508391A5 (zh) | ||
CN112100470B (zh) | 基于论文数据分析的专家推荐方法、装置、设备及存储介质 | |
CN112559526A (zh) | 数据表导出方法、装置、计算机设备及存储介质 | |
CN116561388A (zh) | 一种获取标签的数据处理*** | |
CN109656947B (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
CN112100324A (zh) | 一种基于贪婪实体链接的知识图谱自动校验迭代的方法 | |
CN113761161A (zh) | 文本关键词提取方法、装置、计算机设备和存储介质 | |
CN115840742B (zh) | 一种数据清洗方法、装置、设备及介质 | |
Benny et al. | Hadoop framework for entity resolution within high velocity streams | |
CN113672653A (zh) | 识别数据库中的隐私数据的方法和装置 | |
CN117251469A (zh) | 一种sql语句生成方法、***、介质及设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |