CN104750852A - 中文地址数据的发现与分类方法 - Google Patents

中文地址数据的发现与分类方法 Download PDF

Info

Publication number
CN104750852A
CN104750852A CN201510175904.2A CN201510175904A CN104750852A CN 104750852 A CN104750852 A CN 104750852A CN 201510175904 A CN201510175904 A CN 201510175904A CN 104750852 A CN104750852 A CN 104750852A
Authority
CN
China
Prior art keywords
data
address
chinese
dictionary
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.)
Granted
Application number
CN201510175904.2A
Other languages
English (en)
Other versions
CN104750852B (zh
Inventor
黄晓涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Massive Cloud (beijing) Data Technology Co Ltd
Original Assignee
Massive Cloud (beijing) Data Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Massive Cloud (beijing) Data Technology Co Ltd filed Critical Massive Cloud (beijing) Data Technology Co Ltd
Priority to CN201510175904.2A priority Critical patent/CN104750852B/zh
Publication of CN104750852A publication Critical patent/CN104750852A/zh
Application granted granted Critical
Publication of CN104750852B publication Critical patent/CN104750852B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种中文地址数据的发现与分类方法。该方法主要包括:预先设定中文地址对应的数据分析规则,提取数据表中的采样数据,按照所述中文地址对应的数据分析规则,对所述采样数据进行中文地址数据分析,根据分析结果发现所述采样数据中的中文地址。本发明实施例可以自动、有效地发现企业应用数据库的数据表中的中文地址数据种类,高效率地将企业应用数据库的数据表中的中文地址关键数据找出来并归类,能够极大地减小了工作量、缩短工作时间。

Description

中文地址数据的发现与分类方法
技术领域
本发明涉及数据处理技术领域,尤其涉及一种中文地址数据的发现与分类方法。
背景技术
IT(Information Technology,信息产业)技术日新月异,IT技术的不断发展,各行各业企事业单位的信息化程度也越来越高,因此,信息在一个企业当中越发凸显其重要性。一个企业或者个人的信息价值也随着整个行业的发展而不断提升。也正因为如此,近年来数据泄漏、销售企业数据获利等事件越发频繁。虽然数据的泄漏并不一定会对企业造成直接的经济损失,但是间接损失和影响是巨大的。比如因信息泄漏没有兑现承诺让服务级别下降,导致流失大批量的优质客户,或者需要承担法律责任。
对于IT安全措施,早期更多是针对网络安全、操作系统安全等措施。而现在,针对信息安全和保障,在国际上已经有很成熟的法律法案,针对数据本身的安全监控、审计、脱敏、保护等技术和产品也在逐渐普及。
在实际应用中,在一个企业的应用系统中,数据库中的表的数量少的几百张,多的几万张,一张表中的字段数量少则几十多则几百。也就是说,一个企业的应用系统中少则几万个字段,多则上亿个字段,每个字段都是一种数据定义。
企业的应用系统中的信息非常多,如果将其中的关键信息区别出来专门对待的话,成本和效率将会是个无法控制。梳理企业的应用系统中的关键数据、敏感信息的工作就变得很重要,并且非常艰难。
因此,开发一种高效率的发现企业的应用系统中的关键数据的方法,是一个亟待解决的问题。
发明内容
本发明的实施例提供了一种中文地址数据的发现与分类方法,以实现有效地提取数据表中的关键数据。
为了实现上述目的,本发明采取了如下技术方案
一种中文地址数据的发现与分类方法,包括:
预先设定中文地址对应的数据分析规则;
提取数据表中的采样数据;
按照所述中文地址对应的数据分析规则,对所述采样数据进行中文地址数据分析,根据分析结果发现所述采样数据中的中文地址。
所述的预先设定中文地址对应的数据分析规则,包括:
将中国地址种类的数据划分为省、市、县、镇、村和街道/路六个级别,根据所述六个级别衍生出21个子类,分别是:省、省到市、省到县、省到镇、省到村、省到路、市、市到县、市到镇、市到村、市到路、县、县到镇、县到村、县到路、镇、镇到村、镇到路、村、村到路、路;
对省、市、县、镇、村和街道/路分别设置一个计数器。
所述的预先设定中文地址对应的数据分析规则,还包括:
构造所述省、市、县、镇、村和街道/路中文地址对应的数据字典,该数据字典中存储了省、市、县、镇、村和街道/路中文地址数据种类中的典型数据。
所述的提取数据表中的采样数据之前,还包括:
读取所述数据表所在的数据库的元数据,该元数据包括每个数据表的数据表名、数据中存储的数据的描述信息,以及每个数据表中的每个字段的字段名、数据类型定义、数据长度精度限制信息,根据所述元数据判断出所述数据库中需要进行数据分析的数据表和数据表中需要进行数据分析的字段;
根据所述数据表中每个字段的字段类型和长度精度,确定需要匹配中文地址对应的数据分析规则的字段。
所述的提取数据表中的采样数据,包括:
设置数据表的采样行数规则为:提取数据表的前N行,从数据表的第N+1行开始提取M‰比率的数据行;当所述数据表中的全部数据记录的行数小于等于所述采样行数阈值N,则提取所述数据表中的全部记录行数的数据作为采样数据;当所述数据表中的数据记录的行数大于所述采样行数阈值,则提取所述数据表中的排列在前列的所述采样行数阈值N的行数,以及排列在所述采样行数阈值的行数后面的全部数据记录的行数的设定比率M‰作为采样数据。
所述的按照所述中文地址对应的数据分析规则,对所述采样数据进行中文地址数据分析,根据分析结果发现所述采样数据中的中文地址,包括:
选取所述采样数据中的第一张数据表的第一行数据记录的数据,对所述第一行数据记录的数据进行拆分,得到多个字段的数据,选取第一个字段的数据,当所述第一字段的类型为字符串类型的字段,且长度大于等于2,则按照中文地址对应的数据分析规则,对所述第一个字段的数据进行中文地址数据分析,根据分析结果对省、市、县、镇、村和街道/路的计数值进行统计处理;
选取第二个字段的数据,按照所述第一个字段的数据分析过程,对所述第二个字段的数据进行数据分析,依次类推,对所述第一行数据记录中的每个字段的数据进行数据分析;
选取所述采样数据中的第二行数据记录的数据,按照所述第一行数据记录的数据的数据分析过程,对所述第二行数据记录的数据进行数据分析,依次类推,对所述采样数据中的所有数据表中的所有行数据记录的数据进行数据分析;
根据某个数据表中的某个字段对应的省、市、县、镇、村和街道/路计数器的计数值,判断所述某个字段的数据类型是否为中文地址。
所述的按照中文地址对应的数据分析规则,对所述第一个字段的数据进行中文地址数据分析,根据分析结果对省、市、县、镇、村和街道/路的计数值进行统计处理,包括:
使用正向最大匹配法对字段的数据进行中文分词,获得所述字段的数据中的地址分词,生成所述地址分词的hash值;
判断所述字段的数据中是否包含设定的街道/路的关键字,如果包含,则将所述地址分词的hash值分别在街道/路字典、省字典、市字典、县字典、镇字典和村字典对应的hashmap索引结构进行检索;否则,将所述地址分词的hash值分别在省字典、市字典、县字典、镇字典和村字典对应的hashmap索引结构进行检索;
当所述地址分词的hash值在某个地址字典对应的hashmap索引结构中检索到,则将所述某个地址字典对应级别的计数器的计数值加1,当所述采样数据中所述字段的数据全部分析完成后,根据所述六个子类对应的计数器的计数值确定所述某个字段的数据类型。
所述的当所述地址分词的hash值在某个地址字典对应的hashmap索引结构中检索到,则将所述某个地址字典对应级别的计数器的计数值加1,包括:
使用中文分词正向最大匹配法对所述字段的数据进行分词,根据六个级别的中文地址字典的内容重新组织生成另一套地址分词字典,所述地址分词字典包括:15字字典、13字字典、12字字典、11字字典、10字字典、9字字典、8字字典、7字字典、6字字典、5字字典、4字字典、3字字典、2字字典,并生成所述地址分词字典中每个字典对应的hashmap索引结构;
从所述字段的数据由左至右取出连续的15个中文字并生成hash值,长度不够15字的取最大连续中文字,将所述15个中文字对应的hash值在15字字典的hashmap索引结构中匹配;若所述15个中文字对应的hash值没有在15字字典的hashmap索引结构中匹配到,那么将所述15个中文字最右边去除两个单字,得到一个13字的中文字符串并生成hash值,将所述13个中文字对应的hash值在13字字典的hashmap索引结构进行匹配;
若所述13个中文字对应的hash值没有在13字字典中的hashmap索引结构匹配到,那么将所述13字中文字符串最右边去除一个单字,得到一个12字的中文字符串并生成hash值,将所述12个中文字对应的hash值在12字字典的hashmap索引结构进行匹配,如此重复循环,直到所述字段的数据的某个中文字的hash值在某个地址分词字典的hashmap索引结构中匹配成功,则将所述hash值对应的中文字符串为一个有效中文地址分词,并记录下来,不进行后续的hash值在地址分词字典的hashmap索引结构中的匹配操作;
若所述字段的数据的所有中文字的hash值在所有地址分词字典的hashmap索引结构中都没有匹配成功,则获得所述字段的数据的一个中文单字,将所述字段的数据左边去除获得的所述有效中文地址分词或者中文单字,得到剩余中文字符串,按照所述字段的数据在所有地址分词字典的hashmap索引结构中的匹配过程,将所述剩余中文字符串在所有地址分词字典的hashmap索引结构中进行匹配,获得若干有效中文地址分词、单字、数字或特殊字符;
从所述有效中文地址分词从左到右取词,生成所述中文地址分词的hash值,将所述中文地址分词的hash值在各个地址分词字典对应的hashmap索引结构中进行检索,当所述某个地址分词字典对应的hashmap索引结构中检索到所述中文地址分词的hash值,将所述某个地址分词字典对应级别的计数器的计数值加1;重复执行上述处理过程,直到所有有效中文地址分词在各个地址分词字典对应的hashmap索引结构中都检索完毕;
选取所述采样数据中的下一个数据记录中的所述字段的数据,对所述下一个数据记录中的所述字段的数据进行数据匹配,直到所述采样数据中所有所述字段的数据都进行了数据匹配。
所述的采样数据中所述字段的数据全部匹配完成后,根据所述六个级别对应的计数器的计数值确定所述某个字段的数据类型,包括:
当所述六个级别对应的计数器的计数值之和大于等于进行匹配的所述字段的数据的总数量的100%,则判断所述字段的数据类型为地址。
所述方法还包括:
当判断所述字段的数据类型为地址后,获取六个级别对应的6个地址字典分别对应的特征标识位,并计算所述每个特征标志位的计数器的计数值在所述整个字段数据总量所占的百分比,获取大于特定百分比的特征标志位的最宽的区间,将所述最宽的区间中包含的级别对应子类作为该字段最终的数据类型特征。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例通过预先设定中文地址对应的数据分析规则,对采样数据进行数据分析,可以自动、有效地发现企业应用数据库的数据表中的中文地址数据种类,高效率地将企业应用数据库的数据表中的中文地址关键数据找出来并归类。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种中文地址数据的发现与分类方法的处理流程示意图;
图2为本发明实施例提供的一种根据关键字的hash值检索得到完整关键词的示意图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
实施例一
本发明实施例提供了一种有效的、能显著提高准确率的方法,能让企业单位在自身众多复杂的系统当中,找到关键数据并进行分类,便于进一步采取相应的措施。
该实施例提供了一种中文地址数据的发现与分类方法的处理流程如图1所示,包括如下的处理步骤:
步骤S110、预先设定中文地址对应的数据分析规则和计数器。
本发明实施例的数据发现和分类的基本原理是对采样数据中的字段的数据进行扫描和分析,得到字段的数据的特征,然后对字段的数据进行归类。同一个字段的数据,需要经过所有隐私数据种类的特征规则算法的分析统计,最终根据相似度来判断它有最有可能是哪一种类型的隐私数据。上述隐私数据可以称为私密数据或敏感信息。
常见的隐私数据种类为身份证号码、邮政编码、营业执照号(工商注册号)、组织机构代码、纳税人识别号、电子邮件地址、企业名称、电话号码、中文姓名和地址共10种隐私数据种类。本发明实施例将中国地址种类的隐私数据划分为省、市、县、镇、村和街道/路六个级别,根据所述六个级别衍生出21个子类,分别是:省、省到市、省到县、省到镇、省到村、省到路、市、市到县、市到镇、市到村、市到路、县、县到镇、县到村、县到路、镇、镇到村、镇到路、村、村到路、路。
对省、市、县、镇、村和街道/路分别设置一个计数器。
构造所述省、市、县、镇、村和街道/路中文地址对应的数据字典,该数据字典中存储了省、市、县、镇、村和街道/路中文地址数据种类中的典型数据。
步骤S120、根据数据库的元数据,获取需要进行隐私数据分析的数据表,以及数据表中的字段类型。
读取所述数据表所在的数据库的元数据,该元数据包括每个数据表的数据表名、数据中存储的数据的描述信息,以及每个数据表中的每个字段的字段名、数据定义、数据限制信息,根据所述元数据判断出所述数据库中需要进行隐私数据提取的数据表和数据表中需要进行隐私数据提取的字段,以及每个字段的字段类型,该字段类型包括数值类型的字段和字符串类型的字段。
根据所述数据表中每个字段的字段类型和长度精度,确定需要匹配中文地址对应的数据分析规则的字段。
步骤S130、提取需要进行数据分析的数据表中的采样数据。
设置数据表的采样行数阈值,当所述数据表中的全部数据记录的行数小于所述采样行数阈值,则提取所述数据表中的全部记录行数的数据作为采样数据;当所述数据表中的数据记录的行数大于或者等于所述采样行数阈值,则提取所述数据表中的排列在前列的所述采样行数阈值的行数,以及排列在所述采样行数阈值的行数后面的全部数据记录的行数的设定比率作为采样数据。
比如,上述采样行数阈值为1000,采样率缺省为取前1000行,后面从1001行开始取千分之一,每1000行取一行,采样率可根据实际情况配置选择。
步骤S140、按照所述中文地址对应的数据分析规则,对所述采样数据进行中文地址数据分析,根据分析结果发现所述采样数据中的中文地址。
隐私数据种类发现规则与算法中的统一规则如下:
1.输入值为空值、空串或者空格均不计入阀值统计。
2.全角字符预先在调用层转换成半角处理;
3.以下每种隐私数据类型的内部的算法规则,若无特别说明,均为顺序执行且不可忽略,即某条规则校验失败则后面的规则无需校验,该种隐私数据类型判断失败。
4.字典检索加速方法,本发明实施例提供的一种根据关键字的hash值检索得到完整关键词的示意图如图2所示,针对字典值超过100个的字典建议开始使用此方法:
a)将字典中的每一个数据分别使用hash算法生成hash值;
b)将字典中所有数值的hash值分别取特定数值的余数,而每个具体的余数值都对应一个槽位用于存放对应的hash值,该槽位为第一级别,比如取39的余数对应会有0到38余数值总共39个一级槽位;
c)将所述hash值根据其特定值的余数,按顺序放入对应所述槽位;
d)这样即完成多级hashmap索引的第一级别的构建;
e)将所述第一个槽位的hash值取出再次取非上述特定数值因子的数值的余数,同时会得到对应多个二级槽位,这里举例取37的余数,那么每个上述的一级槽位会对应有最多37个二级槽位;
f)将所述每个一级槽位的hash值再分别按顺序装入对应的所述二级槽位,完成多级hashmap索引的第二级别的构建;
g)再将上述某个二级槽位的hash值取出,并计算其非上述所有特定数值因子的数值的余数,对应得到若干个三级槽位,举例这里取34的余数,那么每个上述的二级槽位会对应有最多34个三级槽位;
h)将所述每个二级槽位的hash值再分别按顺序装入对应的所述三级槽位,完成多级hashmap索引的第三级别的构建;
i)如此重复,直到每个槽位中的hash值数量小于等于特定阀值数量,即完成整个多级hashmap索引的构建;
j)字生成的索引结构留着内存中待用
k)字段数据在使用所述字典的hashmap索引结构进行匹配查找时,需要将所述字段数据用同样的hash算法生成hash值在索引中匹配搜索
选取所述采样数据中的第一张数据表的第一行数据记录的数据,对所述第一行数据记录的数据进行拆分,得到多个字段的数据,选取第一个字段的数据,当所述第一字段的类型为字符串类型的字段,且长度大于等于2,则按照中文地址对应的隐私数据分析规则,对所述第一个字段的数据进行中文地址数据分析,根据分析结果对省、市、县、镇、村和街道/路计数器的计数值进行统计处理。
选取第二个字段的数据,按照所述第一个字段的数据的隐私数据的分析过程,对所述第二个字段的数据进行隐私数据分析,依次类推,对所述第一行数据记录中的每个字段的数据进行隐私数据分析;
选取所述采样数据中的第二行数据记录的数据,按照所述第一行数据记录的数据的隐私数据的分析过程,对所述第二行数据记录的数据进行隐私数据分析,依次类推,对所述采样数据中的所有数据表中的所有行数据记录的数据进行隐私数据分析;
根据某个数据表中的某个字段对应的省、市、县、镇、村和街道/路计数器的计数值,判断所述某个字段的数据类型是否为中文地址。
进一步地,所述的按照中文地址对应的隐私数据分析规则,对所述第一个字段的数据进行中文地址隐私数据分析,根据分析结果对省、市、县、镇、村和街道/路的计数值进行统计处理,包括:
将地址分成省、市、县、镇、村和街道/路六个级别,分别设置所述六个子类对应的计数器。
ADR表示这个字段是地址;
P标志位为省,对应字典为DICT_CN_ADDR_PROV
C标志位为市,对应字典为DICT_CN_ADDR_CITY
D标志位为县,对应字典为DICT_CN_ADDR_DIST
T标志位为镇,对应字典为DICT_CN_ADDR_TOWN
V标志位为村,对应字典为DICT_CN_ADDR_VILLAGE
S标志位为街道或者路,对应字典为DICT_CN_ADDR_STREET
通过ADR(mn)表示这个地址当中包含的地址信息含有哪部分,m和n是上面的标志位,注意,上级标志位必须在左边。这就意味根据所述六个级别衍生出21个子类,分别是,分别为:省、市、县、乡、村、道路、省到市、省到县、省到乡、省到村、省到道路、市到县、市到乡、市到村、市到道路、县到乡、县到村、县到道路、乡到村、乡到道路、村到道路。例如ADR(CC)表示这个字段仅仅是市,ADR(DS)表示该字段是区到街道都有。
使用正向最大匹配法对字段的数据进行中文分词,获得所述字段的数据中的地址分词,生成所述地址分词的hash值;
判断所述字段的数据中是否包含设定的街道/路的关键字,如果包含,则将所述地址分词的hash值分别在街道/路字典、省字典、市字典、县字典、镇字典和村字典对应的hashmap索引结构进行检索;否则,将所述地址分词的hash值分别在省字典、市字典、县字典、镇字典和村字典对应的hashmap索引结构进行检索;
当所述地址分词的hash值在某个地址字典对应的hashmap索引结构中检索到,则将所述某个地址字典对应级别的计数器的计数值加1,当所述采样数据中所述字段的数据全部分析完成后,根据所述六个子类对应的计数器的计数值确定所述某个字段的数据类型。
进一步地,所述的当所述地址分词的hash值在某个地址字典对应的hashmap索引结构中检索到,则将所述某个地址字典对应级别的计数器的计数值加1,包括:
使用中文分词正向最大匹配法对所述字段的数据进行分词,根据六个级别的中文地址字典的内容重新组织生成另一套地址分词字典,所述地址分词字典包括:15字字典、13字字典、12字字典、11字字典、10字字典、9字字典、8字字典、7字字典、6字字典、5字字典、4字字典、3字字典、2字字典,并生成所述地址分词字典中每个字典对应的hashmap索引结构;
从所述字段的数据由左至右取出连续的15个中文字并生成hash值,长度不够15字的取最大连续中文字,将所述15个中文字对应的hash值在15字字典的hashmap索引结构中匹配;若所述15个中文字对应的hash值没有在15字字典的hashmap索引结构中匹配到,那么将所述15个中文字最右边去除两个单字,得到一个13字的中文字符串并生成hash值,将所述13个中文字对应的hash值在13字字典的hashmap索引结构进行匹配;
若所述13个中文字对应的hash值没有在13字字典中的hashmap索引结构匹配到,那么将所述13字中文字符串最右边去除一个单字,得到一个12字的中文字符串并生成hash值,将所述12个中文字对应的hash值在12字字典的hashmap索引结构进行匹配,如此重复循环,直到所述字段的数据的某个中文字的hash值在某个地址分词字典的hashmap索引结构中匹配成功,则将所述hash值对应的中文字符串为一个有效中文地址分词,并记录下来,不进行后续的hash值在地址分词字典的hashmap索引结构中的匹配操作;
若所述字段的数据的所有中文字的hash值在所有地址分词字典的hashmap索引结构中都没有匹配成功,则获得所述字段的数据的一个中文单字,将所述字段的数据左边去除获得的所述有效中文地址分词或者中文单字,得到剩余中文字符串,按照所述字段的数据在所有地址分词字典的hashmap索引结构中的匹配过程,将所述剩余中文字符串在所有地址分词字典的hashmap索引结构中进行匹配,获得若干有效中文地址分词、单字、数字或特殊字符;
从所述有效中文地址分词从左到右取词,生成所述中文地址分词的hash值,将所述中文地址分词的hash值在各个地址分词字典对应的hashmap索引结构中进行检索,当所述某个地址分词字典对应的hashmap索引结构中检索到所述中文地址分词的hash值,将所述某个地址分词字典对应级别的计数器的计数值加1;重复执行上述处理过程,直到所有有效中文地址分词在各个地址分词字典对应的hashmap索引结构中都检索完毕;
选取所述采样数据中的下一个数据记录中的所述字段的数据,对所述下一个数据记录中的所述字段的数据进行隐私数据匹配,直到所述采样数据中所有所述字段的数据都进行了隐私数据匹配。
进一步地,所述的采样数据中所述字段的数据全部匹配完成后,根据所述六个级别对应的计数器的计数值确定所述某个字段的数据类型,包括:
当所述六个级别对应的计数器的计数值之和大于等于进行匹配的所述字段的数据的总数量的100%,则判断所述字段的数据类型为地址。
当判断所述字段的数据类型为地址后,获取六个级别对应的6个地址字典分别对应的特征标识位,并计算所述每个特征标志位的计数器的计数值在所述整个字段数据总量所占的百分比,获取大于特定百分比的特征标志位的最宽的区间,将所述最宽的区间中包含的级别对应子类作为该字段最终的隐私数据类型特征。
综上所述,本发明实施例通过预先设定中文地址对应的数据分析规则,对采样数据进行数据分析,可以自动、有效地发现企业应用数据库的数据表中的中文地址数据种类,高效率地将企业应用数据库的数据表中的中文地址关键数据找出来并归类。
为了实施某些安全措施或者数据分析等工作,将企业内部所有系统的隐私数据找出来、分类梳理,意味着从少则几万多则上亿的表字段中整理。应用本发明实施例的方法,能够极大地减小了工作量、缩短工作时间,把不可能变成可能,把几十人月的工作量变成几十人天,大大缩短项目周期、降低项目风险;准确率高,对于比较规整、数据质量比较好的系统,准确率能超过99%。
本发明实施例能够统一用户界面,从原本分散独立的数据源中将数据采样至集中平台,用户在一个界面即可梳理所有系统的所有数据。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种中文地址数据的发现与分类方法,其特征在于,包括:
预先设定中文地址对应的数据分析规则;
提取数据表中的采样数据;
按照所述中文地址对应的数据分析规则,对所述采样数据进行中文地址数据分析,根据分析结果发现所述采样数据中的中文地址。
2.根据权利要求1所述的中文地址数据的发现与分类方法,其特征在于,所述的预先设定中文地址对应的数据分析规则,包括:
将中国地址种类的数据划分为省、市、县、镇、村和街道/路六个级别,根据所述六个级别衍生出21个子类,分别是:省、省到市、省到县、省到镇、省到村、省到路、市、市到县、市到镇、市到村、市到路、县、县到镇、县到村、县到路、镇、镇到村、镇到路、村、村到路、路;
对省、市、县、镇、村和街道/路分别设置一个计数器。
3.根据权利要求2所述的中文地址数据的发现与分类方法,其特征在于,所述的预先设定中文地址对应的数据分析规则,还包括:
构造所述省、市、县、镇、村和街道/路中文地址对应的数据字典,该数据字典中存储了省、市、县、镇、村和街道/路中文地址数据种类中的典型数据。
4.根据权利要求2所述的中文地址数据的发现与分类方法,其特征在于,所述的提取数据表中的采样数据之前,还包括:
读取所述数据表所在的数据库的元数据,该元数据包括每个数据表的数据表名、数据中存储的数据的描述信息,以及每个数据表中的每个字段的字段名、数据类型定义、数据长度精度限制信息,根据所述元数据判断出所述数据库中需要进行数据分析的数据表和数据表中需要进行数据分析的字段;
根据所述数据表中每个字段的字段类型和长度精度,确定需要匹配中文地址对应的数据分析规则的字段。
5.根据权利要求4所述的中文地址数据的发现与分类方法,其特征在于,所述的提取数据表中的采样数据,包括:
设置数据表的采样行数规则为:提取数据表的前N行,从数据表的第N+1行开始提取M‰比率的数据行;当所述数据表中的全部数据记录的行数小于等于所述采样行数阈值N,则提取所述数据表中的全部记录行数的数据作为采样数据;当所述数据表中的数据记录的行数大于所述采样行数阈值,则提取所述数据表中的排列在前列的所述采样行数阈值N的行数,以及排列在所述采样行数阈值的行数后面的全部数据记录的行数的设定比率M‰作为采样数据。
6.根据权利要求2或3或4或5所述的中文地址数据的发现与分类方法,其特征在于,所述的按照所述中文地址对应的数据分析规则,对所述采样数据进行中文地址数据分析,根据分析结果发现所述采样数据中的中文地址,包括:
选取所述采样数据中的第一张数据表的第一行数据记录的数据,对所述第一行数据记录的数据进行拆分,得到多个字段的数据,选取第一个字段的数据,当所述第一字段的类型为字符串类型的字段,且长度大于等于2,则按照中文地址对应的数据分析规则,对所述第一个字段的数据进行中文地址数据分析,根据分析结果对省、市、县、镇、村和街道/路的计数值进行统计处理;
选取第二个字段的数据,按照所述第一个字段的数据分析过程,对所述第二个字段的数据进行数据分析,依次类推,对所述第一行数据记录中的每个字段的数据进行数据分析;
选取所述采样数据中的第二行数据记录的数据,按照所述第一行数据记录的数据的数据分析过程,对所述第二行数据记录的数据进行数据分析,依次类推,对所述采样数据中的所有数据表中的所有行数据记录的数据进行数据分析;
根据某个数据表中的某个字段对应的省、市、县、镇、村和街道/路计数器的计数值,判断所述某个字段的数据类型是否为中文地址。
7.根据权利要求6所述的中文地址数据的发现与分类方法,其特征在于,所述的按照中文地址对应的数据分析规则,对所述第一个字段的数据进行中文地址数据分析,根据分析结果对省、市、县、镇、村和街道/路的计数值进行统计处理,包括:
使用正向最大匹配法对字段的数据进行中文分词,获得所述字段的数据中的地址分词,生成所述地址分词的hash值;
判断所述字段的数据中是否包含设定的街道/路的关键字,如果包含,则将所述地址分词的hash值分别在街道/路字典、省字典、市字典、县字典、镇字典和村字典对应的hashmap索引结构进行检索;否则,将所述地址分词的hash值分别在省字典、市字典、县字典、镇字典和村字典对应的hashmap索引结构进行检索;
当所述地址分词的hash值在某个地址字典对应的hashmap索引结构中检索到,则将所述某个地址字典对应级别的计数器的计数值加1,当所述采样数据中所述字段的数据全部分析完成后,根据所述六个子类对应的计数器的计数值确定所述某个字段的数据类型。
8.根据权利要求7所述的中文地址数据的发现与分类方法,其特征在于,所述的当所述地址分词的hash值在某个地址字典对应的hashmap索引结构中检索到,则将所述某个地址字典对应级别的计数器的计数值加1,包括:
使用中文分词正向最大匹配法对所述字段的数据进行分词,根据六个级别的中文地址字典的内容重新组织生成另一套地址分词字典,所述地址分词字典包括:15字字典、13字字典、12字字典、11字字典、10字字典、9字字典、8字字典、7字字典、6字字典、5字字典、4字字典、3字字典、2字字典,并生成所述地址分词字典中每个字典对应的hashmap索引结构;
从所述字段的数据由左至右取出连续的15个中文字并生成hash值,长度不够15字的取最大连续中文字,将所述15个中文字对应的hash值在15字字典的hashmap索引结构中匹配;若所述15个中文字对应的hash值没有在15字字典的hashmap索引结构中匹配到,那么将所述15个中文字最右边去除两个单字,得到一个13字的中文字符串并生成hash值,将所述13个中文字对应的hash值在13字字典的hashmap索引结构进行匹配;
若所述13个中文字对应的hash值没有在13字字典中的hashmap索引结构匹配到,那么将所述13字中文字符串最右边去除一个单字,得到一个12字的中文字符串并生成hash值,将所述12个中文字对应的hash值在12字字典的hashmap索引结构进行匹配,如此重复循环,直到所述字段的数据的某个中文字的hash值在某个地址分词字典的hashmap索引结构中匹配成功,则将所述hash值对应的中文字符串为一个有效中文地址分词,并记录下来,不进行后续的hash值在地址分词字典的hashmap索引结构中的匹配操作;
若所述字段的数据的所有中文字的hash值在所有地址分词字典的hashmap索引结构中都没有匹配成功,则获得所述字段的数据的一个中文单字,将所述字段的数据左边去除获得的所述有效中文地址分词或者中文单字,得到剩余中文字符串,按照所述字段的数据在所有地址分词字典的hashmap索引结构中的匹配过程,将所述剩余中文字符串在所有地址分词字典的hashmap索引结构中进行匹配,获得若干有效中文地址分词、单字、数字或特殊字符;
从所述有效中文地址分词从左到右取词,生成所述中文地址分词的hash值,将所述中文地址分词的hash值在各个地址分词字典对应的hashmap索引结构中进行检索,当所述某个地址分词字典对应的hashmap索引结构中检索到所述中文地址分词的hash值,将所述某个地址分词字典对应级别的计数器的计数值加1;重复执行上述处理过程,直到所有有效中文地址分词在各个地址分词字典对应的hashmap索引结构中都检索完毕;
选取所述采样数据中的下一个数据记录中的所述字段的数据,对所述下一个数据记录中的所述字段的数据进行数据匹配,直到所述采样数据中所有所述字段的数据都进行了数据匹配。
9.根据权利要求8所述的中文地址数据的发现与分类方法,其特征在于,所述的采样数据中所述字段的数据全部匹配完成后,根据所述六个级别对应的计数器的计数值确定所述某个字段的数据类型,包括:
当所述六个级别对应的计数器的计数值之和大于等于进行匹配的所述字段的数据的总数量的100%,则判断所述字段的数据类型为地址。
10.根据权利要求9所述的中文地址数据的发现与分类方法,其特征在于,所述方法还包括:
当判断所述字段的数据类型为地址后,获取六个级别对应的6个地址字典分别对应的特征标识位,并计算所述每个特征标志位的计数器的计数值在所述整个字段数据总量所占的百分比,获取大于特定百分比的特征标志位的最宽的区间,将所述最宽的区间中包含的级别对应子类作为该字段最终的数据类型特征。
CN201510175904.2A 2015-04-14 2015-04-14 中文地址数据的发现与分类方法 Active CN104750852B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510175904.2A CN104750852B (zh) 2015-04-14 2015-04-14 中文地址数据的发现与分类方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510175904.2A CN104750852B (zh) 2015-04-14 2015-04-14 中文地址数据的发现与分类方法

