一种地址数据匹配方法及装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种地址数据匹配方法及装置。
背景技术
在城市数据的管理中,将城市的地址数据按照特定的格式编制,能够形成城市的标准地址库。标准地址库可用于与社会采集到的样本地址数据进行比对,从而,比对结果得到更多有关该样本地址其他信息。
在城市中实现一个具体地址的定位,需要从城市的行政区域、街道等顶层信息开始,逐层次地细化地址数据的末端信息,其中,末端信息可以包括建筑物(群)、楼层、房间号等,例如,某房间的地址可以为:XX市XX区XX街道XX小区1栋3单元4层401号。在上述自顶层到末端的地址层级划分方式中,如行政区域、街道等顶层信息的描述通常可以遵循一套标准的格式规范,但是,在具体细化到建筑群(小区或团组)的楼栋号、楼层、房间号时,却可能出现错综复杂的描述格式,例如“1栋3单元4层401号”还可以写成“1-3-4-401#”等其他形式。
由于地址末端信息格式的错综复杂,以及,标准地址库考虑到数据的规范性又不可能兼顾各种末端信息的各种格式,从而造成了社会采集的样本地址数据与标准地址数据之间的格式鸿沟,导致现有技术无法实现对社会采集到的样本地址数据进行有效的匹配。
发明内容
本申请实施例提供了一种地址数据匹配方法及装置,以解决现有技术无法实现对社会采集到的样本地址数据进行有效的匹配的问题。
第一方面,根据本申请实施例,提供了一种地址数据匹配方法,包括:
将标准地址库中的标准地址数据拆分成标准地址模式和标准地址编码;
在地址数据匹配时,提取样本地址数据的地址编码;
将样本地址数据的地址编码与标准地址库中的标准地址编码进行匹配,以获取样本地址数据适用的标准地址模式;
将样本地址数据适用的标准地址模式匹配给样本地址数据,使样本地址数据转化成标准地址数据;
其中,所述标准地址模式包含地址层级的标准划分方式,所述标准地址编码包含标准地址模式下每个地址层级的编码值。
第二方面,根据本申请实施例,提供了一种地址数据匹配装置,包括:
拆分模块,用于将标准地址库中的标准地址数据拆分成标准地址模式和标准地址编码;
提取模块,用于在地址数据匹配时,提取样本地址数据的地址编码;
编码匹配模块,用于将样本地址数据的地址编码与标准地址库中的标准地址编码进行匹配,以获取样本地址数据适用的标准地址模式;
模式匹配模块,用于将样本地址数据适用的标准地址模式匹配给样本地址数据,使样本地址数据转化成标准地址数据;
其中,所述标准地址模式包含地址层级的标准划分方式,所述标准地址编码包含标准地址模式下每个地址层级的编码值。
由以上技术方案可知,本申请实施例提供了一种地址数据匹配方法及装置,通过拆分标准地址数据获得标准地址数据的标准地址模式和标准地址编码,以及提取样本地址数据的地址编码的方式,分别从标准地址数据和不同格式的样本地址数据中提取出了可直接匹配的地址编码部分;然后通过地址编码的匹配,获取样本地址数据适用的标准地址模式;最后,将样本地址数据适用的标准地址模式匹配给样本地址数据,使样本地址数据转化成标准地址数据;从而,跨越了标准地址数据与样本地址数据之间的格式鸿沟,即使样本地址数据的格式复杂多变,也能够有效地与标准地址数据匹配。因此,本申请实施例提供的技术方案解决了现有技术无法实现对社会采集到的样本地址数据进行有效的匹配的问题。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一示例性实施例示出的一种地址数据匹配方法的流程图;
图2是本申请一示例性实施例示出的另一种地址数据匹配方法的流程图;
图3是本申请一示例性实施例示出的一种地址树的示意图;
图4是本申请一示例性实施例示出的一种地址数据匹配方法步骤S130的流程图;
图5是本申请一示例性实施例示出的一种地址树的节点匹配顺序图;
图6是本申请一示例性实施例示出的另一种地址数据匹配方法步骤S130的流程图;
图7是本申请一示例性实施例示出的另一种地址树的节点匹配顺序图;
图8是本申请一示例性实施例示出的一种获取样本地址数据的方法的流程图;
图9是本申请一示例性实施例示出的一种地址数据匹配方法步骤S110的流程图;
图10是本申请一示例性实施例示出的一种地址数据匹配方法的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
为了解决现有技术中,由于地址末端信息格式的错综复杂,以及标准地址库考虑到数据的规范性又不可能兼顾各种末端信息的各种格式,造成社会采集的样本地址数据与标准地址数据之间的格式鸿沟,导致现有技术无法实现对社会采集到的样本地址数据进行有效的匹配的问题,本申请实施例提供了一种地址数据匹配方法及装置。
下面是本申请的方法实施例。
图1是本申请一示例性实施例示出的一种地址数据匹配方法的流程图。该方法可以应用于PC(个人电脑)、平板电脑、手机和服务器等多种设备。
参见图1所示,该方法可以包括以下步骤:
步骤S110,将标准地址库中的标准地址数据拆分成标准地址模式和标准地址编码。
本申请中,标准地址库按照一个预设的标准地址格式,将一个统计区域中每个地址的末端信息以预设的标准地址格式存储成标准地址数据。这个统计区域可以是一个建筑群、一个小区或一个住宅组团等。例如,我们可以预设用来表达某小区住户地址的标准地址格式为:X栋X单元X层X号(其中,X表示具体数值),那么一个具体的住户地址就可以用标准地址格式表示为:1栋3单元4层401号。
需要解释说明的是,本申请中定义的地址模式指的是地址数据中对街道、小区、楼栋、单元、楼层、门牌号等地址层级的划分方式,因此,标准地址模式就是指标准地址数据中包含的地址层级的标准划分方式。本申请定义的地址编码包括了地址数据中每个地址层级的编码值,因此,标准地址编码就是在标准地址数据的标准地址模式下每个地址层级的编码值。
需要进一步补充说明的是,本申请实施例中示出的标准地址格式仅作为一种示例,用于帮助本领域技术人员理解本申请。本领域技术人员在本申请的启发下,可根据地址划分的实际情况定义不同的标准地址格式(例如,定义商场某门市的标准地址格式为:X座X区X层X号),这些设计都没有背离本申请的精神和保护范围。
示例地,如果一个标准地址数据为:1栋3单元4层401号;那么,该标准地址数据的标准地址模式为:栋/单元/层/号;该标准地址数据的标准地址编码为:1/3/4/401。
步骤S120,在地址数据匹配时,提取样本地址数据的地址编码。
本申请中的样本地址数据,是指从社会数据中采集到的地址数据。样本地址数据由于来源复杂,在地址格式的书写上也不尽相同,例如,可以书写成:1-3-4-401#,还可以书写成1#-3-4-401等。可以看出的是,这些采集的样本地址数据虽然包含了正确的地址编码却不包含规范的地址模式,因此,无法与标准地址数据进行匹配。
在本申请中,基本思路是:由于样本地址数据中包含正确的地址编码,与标准地址数据的标准地址编码具有可比对性,因此,在进行地址数据匹配时,首先将可比对的样本地址数据的地址编码提取出来,以便与标准地址编码进行匹配。
示例地,如果样本地址数据为:1-3-4-401#,那么提取到的地址编码为:1/3/4/401。
步骤S130,将样本地址数据的地址编码与标准地址库中的标准地址编码进行匹配,以获取样本地址数据适用的标准地址模式。
本申请中,标准地址库中包含了一个统计区域中所有地址的标准地址数据,例如这个统计区域可以是一个建筑群、一个小区或一个住宅组团等,这些标准地址数据是以标准地址模式和标准地址编码一一对应的形式存在,因此,在步骤S130中,通过将样本地址数据的地址编码与标准地址库中的标准地址编码进行匹配,就能够确定样本地址数据适用的标准地址模式。
示例地,从样本地址数据中提取到的地址编码为:1/3/4/401。
示例地,标准地址库包含了一个小区的所有地址。其中,标准地址模式为:栋/单元/层/号;部分地址的标准地址编码如下表所示:
1/3/6/601 |
1/3/6/602 |
1/4/6/601 |
1/4/6/602 |
1/3/5/501 |
1/3/5/502 |
1/4/5/501 |
1/4/5/502 |
1/3/4/401 |
1/3/4/402 |
1/4/4/401 |
1/4/4/402 |
1/3/3/301 |
1/3/3/302 |
1/4/3/301 |
1/4/3/302 |
1/3/2/201 |
1/3/2/202 |
1/4/2/201 |
1/4/2/202 |
1/3/1/101 |
1/3/1/102 |
1/4/1/101 |
1/4/1/102 |
在步骤S130中,样本地址数据的地址编码能够匹配到标准地址库中的标准地址编码:1/3/4/401,那么,该标准地址编码对应的标准地址模式就是样本地址数据适用的标准地址模式,即:栋/单元/层/号。
步骤S140,将样本地址数据适用的标准地址模式匹配给样本地址数据,使样本地址数据转化成标准地址数据。
本申请中,基本思路是:当获取到样本地址使用的标准地址模式时,将标准地址模式匹配给样本地址数据,从而修正样本地址数据的地址模式,将样本地址数据转化成标准地址数据。
示例地,步骤S130中获取到的样本地址数据适用的标准地址模式为:栋/单元/层/号,将该标准地址模式匹配给样本数据,能够得到:1(栋)-3(单元)-4(层)-401(号)#,从而,样本地址数据会转化成:1栋3单元4层401号。
由以上技术方案可知,本申请实施例提供了一种地址数据匹配方法,包括:将标准地址库中的标准地址数据拆分成标准地址模式和标准地址编码;在地址数据匹配时,提取样本地址数据的地址编码;将样本地址数据的地址编码与标准地址库中的标准地址编码进行匹配,以获取样本地址数据适用的标准地址模式;将样本地址数据适用的标准地址模式匹配给样本地址数据,使样本地址数据转化成标准地址数据;其中,所述标准地址模式包含地址层级的标准划分方式,所述标准地址编码包含标准地址模式下每个地址层级的编码值。本申请实施例提供的技术方案,通过拆分标准地址数据获得标准地址数据的标准地址模式和标准地址编码,以及,提取样本地址数据的地址编码的方式,分别从标准地址数据和不同格式的样本地址数据中提取出了可直接匹配的地址编码部分;然后通过地址编码的匹配,获取样本地址数据适用的标准地址模式;最后,将样本地址数据适用的标准地址模式匹配给样本地址数据,使样本地址数据转化成标准地址数据;从而,跨越了标准地址数据与样本地址数据之间的格式鸿沟,即使样本地址数据的格式复杂多变,也能够有效地与标准地址数据匹配。因此,本申请实施例提供的技术方案解决了现有技术无法实现对社会采集到的样本地址数据进行有效的匹配的问题。
图2是本申请一示例性实施例示出的另一种地址数据匹配方法的流程图。
如图2所示,在一种可选择的实施方式中,步骤S130之前还包括:
步骤S129,根据标准地址数据的标准地址编码,生成地址树。
其中,所述地址树包含多层节点,每层节点对应所述标准地址模式的一个地址层级,每个节点中包含所述地址层级的一个编码值,所述地址树的根节点到叶子节点形成的每一条路径对应一个标准地址编码。
图3是本申请一示例性实施例示出的一种地址树的示意图。
本申请中,地址树将原本以离散形式存在的每个标准地址编码通过节点相连的形式整合成树状结构,便于在步骤S130中通过树搜索的方式将样本地址数据的地址编码与标准地址库中的标准地址编码进行匹配。此外,离散形式存在的标准地址数据相比,地址树通过路径的合并和分叉更直观地表现了多个标准地址数据之间的关系。
为了帮助本领域普通技术人员进一步理解本申请的技术方案和思想,下面结合具体示例,对步骤S130中将样本地址数据的地址编码与标准地址库中的标准地址编码进行匹配,以获取样本地址数据适用的标准地址模式的过程做出具体阐述说明。
图4是本申请一示例性实施例示出的一种地址数据匹配方法步骤S130的流程图。
如图4所示,在一种可选择的实施方式中,基于步骤S129生成的地址树,步骤S130可以包括以下步骤:
步骤S210,将地址树的根节点加入匹配队列;
步骤S220,将匹配队列尾端节点的一个子节点加入匹配队列;如果所述尾端节点不存在子节点,将所述尾端节点的一个同层节点加入匹配队列;如果所述尾端节点的所有同层节点均已加入过匹配队列中,则将所述尾端节点的一个上层节点加入到匹配队列;
步骤S230,将匹配队列中的前端节点与样本地址数据的地址编码进行匹配;
步骤S240,重复执行步骤S220~步骤S230,直至在地址树中搜索到一条与样本地址数据的地址编码完全匹配的路径。
为了帮助本领域普通技术人员进一步理解本申请的技术方案和思想,下面结合图3示出的地址树,使用一个具体示例,对步骤S210~步骤S240做出具体阐述说明。
在步骤S210中:将地址树的根节点加入到匹配队列。当前的匹配队列为:
在步骤S220中:由于,“根节点”在匹配队列中既是前端节点也是尾端节点,且根节点存在子节点“1(栋)”“2(栋)”“3(栋)”,因此,将其中一个子节点加入到匹配队列中,默认按照同层节点的先后顺序,首先将“1(栋)”加入到匹配队列中。匹配队列变为:
在步骤S230中:从匹配队列中将前端节点(当前为根节点)取出,与样本地址数据的地址编码(例如:1/1/2/201)进行匹配(其中,根节点表示匹配过程的开始)。在本次步骤S230执行之以后,当前的匹配队列为:
在步骤S240中,判断是否在地址树中搜索到一条与样本地址数据的地址编码完全匹配的路径,如果搜索到,则表示本地址数据的地址编码与标准地址库中的标准地址编码匹配成功,如果没有搜索到,则需要继续搜索,即重复执行步骤S220~步骤S230。下面继续以示例说明重复执行步骤S220~步骤S230的过程:
在步骤S220中:将“1(栋)”的子节点“1(单元)”加入到匹配队列。匹配队列变为:
在步骤S230中:从匹配队列中将“1(栋)”取出,与“1/1/2/201”匹配,匹配到“1(栋)”→“1”,此时,匹配队列变为:
然后继续重复执行步骤S220~步骤S230。
在步骤S220中:将“1(单元)”的子节点“1(层)”加入到匹配队列。匹配队列变为:
在步骤S230中:从匹配队列中将“1(单元)”取出,与“1/1/2/201”匹配,匹配到“1(单元)”→“1”,此时,匹配队列变为:
然后继续重复执行步骤S220~步骤S230。
在步骤S220中:将“1(层)”的子节点“101”加入到匹配队列。匹配队列变为:
在步骤S230中:从匹配队列中将“1(层)”取出,与“1/1/2/201”匹配,未匹配到地址编码中的对应编码值,此时,匹配队列变为:
然后继续重复执行步骤S220~步骤S230。
在步骤S220中:由于“101”是叶子节点,不存在子节点,因此,将“101”的同层节点“102”加入到匹配队列。匹配队列变为:
在步骤S230中:从匹配队列中将“101”取出,与“1/1/2/201”匹配,未匹配到地址编码中的对应编码值,此时,匹配队列变为:
然后继续重复执行步骤S220~步骤S230。
在步骤S220中,由于“102”是叶子节点,不存在子节点,且“102”的同层节点均以加入过匹配队列中,因此,将“102”的上层节点“2(层)”加入到匹配队列。匹配队列变为:
在步骤S230中:从匹配队列中将“102”取出,与“1/1/2/201”匹配,未匹配到地址编码中的对应编码值,此时,匹配队列变为:
然后继续重复执行步骤S220~步骤S230。
在步骤S220中:将“2(层)”的子节点“201”加入到匹配队列。匹配队列变为:
在步骤S230中:从匹配队列中将“2(层)”取出,与“1/1/2/201”匹配,匹配到“2(层)”→“2”,此时,匹配队列变为:
然后继续重复执行步骤S220~步骤S230。
在步骤S20中:由于“201”是叶子节点,不存在子节点,因此,将“201”的同层节点“202”加入到匹配队列。匹配队列变为:
在步骤S230中:从匹配队列中将“201”取出,与“1/1/2/201”匹配,匹配到“201”→“201”,此时,已经在地址树中搜索到了与样本地址数据的地址编码完全匹配的路径,即:根---1(栋)---1(单元)---2(层)---201。因此,不再继续对地址树进行搜索。
在本示例的整个地址树搜索过程中,地址树的节点加入到匹配队列的顺序(即:节点匹配的顺序)参见图5中的序号①~⑨所示。
如果能够在地址树中搜索到一条与样本地址数据的地址编码完全匹配的路径,说明该样本地址数据的地址编码与标准地址库中的标准地址编码匹配成功,该标准地址编码对应的标准地址模式适用于该样本地址数据。
本申请实施例还提供了另一种实现步骤S130的方法。图6是本申请一示例性实施例示出的另一种地址数据匹配方法步骤S130的流程图。
如图6所示,在另一种可选择的实施方式中,基于步骤S129生成的地址树,步骤S130可以包括以下步骤:
步骤S310,将所述地址树的根节点加入匹配队列;
步骤S320,将所述匹配队列中的尾端节点的一个同层节点加入匹配队列;如果所述尾端节点的所有同层节点均已加入过匹配队列中,则将所述尾端节点的一个相邻下层节点加入到匹配队列
步骤S330,将匹配队列中的前端节点与样本地址数据的地址编码进行匹配;
步骤S340,重复执行步骤S320~步骤S330,直至在地址树中搜索到一条与样本地址数据的地址编码完全匹配的路径。
为了帮助本领域普通技术人员进一步理解本申请的技术方案和思想,下面结合图3示出的地址树,使用一个具体示例,对步骤S310~步骤S340做出具体阐述说明。
在步骤S310中:将地址树的根节点加入到匹配队列。当前的匹配队列为:
在步骤S320中:由于“根节点”不存在同层节点,因此,在“根节点”将其中一个子节点“1(栋)”加入到匹配队列中。匹配队列变为:
在步骤S330中,从匹配队列中将前端节点(当前为根节点)取出,与样本地址数据的地址编码(例如:1/1/2/201)进行匹配(其中,根节点表示匹配过程的开始)。此时,匹配队列为:
在步骤S340中,判断是否在地址树中搜索到一条与样本地址数据的地址编码完全匹配的路径,如果搜索到,则表示本地址数据的地址编码与标准地址库中的标准地址编码匹配成功,如果没有搜索到,则需要继续搜索,即重复执行步骤S320~步骤S330。下面继续以示例说明重复执行步骤S320~步骤S330的过程:
在步骤S320中:将“1(栋)”的同层节点“2(栋)”加入到匹配队列。匹配队列变为:
在步骤S330中:从匹配队列中将“1(栋)”取出,与“1/1/2/201”匹配,匹配到“1(栋)”→“1”,此时,匹配队列变为:
然后继续重复执行步骤S320~步骤S330直到在地址树中搜索到一条与样本地址数据的地址编码完全匹配的路径。
在本示例的整个地址树搜索过程中,地址树的节点加入到匹配队列的顺序(即:节点匹配的顺序)参见图7中的序号①~⑦所示。
在一种选择的实施方式中,如果在步骤S210~步骤S240或步骤S310~步骤S340中无法在地址树中搜索到与样本地址数据的地址编码完全匹配的路径,那么,执行步骤S250:
步骤S250,如果无法搜索到与样本地址数据的地址编码完全匹配的路径,将样本地址数据的地址编码与标准地址编码进行相似度匹配。
在一种可选择的实施方式中,将样本地址数据的地址编码与地址树进行路径的相似度匹配,使用以下公式实现:
其中,C[i,j]为标准地址编码的前i个地址层级与样本地址数据的地址编码的前j个地址层级的公共子串的长度值;x[i]为标准地址编码的第i个地址层级的编码值;y[j]为样本地址数据的地址编码的第j个地址层级的编码值。
为了帮助本领域普通技术人员进一步理解本申请的技术方案和思想,下面结合具体示例,对使用上述公式实现将样本地址数据的地址编码与标准地址编码进行相似度匹配的过程做出具体阐述说明。
示例地,标准地址编码为:1/1/1/102;样本地址数据的地址编码为:1/1/102;根据上述地址编码创建计算表格:
从C[1,1]开始,依次计算每个单元格的C[i,j]值,例如:
由于,x[1]≠y[1],所以,C[1,1]=max{C[1,0],C[0,1]}=max{0,0}=0;
由于,x[2]=y[1],所以,C[2,1]=C[1,0]+1=1;
由于,x[3]≠y[1],所以,C[3,1]=max{C[3,0],C[2,1]}=max{0,1}=1;
由于,x[4]≠y[1],所以,C[4,1]=max{C[3,1],C[4,0]}=max{1,0}=1;
……
根据上述计算方法,计算得到的所有单元格的C[i,j]值,如下:
从上述计算结果中可以看出,样本地址数据的地址编码与标准地址编码的公共子串的最大值为C[4,3]=3,该最大值就是样本地址数据的地址编码与标准地址编码的相似度。
进一步地,在样本地址数据的地址编码与标准地址库中每个标准地址数据的标准地址编码进行相似度匹配之后,获取最大相似度所对应的标准地址编码;然后,将该标准地址编码对应的标准地址模式作为样本地址数据适用的标准地址模式。
为了帮助本领域普通技术人员进一步理解本申请的技术方案和思想,下面结合具体示例,对一种获取样本地址数据的方法做出具体阐述说明。
图8是本申请一示例性实施例示出的一种获取样本地址数据的方法的流程图。
如图8所示,在一种可选择的实施方式中,获取样本地址数据可以包括以下步骤:
步骤S410,预设地址的顶层信息所包含的地址层级。
顶层信息包含那些地址层级可以根据标准地址库的规模来设置。
示例地,某房间的地址可以为:XX市XX区XX街道XX小区1栋3单元4层401号。如果标准地址库包含“XX小区”内所有住户的地址数据,那么,顶层信息为“XX市XX区XX街道XX小区”;如果标准地址库包含的是“XX小区1栋”内所有住户的地址数据,那么,顶层信息为“XX市XX区XX街道XX小区1栋”。
步骤S420,根据预设的顶层信息,将原始地址数据的顶层信息和末端信息拆分,将拆分得到的末端信息作为所述样本地址数据。
示例地,如果顶层信息为“XX市XX区XX街道XX小区”,那么,“XX市XX区XX街道XX小区1栋3单元4层401号”会被拆分为:
顶层信息:XX市XX区XX街道XX小区
末端信息:1栋3单元4层401号
上述顶层信息即为本申请中的样本地址数据。
为了帮助本领域普通技术人员进一步理解本申请的技术方案和思想,下面结合具体示例,对步骤S110中将将标准地址库中的标准地址数据拆分成标准地址模式和标准地址编码的过程做出具体阐述说明。
图9是本申请一示例性实施例示出的一种地址数据匹配方法步骤S110的流程图。
如图9所示,在一种可选择的实施方式中,步骤S110可以包括以下步骤:
步骤S111,根据预设的分词词典,将所述标准地址数据分词;
步骤S112,从标准地址数据的分词结果中提取地址层级,生成标准地址模式;以及从标准地址数据的分词结果中提取每个地址层级的编码值,生成标准地址编码。
下面以一个示例具体说明步骤S111和步骤S112的实现过程。
示例地,样本地址数据为:1栋3单元4层401号。
在步骤S111中,使用预设的分词词典对上述样本地址数据进行分词,分词结果如下:
1 栋 3 单元 4 层 401 号
在本申请中,可预先收集已知的地址数据,然后收集到的地址数据中表达地址层级的分词,例如“座”“单元”“区”“号”等,形成分词词典,使用这样的分词词典进行分词,能够准确地将样本地址数据中的地址层级和编码值切分开。
在步骤S112中,示例地,从上述分词结果中提取到标准地址模式:栋/单元/层/号;以及,提取到标准地址编码:1/3/4/401。
由以上技术方案可知,本申请实施例提供了一种地址数据匹配方法,包括:将标准地址库中的标准地址数据拆分成标准地址模式和标准地址编码;在地址数据匹配时,提取样本地址数据的地址编码;将样本地址数据的地址编码与标准地址库中的标准地址编码进行匹配,以获取样本地址数据适用的标准地址模式;将样本地址数据适用的标准地址模式匹配给样本地址数据,使样本地址数据转化成标准地址数据;其中,所述标准地址模式包含地址层级的标准划分方式,所述标准地址编码包含标准地址模式下每个地址层级的编码值。本申请实施例提供的技术方案,通过拆分标准地址数据获得标准地址数据的标准地址模式和标准地址编码,以及,提取样本地址数据的地址编码的方式,分别从标准地址数据和不同格式的样本地址数据中提取出了可直接匹配的地址编码部分;然后通过地址编码的匹配,获取样本地址数据适用的标准地址模式;最后,将样本地址数据适用的标准地址模式匹配给样本地址数据,使样本地址数据转化成标准地址数据;从而,跨越了标准地址数据与样本地址数据之间的格式鸿沟,即使样本地址数据的格式复杂多变,也能够有效地与标准地址数据匹配。因此,本申请实施例提供的技术方案解决了现有技术无法实现对社会采集到的样本地址数据进行有效的匹配的问题。
下面是本申请的装置实施例,可用于执行本申请的方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图10是本申请一示例性实施例示出的一种地址数据匹配方法的示意图。该装置可以应用于PC(个人电脑)、平板电脑、手机和服务器等多种设备。
参见图10所示,该装置可以包括:
拆分模块510,用于将标准地址库中的标准地址数据拆分成标准地址模式和标准地址编码;
提取模块520,用于在地址数据匹配时,提取样本地址数据的地址编码;
编码匹配模块530,用于将样本地址数据的地址编码与标准地址库中的标准地址编码进行匹配,以获取样本地址数据适用的标准地址模式;
模式匹配模块540,用于将样本地址数据适用的标准地址模式匹配给样本地址数据,使样本地址数据转化成标准地址数据;
其中,所述标准地址模式包含地址层级的标准划分方式,所述标准地址编码包含标准地址模式下每个地址层级的编码值。
由以上技术方案可知,本申请实施例提供了一种地址数据匹配装置,该装置用于:将标准地址库中的标准地址数据拆分成标准地址模式和标准地址编码;在地址数据匹配时,提取样本地址数据的地址编码;将样本地址数据的地址编码与标准地址库中的标准地址编码进行匹配,以获取样本地址数据适用的标准地址模式;将样本地址数据适用的标准地址模式匹配给样本地址数据,使样本地址数据转化成标准地址数据;其中,所述标准地址模式包含地址层级的标准划分方式,所述标准地址编码包含标准地址模式下每个地址层级的编码值。本申请实施例提供的技术方案,通过拆分标准地址数据获得标准地址数据的标准地址模式和标准地址编码,以及,提取样本地址数据的地址编码的方式,分别从标准地址数据和不同格式的样本地址数据中提取出了可直接匹配的地址编码部分;然后通过地址编码的匹配,获取样本地址数据适用的标准地址模式;最后,将样本地址数据适用的标准地址模式匹配给样本地址数据,使样本地址数据转化成标准地址数据;从而,跨越了标准地址数据与样本地址数据之间的格式鸿沟,即使样本地址数据的格式复杂多变,也能够有效地与标准地址数据匹配。因此,本申请实施例提供的技术方案解决了现有技术无法实现对社会采集到的样本地址数据进行有效的匹配的问题。
本申请可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。