CN117271674A - 字段类型识别方法、装置、电子设备及存储介质 - Google Patents
字段类型识别方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117271674A CN117271674A CN202311100875.4A CN202311100875A CN117271674A CN 117271674 A CN117271674 A CN 117271674A CN 202311100875 A CN202311100875 A CN 202311100875A CN 117271674 A CN117271674 A CN 117271674A
- Authority
- CN
- China
- Prior art keywords
- field type
- target
- classification
- data
- classification result
- 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
- 238000000034 method Methods 0.000 title claims abstract description 108
- 238000013145 classification model Methods 0.000 claims abstract description 200
- 238000013473 artificial intelligence Methods 0.000 claims abstract description 22
- 239000013598 vector Substances 0.000 claims description 112
- 238000000605 extraction Methods 0.000 claims description 41
- 238000013179 statistical model Methods 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 11
- 230000001419 dependent effect Effects 0.000 claims description 11
- 230000014509 gene expression Effects 0.000 abstract description 22
- 238000004422 calculation algorithm Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 238000012937 correction Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 239000000284 extract Substances 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000007635 classification algorithm Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000003064 k means clustering Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007637 random forest analysis Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/221—Column-oriented storage; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提出了一种字段类型识别方法、装置、电子设备及存储介质,涉及大数据、人工智能等技术领域,方法包括:从业务数据表中提取待识别的目标列;采用第一分类模型对目标列进行分类,得到第一分类结果;采用第二分类模型对目标列进行分类,得到第二分类结果;根据第一分类结果和/或第二分类结果,确定目标列是否属于指定字段类型。由此,无需用户现场编写正则表达式或代码,来识别业务数据表中的每列或每个字段是否属于指定字段类型,可以降低使用门槛、时间成本和人力成本。并且,在没有负样本,或者,负样本的质量不佳时,也可以准确识别业务数据表中的每列是否属于指定字段类型,提升该方法的适用性。
Description
技术领域
本公开涉及大数据、人工智能等技术领域,尤其涉及一种字段类型识别方法、装置、电子设备及存储介质。
背景技术
随着大数据技术的不断发展,在建设数据仓库的过程中,数据仓库中的数据表的数量和规模越来越大。如何在海量的数据表中识别出属于某种字段类型的字段(或列),是在建设数据仓库的过程中经常遇到的问题。
相关技术中,采用编写正则表达式或代码,来识别数据表中的每列或每个字段是否属于设定字段类型(如电话号码、身份证号、邮箱号、网址、银行卡号、护照号码等)。
然而编写正则表达式或代码的方式,使用门槛和技术门槛较高,需要由专业人员根据具体的业务规则编写,需要投入较长的时间成本和人力成本。
发明内容
本公开的目的旨在至少在一定程度上解决上述技术问题之一。
为此,本公开提出了一种字段类型识别方法、装置、电子设备及存储介质,以实现无需用户现场编写正则表达式或代码,来识别业务数据表中的每列或每个字段是否属于指定字段类型,可以降低使用门槛、时间成本和人力成本。并且,在没有负样本,或者,负样本的质量不佳时,也可以准确识别业务数据表中的每列是否属于指定字段类型,提升该方法的适用性。
本公开第一方面实施例提出了一种字段类型识别方法,包括:
从业务数据表中提取待识别的目标列;
采用第一分类模型对所述目标列进行分类,以得到第一分类结果;其中,所述第一分类模型是根据属于指定字段类型的正样本生成的统计模型;所述第一分类结果指示所述目标列是否属于所述指定字段类型;
采用第二分类模型对所述目标列进行分类,以得到第二分类结果;其中,所述第二分类模型是根据属于所述指定字段类型的正样本和属于非指定字段类型的负样本生成的人工智能模型;所述第二分类结果指示所述目标列是否属于所述指定字段类型;
根据所述第一分类结果和/或所述第二分类结果,确定所述目标列是否属于所述指定字段类型。
本公开第二方面实施例提出了另一种字段类型识别方法,包括:
从业务数据表中提取待识别的目标列,并从所述目标列中提取至少一个目标数据;
采用第一分类模型对各所述目标数据进行分类,以得到第三分类结果;其中,所述第一分类模型是根据属于指定字段类型的正样本生成的统计模型;所述第三分类结果指示各所述目标数据是否属于所述指定字段类型;
采用第二分类模型对各所述目标数据进行分类,以得到第四分类结果;其中,所述第二分类模型是根据属于所述指定字段类型的正样本和属于非指定字段类型的负样本生成的人工智能模型;所述第四分类结果指示各所述目标数据是否属于所述指定字段类型;
根据所述第三分类结果和/或所述第四分类结果,确定所述目标列是否属于所述指定字段类型。
本公开第三方面实施例提出了一种字段类型识别装置,包括:
提取模块,用于从业务数据表中提取待识别的目标列;
第一分类模块,用于采用第一分类模型对所述目标列进行分类,以得到第一分类结果;其中,所述第一分类模型是根据属于指定字段类型的正样本生成的统计模型;所述第一分类结果指示所述目标列是否属于所述指定字段类型;
第二分类模块,用于采用第二分类模型对所述目标列进行分类,以得到第二分类结果;其中,所述第二分类模型是根据属于所述指定字段类型的正样本和属于非指定字段类型的负样本生成的人工智能模型;所述第二分类结果指示所述目标列是否属于所述指定字段类型;
确定模块,用于根据所述第一分类结果和/或所述第二分类结果,确定所述目标列是否属于所述指定字段类型。
本公开第四方面实施例提出了另一种字段类型识别装置,包括:
提取模块,用于从业务数据表中提取待识别的目标列,并从所述目标列中提取至少一个目标数据;
第一处理模块,用于采用第一分类模型对各所述目标数据进行分类,以得到第三分类结果;其中,所述第一分类模型是根据属于指定字段类型的正样本生成的统计模型;所述第三分类结果指示各所述目标数据是否属于所述指定字段类型;
第二处理模块,用于采用第二分类模型对各所述目标数据进行分类,以得到第四分类结果;其中,所述第二分类模型是根据属于所述指定字段类型的正样本和属于非指定字段类型的负样本生成的人工智能模型;所述第四分类结果指示各所述目标数据是否属于所述指定字段类型;
确定模块,用于根据所述第三分类结果和/或所述第四分类结果,确定所述目标列是否属于所述指定字段类型。
本公开第五方面实施例提出了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的字段类型识别方法,或者,实现如第一方面所述的字段类型识别方法。
本公开第六方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的字段类型识别方法,或者,实现如第一方面所述的字段类型识别方法。
本公开第七方面实施例提出了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开上述第一方面所述的字段类型识别方法,或者,实现如第一方面所述的字段类型识别方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
通过从业务数据表中提取待识别的目标列;采用第一分类模型对目标列进行分类,以得到第一分类结果;其中,第一分类模型是根据属于指定字段类型的正样本生成的统计模型;第一分类结果指示目标列是否属于指定字段类型;采用第二分类模型对目标列进行分类,以得到第二分类结果;其中,第二分类模型是根据属于指定字段类型的正样本和属于非指定字段类型的负样本生成的人工智能模型;第二分类结果指示目标列是否属于指定字段类型;根据第一分类结果和/或第二分类结果,确定目标列是否属于指定字段类型。由此,无需用户现场编写正则表达式或代码,来识别业务数据表中的每列或每个字段是否属于指定字段类型,可以降低使用门槛、时间成本和人力成本。并且,在没有负样本,或者,负样本的质量不佳时,也可以准确识别业务数据表中的每列是否属于指定字段类型,提升该方法的适用性。
本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。
附图说明
本公开上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本公开实施例提供的一种字段类型识别方法的流程示意图;
图2为本公开实施例提供的另一种字段类型识别方法的流程示意图;
图3为本公开实施例提供的一种第一分类模型的生成方法的流程示意图;
图4为本公开实施例提供的另一种字段类型识别方法的流程示意图;
图5为本公开实施例提供的另一种字段类型识别方法的流程示意图;
图6为本公开实施例提供的一种第二分类模型的生成方法的流程示意图;
图7为本公开实施例提供的另一种字段类型识别方法的流程示意图;
图8为本公开实施例提供的另一种字段类型识别方法的流程示意图;
图9为本公开实施例提供的另一种字段类型识别方法的流程示意图;
图10为根据本公开一个实施例的字段类型识别装置的结构示意图;
图11为根据本公开另一个实施例的字段类型识别装置的结构示意图;
图12为根据本公开一个实施例的电子设备的结构示意图。
具体实施方式
下面详细描述本公开的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本公开,而不能理解为对本公开的限制。
目前,主要采用以下两种方案,来识别数据表中的每列或每个字段是否属于设定字段类型。
第一种方式,针对常见的字段类型,可以在业务系统中预置一些检查功能(比如,可以由正则表达式实现或者编写代码实现上述检查功能),来检查数据表中的每列或每个字段是否属于设定字段类型。
然而上述预置检查功能的方式,无法覆盖所有的字段类型,针对某些不常见的字段类型,业务系统无法预置,只能由相关人员现场处理。即,针对业务系统没有预置检查功能的字段类型,一般先由技术人员编写正则表达式(或编写代码),再由业务系统按照正则表达式(或代码)对数据表中的字段或数据进行过滤。
但是,现场编写正则表达式的方式,至少存在以下两个问题:
1、编写正则表达式的技术门槛较高。编写正则表达式需要有一定的技术功底,普通用户通常不会编写正则表达式,需要由专业人员编写,而专业人员未必了解具体的业务规则,交流沟通成本较大,实施过程往往需要投入较长的时间和成本。
2、有些字段类型采用正则表达式来表达较为困难。比如,当字段类型为IPv6(Internet Protocol Version 6,互联网协议第6版)地址时,如果采用较短的正则表达式来表示,则很容易过于宽泛,如果想要采用精确的正则表达式来表示,则正则表达式的语句可能会超过一千个字符。还有一些字段类型,其内部的复杂逻辑决定其几乎不可能采用正则表达式来表示。
并且,采用现场编写代码的方式,技术门槛可能比现场编写正则表达式的技术门槛还要高。
第二种方式,在现场获取一些样例数据,其中,样例数据可以包括足够数量的正样本(即属于设定字段类型的数据)和足够数量的负样本(即不属于设定字段类型的数据),采用样例数据建立一个分类模型,并通过分类模型对数据表中的字段或列进行分类,得到用于指示字段或列是否属于设定字段类型的分类结果。
但是实际应用时,用户往往只能提供正样本,无法提供负样本,或者,用户只能提供一些“很不像”的负样本(即负样本的质量较差)。如果没有负样本,则根本无法建立机器学习模型(即分类模型),而如果负样本的质量较差,则建立出来的分类模型无法真正学习到样例数据的模式,导致实际使用时的分类效果较差。
针对上述存在的至少一项问题,本公开实施例提出一种字段类型识别方法、装置及电子设备。
下面结合图1,对本公开提供的字段类型识别方法进行详细说明。
图1为本公开实施例提供的一种字段类型识别方法的流程示意图。
本公开实施例的字段类型识别方法可以由本公开实施例提供的字段类型识别装置执行。本公开中的字段类型识别装置可应用于电子设备中,以执行字段类型识别功能。或者,该字段类型识别装置可以配置在电子设备的应用中,以使该应用可以执行字段类型识别功能。
其中,电子设备可以为任一具有计算能力的设备,该设备或者该设备中的应用能够执行字段类型识别功能。其中,具有计算能力的设备例如可以为个人电脑、移动终端、服务器等,移动终端例如可以为车载设备、手机、平板电脑、个人数字助理、穿戴式设备等具有各种操作系统、触摸屏和/或显示屏的硬件设备。
如图1所示,该字段类型识别方法包括以下步骤:
步骤S101,从业务数据表中提取待识别的目标列。
在本公开实施例中,业务数据表可以为数据仓库(或数据库)中的任意一个数据表。
在本公开实施例中,目标列可以为业务数据表中的任意一列或任意一个字段。
步骤S102,采用第一分类模型对目标列进行分类,以得到第一分类结果。
其中,第一分类模型是根据属于指定字段类型的正样本生成的统计模型。
在本公开实施例中,指定字段类型可以包括电话号码、身份证号、邮箱号、网址、银行卡号、护照号码等字段类型。
在本公开实施例中,可以采用第一分类模型对目标列进行分类,得到第一分类结果,其中,第一分类结果,用于指示目标列是否属于指定字段类型。
步骤S103,采用第二分类模型对目标列进行分类,以得到第二分类结果。
其中,第二分类模型是根据属于指定字段类型的正样本和属于非指定字段类型的负样本生成的AI(Artificial Intelligence,人工智能)模型。
在本公开实施例中,可以采用第二分类模型对目标列进行分类,得到第二分类结果,其中,第二分类结果,用于指示目标列是否属于指定字段类型;
步骤S104,根据第一分类结果和/或第二分类结果,确定目标列是否属于指定字段类型。
在本公开实施例中,可以根据第一分类结果和/或第二分类结果,确定目标列是否属于指定字段类型。
在本公开的任意一个实施例之中,根据第一分类结果,确定目标列是否属于指定字段类型的方式,例如为:在第一分类结果指示目标列属于指定字段类型的情形下,确定目标列属于指定字段类型,而在第一分类结果指示目标列不属于指定字段类型的情形下,确定目标列不属于指定字段类型。
在本公开的任意一个实施例之中,根据第二分类结果,确定目标列是否属于指定字段类型的方式,例如为:在第二分类结果指示目标列属于指定字段类型的情形下,确定目标列属于指定字段类型,而在第二分类结果指示目标列不属于指定字段类型的情形下,确定目标列不属于指定字段类型。
在本公开的任意一个实施例之中,根据第一分类结果和第二分类结果,确定目标列是否属于指定字段类型的方式,例如为:在第一分类结果指示目标列属于指定字段类型,且第二分类结果指示目标列属于指定字段类型的情形下,确定目标列属于指定字段类型,而在第一分类结果指示目标列不属于指定字段类型,和/或,第二分类结果指示目标列不属于指定字段类型的情形下,确定目标列不属于指定字段类型。
由此,可以实现根据不同方式,准确识别目标列是否属于指定字段类型,可以提升该方法的灵活性和适用性。
本公开实施例的字段类型识别方法,通过从业务数据表中提取待识别的目标列;采用第一分类模型对目标列进行分类,以得到第一分类结果;其中,第一分类模型是根据属于指定字段类型的正样本生成的统计模型;第一分类结果指示目标列是否属于指定字段类型;采用第二分类模型对目标列进行分类,以得到第二分类结果;其中,第二分类模型是根据属于指定字段类型的正样本和属于非指定字段类型的负样本生成的人工智能模型;第二分类结果指示目标列是否属于指定字段类型;根据第一分类结果和/或第二分类结果,确定目标列是否属于指定字段类型。由此,无需用户现场编写正则表达式或代码,来识别业务数据表中的每列或每个字段是否属于指定字段类型,可以降低使用门槛、时间成本和人力成本。并且,在没有负样本,或者,负样本的质量不佳时,也可以准确识别业务数据表中的每列是否属于指定字段类型,提升该方法的适用性。
图2为本公开实施例提供的另一种字段类型识别方法的流程示意图。
如图2所示,该字段类型识别方法可以包括以下步骤:
步骤S201,从业务数据表中提取待识别的目标列,并从目标列中提取至少一个目标数据。
其中,业务数据表和目标列的解释说明可以参见上述实施例中的相关描述,在此不做赘述。
在本公开实施例中,可以从目标列中提取至少一个目标数据。例如,目标列可以包括M行,其中,每一行为一个数据,可以从M行中随机选择至少一行,作为目标数据,或者,可以从M行中按序选择至少一行,作为目标数据,或者,也可以基于其他算法,从M行中选择至少一行,作为目标数据,如,可以每隔N行,选择一个数据,作为目标数据,等等,本公开对此并不作限制。
其中,M和N均为正整数,且,N小于M。
步骤S202,采用第一分类模型对各目标数据进行分类,以得到第三分类结果。
其中,第一分类模型是根据属于指定字段类型的正样本生成的统计模型。
在本公开实施例中,指定字段类型可以包括电话号码、身份证号、邮箱号、网址、银行卡号、护照号码等字段类型。
在本公开实施例中,可以采用第一分类模型对各个目标数据进行分类,得到第三分类结果,其中,第三分类结果,用于指示各个目标数据是否属于指定字段类型。
步骤S203,采用第二分类模型对各目标数据进行分类,以得到第四分类结果。
其中,第二分类模型是根据属于指定字段类型的正样本和属于非指定字段类型的负样本生成的AI模型。
在本公开实施例中,可以采用第二分类模型对各个目标数据进行分类,得到第四分类结果,其中,第四分类结果,用于指示各个目标数据是否属于指定字段类型。
步骤S204,根据第三分类结果和/或第四分类结果,确定目标列是否属于指定字段类型。
在本公开实施例中,可以根据第三分类结果和/或第四分类结果,确定目标列是否属于指定字段类型。
在本公开的任意一个实施例之中,根据第三分类结果,确定目标列是否属于指定字段类型的方式,例如为:首先,可以根据第三分类结果,确定属于指定字段类型的目标数据的数量(本公开中记为第三数量),并统计目标数据的总数量(本公开中记为第三总数量),之后,可以计算第三数量与第三总数量的占比(本公开中记为第三占比),并判断第三占比是否大于或等于某个设定的占比阈值(本公开中记为第三占比阈值,如85%、90%、95%等),若第三占比大于或等于第三占比阈值,则确定目标列属于指定字段类型,而若第三占比小于第三占比阈值,则确定目标列不属于指定字段类型。
在本公开的任意一个实施例之中,根据第四分类结果,确定目标列是否属于指定字段类型的方式,例如为:首先,可以根据第四分类结果,确定属于指定字段类型的目标数据的数量(本公开中记为第四数量),并统计目标数据的总数量(本公开中记为第四总数量),之后,可以计算第四数量与第四总数量的占比(本公开中记为第四占比),并判断第四占比是否大于或等于某个设定的占比阈值(本公开中记为第四占比阈值),若第四占比大于或等于第四占比阈值,则确定目标列属于指定字段类型,而若第四占比小于第四占比阈值,则确定目标列不属于指定字段类型。
在本公开的任意一个实施例之中,根据第三分类结果和第四分类结果,确定目标列是否属于指定字段类型的方式,例如为:首先,可以根据第三分类结果和第四分类结果,从各目标数据中确定参考数据;其中,第三分类结果和第四分类结果均指示该参考数据属于指定字段类型,之后,可以统计参考数据的数量(本公开中记为第五数量),以及统计目标数据的总数量(本公开中记为第五总数量),接着,可以计算第五数量与第五总数量的占比(本公开中记为第五占比),并判断第五占比是否大于或等于第五占比阈值,若第五占比大于或等于第五占比阈值,则确定目标列属于指定字段类型,若第五占比小于第五占比阈值,则确定目标列不属于指定字段类型。
需要说明的是,本公开实施例对第三占比阈值、第四占比阈值和第五占比阈值的大小关系不作限制,即,第三占比阈值、第四占比阈值和第五占比阈值可以相等,或者也可以不等。
由此,可以实现根据不同方式,准确识别目标列是否属于指定字段类型,可以提升该方法的灵活性和适用性。
本公开实施例的字段类型识别方法,通过从业务数据表中提取待识别的目标列,并从目标列中提取至少一个目标数据;采用第一分类模型对各目标数据进行分类,以得到第三分类结果;其中,第一分类模型是根据属于指定字段类型的正样本生成的统计模型;第三分类结果指示各目标数据是否属于指定字段类型;采用第二分类模型对各目标数据进行分类,以得到第四分类结果;其中,第二分类模型是根据属于指定字段类型的正样本和属于非指定字段类型的负样本生成的人工智能模型;第四分类结果指示各目标数据是否属于指定字段类型;根据第三分类结果和/或第四分类结果,确定目标列是否属于指定字段类型。由此,无需用户现场编写正则表达式或代码,来识别业务数据表中的每列或每个字段是否属于指定字段类型,可以降低使用门槛、时间成本和人力成本。并且,在没有负样本,或者,负样本的质量不佳时,也可以准确识别业务数据表中的每列是否属于指定字段类型,提升该方法的适用性。
为了清楚说明上述图1和图2实施例中是如何根据属于指定字段类型的正样本生成第一分类模型的,本公开还提出一种第一分类模型的生成方法。
图3为本公开实施例提供的一种第一分类模型的生成方法的流程示意图。
如图3所示,该第一分类模型的生成方法可以包括以下步骤:
步骤S301,获取属于指定字段类型的至少一个正样本。
其中,对正样本的获取方式不作限制,比如,可以通过相关人员人工提供正样本,或者,可以在线采集正样本,或者,可以通过生成模型自动生成正样本,等等,本公开实施例对此并不作限制。
步骤S302,针对任一正样本,对任一正样本进行特征提取,以得到多个特征维度的第一特征值,并对多个特征维度的第一特征值进行拼接,以得到任一正样本的第一特征向量。
其中,特征维度包括但不限于:字符串长度、是否包含数字、是否包含字母、包含字母的数量、包含数字的数量、是否包含特殊字符(或指定字符,如“ε”、“π”等)、包含特殊字符(或指定字符)的数量、是否以字母开头、是否以字母结尾、是否以特殊符号(或指定符号,如“@”、“-”、“/”等)开头、是否以特殊符号(或指定符号)结尾等维度。
在本公开实施例中,针对任意一个正样本,可以对该正样本进行特征提取,得到多个特征维度的特征值(本公开中记为第一特征值),并对多个特征维度的第一特征值进行拼接,得到该正样本的第一特征向量。
步骤S303,对各正样本的第一特征向量进行聚类,以得到至少一个目标聚簇;其中,目标聚簇的聚类中心点与目标聚簇中各第一特征向量之间的距离小于与聚类中心点对应的目标距离阈值。
其中,聚类中心点是指目标聚簇的中心(或称为质心、重心,即目标聚簇中最具代表性的点,比如,可以为目标聚簇中所有点的平均值或中心点等)。
在本公开实施例中,可以采用聚类算法(如k均值聚类算法(k-means clusteringalgorithm)、基于密度的聚类算法(Density-Based Spatial Clustering ofApplications with Noise,简称DBSCAN)等)对各正样本的第一特征向量进行聚类,得到至少一个目标聚簇,其中,同一个目标聚簇的聚类中心点与该目标聚簇中的各个第一特征向量之间的距离小于与该聚类中心点对应的目标距离阈值。
举例而言,当指定字段类型为身份证号时,由于不同区域的身份证号之间的相似度较低,对不同区域的身份证号进行聚类,可以得到多个目标聚簇。再比如,当指定字段类型为电话号码时,由于座机号码、手机号码、各个机构的客服热线等号码长度不同,对这些电话号码进行聚类,也可以得到多个目标聚簇。
在本公开的任意一个实施例之中,目标聚簇的获取方式,例如可以为:首先,可以采用聚类算法,确定各个第一特征向量中的至少一个初始中心点,并生成各个初始中心点对应的初始距离阈值。
之后,可以基于各初始中心点和对应的初始距离阈值,对各第一特征向量进行聚类,并在聚类的过程中,按照设定步长提高初始距离阈值以及对初始中心点进行更新,以使聚类得到的至少一个目标聚簇中包括设定比例(如80%、85%等)的第一特征向量。
其中,目标聚簇的聚类中心点是根据最后一次更新的初始中心点确定的,聚类中心点与目标聚簇中各第一特征向量之间的距离小于与聚类中心点对应的目标距离阈值。
其中,目标距离阈值是根据最后一次调整的初始距离阈值确定的,比如,目标距离阈值=设定系数*最后一次调整的初始距离阈值,比如,设定系数可以为1.1、1.2等。
由此,可以实现对异常的正样本的第一特征向量进行过滤,使得各个目标聚簇中包括正常的正样本的第一特征向量,从而提升第一分类模型的分类精度,即提升分类的准确性。
步骤S304,根据各目标聚簇,以及各目标聚簇对应的聚类中心点和目标距离阈值,生成第一分类模型。
在本公开实施例中,可以根据各目标聚簇,以及各目标聚簇对应的聚类中心点和目标距离阈值,生成第一分类模型。
本公开实施例的第一分类模型的生成方法,可以实现根据各个正样本的特征向量,有效生成第一分类模型,从而提升业务数据表中各列或各字段分类的有效性。
为了清楚说明本公开上述实施例中步骤S102中是如何对目标列进行分类,得到第一分类结果的,本公开还提出一种字段类型识别方法。
图4为本公开实施例提供的另一种字段类型识别方法的流程示意图。
如图4所示,在图1所示实施例的基础上,步骤S102具体可以包括以下步骤:
步骤S401,从目标列中提取至少一个第一数据。
在本公开实施例中,可以从目标列中提取至少一个第一数据,其中,第一数据的提取方式与上述实施例中目标数据的提取方式类似,在此不做赘述。
步骤S402,针对任一第一数据,对任一第一数据进行特征提取,以得到多个特征维度的第二特征值,并对多个特征维度的第二特征值进行拼接,以得到任一第一数据的第二特征向量。
在本公开实施例中,针对任意一个第一数据,可以对该第一数据进行特征提取,得到多个特征维度的第二特征值,并对多个特征维度的第二特征值进行拼接,得到该第一数据的第二特征向量。其实现原理与步骤S302类似,在此不做赘述。
步骤S403,根据第二特征向量、第一分类模型中各目标聚簇的聚类中心点和目标距离阈值,确定任一第一数据是否属于指定字段类型。
在本公开实施例中,可以根据第二特征向量,以及根据第一分类模型中各目标聚簇的聚类中心点和目标距离阈值,确定该第一数据是否属于指定字段类型。
在本公开的任意一个实施例之中,第一数据是否属于指定字段类型的确定方式,例如为:首先,可以计算第二特征向量与各个目标聚簇的聚类中心点之间的距离,比如,可以采用欧氏距离、曼哈顿距离、切比雪夫距离、夹角余弦距离等距离计算方法,计算第二特征向量与各个目标聚簇的聚类中心点之间的距离。
之后,可以判断各目标聚簇的中心点与第二特征向量之间的距离,是否小于与对应目标聚簇的聚类中心点所对应的目标距离阈值,若存在至少一个目标聚簇的聚类中心点与第二特征向量之间的距离,小于与对应目标聚簇的聚类中心点所对应的目标距离阈值,则确定该第一数据属于指定字段类型,而若所有的目标聚簇的聚类中心点与第二特征向量之间的距离,均大于或等于与对应目标聚簇的聚类中心点所对应的目标距离阈值,则确定该第一数据不属于指定字段类型。
举例而言,假设第一分类模型包括两个目标聚簇,分别为簇1和簇2,与簇1的聚类中心点对应的目标距离阈值为A,与簇2的聚类中心点对应的目标距离阈值为B,如果第一数据的第二特征向量与簇1的聚类中心点之间的距离小于A,或者,如果第二特征向量与簇2的聚类中心点之间的距离小于B,则确定该第一数据属于指定字段类型,而如果第一数据的第二特征向量与簇1的聚类中心点之间的距离大于A,并且,如果第一数据的第二特征向量与簇2的聚类中心点之间的距离大于B,则确定该第一数据不属于指定字段类型。
由此,在第一数据与某个聚类中心点之间的距离较小时,可确定该第一数据属于指定字段类型,而在该第一数据与所有的聚类中心点之间的距离均较大时,可确定该第一数据不属于指定字段类型,可以提升分类的准确性。
步骤S404,根据属于指定字段类型的第一数据的第一数量,确定第一分类结果。
在本公开实施例中,可以统计属于指定字段类型的第一数据的数量(本公开中记为第一数量),以根据该第一数量确定第一分类结果。比如,当第一数量相对较大时,可以确定第一分类结果指示目标列属于指定字段类型,而当第一数量相对较小时,可以确定第一分类结果指示目标列不属于指定字段类型。
在本公开的任意一个实施例之中,第一分类结果的确定方式,例如为:首先,可以统计第一数据的总数量(本公开中记为第一总数量),并计算第一数量与第一总数量的占比(本公开中记为第一占比),之后,可以判断第一占比是否大于或等于某个设定的占比阈值(本公开中记为第一占比阈值),若第一占比大于或等于第一占比阈值,则确定第一分类结果指示目标列属于指定字段类型,而若第一占比小于第一占比阈值,则确定第一分类结果指示目标列不属于指定字段类型。
由此,在属于指定字段类型的第一数据的占比超过第一占比阈值时,确定目标列属于指定字段类型,可以排除目标列中异常数据的影响,提升目标列分类的准确性。
本公开实施例的字段类型识别方法,可以实现根据目标列中每个第一数据的分类结果,确定目标列是否属于指定字段类型,可以提升目标列分类的准确性。
为了清楚说明本公开上述实施例中步骤S202中是如何对目标列中的每个目标数据进行分类,得到第三分类结果的,本公开还提出一种字段类型识别方法。
图5为本公开实施例提供的另一种字段类型识别方法的流程示意图。
如图5所示,在图2所示实施例的基础上,步骤S202具体可以包括以下步骤:
步骤S501,针对任一目标数据,对任一目标数据进行特征提取,以得到多个特征维度的第三特征值。
在本公开实施例中,针对任意一个目标数据,可以对该目标数据进行特征提取,得到多个特征维度的第三特征值。其实现原理与步骤S302类似,在此不做赘述。
步骤S502,对多个特征维度的第三特征值进行拼接,以得到任一目标数据的第六特征向量。
在本公开实施例中,可以对多个特征维度的第三特征值进行拼接,以得到上述目标数据的第六特征向量。
步骤S503,根据第六特征向量、第一分类模型中各目标聚簇的聚类中心点和目标距离阈值,确定第三分类结果。
在本公开实施例中,可以根据第六特征向量,以及根据第一分类模型中各目标聚簇的聚类中心点和目标距离阈值,确定第三分类结果。
在本公开的任意一个实施例之中,第三分类结果的确定方式,例如为:首先,可以计算第六特征向量与各个目标聚簇的聚类中心点之间的距离,比如,可以采用欧氏距离、曼哈顿距离、切比雪夫距离、夹角余弦距离等距离计算方法,计算第六特征向量与各个目标聚簇的聚类中心点之间的距离。
之后,可以判断各目标聚簇的中心点与第六特征向量之间的距离,是否小于与对应目标聚簇的聚类中心点所对应的目标距离阈值,若存在至少一个目标聚簇的聚类中心点与第六特征向量之间的距离,小于与对应目标聚簇的聚类中心点所对应的目标距离阈值,则确定第三分类结果指示该目标数据属于指定字段类型,而若所有的目标聚簇的聚类中心点与第六特征向量之间的距离,均大于或等于与对应目标聚簇的聚类中心点所对应的目标距离阈值,则确定第三分类结果指示该目标数据不属于指定字段类型。
由此,在目标数据与某个聚类中心点之间的距离较小时,可确定第三分类结果指示该目标数据属于指定字段类型,而在该目标数据与所有的聚类中心点之间的距离均较大时,可确定第三分类结果指示该目标数据不属于指定字段类型,可以提升分类的准确性。
本公开实施例的字段类型识别方法,可以实现根据目标列中每个目标数据与各目标聚簇的聚类中心点之间的距离,确定该目标数据是否属于指定字段类型,可以提升目标数据分类的准确性。
为了清楚说明上述图1和图2实施例中是如何根据属于指定字段类型的正样本和属于非指定字段类型的负样本,生成第二分类模型的,本公开还提出一种第二分类模型的生成方法。
图6为本公开实施例提供的一种第二分类模型的生成方法的流程示意图。
如图6所示,该第二分类模型的生成方法可以包括以下步骤:
步骤S601,获取属于指定字段类型的至少一个正样本,以及获取属于非指定字段类型的至少一个负样本。
其中,对正样本和负样本的获取方式不作限制,比如,可以通过相关人员人工提供,或者,可以在线采集,或者,可以通过生成模型自动生成,等等,本公开实施例对此并不作限制。
步骤S602,分别对各正样本和各负样本进行特征提取,以得到各正样本的第三特征向量和各负样本的第四特征向量。
在本公开实施例中,针对任意一个正样本,可以采用特征提取算法,对该正样本进行特征提取,得到该正样本的第三特征向量。
同理,针对任意一个负样本,可以采用特征提取算法,对该负样本进行特征提取,得到该负样本的第四特征向量。
需要说明的是,对于统计模型,如果特征维度的数量过高,则可能导致单列数据之间的差异被弱化,而降低模型的分类精度,AI模型不存在统计模型这一问题,因此,AI模型可以提取更为丰富的特征维度。即,步骤S602中,针对每个样本(包括正样本和负样本),可以提取比步骤S302更多的特征值,基于所提取的特征值,生成该样本的特征向量。
步骤S603,根据各正样本的第三特征向量和各负样本的第四特征向量,生成特征维度的自变量。
在本公开实施例中,可以根据各个正样本的第三特征向量和各个负样本的第四特征向量,生成特征维度的自变量,即,自变量可以为一个大的特征向量或矩阵,包括所有正样本的第三特征向量和所有负样本的第四特征向量。
步骤S604,根据各正样本和各负样本的样本标签,生成因变量。
在本公开实施例中,样本标签用于指示对应样本是否为正样本,比如,正样本的样本标签可以为1,负样本的样本标签可以为0。
在本公开实施例中,可以根据各个正样本的样本标签和各个负样本的样本标签,生成因变量,即,因变量为一个特征向量,该特征向量中包括所有样本的样本标签。
步骤S605,根据特征维度的自变量和因变量,生成第二分类模型。
在本公开实施例中,可以采用常用的有监督分类算法(例如逻辑回归算法、随机森林算法、XGBOOST(eXtreme Gradient Boosting)等),基于自变量和因变量,生成第二分类模型。
本公开实施例的第二分类模型的生成方法,可以实现根据各个正样本的特征向量和各个负样本的特征向量,有效生成第二分类模型,从而提升业务数据表中各列或各字段分类的有效性。
为了清楚说明本公开上述实施例中步骤S103中是如何对目标列进行分类,得到第二分类结果的,本公开还提出一种字段类型识别方法。
图7为本公开实施例提供的另一种字段类型识别方法的流程示意图。
如图7所示,在图1所示实施例的基础上,步骤S103具体可以包括以下步骤:
步骤S701,从目标列中提取至少一个第二数据。
在本公开实施例中,可以从目标列中提取至少一个第二数据,其中,第二数据的提取方式与上述实施例中目标数据的提取方式类似,在此不做赘述。
步骤S702,针对任一第二数据,对任一第二数据进行特征提取,以得到任一第二数据的第五特征向量。
在本公开实施例中,针对任意一个第二数据,可以采用特征提取算法,对该第二数据进行特征提取,得到该第二数据的第五特征向量。其实现原理与步骤S602类似,在此不做赘述。
步骤S703,采用第二分类模型对第五特征向量进行分类,以得到任一第二数据的分类标签,其中,分类标签用于指示任一第二数据是否属于指定字段类型。
在本公开实施例中,可以采用第二分类模型对第五特征向量进行分类,得到上述第二数据的分类标签,其中,分类标签用于指示该第二数据是否属于指定字段类型,比如,当分类标签为1时,指示第二数据属于指定字段类型,当分类标签为0时,指示第二数据不属于指定字段类型。
步骤S704,根据各第二数据的分类标签,确定第二分类结果。
在本公开实施例中,可以根据各第二数据的分类标签,确定第二分类结果。
在本公开的任意一个实施例之中,第二分类结果的确定方式,例如为:首先,可以根据各第二数据的分类标签,从各第二数据中确定第三数据,其中,第三数据的分类标签指示第三数据属于指定字段类型,之后,可以统计第三数据的数量(本公开中记为第二数量),并统计第二数据的总数量(本公开中记为第二总数量),接着,可以计算第二数量与第二总数量的占比(本公开中记为第二占比),并判断第二占比是否大于或等于某个设定的占比阈值(本公开中记为第二占比阈值),若第二占比大于或等于第二占比阈值,则确定第二分类结果指示目标列属于指定字段类型,而若第二占比小于第二占比阈值,则确定第二分类结果指示目标列不属于指定字段类型。
需要说明的是,本公开实施例中对第一占比阈值和第二占比阈值的大小关系不作限制,即,第一占比阈值与第二占比阈值可以相等,也可以不相等。
由此,在属于指定字段类型的第二数据的占比超过第二占比阈值时,确定目标列属于指定字段类型,可以排除目标列中异常数据的影响,提升目标列分类的准确性。
本公开实施例的字段类型识别方法,可以实现根据目标列中每个第二数据的分类结果,确定目标列是否属于指定字段类型,可以提升目标列分类的准确性。
为了清楚说明本公开上述实施例中步骤S203中是如何对目标列中的每个目标数据进行分类,得到第四分类结果的,本公开还提出一种字段类型识别方法。
图8为本公开实施例提供的另一种字段类型识别方法的流程示意图。
如图8所示,在图2所示实施例的基础上,步骤S203具体可以包括以下步骤:
步骤S801,针对任一目标数据,对任一目标数据进行特征提取,以得到任一目标数据的第七特征向量。
在本公开实施例中,针对任意一个目标数据,可以采用特征提取算法,对该目标数据进行特征提取,得到该目标数据的第七特征向量。其实现原理与步骤S602类似,在此不做赘述。
步骤S802,采用第二分类模型对第七特征向量进行分类,以得到第四分类结果。
在本公开实施例中,可以采用第二分类模型对第七特征向量进行分类,以得到第四分类结果,即,可以根据第二分类模型输出的分类标签,确定第四分类结果。比如,当第二分类模型输出的分类标签为1时,第四分类结果用于指示该目标数据属于指定字段类型,当第二分类模型输出的分类标签为0时,第四分类结果用于指示该目标数据不属于指定字段类型。
本公开实施例的字段类型识别方法,可以实现采用第二分类模型对目标数据的特征向量进行有效分类,提升第四分类结果获取的有效性。
在本公开的任意一个实施例之中,在采用上述实施例确定目标列是否属于指定字段类型之后,还可以由人工校验确定结果是否正确,若人工校验确定结果不正确,则还可以由人工对目标列的确定结果进行修正,并基于修正结果,对第一分类模型和/或第二分类模型进行更新,以进一步提升模型的预测精度。下面结合图9对上述过程进行详细说明。
图9为本公开实施例提供的另一种字段类型识别方法的流程示意图。
如图9所示,在上述任一实施例的基础上,该字段类型识别方法还可以包括以下步骤:
步骤S901,获取修正请求。
在本公开实施例中,可以展示或输出目标列的确定结果,以由人工对目标列的确定结果进行校验,如果人工校验该目标列的确定结果出错,则可以由人工对目标列的确定结果进行修正。具体地,可以接收或获取人工触发的修正请求。
步骤S902,响应于修正请求,对目标列的识别结果进行更新,以得到更新后的识别结果。
在本公开实施例中,可以响应于人工触发的修正请求,对目标列的确定结果进行更新,以得到更新后的确定结果。
步骤S903,在更新后的确定结果指示目标列属于指定字段类型的情况下,将目标列中各数据作为正样本,并对第一分类模型和/或第二分类模型进行更新。
在本公开实施例中,在更新后的确定结果指示目标列属于指定字段类型的情况下,可以将目标列中各个数据作为正样本,并对第一分类模型和/或第二分类模型进行更新。
步骤S904,在更新后的确定结果指示目标列不属于指定字段类型的情况下,将目标列中各数据作为负样本,并对第二分类模型进行更新。
在本公开实施例中,在更新后的确定结果指示目标列不属于指定字段类型的情况下,可以将目标列中的各个数据作为负样本,并对第二分类模型进行更新。
本公开实施例的字段类型识别方法,可以实现限定根据识别出错的数据列或字段,对第一分类模型和/或第二分类模型进行更新,以提升模型的预测精度。
在本公开的任意一个实施例之中,数据可以为编码(如身份证号、银行卡号、护照号码等等),不包含正常的有语义的自然语言文本。本公开所提供的技术方案,主要解决以下问题:
1、在只有正样本的情况下,生成第一分类模型,来识别数据表中各列中的数据:第一分类模型可以预置在业务系统内。用户只需要给出一定数量的正样本,业务系统可以自动生成第一分类模型。
2、在有正样本和负样本的情况下,生成第二分类模型,来识别数据表中各列中的数据:在用户同时给出一些正样本和一些负样本的情况下,可以采用机器学习技术来生成第二分类模型。其中,利用负样本,可以解决部分情况下只有正样本,而导致分类效果不够完善的问题。
3、在有正样本和负样本,但是负样本过于容易的情况下,建立出来的第二分类模型无法真正学习到样例数据的模式,导致实际使用效果很差。因此,可以融合第一分类模型和第二分类模型,以在一定程度上缓解此种情况。
其中,针对只有正样本的情况:如果有负样本,则比较容易采用机器学习的方式来形成第二分类模型,但如果没有负样本,则通常是无法采用机器学习技术建模的。因此,本公开中,可以采用人工构造特征+特征归一化+统计模型,来完成无负样本情况下的第一分类模型的建立。具体如下:
1、对样例数据(正样本),从多个特征维度构建特征值形成“大宽表”;
2、对大宽表进行聚类,拟合其中心点(本公开中记为聚类中心点)及划定合理的中心点距离阈值(本公开中记为目标距离阈值);
3、保存特征构建逻辑、聚类中心点和目标距离阈值,作为用于确定字段类型的第一分类模型。
其中,针对同时有正样本和负样本的情况:可以采用第二分类模型结合上述第一分类模型来建立融合判断模型,用于解决虽然有负样本但负样本过于“简单”,而导致第二分类模型看上去效果很好,但实际上并没有学到关键区分要素的问题。
即本公开中,用户只需要给出一定数量的样例数据(可以只有正样本,也可以既有正样本也有负样本),本公开可以自动总结其编码特征,自动形成数据识别模型。该模型可以用于在有大量数据表的情况下,同类数据的识别和探测。例如,在只有正样本的情况下,只生成的数据识别模型为第一分类模型,在同时有正样本和负样本的情况下,同时生成第一分类模型和第二分类模型,并对第一分类模型和第二分类模型进行融合。并且,随着用户提供的正负样本的数量的不断增加,第一分类模型和第二分类模型可以迭代更新以获得更好的分类效果。
其中,第一分类模型:无论是只有正样本的情况,或者是同时存在正样本和负样本的情况,都需要先采用正样本建立第一分类模型。其方法包括:对正样本,从多个特征维度构建特征值形成“大宽表”;对大宽表进行聚类,拟合其中心点及合理的中心点距离(本公开中记为目标距离阈值);保存特征构建逻辑、聚类中心点和目标距离阈值,作为第一分类模型。具体实现步骤如下:
步骤1,获取属于待识别的指定字段类型的正样本。正样本的数量需要满足一定的数量要求和具有一定的多样性(推荐去重后不少于50条)。
步骤2,从多个特征维度构建特征值。这些人工设计的特征维度包括:字符串长度、是否包含数字、是否包含字母、包含字母的数量、包含数字的数量、是否包含特殊字符(或指定字符)、包含特殊字符(或指定字符)的数量、是否以字母开头、是否以字母结尾、是否以特殊符号(或指定符号)开头、是否以特殊符号(或指定符号)结尾等。
步骤3,针对每条正样本,按照上面步骤2的特征构建方法,将所有特征值归一化后拼接在一起,作为一个特征向量。将多条正样本的特征向量放在一起,看作一个向量组。
步骤4,针对步骤3得到的向量组,采用聚类算法算得其聚类中心点,并从聚类中心点开始按照一定步长逐步扩展距离阈值,直至该距离阈值可以包含绝80%的正样本,再对距离阈值的绝对值进行20%的放大,作为最终的目标距离阈值。这样做可以避免正样本夹杂着少量异常数据带来的影响。
步骤5,保存上述的特征提取逻辑、聚类算法(含簇数量、聚类中心点、各聚类中心点对应的目标距离阈值),作为第一分类模型。
步骤6,对于需要探测的业务数据表,每列抽样一些数据,采用第一分类模型进行识别。具体过程可以是:采用第一分类模型对每条数据进行分类,得到每条数据的分类结果,再针对所有的数据,统计一下分类结果属于指定字段类型的数据占比,如果占比超过一定阈值,则认为该列和正样本属于同一字段类型。
其中,第二分类模型:对于同时给出正样本和负样本的情况,需要采用正样本和负样本建立第二分类模型进行增强。具体实现步骤如下:
步骤1,获取属于待识别的指定字段类型的正样本和属于非指定字段类型的负样本。正样本和负样本的数量需要满足一定的数量要求和具有一定的多样性(推荐去重后正样本和负样本的数量均不少于50条)。
步骤2,从多个特征维度构建特征值。由于特征的丰富性(正负样本的关键差异是否能在转化成特征后有差异)决定了机器学习效果的上限,且机器学习没有传统统计模型维度过高后单列数据差异被弱化的问题,机器学习应建立比统计模型更丰富的特征维度。
步骤3,针对每条正样本,按照上面步骤2的特征构建方法,将所有特征值拼接在一起,作为一个特征向量。将多条正样本和负样本的特征向量放在一起,看作一个向量组。
步骤4,将针对步骤3得到的向量组作为特征,采用正负样本的样本标签(如正样本的样本标签为1,负样本的样本标签为0),作为训练目标,采用随机森林等分类算法建立第二分类模型。
步骤5,保存上述的特征提取逻辑、分类算法模型权重,作为第二分类模型。
步骤6,对于需要探测的业务数据表,每列抽样一些数据,采用第二分类模型进行识别。具体过程可以是:采用第二分类模型对每条数据进行分类,得到每条数据的分类结果,再针对所有的数据,统计一下分类结果属于指定字段类型的数据占比,如果占比超过一定阈值,则认为该列属于指定字段类型。
其中,第一分类模型和第二分类模型的融合:对于同时给出正样本和负样本的情况,上述流程已经建立了第一分类模型和第二分类模型。最终的判别需要综合两个模型的结果。
第一分类模型的优点是不需要提供负样本,且基本判断逻辑比较靠谱(不会出现负样本太“容易”,而导致第二分类模型看似评估得分很高,但实际区分能力很差的情况),缺点是由于特征维度不能无线扩展至很高维度,导致特征规划较粗,识别效果不够精细(容易将负样本误识别成正样本)。
第二分类模型的优点是特征维度相对较高,理论上会比第一分类模型获得更好的识别效果,但如果负样本太“容易”,则第二分类模型很可能出现虽然在评估过程中获得高分,但实际分类效果比较差的情况。
考虑到上述情况,对于同时生成了第一分类模型和第二分类模型的情况,在使用这两个模型进行判别时,某列数据需在第一分类模型和第二分类模型中都被判别成正,最终结果才是正。这样,既保留了第一分类模型比较稳定的好处,又保留了第二分类模型区分度比较高的好处。
综上,可以实现基于第一分类模型和第二分类模型,对海量数据库的数据进行自动识别。识别后可以进行人工确认防止模型识别有偏差。在人工校验时,如发现第一次的第一分类模型或第二分类模型,将一些不属于指定字段类型的数据误判成属于指定字段类型,则可以将误判的数据列加入到生成第二分类模型时采用的负样本中,就可以有效地改进第二分类模型的识别效果。
可选地,识别出属于指定字段类型的数据列后,还可以关联后续处理动作。如关联数据清洗规则、关联敏感数据处理动作等。
由此,无需人工干预,只需要提供样例数据,即可自动建立数据识别模型,降低了使用门槛,提高可用性和识别效率。
与上述图1、图3、图4、图6、图7和图9实施例提供的字段类型识别方法相对应,本公开的一种实施例还提供一种字段类型识别装置。由于本公开实施例提供的字段类型识别装置与上述几种实施例提供的字段类型识别方法相对应,因此在字段类型识别方法的实施方式也适用于本实施例提供的字段类型识别装置,在本实施例中不再详细描述。
图10为根据本公开一个实施例的字段类型识别装置的结构示意图。
如图10所示,该字段类型识别装置1000,可以包括:提取模块1001、第一分类模块1002、第二分类模块1003以及确定模块1004。
其中,提取模块1001,用于从业务数据表中提取待识别的目标列。
第一分类模块1002,用于采用第一分类模型对目标列进行分类,以得到第一分类结果;其中,第一分类模型是根据属于指定字段类型的正样本生成的统计模型;第一分类结果指示目标列是否属于指定字段类型。
第二分类模块1003,用于采用第二分类模型对目标列进行分类,以得到第二分类结果;其中,第二分类模型是根据属于指定字段类型的正样本和属于非指定字段类型的负样本生成的人工智能模型;第二分类结果指示目标列是否属于指定字段类型。
确定模块1004,用于根据第一分类结果和/或第二分类结果,确定目标列是否属于指定字段类型。
作为本公开实施例的一种可能的实现方式,第一分类模型采用以下模块生成:
第一获取模块,用于获取属于指定字段类型的至少一个正样本。
提取模块1001,还用于针对任一正样本,对任一正样本进行特征提取,以得到多个特征维度的第一特征值。
拼接模块,用于对多个特征维度的第一特征值进行拼接,以得到任一正样本的第一特征向量。
聚类模块,用于对各正样本的第一特征向量进行聚类,以得到至少一个目标聚簇;其中,目标聚簇的聚类中心点与目标聚簇中各第一特征向量之间的距离小于与聚类中心点对应的目标距离阈值。
第一生成模块,用于根据各目标聚簇,以及各目标聚簇对应的聚类中心点和目标距离阈值,生成第一分类模型。
作为本公开实施例的一种可能的实现方式,聚类模块,用于:采用聚类算法,确定各第一特征向量中的至少一个初始中心点;生成各初始中心点对应的初始距离阈值;基于各初始中心点和对应的初始距离阈值,对各第一特征向量进行聚类,并在聚类的过程中,按照设定步长提高初始距离阈值以及对初始中心点进行更新,以使聚类得到的至少一个目标聚簇中包括设定比例的第一特征向量;其中,目标聚簇的聚类中心点是根据最后一次更新的初始中心点确定的,聚类中心点与目标聚簇中各第一特征向量之间的距离小于与聚类中心点对应的目标距离阈值,其中,目标距离阈值是根据最后一次调整的初始距离阈值确定的。
作为本公开实施例的一种可能的实现方式,第一分类模块1002,用于:从目标列中提取至少一个第一数据;针对任一第一数据,对任一第一数据进行特征提取,以得到多个特征维度的第二特征值,并对多个维度的第二特征值进行拼接,以得到任一第一数据的第二特征向量;根据第二特征向量、第一分类模型中各目标聚簇的聚类中心点和目标距离阈值,确定任一第一数据是否属于指定字段类型;根据属于指定字段类型的第一数据的第一数量,确定第一分类结果。
作为本公开实施例的一种可能的实现方式,第一分类模块1002,用于:针对任一目标聚簇,确定任一目标聚簇的聚类中心点与第二特征向量之间的距离;在存在至少一个目标聚簇的聚类中心点与第二特征向量之间的距离,小于与对应目标聚簇的聚类中心点对应的目标距离阈值的情形下,确定任一第一数据属于指定字段类型;在所有的目标聚簇的聚类中心点与第二特征向量之间的距离,均大于或等于与对应目标聚簇的聚类中心点对应的目标距离阈值的情形下,确定任一第一数据不属于指定字段类型。
作为本公开实施例的一种可能的实现方式,第一分类模块1002,用于:获取第一数据的第一总数量;获取第一数量与第一总数量的第一占比;在第一占比大于或等于第一占比阈值的情况下,确定第一分类结果指示目标列属于指定字段类型;在第一占比小于第一占比阈值的情况下,确定第一分类结果指示目标列不属于指定字段类型。
作为本公开实施例的一种可能的实现方式,第二分类模型采用以下模块生成:
第二获取模块,用于获取属于指定字段类型的至少一个正样本,以及获取属于非指定字段类型的至少一个负样本。
提取模块1001,还用于分别对各正样本和各负样本进行特征提取,以得到各正样本的第三特征向量和各负样本的第四特征向量。
第二生成模块,用于根据各正样本的第三特征向量和各负样本的第四特征向量,生成特征维度的自变量。
第三生成模块,用于根据各正样本和各负样本的样本标签,生成因变量;其中,样本标签用于指示对应样本是否为正样本。
第四生成模块,用于根据特征维度的自变量和因变量,生成第二分类模型。
作为本公开实施例的一种可能的实现方式,第二分类模块1003,用于:从目标列中提取至少一个第二数据;针对任一第二数据,对任一第二数据进行特征提取,以得到任一第二数据的第五特征向量;采用第二分类模型对第五特征向量进行分类,以得到任一第二数据的分类标签,其中,分类标签用于指示任一第二数据是否属于指定字段类型;根据各第二数据的分类标签,确定第二分类结果。
作为本公开实施例的一种可能的实现方式,第二分类模块1003,用于:根据各第二数据的分类标签,从各第二数据中确定第三数据,其中,第三数据的分类标签指示第三数据属于指定字段类型;获取第三数据的第二数量,并获取第二数据的第二总数量;在第二数量与第二总数量的第二占比大于或等于第二占比阈值的情况下,确定第二分类结果指示目标列属于指定字段类型;在第二占比小于第二占比阈值的情况下,确定第二分类结果指示目标列不属于指定字段类型。
作为本公开实施例的一种可能的实现方式,确定模块1004,用于:在第一分类结果指示目标列属于指定字段类型的情形下,确定目标列属于指定字段类型;在第一分类结果指示目标列不属于指定字段类型的情形下,确定目标列不属于指定字段类型;
确定模块1004,用于:在第二分类结果指示目标列属于指定字段类型的情形下,确定目标列属于指定字段类型;在第二分类结果指示目标列不属于指定字段类型的情形下,确定目标列不属于指定字段类型;
确定模块1004,用于:在第一分类结果指示目标列属于指定字段类型,且第二分类结果指示目标列属于指定字段类型的情形下,确定目标列属于指定字段类型;在第一分类结果指示目标列不属于指定字段类型,和/或,第二分类结果指示目标列不属于指定字段类型的情形下,确定目标列不属于指定字段类型。
作为本公开实施例的一种可能的实现方式,该字段类型识别装置1000还可以包括:
更新模块,用于获取修正请求;响应于修正请求,对目标列的确定结果进行更新,以得到更新后的识别结果;在更新后的确定结果指示目标列属于指定字段类型的情况下,将目标列中各数据作为正样本,并对第一分类模型和/或第二分类模型进行更新;在更新后的确定结果指示目标列不属于指定字段类型的情况下,将目标列中各数据作为负样本,并对第二分类模型进行更新。
本公开实施例中的字段类型识别装置,通过从业务数据表中提取待识别的目标列;采用第一分类模型对目标列进行分类,以得到第一分类结果;其中,第一分类模型是根据属于指定字段类型的正样本生成的统计模型;第一分类结果指示目标列是否属于指定字段类型;采用第二分类模型对目标列进行分类,以得到第二分类结果;其中,第二分类模型是根据属于指定字段类型的正样本和属于非指定字段类型的负样本生成的人工智能模型;第二分类结果指示目标列是否属于指定字段类型;根据第一分类结果和/或第二分类结果,确定目标列是否属于指定字段类型。由此,无需用户现场编写正则表达式或代码,来识别业务数据表中的每列或每个字段是否属于指定字段类型,可以降低使用门槛、时间成本和人力成本。并且,在没有负样本,或者,负样本的质量不佳时,也可以准确识别业务数据表中的每列是否属于指定字段类型,提升该方法的适用性。
与上述图2、图5、图6、图8和图9实施例提供的字段类型识别方法相对应,本公开的一种实施例还提供一种字段类型识别装置。由于本公开实施例提供的字段类型识别装置与上述几种实施例提供的字段类型识别方法相对应,因此在字段类型识别方法的实施方式也适用于本实施例提供的字段类型识别装置,在本实施例中不再详细描述。
图11为根据本公开另一个实施例的字段类型识别装置的结构示意图。
如图11所示,该字段类型识别装置1100,可以包括:提取模块1101、第一处理模块1102、第二处理模块1103以及确定模块1104。
其中,提取模块1101,用于从业务数据表中提取待识别的目标列,并从目标列中提取至少一个目标数据。
第一处理模块1102,用于采用第一分类模型对各目标数据进行分类,以得到第三分类结果;其中,第一分类模型是根据属于指定字段类型的正样本生成的统计模型;第三分类结果指示各目标数据是否属于指定字段类型。
第二处理模块1103,用于采用第二分类模型对各目标数据进行分类,以得到第四分类结果;其中,第二分类模型是根据属于指定字段类型的正样本和属于非指定字段类型的负样本生成的人工智能模型;第四分类结果指示各目标数据是否属于指定字段类型。
确定模块1104,用于根据第三分类结果和/或第四分类结果,确定目标列是否属于指定字段类型。
作为本公开实施例的一种可能的实现方式,第一分类模型采用以下模块生成:
第一获取模块,用于获取属于指定字段类型的至少一个正样本。
提取模块1101,还用于针对任一正样本,对任一正样本进行特征提取,以得到多个特征维度的第一特征值。
拼接模块,用于对多个特征维度的第一特征值进行拼接,以得到任一正样本的第一特征向量。
聚类模块,用于对各正样本的第一特征向量进行聚类,以得到至少一个目标聚簇;其中,目标聚簇的聚类中心点与目标聚簇中各第一特征向量之间的距离小于与聚类中心点对应的目标距离阈值。
第一生成模块,用于根据各目标聚簇,以及各目标聚簇对应的聚类中心点和目标距离阈值,生成第一分类模型。
作为本公开实施例的一种可能的实现方式,聚类模块,用于:采用聚类算法,确定各第一特征向量中的至少一个初始中心点;生成各初始中心点对应的初始距离阈值;基于各初始中心点和对应的初始距离阈值,对各第一特征向量进行聚类,并在聚类的过程中,按照设定步长提高初始距离阈值以及对初始中心点进行更新,以使聚类得到的至少一个目标聚簇中包括设定比例的第一特征向量;其中,目标聚簇的聚类中心点是根据最后一次更新的初始中心点确定的,聚类中心点与目标聚簇中各第一特征向量之间的距离小于与聚类中心点对应的目标距离阈值,其中,目标距离阈值是根据最后一次调整的初始距离阈值确定的。
作为本公开实施例的一种可能的实现方式,第二分类模型采用以下模块生成:
第二获取模块,用于获取属于指定字段类型的至少一个正样本,以及获取属于非指定字段类型的至少一个负样本。
提取模块1101,还用于分别对各正样本和各负样本进行特征提取,以得到各正样本的第三特征向量和各负样本的第四特征向量。
第二生成模块,用于根据各正样本的第三特征向量和各负样本的第四特征向量,生成特征维度的自变量。
第三生成模块,用于根据各正样本和各负样本的样本标签,生成因变量;其中,样本标签用于指示对应样本是否为正样本。
第四生成模块,用于根据特征维度的自变量和因变量,生成第二分类模型。
作为本公开实施例的一种可能的实现方式,第一处理模块1102,用于:针对任一目标数据,对任一目标数据进行特征提取,以得到多个特征维度的第三特征值;对多个特征维度的第三特征值进行拼接,以得到任一目标数据的第六特征向量;根据第六特征向量、第一分类模型中各目标聚簇的聚类中心点和目标距离阈值,确定第三分类结果。
作为本公开实施例的一种可能的实现方式,第一处理模块1102,用于:针对任一目标聚簇,确定任一目标聚簇的聚类中心点与第六特征向量之间的距离;在存在至少一个目标聚簇的聚类中心点与第六特征向量之间的距离,小于与对应目标聚簇的聚类中心点对应的目标距离阈值的情形下,确定第三分类结果指示任一目标数据属于指定字段类型;在所有的目标聚簇的聚类中心点与第六特征向量之间的距离,均大于或等于与对应目标聚簇的聚类中心点对应的目标距离阈值的情形下,确定第三分类结果指示任一目标数据不属于指定字段类型。
作为本公开实施例的一种可能的实现方式,第二处理模块1103,用于:针对任一目标数据,对任一目标数据进行特征提取,以得到任一目标数据的第七特征向量;采用第二分类模型对第七特征向量进行分类,以得到第四分类结果。
作为本公开实施例的一种可能的实现方式,确定模块1104,用于:根据第三分类结果,确定属于指定字段类型的目标数据的第三数量;统计目标数据的第三总数量;在第三数量与第三总数量的第三占比大于或等于第三占比阈值的情况下,确定目标列属于指定字段类型;在第三占比小于第三占比阈值的情况下,确定目标列不属于指定字段类型;
确定模块1104,用于:根据第四分类结果,确定属于指定字段类型的目标数据的第四数量;统计目标数据的第四总数量;在第四数量与第四总数量的第四占比大于或等于第四占比阈值的情况下,确定目标列属于指定字段类型;在第四占比小于第四占比阈值的情况下,确定目标列不属于指定字段类型;
确定模块1104,用于:根据第三分类结果和第四分类结果,从各目标数据中确定参考数据;其中,第三分类结果和第四分类结果均指示参考数据属于指定字段类型;统计参考数据的第五数量,以及统计目标数据的第五总数量;在第五数量与第五总数量的第五占比大于或等于第五占比阈值的情况下,确定目标列属于指定字段类型;在第五占比小于第五占比阈值的情况下,确定目标列不属于指定字段类型。
作为本公开实施例的一种可能的实现方式,该字段类型识别装置1000还可以包括:
更新模块,用于获取修正请求;响应于修正请求,对目标列的确定结果进行更新,以得到更新后的识别结果;在更新后的确定结果指示目标列属于指定字段类型的情况下,将目标列中各数据作为正样本,并对第一分类模型和/或第二分类模型进行更新;在更新后的确定结果指示目标列不属于指定字段类型的情况下,将目标列中各数据作为负样本,并对第二分类模型进行更新。
本公开实施例中的字段类型识别装置,通过从业务数据表中提取待识别的目标列,并从目标列中提取至少一个目标数据;采用第一分类模型对各目标数据进行分类,以得到第三分类结果;其中,第一分类模型是根据属于指定字段类型的正样本生成的统计模型;第三分类结果指示各目标数据是否属于指定字段类型;采用第二分类模型对各目标数据进行分类,以得到第四分类结果;其中,第二分类模型是根据属于指定字段类型的正样本和属于非指定字段类型的负样本生成的人工智能模型;第四分类结果指示各目标数据是否属于指定字段类型;根据第三分类结果和/或第四分类结果,确定目标列是否属于指定字段类型。由此,无需用户现场编写正则表达式或代码,来识别业务数据表中的每列或每个字段是否属于指定字段类型,可以降低使用门槛、时间成本和人力成本。并且,在没有负样本,或者,负样本的质量不佳时,也可以准确识别业务数据表中的每列是否属于指定字段类型,提升该方法的适用性。
为了实现上述实施例,本公开还提出一种电子设备,图12为本公开实施例提供的一种电子设备的结构示意图。该电子设备包括:
存储器1201、处理器1202及存储在存储器1201上并可在处理器1202上运行的计算机程序。
处理器1202执行所述程序时实现上述任一实施例中提供的字段类型识别方法。
进一步地,电子设备还包括:
通信接口1203,用于存储器1201和处理器1202之间的通信。
存储器1201,用于存放可在处理器1202上运行的计算机程序。
存储器1201可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器1202,用于执行所述程序时实现上述任一实施例所述的字段类型识别方法。
如果存储器1201、处理器1202和通信接口1203独立实现,则通信接口1203、存储器1201和处理器1202可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器1201、处理器1202及通信接口1203,集成在一块芯片上实现,则存储器1201、处理器1202及通信接口1203可以通过内部接口完成相互间的通信。
处理器1202可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本公开实施例的一个或多个集成电路。
为了实现上述实施例,本公开实施例还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述任一实施例中提供的字段类型识别方法。
为了实现上述实施例,本公开实施例还提出一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,实现上述任一实施例中提供的字段类型识别方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本公开的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本公开的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本公开各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本公开的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本公开的限制,本领域的普通技术人员在本公开的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种字段类型识别方法,其特征在于,所述方法包括:
从业务数据表中提取待识别的目标列;
采用第一分类模型对所述目标列进行分类,以得到第一分类结果;其中,所述第一分类模型是根据属于指定字段类型的正样本生成的统计模型;所述第一分类结果指示所述目标列是否属于所述指定字段类型;
采用第二分类模型对所述目标列进行分类,以得到第二分类结果;其中,所述第二分类模型是根据属于所述指定字段类型的正样本和属于非指定字段类型的负样本生成的人工智能模型;所述第二分类结果指示所述目标列是否属于所述指定字段类型;
根据所述第一分类结果和/或所述第二分类结果,确定所述目标列是否属于所述指定字段类型。
2.一种字段类型识别方法,其特征在于,所述方法包括:
从业务数据表中提取待识别的目标列,并从所述目标列中提取至少一个目标数据;
采用第一分类模型对各所述目标数据进行分类,以得到第三分类结果;其中,所述第一分类模型是根据属于指定字段类型的正样本生成的统计模型;所述第三分类结果指示各所述目标数据是否属于所述指定字段类型;
采用第二分类模型对各所述目标数据进行分类,以得到第四分类结果;其中,所述第二分类模型是根据属于所述指定字段类型的正样本和属于非指定字段类型的负样本生成的人工智能模型;所述第四分类结果指示各所述目标数据是否属于所述指定字段类型;
根据所述第三分类结果和/或所述第四分类结果,确定所述目标列是否属于所述指定字段类型。
3.根据权利要求1或2所述的方法,其特征在于,所述第一分类模型采用以下步骤生成:
获取属于所述指定字段类型的至少一个正样本;
针对任一正样本,对所述任一正样本进行特征提取,以得到多个特征维度的第一特征值,并对所述多个特征维度的第一特征值进行拼接,以得到所述任一正样本的第一特征向量;
对各所述正样本的第一特征向量进行聚类,以得到至少一个目标聚簇;其中,所述目标聚簇的聚类中心点与所述目标聚簇中各第一特征向量之间的距离小于与所述聚类中心点对应的目标距离阈值;
根据各所述目标聚簇,以及各所述目标聚簇对应的聚类中心点和目标距离阈值,生成所述第一分类模型。
4.根据权利要求3所述的方法,其特征在于,采用第一分类模型对所述目标列进行分类,以得到第一分类结果,包括:
从所述目标列中提取至少一个第一数据;
针对任一第一数据,对所述任一第一数据进行特征提取,以得到所述多个特征维度的第二特征值,并对所述多个维度的第二特征值进行拼接,以得到所述任一第一数据的第二特征向量;
根据所述第二特征向量、所述第一分类模型中各所述目标聚簇的聚类中心点和目标距离阈值,确定所述任一第一数据是否属于所述指定字段类型;
根据属于所述指定字段类型的第一数据的第一数量,确定所述第一分类结果。
5.根据权利要求1或2所述的方法,其特征在于,所述第二分类模型采用以下步骤生成:
获取属于所述指定字段类型的至少一个正样本,以及获取属于所述非指定字段类型的至少一个负样本;
分别对各所述正样本和各所述负样本进行特征提取,以得到各所述正样本的第三特征向量和各所述负样本的第四特征向量;
根据各所述正样本的第三特征向量和各所述负样本的第四特征向量,生成特征维度的自变量;
根据各所述正样本和各所述负样本的样本标签,生成因变量;其中,所述样本标签用于指示对应样本是否为正样本;
根据所述特征维度的自变量和所述因变量,生成第二分类模型。
6.根据权利要求5所述的方法,其特征在于,采用第二分类模型对所述目标列进行分类,以得到第二分类结果,包括:
从所述目标列中提取至少一个第二数据;
针对任一第二数据,对所述任一第二数据进行特征提取,以得到所述任一第二数据的第五特征向量;
采用所述第二分类模型对所述第五特征向量进行分类,以得到所述任一第二数据的分类标签,其中,所述分类标签用于指示所述任一第二数据是否属于所述指定字段类型;
根据各所述第二数据的分类标签,确定所述第二分类结果。
7.一种字段类型识别装置,其特征在于,包括:
提取模块,用于从业务数据表中提取待识别的目标列;
第一分类模块,用于采用第一分类模型对所述目标列进行分类,以得到第一分类结果;其中,所述第一分类模型是根据属于指定字段类型的正样本生成的统计模型;所述第一分类结果指示所述目标列是否属于所述指定字段类型;
第二分类模块,用于采用第二分类模型对所述目标列进行分类,以得到第二分类结果;其中,所述第二分类模型是根据属于所述指定字段类型的正样本和属于非指定字段类型的负样本生成的人工智能模型;所述第二分类结果指示所述目标列是否属于所述指定字段类型;
确定模块,用于根据所述第一分类结果和/或所述第二分类结果,确定所述目标列是否属于所述指定字段类型。
8.一种字段类型识别装置,其特征在于,包括:
提取模块,用于从业务数据表中提取待识别的目标列,并从所述目标列中提取至少一个目标数据;
第一处理模块,用于采用第一分类模型对各所述目标数据进行分类,以得到第三分类结果;其中,所述第一分类模型是根据属于指定字段类型的正样本生成的统计模型;所述第三分类结果指示各所述目标数据是否属于所述指定字段类型;
第二处理模块,用于采用第二分类模型对各所述目标数据进行分类,以得到第四分类结果;其中,所述第二分类模型是根据属于所述指定字段类型的正样本和属于非指定字段类型的负样本生成的人工智能模型;所述第四分类结果指示各所述目标数据是否属于所述指定字段类型;
确定模块,用于根据所述第三分类结果和/或所述第四分类结果,确定所述目标列是否属于所述指定字段类型。
9.一种电子设备,其特征在于,包括:
存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1-6中任一项所述的字段类型识别方法。
10.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一项所述的字段类型识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311100875.4A CN117271674A (zh) | 2023-08-28 | 2023-08-28 | 字段类型识别方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311100875.4A CN117271674A (zh) | 2023-08-28 | 2023-08-28 | 字段类型识别方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117271674A true CN117271674A (zh) | 2023-12-22 |
Family
ID=89203482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311100875.4A Pending CN117271674A (zh) | 2023-08-28 | 2023-08-28 | 字段类型识别方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117271674A (zh) |
-
2023
- 2023-08-28 CN CN202311100875.4A patent/CN117271674A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10482174B1 (en) | Systems and methods for identifying form fields | |
US20220004878A1 (en) | Systems and methods for synthetic document and data generation | |
CN111915437B (zh) | 基于rnn的反洗钱模型的训练方法、装置、设备及介质 | |
CN110472082B (zh) | 数据处理方法、装置、存储介质及电子设备 | |
US20220342921A1 (en) | Systems and methods for parsing log files using classification and a plurality of neural networks | |
CN111582169A (zh) | 图像识别数据纠错方法、装置、计算机设备和存储介质 | |
CN110245714B (zh) | 图像识别方法、装置及电子设备 | |
CN112949476B (zh) | 基于图卷积神经网络的文本关系检测方法、装置及存储介质 | |
CN110110325B (zh) | 一种重复案件查找方法和装置、计算机可读存储介质 | |
CN110705489B (zh) | 目标识别网络的训练方法、装置、计算机设备和存储介质 | |
US20210200994A1 (en) | Processing method of learning face recognition by artificial intelligence module | |
CN110490237B (zh) | 数据处理方法、装置、存储介质及电子设备 | |
CN113094478B (zh) | 表情回复方法、装置、设备及存储介质 | |
CN112214576B (zh) | 舆情分析方法、装置、终端设备及计算机可读存储介质 | |
CN114298039B (zh) | 敏感词识别方法、装置、电子设备及存储介质 | |
CN110083731B (zh) | 图像检索方法、装置、计算机设备及存储介质 | |
CN110287270B (zh) | 实体关系挖掘方法及设备 | |
CN111738290A (zh) | 图像检测方法、模型构建和训练方法、装置、设备和介质 | |
CN110598112A (zh) | 一种题目推荐方法、装置、终端设备及存储介质 | |
CN117271674A (zh) | 字段类型识别方法、装置、电子设备及存储介质 | |
CN110019829A (zh) | 数据属性确定方法、装置 | |
CN113420699A (zh) | 一种人脸匹配方法、装置及电子设备 | |
JP2021125040A (ja) | 帳票仕分システム、帳票仕分方法、及びプログラム | |
CN111611981A (zh) | 信息识别方法和装置及信息识别神经网络训练方法和装置 | |
CN114418752B (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 |