Publications (2)

Publication Number Publication Date
CN104750852A true CN104750852A (zh) 2015-07-01
CN104750852B CN104750852B (zh) 2018-03-09

Family

ID=53590536

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510175904.2A Active CN104750852B (zh) 2015-04-14 2015-04-14 中文地址数据的发现与分类方法

Country Status (1)

Country Link
CN (1) CN104750852B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105069056A (zh) * 2015-07-24 2015-11-18 湖北文理学院 基于字符串匹配的身份证住址信息解析方法及系统
CN105159949A (zh) * 2015-08-12 2015-12-16 北京京东尚科信息技术有限公司 一种中文地址分词方法及系统
CN106528526A (zh) * 2016-10-09 2017-03-22 武汉工程大学 一种基于贝叶斯分词算法的中文地址语义标注方法
CN108268800A (zh) * 2017-12-29 2018-07-10 上海上讯信息技术股份有限公司 一种可配置区域范围和信息格式的地址脱敏方法
CN108776762A (zh) * 2018-06-08 2018-11-09 北京中电普华信息技术有限公司 一种数据脱敏的处理方法及装置
CN109508557A (zh) * 2018-10-22 2019-03-22 中国科学院信息工程研究所 一种关联用户隐私的文件路径关键词识别方法
CN110020640A (zh) * 2019-04-19 2019-07-16 厦门商集网络科技有限责任公司 一种纠正身份证信息的方法及终端
CN110609936A (zh) * 2018-06-11 2019-12-24 广州华资软件技术有限公司 一种模糊地址数据智能分类的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101471897A (zh) * 2008-01-11 2009-07-01 飞塔信息科技(北京)有限公司 对电子通讯中可能的错误拼写地址的启发性检测方法
CN101477570A (zh) * 2009-01-12 2009-07-08 浙江大学 一种自学习的中文地址判重方法
CN101561814A (zh) * 2009-05-08 2009-10-21 华中科技大学 基于社会标注的主题爬虫系统
CN102110123A (zh) * 2009-12-29 2011-06-29 中国人民解放军国防科学技术大学 倒排索引建立方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101471897A (zh) * 2008-01-11 2009-07-01 飞塔信息科技(北京)有限公司 对电子通讯中可能的错误拼写地址的启发性检测方法
CN101477570A (zh) * 2009-01-12 2009-07-08 浙江大学 一种自学习的中文地址判重方法
CN101561814A (zh) * 2009-05-08 2009-10-21 华中科技大学 基于社会标注的主题爬虫系统
CN102110123A (zh) * 2009-12-29 2011-06-29 中国人民解放军国防科学技术大学 倒排索引建立方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105069056A (zh) * 2015-07-24 2015-11-18 湖北文理学院 基于字符串匹配的身份证住址信息解析方法及系统
CN105159949A (zh) * 2015-08-12 2015-12-16 北京京东尚科信息技术有限公司 一种中文地址分词方法及系统
CN105159949B (zh) * 2015-08-12 2018-12-21 北京京东尚科信息技术有限公司 一种中文地址分词方法及系统
CN106528526A (zh) * 2016-10-09 2017-03-22 武汉工程大学 一种基于贝叶斯分词算法的中文地址语义标注方法
CN106528526B (zh) * 2016-10-09 2019-05-28 武汉工程大学 一种基于贝叶斯分词算法的中文地址语义标注方法
CN108268800A (zh) * 2017-12-29 2018-07-10 上海上讯信息技术股份有限公司 一种可配置区域范围和信息格式的地址脱敏方法
CN108776762A (zh) * 2018-06-08 2018-11-09 北京中电普华信息技术有限公司 一种数据脱敏的处理方法及装置
CN110609936A (zh) * 2018-06-11 2019-12-24 广州华资软件技术有限公司 一种模糊地址数据智能分类的方法
CN109508557A (zh) * 2018-10-22 2019-03-22 中国科学院信息工程研究所 一种关联用户隐私的文件路径关键词识别方法
CN110020640A (zh) * 2019-04-19 2019-07-16 厦门商集网络科技有限责任公司 一种纠正身份证信息的方法及终端
CN110020640B (zh) * 2019-04-19 2021-08-24 厦门商集网络科技有限责任公司 一种纠正身份证信息的方法及终端

