CN102880650A - 一种数据匹配方法及装置 - Google Patents
一种数据匹配方法及装置 Download PDFInfo
- Publication number
- CN102880650A CN102880650A CN2012103085619A CN201210308561A CN102880650A CN 102880650 A CN102880650 A CN 102880650A CN 2012103085619 A CN2012103085619 A CN 2012103085619A CN 201210308561 A CN201210308561 A CN 201210308561A CN 102880650 A CN102880650 A CN 102880650A
- Authority
- CN
- China
- Prior art keywords
- data
- character
- subdata
- matching
- prestores
- 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
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种数据匹配方法,包括:获取客户信息数据中要进行匹配的待处理数据;将所述待处理数据进行格式转换,生成预处理数据;根据预存的字符串最大值和字符标准值,利用逆向最大匹配法对所述预处理数据进行数据分割,生成等级由高到低排列的多个子数据;根据预存的子数据标准名称和字符转换规则,将所述多个子数据转换为一条标准数据;将所述标准数据与所述待处理数据进行比较,计算生成匹配值。本发明实施例的数据匹配方法及装置,提高了比对的效率和准确性,降低人工操作成本,实现大数据量的处理;实现了对客户信息数据中的中文数据项进行比对的系统化、自动化、流程化、客观化。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据匹配方法及装置。
背景技术
目前,在处理各类客户信息数据时,经常需要进行数据比较、匹配等处理:首先,系统通过多种渠道获取较准确权威的个人外部数据,例如公安系统数据、固定电话、黄页数据、高教部学历认证中心数据(教育学历、教育学籍等)以及机动车驾驶证数据、机动车行驶证数据等。另一方面,由客户填写输入的数据,在核对其正确性时需要和系统获取的上述数据进行比对。但客户填写输入的数据往往不规范,特别是如地址、公司名称等字数较多的信息。目前,一般采用全字符精确匹配技术或者人工比对方式。这些处理技术主要存在以下几方面不足:
1、全字符精确匹配可以对诸如:姓名、婚姻状况、学历等简单数据项进行处理,但对较为复杂的数据,比如中文地址和中文公司名称等数据项,由于其来源于各种不同的数据环境,一般是由同一人多次输入或者是不同的人输入,其填写的数据具有一定的随意性和随机性,而全字符精确匹配没有任何容错能力,准确性不高,因此无法对此类数据项进行较好的比对和识别,例如:“云岩区中天花园玉兰园D-1-10-2号”与“贵阳云岩中天花园玉兰园D座1单元10楼2号”使用全字符精确匹配无法判断出它们是相同的地址。
2、通过人工比对的方式对客户信息数据中的中文地址、中文公司名称进行比对,但是效率较低,并需要耗费大量的人力和物力。
发明内容
本发明的目的是为了克服现有技术中存在的全字符精确匹配的方式不能较好地比较、匹配客户信息数据以及人工比对的方式效率较低、需要耗费大量人力物力的困难,提出一种数据比较、匹配系统及方法,通过对客户信息数据采用数据预处理、数据分割、数据转换和数据比较的技术处理手段,实现对客户信息数据的中文模糊匹配,从而对客户信息数据的准确性进行判断和识别,提高比较、匹配的准确性和效率,实现匹配的系统化、自动化、流程化、客观化。
为了达到上述目的,本发明实施例公开了一种数据匹配方法,包括:获取客户信息数据中要进行匹配的待处理数据;将所述待处理数据进行格式转换,生成预处理数据;根据预存的字符串最大值和字符标准值,利用逆向最大匹配法对所述预处理数据进行数据分割,生成等级由高到低排列的多个子数据;根据预存的子数据标准名称和字符转换规则,将所述多个子数据转换为一条标准数据;将所述标准数据与所述待处理数据进行比较,计算生成匹配值。
为了达到上述目的,本发明实施例还公开了一种数据匹配装置,包括:待处理数据获取单元,用于获取客户信息数据中要进行匹配的待处理数据;预处理数据生成单元,用于将所述待处理数据进行格式转换,生成预处理数据;子数据生成单元,用于根据预存的字符串最大值和字符标准值,利用逆向最大匹配法对所述预处理数据进行数据分割,生成等级由高到低排列的多个子数据;标准数据生成单元,用于根据预存的子数据标准名称和字符转换规则,将所述多个子数据转换为一条标准数据;匹配值生成单元,用于将所述标准数据与所述待处理数据进行比较,计算生成匹配值。
本发明实施例的数据匹配方法及装置的有益效果是:改变了通过人工对客户信息数据中的中文数据项进行比对的方法,克服了全字符精确匹配没有任何容错能力的不足,提高比对的效率和准确性,降低人工操作成本,实现大数据量的处理;实现了对客户信息数据中的中文数据项进行比对的系统化、自动化、流程化、客观化;可将相关数据源的中文数据项都纳入到数据比较、匹配系统,从而扩展系统可用的数据项范围。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的数据匹配方法的方法流程图;
图2为本发明实施例的进行数据分割,生成多个子数据的方法流程图;
图3为本发明实施例的将多个子数据转换为一条标准数据的方法流程图;
图4为本发明实施例的一个地区树的结构示意图;
图5为本发明实施例的构造比较矩阵,生成匹配值的方法流程图;
图6为本发明实施例的数据匹配装置的结构示意图;
图7为本发明实施例的数据匹配装置中的预处理数据生成单元的结构示意图;
图8为本发明实施例的数据匹配装置中的子数据生成单元的结构示意图;
图9为利用本发明实施例的子数据生成单元生成多个子数据的一个实施例的方法流程图;
图10为本发明实施例的数据匹配装置中的标准数据生成单元的结构示意图;
图11为本发明实施例的数据匹配装置中的匹配值生成单元的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明可用于众多通用或专用的计算机装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本发明是一种计算机处理过程中的数据匹配方法。该方法首先该系统将客户信息数据中要进行比较、匹配的数据信息通过数据预处理,降低数据质量问题对最终匹配结果的影响。其次,将预处理后的数据通过数据分割划分成多条有意义的子数据。再次,在数据分割的基础上,通过数据转换,将同种含义的不同数据转换为同一种数据。最后,将数据转换得到的结果通过数据比较得到匹配值,该匹配值在0到1之间,代表两条数据间的相似程度。
图1为本发明实施例的数据匹配方法的方法流程图。如图所示,本实施例的数据匹配方法包括:步骤S101,获取客户信息数据中要进行匹配的待处理数据;步骤S102,将所述待处理数据进行格式转换,生成预处理数据;步骤S103,根据预存的字符串最大值和字符标准值,利用逆向最大匹配法对所述预处理数据进行数据分割,生成等级由高到低排列的多个子数据;步骤S104,根据预存的子数据标准名称和字符转换规则,将所述多个子数据转换为一条标准数据;步骤S105,将所述标准数据与所述待处理数据进行比较,计算生成匹配值。
在本实施例中,待处理数据、最后计算得到的匹配值、预设的字符串最大值、字符标准值以及子数据标准名称、字符转换规则,都预存在一存储装置中。当计算需要时,直接调用即可,当然,这些数据可以根据情况而作人为设定。
在本实施例中,步骤S102中的将所述待处理数据进行格式转换,生成预处理数据,包括:对所述预处理数据进行字符转换,包括将全角字符转换为半角字符;对所述预处理数据进行字体转换,包括将大写字母转换为小写字母;对所述预处理数据进行分隔符处理,包括将与预存的通用分隔符相匹配的字符删除。
例如,读取预设的通用分隔符,如:″、″、″-″、″,″、″*″、″^″、″#″、空格等,然后,将客户信息数据中与读取出的通用分隔符相匹配的字符去除。
以中文地址数据匹配为例介绍数据预处理的过程:
如果接收到的预处理前的数据如下:“吉林朝阳人民路10弄三单元#六○二#室”,则根据本发明实施例的预处理方法,预处理后的结果如下:“吉林朝阳人民路10弄三单元六○二室”。
在本实施例中,如图2所示,在步骤S 102中的根据预存的字符串最大值和字符标准值,利用逆向最大匹配法对所述预处理数据进行数据分割,生成等级由高到低排列的多个子数据,包括:
步骤S201,判断接收到的预处理数据是否为单字符或为空;
步骤S202,如果所述预处理数据不为单字符或空,则从所述预处理数据的最右边截取长度为所述预存的字符串最大值的子字符串;
步骤S203,判断所述子字符串与所述预存的字符标准值是否匹配,如果不匹配,转至步骤S204,如果匹配,转至步骤S205;
步骤S204,删除所述子字符串最左边的一个字符后,重复步骤S203;
步骤S205,将所述子字符串作为分割后生成的一个子数据进行保存;
所述多个子数据等级由高到低排列是指:按所述多个子数据分割出的先后顺序排列其等级高低,最先分割出来的子数据等级最低。
以上述的中文地址数据匹配为例介绍数据分割的过程:
假定数据预处理后的结果为“吉林朝阳人民路10弄三单元六○二室”,字符串截取长度MAX_LENGTH为10。
第一步,截取出的子字符串为“10弄三单元六○二室”,从省级行政区通名开始与逐个字典值进行匹配直到非标准行政区通名为止,发现匹配不到任何字典值。其中的字典值即预设的字符标准值,其包括通用分隔符、省级行政区通名、省级行政区专名、市级行政区通名、市级行政区专名、区级行政区通名、区级行政区专名、乡镇、村通名、门牌号通名、非标准行政区通名、行政区名对应到的所有标准名称和地区树。
第二步,删除截取出的子字符串的最左边一个字符,子字符串为“0弄三单元六○二室”,同样匹配不到任何字典值。直到截取出的子字符串为“室”时,匹配到一个门牌号通名。分割后字符串变为“室”,待分割字符串变为“吉林朝阳人民路10弄三单元六○二”。
第三步,重复上述步骤,可以得到分割后字符串变为“六○二室”,待分割字符串变为“吉林朝阳人民路10弄三单元”,此时,“单元”可以匹配到一个非标准行政区通名,因此,可以认为“六○二室”是一个可以被分割出来的子字符串,分割后字符串变为“单元,六○二室”,待分割字符串变为“吉林朝阳人民路10弄三”。
以此类推,最终数据分割后的结果如下:“吉林,朝阳,人民路,10弄,三单元,六○二室”。
在本实施例中,如图3所示,在步骤S 103中的根据预存的子数据标准名称和字符转换规则,将所述多个子数据转换为一条标准数据,包括:
步骤S301,根据预存的子数据标准名称,将与每一子数据对应的标准名称存储为一个数据组,以生成多个数据组;步骤S302,将所述多个数据组按级别由高到低排序,所述级别的高低与所述多个子数据的排序规则相同;步骤S303,对所述排序后的多个数据组进行排列组合,生成多个多维数据组;步骤S304,根据预存的关系树,找出与所述多个多维数据组中一组对应的关系树中的一条路径,生成所述标准数据。
在本实施例中,并不是每一个子数据都会对应于一个标准名称,此时将所述多个子数据中的不能与所述预存的子数据标准名称相匹配的子数据,根据所述数字转换规则,生成所述标准数据;其中,所述数字转换规则包括:将所述中文数字转换为阿拉伯数字。
如果不符合数字转换规则,例如不是中文数字,则将所述多个子数据中的不能与所述子数据标准名称相匹配、且不能进行字符转换的子数据保持不变。
同样以上述的中文地址数据匹配为例介绍数据转换的过程:
假定数据分割后的结果为“吉林,朝阳,人民路,10弄,三单元,六○二室”。
第一步,获取行政区名对应到的所有标准名称,同一个行政区名对应的所有标准名称作为一组数据保存,结果如下:{吉林}→{吉林市,吉林省},{朝阳}→{朝阳区,朝阳市,朝阳县}。
第二步,将数据组按级别由高到低排序,结果如下:{吉林省,吉林市},{朝阳市,朝阳区,朝阳县}。
第三步,将排序后的数据组合成有意义的省、市、区名三维组,结果如下:{吉林省,朝阳市,null},{吉林省,null,朝阳区},{吉林省,null,朝阳县},{null,吉林市,朝阳区},{null,吉林市,朝阳县}。
第四步,遍历预存的地区树,如图4所示,三维组中的{吉林省,null,朝阳区}可以在地区树中找到对应的一条路径,因此,“吉林,朝阳”标准化后的行政区名为“吉林省长春市朝阳区”。
第五步,将所有门牌号通名统一转换为“-”,“10弄,三单元,六○二室”被转换为“10-三-六○二”。
第六步,将所有中文数字转换为阿拉伯数字,“10-三-六○二”被转换为“10-3-602”。
第七步,剩余的即不属于行政区名又不属于门牌号部分的数据保持不变,拼接结果后得到最终的数据转换后的结果:“吉林省长春市朝阳区人民路10-3-602”。
在本实施例中,如图5所示,在步骤S104中的将所述标准数据与所述待处理数据进行比较,计算生成匹配值,包括:
步骤S501,将所述标准数据与所述待处理数据按位比较,构造比较矩阵;步骤S502,查找所述比较矩阵中的线段对其按长度由长到短进行排序,并删除在行上或列上被更长线段完全包含的线段;步骤S503,根据预设的线段权值和所述子数据中的进行字符转换规则的子数据所占的权值,生成匹配值。
同样以上述的中文地址数据匹配为例介绍计算匹配值的过程:
首先,接收经过数据转换得到的一条标准数据;
其次,对标准数据和最开始的待处理数据进行按位比较,相同位置1,不同位置0,构造出比较矩阵;
其次,查找比较矩阵中的线段并对其按长度由长到短进行排序;
其次,去除在行上和列上被更长线段完全包含的线段,其中线段完全包含是指:较短的线段在上下左右平移N个位置后可以被更长的线段完全覆盖;
其次,获取不同线段长度对应权值和门牌号部分所占权值。门牌号部分所占权值即是进行字符转换规则的子数据;
最后,计算出线段匹配值和门牌号匹配值后将线段匹配值和门牌号匹配值相加,得到最终的匹配值。
图6为本发明实施例的数据匹配装置的结构示意图。如图6所示,本实施例中的数据匹配装置包括:
待处理数据获取单元101,用于获取客户信息数据中要进行匹配的待处理数据;预处理数据生成单元102,用于将所述待处理数据进行格式转换,生成预处理数据;子数据生成单元103,用于根据预存的字符串最大值和字符标准值,利用逆向最大匹配法对所述预处理数据进行数据分割,生成等级由高到低排列的多个子数据;标准数据生成单元104,用于根据预存的子数据标准名称和字符转换规则,将所述多个子数据转换为一条标准数据;匹配值生成单元105,用于将所述标准数据与所述待处理数据进行比较,计算生成匹配值。数据存储单元106,用于存储所述待处理数据、生成的最终的匹配值、所述字符串最大值、所述字符标准值、所述子数据标准名称和所述字符转换规则。
在本实施例中,待处理数据获取单元101与预处理数据生成单元102相连接,负责从数据存储单元106中读取待处理的数据;预处理数据生成单元102与子数据生成单元103连接,负责对待处理数据进行预处理,排除可能影响到最终匹配结果的因素,并将结果传入子数据生成单元103;
子数据生成单元103与标准数据生成单元104相连接,负责接收从预处理数据生成单元102传入的预处理后的数据,然后将该数据分解为多条子数据,并将结果传入标准数据生成单元104;
标准数据生成单元104与匹配值生成单元105相连接,负责接收从子数据生成单元103传入的子数据,然后将这些子数据转换成一条标准数据,并将结果传入匹配值生成单元105;
匹配值生成单元105与数据存储单元106相连接,负责接收从标准数据生成单元104传入的数据,然后将欲进行匹配的数据与标准数据进行比较得到最终的匹配值,并将结果传入数据存储单元106;
数据存储单元106负责存储数据、参数和字典值。其中,数据包括待处理的数据和最终的匹配值;参数包括字符串最大值MAX_LENGTH、计算匹配值时用到的不同线段长度对应权值其他权值;字典值即字符标准值,在中文地址匹配实施例中,包括:通用分隔符、省级行政区通名、省级行政区专名、市级行政区通名、市级行政区专名、区级行政区通名、区级行政区专名、乡镇、村通名、门牌号通名、非标准行政区通名、行政区名对应到的所有标准名称和地区树。
在本实施例中,如图7所示,所述预处理数据生成单元102包括:字符转换模块1021,用于对所述预处理数据进行字符转换,包括将全角字符转换为半角字符;字体转换模块1022,用于对所述预处理数据进行字体转换,包括将大写字母转换为小写字母;分隔符处理模块1023,用于对所述预处理数据进行分隔符处理,包括将与预存的通用分隔符相匹配的字符删除。例如,读取预设的通用分隔符,如:″、″、″-″、″,″、″*″、″^″、″#″、空格等,然后,将客户信息数据中与读取出的通用分隔符相匹配的字符去除。
在本实施例中,如图8所示,所述子数据生成单元103根据预存的字符串最大值和字符标准值,利用逆向最大匹配法对所述预处理数据进行数据分割,生成等级由高到低排列的多个子数据,其包括:
数据判断模块1031,用于判断接收到的预处理数据是否为单字符或为空;数据截取模块1032,如果所述预处理数据不为单字符或空,则从所述预处理数据的最右边截取长度为所述预存的字符串最大值的子字符串;数据匹配模块1033,用于将所述子字符串与所述预存的字符标准值进行匹配;如果匹配不成功,则由所述数据截取模块删除所述子字符串最左边的一个字符后,再交由所述数据匹配模块进行匹配处理;如果匹配成功,则将所述匹配成功的子字符串作为分割后生成的一个子数据进行保存。
在本实施例中,数据截取模块1032负责接收数据判断模块1031发送的字符串,并作为待处理字符串暂存在数据截取模块1032。接着,从字符串最右边截取长度为MAX_LENGTH(MAX_LENGTH的数值从数据存储单元106中获取)的子字符串,将子字符串发送给数据匹配模块1033。同时接收数据匹配模块1033的匹配结果,若不匹配,则数据截取模块1032删除子字符串的最左边一个字符后再发送给数据匹配模块1033继续匹配。若匹配上,则将子字符串作为分割后的字符串暂存在数据截取模块1032,然后,将子字符串从待处理字符串中删除并将删除后的待处理字符串发送给数据判断模块1031。
数据匹配模块1033负责接收数据截取模块1032发送的字符串。接着,从数据存储单元106中获取省级行政区通名、省级行政区专名、市级行政区通名、市级行政区专名、区级行政区通名、区级行政区专名、乡镇、村通名、门牌号通名以及非标准行政区通名,并与接收到的字符串进行匹配。最后,将匹配的结果发送给数据截取模块1032。
数据判断模块1031负责接收预处理数据生成单元102处理后的字符串,判断字符串是否为空,如果不为空,则将字符串传给数据截取模块1032,否则,将暂存在数据截取模块1032中的分割后字符串传给标准数据生成单元104,数据分割结束。同时该模块还负责接收数据截取模块1032截取的数据,判断其是否为单字符,如果不是单字符,则将其传给数据匹配模块1033。
图9为利用本发明实施例的子数据生成单元103生成多个子数据的一个实施例的方法流程图,如图9所示,其包括:
步骤801,数据判断模块1031接收从预处理数据生成模块102传来的数据作为待处理数据;
步骤802,数据判断模块1031判断待处理数据是否为空,如果不为空,转步骤803;否则,转步骤808;
步骤803,数据截取模块1032从待处理数据最右边截取长度为字符串最大值MAX_LENGTH(MAX_LENGTH的数值从数据存储模块106获取)的子字符串;
步骤804,数据匹配模块1033判断截取出的子字符串是否与从数据存储模块106中读取到的字符标准值匹配,如果匹配,转步骤805;否则,转步骤806;
步骤805,数据截取模块1032将截取出的子字符串作为分割出的一条子数据,并删除待处理数据中截取出的子字符串;
步骤806,数据截取模块1032删除截取出的子字符串的最左边一个字符;
步骤807,数据判断模块1031判断截取出的子字符串是否为单字符,如果是单字符,转步骤805;否则,转步骤804;
步骤808,数据截取模块1032将分割出的所有子数据合并,流程结束。
在本实施例中,如图10所示,所述标准数据生成单元104根据预存的子数据标准名称和字符转换规则,将所述多个子数据转换为一条标准数据,其包括:
数据组生成模块1041,用于根据预存的子数据标准名称,将与每一子数据对应的标准名称存储为一个数据组,以生成多个数据组;排序模块1042,用于将所述多个数据组按级别由高到低排序,所述级别的高低与所述多个子数据的排序规则相同;多维数据组生成模块1043,用于对所述排序后的多个数据组进行排列组合,生成多个多维数据组;标准数据生成模块1044,用于根据预存的关系树,找出与所述多个多维数据组中一组对应的关系树中的一条路径,生成所述标准数据;数字转换模块1045,用于将所述多个子数据中的不能与所述预存的子数据标准名称相匹配的子数据,根据所述数字转换规则,生成所述标准数据;其中,所述数字转换规则包括:将所述中文数字转换为阿拉伯数字。
同样以中文地址数据匹配为例介绍数据转换的过程:
第一步,数据组生成模块1041接收到的数据中筛选出代表行政区名的数据,逐一从数据存储单元106中读取行政区名对应到的所有标准名称,同一个行政区名对应的所有标准名称作为一组数据保存。
第二步,排序模块1042将数据组按级别由高到低排序。
第三步,多维数据组生成模块1043将排序后的数据组合成有意义的省、市、区名三维组,这里所谓的有意义是指,组成的三维组中不能存在省、市、区名中任意两个处于同一行政级别的情况。
第四步,标准数据生成模块1044从数据存储单元106中获取地区树,地区树是一棵以中国为根节点的省、市、区标准名组成的树。遍历地区树,判断组成的省、市、区名三维组是否可以对应到树中的一条路径,如果可以对应到,则该条路径上所有节点即构成标准化后的行政区名。
第五步,数字转换模块1045从数据存储单元106中获取门牌号通名,将数据中所有门牌号通名转换为统一字符,即将数据中门牌号部分的所有中文数字转换为阿拉伯数字。
在本实施例中,如图11所示,所述匹配值生成单元105用于将所述标准数据与所述待处理数据进行比较,计算生成匹配值,其包括:
比较矩阵构造模块1051,用于将所述标准数据与所述待处理数据按位比较,构造比较矩阵;有效线段生成模块1052,查找所述比较矩阵中的线段对其按长度由长到短进行排序,并删除在行上或列上被更长线段完全包含的线段;匹配值计算模块1053,用于根据预设的线段权值和所述子数据中的进行字符转换规则的子数据所占的权值,生成匹配值。
本发明实施例克服了目前普遍采用的全字符精确匹配、人工比对或者两者相结合的方式对客户信息数据进行比对,效率较低、需要耗费大量人力物力的困难,提高比对的效率和准确性,降低人工操作成本,实现大数据量的处理。
具体实施例:
(1)获取客户信息数据中要进行匹配的待处理数据:“上海南京路18号5#102”和“南京东路18号五号楼102室”;
(2)将所述待处理数据进行格式转换,生成预处理数据:“上海南京路18-5-102”和“南京东路18-5-102”;
(3)根据预存的字符串最大值和字符标准值,利用逆向最大匹配法对所述预处理数据进行数据分割,生成等级由高到低排列的多个子数据:“上海,南京路,18,5,102”和“南京东路,18,5,102”;
(4)根据预存的子数据标准名称和字符转换规则,将所述多个子数据转换为一条标准数据:“上海市南京路18-5-102”和“南京东路18-5-102”;
(5)经过数据转换后的两数据分别为“上海市南京路18-5-102”和“南京东路18-5-102”;
(6)将两个数据进行比较,计算生成匹配值:
第一步,构造比较矩阵,相同位置1,不同位置0,结果如下表1所示:
表1
第二步,查找比较矩阵中的线段并对其按长度由长到短进行排序,得到长度为9的线段:{(4,6)-(12,14)},长度为2的线段:{(1,4)-(2,5)},长度为1的线段:{(5,12)}、{(7,11)}、{(9,9)}和{(10,7)}。
第三步,去除在行上和列上被更长线段完全包含的线段,线段{(5,12)}向左平移5个位置后可以被线段{(4,6)-(12,14)}完全覆盖,因此,将该线段去除,用同样的方法可以去除掉线段{(7,11)}、{(9,9)}和{(10,7)},最终剩下长度为9的线段{(4,6)-(12,14)}和长度为2的线段{(1,4)-(2,5)}。
第四步,计算线段匹配值。线段匹配值=(1-门牌号权值)×(线段1长度对应权值×线段1长度+线段2长度对应权值×线段2长度+……+线段i长度对应权值×线段i长度)÷MAX(地址1长度,地址2长度)。从数据存储装置5中获得门牌号权值为0.4,长度为9的线段对应权值为0.99,长度为2的线段对应权值为0.82。因此,线段匹配值=(1-0.4)×(9×0.99+2×0.8)÷14=0.45。
第五步,计算门牌号匹配值。门牌号匹配值=门牌号权值×门牌号相等个数÷MAX(地址1门牌号个数,地址2门牌号个数)。两数据中的门牌号均为{18,5,102},得到门牌号相等个数为3。因此,门牌号匹配值=0.4×3÷3=0.4。
第六步,计算地址匹配值。地址匹配值=线段匹配值+门牌号匹配值=0.45+0.4=0.85。
最终得出结论:“上海南京路18号5#102”和“南京东路18号五号楼102室”的地址匹配值为0.85。将地址匹配值与预先设定的阈值(例如:0.75)相比较,系统就可以自动判断出这两个地址相匹配。
本发明实施例克服了目前普遍采用的全字符精确匹配、人工比对或者两者相结合的方式对客户信息数据进行比对,效率较低、需要耗费大量人力物力的困难,提供一种准确、稳定、高效的对客户信息数据进行比较、匹配的系统及方法。与现有的技术相比,其效果和优点体现在以下几个方面:
1、改变通过人工对客户信息数据中的中文数据项进行比对的方法,克服了全字符精确匹配没有任何容错能力的不足,提高比对的效率和准确性,降低人工操作成本,实现大数据量的处理。
2、实现对客户信息数据中的中文数据项进行比对的系统化、自动化、流程化、客观化。
3、可将相关数据源的中文数据项都纳入到数据比较、匹配系统,从而扩展系统可用的数据项范围。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (18)
1.一种数据匹配方法,其特征在于,所述方法包括:
获取客户信息数据中要进行匹配的待处理数据;
将所述待处理数据进行格式转换,生成预处理数据;
根据预存的字符串最大值和字符标准值,利用逆向最大匹配法对所述预处理数据进行数据分割,生成等级由高到低排列的多个子数据;
根据预存的子数据标准名称和字符转换规则,将所述多个子数据转换为一条标准数据;
将所述标准数据与所述待处理数据进行比较,计算生成匹配值。
2.根据权利要求1所述的数据匹配方法,其特征在于,所述将所述待处理数据进行格式转换,生成预处理数据,包括:
对所述预处理数据进行字符转换,包括将全角字符转换为半角字符。
3.根据权利要求2所述的数据匹配方法,其特征在于,所述将所述待处理数据进行格式转换,生成预处理数据,还包括:对所述预处理数据进行字体转换,包括将大写字母转换为小写字母。
4.根据权利要求3所述的数据匹配方法,其特征在于,所述将所述待处理数据进行格式转换,生成预处理数据,还包括:
对所述预处理数据进行分隔符处理,包括将与预存的通用分隔符相匹配的字符删除。
5.根据权利要求1所述的数据匹配方法,其特征在于,所述根据预存的字符串最大值和字符标准值,利用逆向最大匹配法对所述预处理数据进行数据分割,生成等级由高到低排列的多个子数据,包括:
步骤A,判断接收到的预处理数据是否为单字符或为空;
步骤B,如果所述预处理数据不为单字符或空,则从所述预处理数据的最右边截取长度为所述预存的字符串最大值的子字符串;
步骤C,判断所述子字符串与所述预存的字符标准值是否匹配,如果不匹配,转至步骤D,如果匹配,转至步骤E;
步骤D,删除所述子字符串最左边的一个字符后,重复步骤C;
步骤E,将所述子字符串作为分割后生成的一个子数据进行保存;
所述等级由高到低排列是指:按所述多个子数据分割出的先后顺序排列其等级高低,最先分割出来的子数据等级最低。
6.根据权利要求5所述的数据匹配方法,其特征在于,所述根据预存的子数据标准名称和字符转换规则,将所述多个子数据转换为一条标准数据,包括:
根据预存的子数据标准名称,将与每一子数据对应的标准名称存储为一个数据组,以生成多个数据组;
将所述多个数据组按级别由高到低排序,所述级别的高低与所述多个子数据的排序规则相同;
对所述排序后的多个数据组进行排列组合,生成多个多维数据组;
根据预存的关系树,找出与所述多个多维数据组中一组对应的关系树中的一条路径,生成所述标准数据。
7.根据权利要求6所述的数据匹配方法,其特征在于,所述根据预存的子数据标准名称和数字转换规则,将所述多个子数据转换为一条标准数据,还包括:
将所述多个子数据中的不能与所述预存的子数据标准名称相匹配的子数据,根据所述数字转换规则,生成所述标准数据;
其中,所述数字转换规则包括:将所述中文数字转换为阿拉伯数字。
8.根据权利要求7所述的数据匹配方法,其特征在于,所述根据预存的子数据标准名称和字符转换规则,将所述多个子数据转换为一条标准数据,还包括:
将所述多个子数据中的不能与所述子数据标准名称相匹配、且不能进行字符转换的子数据保持不变。
9.根据权利要求8所述的数据匹配方法,其特征在于,所述将所述标准数据与所述待处理数据进行比较,计算生成匹配值,包括:
将所述标准数据与所述待处理数据按位比较,构造比较矩阵;
查找所述比较矩阵中的线段对其按长度由长到短进行排序,并删除在行上或列上被更长线段完全包含的线段;
根据预设的线段权值和所述子数据中的进行字符转换规则的子数据所占的权值,生成匹配值。
10.一种数据匹配装置,其特征在于,所述装置包括:
待处理数据获取单元,用于获取客户信息数据中要进行匹配的待处理数据;
预处理数据生成单元,用于将所述待处理数据进行格式转换,生成预处理数据;
子数据生成单元,用于根据预存的字符串最大值和字符标准值,利用逆向最大匹配法对所述预处理数据进行数据分割,生成等级由高到低排列的多个子数据;
标准数据生成单元,用于根据预存的子数据标准名称和字符转换规则,将所述多个子数据转换为一条标准数据;
匹配值生成单元,用于将所述标准数据与所述待处理数据进行比较,计算生成匹配值。
11.根据权利要求10所述的数据匹配装置,其特征在于,所述数据匹配装置还包括:
数据存储单元,用于存储所述待处理数据、所述匹配值、所述字符串最大值、所述字符标准值、所述子数据标准名称和所述字符转换规则。
12.根据权利要求10所述的数据匹配装置,其特征在于,所述预处理数据生成单元包括:
字符转换模块,用于对所述预处理数据进行字符转换,包括将全角字符转换为半角字符。
13.根据权利要求12所述的数据匹配装置,其特征在于,所述预处理数据生成单元还包括:
字体转换模块,用于对所述预处理数据进行字体转换,包括将大写字母转换为小写字母。
14.根据权利要求13所述的数据匹配装置,其特征在于,所述预处理数据生成单元还包括:
分隔符处理模块,用于对所述预处理数据进行分隔符处理,包括将与预存的通用分隔符相匹配的字符删除。
15.根据权利要求10所述的数据匹配装置,其特征在于,所述子数据生成单元根据预存的字符串最大值和字符标准值,利用逆向最大匹配法对所述预处理数据进行数据分割,生成等级由高到低排列的多个子数据,其包括:
数据判断模块,用于判断接收到的预处理数据是否为单字符或为空;
数据截取模块,如果所述预处理数据不为单字符或空,则从所述预处理数据的最右边截取长度为所述预存的字符串最大值的子字符串;
数据匹配模块,用于将所述子字符串与所述预存的字符标准值进行匹配;
如果匹配不成功,则由所述数据截取模块删除所述子字符串最左边的一个字符后,再交由所述数据匹配模块进行匹配处理;如果匹配成功,则将所述匹配成功的子字符串作为分割后生成的一个子数据进行保存。
16.根据权利要求15所述的数据匹配装置,其特征在于,所述标准数据生成单元根据预存的子数据标准名称和字符转换规则,将所述多个子数据转换为一条标准数据,其包括:
数据组生成模块,用于根据预存的子数据标准名称,将与每一子数据对应的标准名称存储为一个数据组,以生成多个数据组;
排序模块,用于将所述多个数据组按级别由高到低排序,所述级别的高低与所述多个子数据的排序规则相同;
多维数据组生成模块,用于对所述排序后的多个数据组进行排列组合,生成多个多维数据组;
标准数据生成模块,用于根据预存的关系树,找出与所述多个多维数据组中一组对应的关系树中的一条路径,生成所述标准数据。
17.根据权利要求16所述的数据匹配装置,其特征在于,所述标准数据生成单元还包括:
数字转换模块,用于将所述多个子数据中的不能与所述预存的子数据标准名称相匹配的子数据,根据所述数字转换规则,生成所述标准数据;
其中,所述数字转换规则包括:将所述中文数字转换为阿拉伯数字。
18.根据权利要求17所述的数据匹配装置,其特征在于,所述匹配值生成单元用于将所述标准数据与所述待处理数据进行比较,计算生成匹配值,其包括:
比较矩阵构造模块,用于将所述标准数据与所述待处理数据按位比较,构造比较矩阵;
有效线段生成模块,查找所述比较矩阵中的线段对其按长度由长到短进行排序,并删除在行上或列上被更长线段完全包含的线段;
匹配值计算模块,用于根据预设的线段权值和所述子数据中的进行字符转换规则的子数据所占的权值,生成匹配值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210308561.9A CN102880650B (zh) | 2012-08-27 | 2012-08-27 | 一种数据匹配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210308561.9A CN102880650B (zh) | 2012-08-27 | 2012-08-27 | 一种数据匹配方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102880650A true CN102880650A (zh) | 2013-01-16 |
CN102880650B CN102880650B (zh) | 2015-11-18 |
Family
ID=47481976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210308561.9A Active CN102880650B (zh) | 2012-08-27 | 2012-08-27 | 一种数据匹配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102880650B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473374A (zh) * | 2013-09-29 | 2013-12-25 | 方正国际软件有限公司 | 患者数据分块系统和方法 |
CN104021184A (zh) * | 2014-06-10 | 2014-09-03 | 广州品唯软件有限公司 | 一种定位方法与系统 |
CN104239301A (zh) * | 2013-06-06 | 2014-12-24 | 阿里巴巴集团控股有限公司 | 一种数据比对方法和装置 |
CN104572946A (zh) * | 2014-12-30 | 2015-04-29 | 小米科技有限责任公司 | 黄页数据处理方法及装置 |
CN104624509A (zh) * | 2015-01-16 | 2015-05-20 | 浙江百世技术有限公司 | 一种快递自动分拣系统及自动分拣方法 |
CN105631627A (zh) * | 2015-12-23 | 2016-06-01 | 拉扎斯网络科技(上海)有限公司 | 一种订单地址匹配方法及装置 |
CN106407245A (zh) * | 2016-06-23 | 2017-02-15 | 平安科技(深圳)有限公司 | 信息的处理方法及装置 |
CN108241708A (zh) * | 2016-12-26 | 2018-07-03 | 北京国双科技有限公司 | 媒体名称的处理方法及装置 |
CN109918397A (zh) * | 2019-01-23 | 2019-06-21 | 中国银行股份有限公司 | 一种数据匹配方法、装置和存储介质 |
CN110609931A (zh) * | 2019-09-19 | 2019-12-24 | 中国银行股份有限公司 | 姓名比对方法及装置 |
TWI690187B (zh) * | 2018-01-23 | 2020-04-01 | 香港商阿里巴巴集團服務有限公司 | 服務更新方法及裝置、系統 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101393544A (zh) * | 2008-10-07 | 2009-03-25 | 南京师范大学 | 面向地址编码的中文地址语义解析方法 |
CN101719128A (zh) * | 2009-12-31 | 2010-06-02 | 浙江工业大学 | 一种基于模糊匹配的中文地理编码确定方法 |
-
2012
- 2012-08-27 CN CN201210308561.9A patent/CN102880650B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101393544A (zh) * | 2008-10-07 | 2009-03-25 | 南京师范大学 | 面向地址编码的中文地址语义解析方法 |
CN101719128A (zh) * | 2009-12-31 | 2010-06-02 | 浙江工业大学 | 一种基于模糊匹配的中文地理编码确定方法 |
Non-Patent Citations (2)
Title |
---|
李彬: ""计算字符串相似度的矩阵算法"", 《现代电子技术》 * |
钱敏 等: "《用于地址(地理位置)匹配的关键路径法》", 《计算机应用与软件》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239301A (zh) * | 2013-06-06 | 2014-12-24 | 阿里巴巴集团控股有限公司 | 一种数据比对方法和装置 |
CN104239301B (zh) * | 2013-06-06 | 2018-02-13 | 阿里巴巴集团控股有限公司 | 一种数据比对方法和装置 |
CN103473374A (zh) * | 2013-09-29 | 2013-12-25 | 方正国际软件有限公司 | 患者数据分块系统和方法 |
CN103473374B (zh) * | 2013-09-29 | 2017-01-11 | 北大医疗信息技术有限公司 | 患者数据分块系统和方法 |
CN104021184B (zh) * | 2014-06-10 | 2017-07-11 | 广州品唯软件有限公司 | 一种定位方法与系统 |
CN104021184A (zh) * | 2014-06-10 | 2014-09-03 | 广州品唯软件有限公司 | 一种定位方法与系统 |
CN104572946A (zh) * | 2014-12-30 | 2015-04-29 | 小米科技有限责任公司 | 黄页数据处理方法及装置 |
CN104572946B (zh) * | 2014-12-30 | 2018-07-06 | 小米科技有限责任公司 | 黄页数据处理方法及装置 |
CN104624509A (zh) * | 2015-01-16 | 2015-05-20 | 浙江百世技术有限公司 | 一种快递自动分拣系统及自动分拣方法 |
CN104624509B (zh) * | 2015-01-16 | 2017-06-13 | 浙江百世技术有限公司 | 一种快递自动分拣系统及自动分拣方法 |
CN105631627A (zh) * | 2015-12-23 | 2016-06-01 | 拉扎斯网络科技(上海)有限公司 | 一种订单地址匹配方法及装置 |
CN106407245A (zh) * | 2016-06-23 | 2017-02-15 | 平安科技(深圳)有限公司 | 信息的处理方法及装置 |
CN106407245B (zh) * | 2016-06-23 | 2021-05-07 | 平安科技(深圳)有限公司 | 信息的处理方法及装置 |
CN108241708A (zh) * | 2016-12-26 | 2018-07-03 | 北京国双科技有限公司 | 媒体名称的处理方法及装置 |
CN108241708B (zh) * | 2016-12-26 | 2021-01-22 | 北京国双科技有限公司 | 媒体名称的处理方法及装置 |
TWI690187B (zh) * | 2018-01-23 | 2020-04-01 | 香港商阿里巴巴集團服務有限公司 | 服務更新方法及裝置、系統 |
CN109918397A (zh) * | 2019-01-23 | 2019-06-21 | 中国银行股份有限公司 | 一种数据匹配方法、装置和存储介质 |
CN109918397B (zh) * | 2019-01-23 | 2021-04-27 | 中国银行股份有限公司 | 一种数据匹配方法、装置和存储介质 |
CN110609931A (zh) * | 2019-09-19 | 2019-12-24 | 中国银行股份有限公司 | 姓名比对方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102880650B (zh) | 2015-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102880650A (zh) | 一种数据匹配方法及装置 | |
CN101661391B (zh) | 一种对象序列化方法、对象反序列化方法、装置及系统 | |
CN102938767B (zh) | 基于云数据外包系统的高效可验证的模糊关键词搜索方法 | |
CN102722709B (zh) | 一种垃圾图片识别方法和装置 | |
CN103049709B (zh) | 基于生成元扩展彩虹表的密码恢复系统及其恢复方法 | |
CN106991127B (zh) | 一种基于拓扑特征扩展的知识主题短文本层次分类方法 | |
CN102184205B (zh) | 基于可扩展精度混沌哈希的多模式串匹配方法 | |
CN111797409B (zh) | 一种大数据中文文本无载体信息隐藏方法 | |
CN103207904A (zh) | 搜索结果的提供方法及搜索引擎 | |
CN108733810B (zh) | 一种地址数据匹配方法及装置 | |
CN102867049B (zh) | 一种基于单词查找树实现的汉语拼音快速分词方法 | |
CN101576929A (zh) | 一种快速词条提示的实现方法 | |
CN102999495B (zh) | 一种同义词语义映射关系确定方法及装置 | |
CN103064825B (zh) | 模糊音对建立、设置方法和输入法及其装置和系统 | |
CN105069034A (zh) | 一种生成推荐信息的方法及装置 | |
CN1243431C (zh) | 宽带网络通信产品的通用路由平台命令行的解析方法 | |
CN112711649A (zh) | 一种数据库多字段匹配方法、装置、设备及存储介质 | |
CN202916832U (zh) | 一种数据匹配装置 | |
CN115455315B (zh) | 一种基于对比学习的地址匹配模型训练方法 | |
CN106844553A (zh) | 基于样本数据的数据探测和扩充方法及装置 | |
CN109657060B (zh) | 安全生产事故案例推送方法及系统 | |
CN111274247A (zh) | 一种基于密文时空数据的可验证范围查询方法 | |
CN106027369A (zh) | 一种面向邮件地址特征的邮件地址匹配方法 | |
CN115168336A (zh) | 一种基于多个客户端的跨机构哈希检索方法及装置 | |
CN113656466A (zh) | 保单数据查询方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |