一种地址提取方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种地址提取方法和装置。
背景技术
随着物流行业的快速发展,订单业务量的不断增加。订单下传后需要根据地址匹配到正确的配送站点,从而完成配送。
现有主要是基于全地址(即用户下单时,所填写的详细地址)匹配配送站点的方式,即新地址通过一定匹配方式(例如关键字、GIS、人工分拣等)匹配到站点,待投递成功后将该地址以及配送站点写入地址库中。当下次完全相同的地址再次匹配时,会直接在地址库中找到该配送站点。
在实现本发明的过程中,发明人发现现有技术至少存在如下问题:
1)地址噪声未处理:订单中的地址通常为人工填写,对于相同的地址也可能存在描述上的不同,单纯地址库匹配失败的概率较大;
2)匹配较难:只能根据地址库,对已经妥投过得全地址进行匹配,而对于新的地址无法相似匹配,例如“A市B区C广场D座5层5001室”,对应的配送站点为C站;但对于新地址“A市B区C广场D座2101时”,虽然都描述的是一栋楼,但地址不完全相同,无法根据新地址在地址库中查找到对应的站点;
3)依赖人工:当地址库匹配失败后,通常需要依赖人工进行匹配。
发明内容
有鉴于此,本发明实施例提供一种地址提取方法和装置,至少能够解决现有技术中依据全地址匹配失败率较高的问题。
为实现上述目的,根据本发明实施例的一个方面,提供了一种地址提取方法,包括:
输入地址信息至行政区树模型,得到所述地址信息中的行政区地址要素;
确定所述地址信息去除所述行政区地址要素后的剩余地址信息,输入所述剩余地址信息至有限状态机模型,得到所述剩余地址信息中的社区地址要素;
根据地址要素的设定等级,按序组合所述行政区地址要素以及所述社区地址要素,生成与所述地址信息相应的精简地址。
可选的,在所述输入地址信息至行政区树模型之前,还包括:
提取所述地址信息中的噪声信息,根据预定去噪方式,对所述噪声信息进行噪声预处理。
可选的,在所述生成与所述地址信息相应的精简地址之后,还包括:
获取与所述地址信息相应的配送站点,以确定所述精简地址与所述配送站点之间的对应关系;以及
根据所述行政区树模型和所述有限状态机模型,提取待处理地址信息中的地址要素,按序组合所提取的地址要素生成待处理精简地址;
根据精简地址与配送站点之间的对应关系,确定与所述待处理精简地址相应的配送站点。
可选的,还包括:当监测到对所述地址信息的变更操作时,根据所述行政区树模型和所述有限状态机模型,提取变更后地址信息中的地址要素,按序组合所提取的地址要素生成变更后的精简地址。
为实现上述目的,根据本发明实施例的另一方面,提供了一种地址提取装置,包括:
第一要素提取模块,用于输入地址信息至行政区树模型,得到所述地址信息中的行政区地址要素;
第二要素提取模块,用于确定所述地址信息去除所述行政区地址要素后的剩余地址信息,输入所述剩余地址信息至有限状态机模型,得到所述剩余地址信息中的社区地址要素;
地址要素组合模块,用于根据地址要素的设定等级,按序组合所述行政区地址要素以及所述社区地址要素,生成与所述地址信息相应的精简地址。
可选的,还包括地址去噪模块,用于:提取所述地址信息中的噪声信息,根据预定去噪方式,对所述噪声信息进行噪声预处理。
可选的,还包括关系确定模块,用于:
获取与所述地址信息相应的配送站点,以确定所述精简地址与所述配送站点之间的对应关系;以及
根据所述行政区树模型和所述有限状态机模型,提取待处理地址信息中的地址要素,按序组合所提取的地址要素生成待处理精简地址;
根据精简地址与配送站点之间的对应关系,确定与所述待处理精简地址相应的配送站点。
可选的,还包括地址变更模块,用于:根据所述行政区树模型和所述有限状态机模型,提取变更后地址信息中的地址要素,按序组合所提取的地址要素生成变更后的精简地址。
为实现上述目的,根据本发明实施例的再一方面,提供了一种地址提取电子设备。
本发明实施例的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一所述的地址提取方法。
为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一所述的地址提取方法。
根据本发明所述提供的方案,上述发明中的一个实施例具有如下优点或有益效果:针对现有地址库匹配的缺点,利用“精简地址处理工具”处理,使得多条对同一地理位置描述的信息经处理后都会对应于同一条标准的精简地址,这样即使新地址未在地址库中记录过,也可以根据所提取的精简地址进行相应站点的匹配查找,进而提高地址的匹配成功率。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的一种地址提取方法的主要流程示意图;
图2是根据本发明实施例的一种可选的地址提取方法的主要流程示意图;
图3是本发明实施例提供的对于新地址的配送站点匹配过程的流程示意图;
图4是根据本发明实施例的一种地址提取装置的主要模块示意图;
图5是本发明实施例可以应用于其中的示例性系统架构图;
图6是适于用来实现本发明实施例的移动设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要说明的是,本发明主要适用于订单配送场景,针对于订单生成后,如何依据其地址信息,确定配送站的问题。
参见图1,示出的是本发明实施例提供的一种地址提取方法的主要流程图,包括如下步骤:
S101:输入地址信息至行政区树模型,得到所述地址信息中的行政区地址要素;
S102:确定所述地址信息去除所述行政区地址要素后的剩余地址信息,输入所述剩余地址信息至有限状态机模型,得到所述剩余地址信息中的社区地址要素;
S103:根据地址要素的设定等级,按序组合所述行政区地址要素以及所述社区地址要素,生成与所述地址信息相应的精简地址。
上述实施方式中,对于步骤S101,将原始地址处理为精简地址的核心为精简地址处理工具。
在对地址精简处理之前,还需要对地址做预处理:
1)过滤噪声:噪声里面通常不会存在地址信息的,为提高后续的地址分析准确性,可以在处理地址之前,对地址信息进行去噪处理。
具体地,去除标点符号(!*?、等)、去除电话号码及邮政编码、去除一些备注信息如【送货时请打电话、不支持到付】等。
2)提取去噪后的有效地址信息;
3)繁体转简体、中文数字转阿拉伯数字、同义词转换(如:有限公司、有限责任公司、股份有限公司等统一转换为公司);
对于3),本方法的目的是将尽可能多的多条地址归纳为一条地址,例如“朝林广场A座23层”和“朝林广场A座二十三层”,如果都转换为阿拉伯数字,对应的就是一个地址,不然就会认为不是相同的地址。
以下说明地址信息中的简要地址提取,可以将标准四级地址行政区域名称词典,加载到内存中,构建成查询树,例如,行政区Trie树模型。将预处理后的地址输入查询树中,可以输出相应行政区域包含分级标注的地址。
例如,地址信息有12个字,在前5个字中提取出四级地址,剩下的7个字去进行下一步的处理。
本发明对于地址中的地址要素提取,依赖于地址要素提取表(见表1),将地址要素分为10级(也可以是其他级别,本发明以十级为例进行说明):
表1地址要素提取
地址要素分级 |
说明 |
第一级 |
一级行政区,省、自治区、直辖市等 |
第二级 |
二级行政区,市、地区、自治州等 |
第三级 |
三级行政区,县等 |
第四级 |
四级行政区,街道、镇、乡等 |
第五级 |
地址所在路、街、巷、屯等 |
第六级 |
地址所在路号、地号等 |
第七级 |
地址所在楼号、建筑物等 |
第八级 |
地址所在单元号、建筑物区等 |
第九级 |
地址所在户号、室号等 |
第十级 |
备注信息 |
需要说明的是,前四级是国家行政区的划分,是有行政区化代码的,比较固定,很少有变动。五级及之后,只是普通的数量很多的街道、路等,通常是按照企业业务需求去设定的。当遇到业务变更或其他情况,会不断调整完善该表的。
另外,第八级中的“建筑物区”,可视为是建筑物中的住宅区,例如XX新村内分为:东区、南区、西区、北区等。
对于步骤S102,对于提取前四级地址后的剩余地址信息/字符,可以认为是非标准的。也可以认为是标准的,因为标准与非标准,都是人为设定的,本发明以非标准为例进行说明。
对于这些非标准的地址信息,可以使用正则匹配规则,使用基于有限状态机的地址要素识别,依次得到地址要素。例如,字符串中包含XX栋楼XX室,就将“XX栋楼”提取为第七级,将“XX室”提取为第九级要素。
这里的有限状态模机模型,只是一个技术手段,类似于编码工具,对于该模型的训练、模型的参数调整可以有工作人员执行,本发明不考虑该模型的训练过程。
对于步骤S103,然后按照表1所示地址要素等级,将地址要素按序拼接为标准地址,从而获得有效的精简地址。这里的地址维度可以仅提取到第八级(例如单元号)停止。
例如,原始地址为“A市B区C开发区D广场E座5001市(XX部门张三)【送货前先打电话】”,经过精简地址处理工具处理后的结果为:A市B区C开发区D广场E座。
需要说明的是,本方法所提供的Trie树模型与有限状态机模型的运行方式不同。其中,Trie树是根据树节点按序往下查找,而有限状态机模型是根据正则方式去提取。
上述实施例拖提供的方法,利用“精简地址处理工具”处理,使得多条对同一地理位置描述的信息经处理后都会对应于同一条标准的精简地址。
参见图2,示出的是本发明实施例提供的一种可选的地址提取方法的主要流程图,包括如下步骤:
S201:输入地址信息至行政区树模型,得到所述地址信息中的行政区地址要素;
S202:确定所述地址信息去除所述行政区地址要素后的剩余地址信息,输入所述剩余地址信息至有限状态机模型,得到所述剩余地址信息中的社区地址要素;
S203:根据地址要素的设定等级,按序组合所述行政区地址要素以及所述社区地址要素,生成与所述地址信息相应的精简地址;
S204:获取与所述地址信息相应的配送站点,以确定所述精简地址与所述配送站点之间的对应关系。
上述实施方式中,对于步骤S201~S203可参见图1所示步骤S101~S103的描述,在此不再赘述。
上述实施方式中,对于步骤S204,对于所提取的精简地址,可以结合原始地址库数据,同步到所构建的精简地址库中,此时有全量同步以及增量同步:
1)全量同步原始地址数据
根据查询条件,批量在原始地址库中查询出有效的地址信息,并将原始地址经过“精简地址处理工具”处理后得到的精简地址,插入到精简地址库中,并保存精简地址与原始数据之间的关联关系。
需要说明的是,该步骤仅针对于现有地址库中已有的地址做处理。对于地址库中所新增的地址,表示为增量地址,具体参见接下来2)所示。
2)增量同步原始地址数据
利用Mq(消息队列)的方式,例如字段标识insert或update,确定原地址库中是否有地址新增或修改,以相应对精简地址库中的地址做增加、删除、修改的操作。
进一步的,当地址存在变更的操作时,可以对其进行标识,例如,无用、过期等。对于这些地址可以删除,也可以暂时保留(考虑到大数据后续可能使用到)。
根据原地址库中的地址信息与配送点的对应关系,可以确定精简地址与配送点的对应关系。例如,一条精简地址对应于10条旧地址,但这10条旧地址中有两个配送站点是与其他站点不同的,这些都可以生成对应关系。
进一步的,精简地址库可以放置精简地址、以及与配送点之间的对应关系,便于后续查询使用。
之后,当新地址在地址库中查询配送站点时,同样可以按照上述方式,对新地址提取有效的精简地址,并使用该精简地址在精简地址库中查询对应的配送站点信息,具体参见图3所示(包括步骤S301以及S302)。
通过本方法,可以将多条对同一地址的描述,将尽可能多的地址归至同一类中,从而提高新地址匹配站点的成功率。
需要说明的是,不同用户可能对同一地址的描述方式不同,例如“A市B区C开发区D广场E座”,有些用户可能只写到E座,至于第八级单元号可能都不会写。而且某路X号可能对应很大的区域,可能有多个街区、多栋楼,可能会分配至不同站点的。
有些新增的地址可能地址库中是没有的,例如新开发了一个区域,这个区域目前还没有送过货了。这种情况只能通过其他匹配方式,例如,地图上该地址坐标位于哪个站点的范围内,或者人工手动分配站点。在配送成功后,再将这个地址以及配送点写入地址库中,之后若有第二次相同地址进来就可以匹配。
需要说明的是,除上述精简地址库的构建之外,也可以是生成数据记录的方式,对精简地址、相应的配送站点进行保存,其保存记录形式本发明不做限制。
上述实施例所提供的方法,针对现有地址库匹配的缺点,利用“精简地址处理工具”处理,使得多条对同一地理位置描述的信息经处理后都会对应于同一条标准的精简地址,这样即使新地址未在地址库中记录过,也可以根据所提取的精简地址进行相应站点的匹配查找,进而提高地址的匹配成功率。
参见图4,示出了本发明实施例提供的一种地址提取装置400的主要模块示意图,包括:
第一要素提取模块401,用于输入地址信息至行政区树模型,得到所述地址信息中的行政区地址要素;
第二要素提取模块402,用于确定所述地址信息去除所述行政区地址要素后的剩余地址信息,输入所述剩余地址信息至有限状态机模型,得到所述剩余地址信息中的社区地址要素;
地址要素组合模块403,用于根据地址要素的设定等级,按序组合所述行政区地址要素以及所述社区地址要素,生成与所述地址信息相应的精简地址。
本发明实施装置还包括地址去噪模块404(图中未标出),用于:
提取所述地址信息中的噪声信息,根据预定去噪方式,对所述噪声信息进行噪声预处理。
本发明实施装置还包括关系确定模块405(图中未标出),用于:
获取与所述地址信息相应的配送站点,以确定所述精简地址与所述配送站点之间的对应关系;以及
根据所述行政区树模型和所述有限状态机模型,提取待处理地址信息中的地址要素,按序组合所提取的地址要素生成待处理精简地址;
根据精简地址与配送站点之间的对应关系,确定与所述待处理精简地址相应的配送站点。
本发明实施装置还包括地址变更模块406(图中未标出),用于:根据所述行政区树模型和所述有限状态机模型,提取变更后地址信息中的地址要素,按序组合所提取的地址要素生成变更后的精简地址。
另外,在本发明实施例中所述的地址提取装置的具体实施内容,在上面所述地址提取方法中已经详细说明了,故在此重复内容不再说明。
图5示出了可以应用本发明实施例的地址提取方法或地址提取装置的示例性系统架构500。
如图5所示,系统架构500可以包括终端设备501、502、503,网络504和服务器505(仅仅是示例)。网络504用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备501、502、503通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503上可以安装有各种通讯客户端应用,例如购物类应用等(仅为示例)。
终端设备501、502、503可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器505可以是提供各种服务的服务器,例如对用户利用终端设备501、502、503所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如推送信息、地址信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的地址提取方法一般由服务器505执行,相应地,地址提取装置一般设置于服务器505中。
应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图6,其示出了适于用来实现本发明实施例的终端设备的计算机系统600的结构示意图。图6示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括第一要素提取模块、第二要素提取模块以及地址要素组合模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,地址要素组合模块还可以被描述为“根据所提取的地址要素,构成精简地址的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
输入地址信息至行政区树模型,得到所述地址信息中的行政区地址要素;
确定所述地址信息去除所述行政区地址要素后的剩余地址信息,输入所述剩余地址信息至有限状态机模型,得到所述剩余地址信息中的社区地址要素;
根据地址要素的设定等级,按序组合所述行政区地址要素以及所述社区地址要素,生成与所述地址信息相应的精简地址。
根据本发明实施例的技术方案,针对现有地址库匹配的缺点,利用“精简地址处理工具”处理,使得多条对同一地理位置描述的信息经处理后都会对应于同一条标准的精简地址,这样即使新地址未在地址库中记录过,也可以根据所提取的精简地址进行相应站点的匹配查找,进而提高地址的匹配成功率。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。