Also Published As

Publication number Publication date
CN104750852B (zh) 2018-03-09

Similar Documents

Publication Publication Date Title
CN104731976A (zh) 数据表中隐私数据的发现与分类方法
CN104750852A (zh) 中文地址数据的发现与分类方法
US20230008175A1 (en) Systems and methods for selecting machine learning training data
CN104731977A (zh) 电话号码数据的发现与分类方法
NL2012421B1 (en) Computer-implemented systems and methods for comparing and associating objects.
EP2421223B1 (en) Method and apparatus for approximate pattern matching
CN104112026B (zh) 一种短信文本分类方法及系统
US6542896B1 (en) System and method for organizing data
EP2342684B1 (en) Fuzzy data operations
US20170147688A1 (en) Automatically mining patterns for rule based data standardization systems
CN111814472B (zh) 文本识别方法、装置、设备及存储介质
CN111767716A (zh) 企业多级行业信息的确定方法、装置及计算机设备
US20230205755A1 (en) Methods and systems for improved search for data loss prevention
CN103618744A (zh) 一种基于快速knn算法的入侵检测方法
US7756798B2 (en) Extensible mechanism for detecting duplicate search items
CN112668301A (zh) 一种环评文件重复度检测方法及系统
KR100991661B1 (ko) 도서의 디디씨/케이디씨 자동 분류 시스템 및 그 방법
Caruso et al. Telcordia's database reconciliation and data quality analysis tool
CN115249007A (zh) 一种基于电子投标文件比对的围串标行为检测方法及装置
CN112052672B (zh) 基于地址文本的单元区域识别方法、装置和计算机设备
CN104731978A (zh) 中文姓名数据的发现与分类方法
Bart Parsing tables by probabilistic modeling of perceptual cues
CN114925759B (zh) 一种区块链钓鱼行为账户的特征分析方法
CN116485512A (zh) 基于强化学习的银行数据分析方法及系统
US20230306768A1 (en) Systems and methods for machine learning key-value extraction on documents

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 510665 209, 201 and 202 of Hua Cai street, Jianye Road, Tianhe District Industrial Park, Guangzhou, Guangdong, China, 209

Patentee after: Guangzhou cloud chart data Technology Co., Ltd.

Address before: 100083 Zhongguancun East Road, Haidian District, Beijing, 66, 1, building 2204.

Patentee before: Massive cloud (Beijing) data Technology Co., Ltd.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 3f301, building 2, Jiadu science and technology building, No. 4, Jiangong Road, Tianhe District, Guangzhou City, Guangdong Province

Patentee after: Guangzhou Mass Database Technology Co., Ltd

Address before: 510665 209, 201 and 202 of Hua Cai street, Jianye Road, Tianhe District Industrial Park, Guangzhou, Guangdong, China, 209

Patentee before: Guangzhou cloud chart data Technology Co.,Ltd.