一种地址纠正方法和装置
技术领域
本发明涉及数据处理领域,特别是涉及一种地址纠正方法和装置。
背景技术
目前,网购已成为人们购买商品的主要途径之一,用户在购买商品时,填写运单信息(包括运单地址)之后,直接下单即可。但是由于用户自行填写运单地址,经常会出现填写错误,如地址中出现错别字、地址多字或少字、同音错字等问题,若不对这些运单地址进行纠正,将可能导致下单时的运单地址出现错误,无法将商品准确送达。
如何实现在用户下单之前,对用户自行填写的运单地址进行修正,则成为目前亟待解决的技术问题。
发明内容
为了解决上述技术问题,本发明提供了一种地址纠正方法和装置,以解决现有技术中无法对运单地址进行纠正的技术问题。
本发明实施例公开了如下技术方案:
一种地址纠正方法,包括:
接收待纠正地址;
对所述待纠正地址进行地理编码,若地理编码失败,则执行以下步骤:
对所述待纠正地址进行分词,得到组成所述待纠正地址的地址片段;
将各地址片段与预置的兴趣点POI数据库中的POI进行匹配;
若能匹配到与所述待纠正地址对应的候选POI,则从所述候选POI中选取频次大于等于预置频次阈值的候选POI;
根据所述待纠正地址的道路信息、选取的候选POI的频次及候选POI位置信息,从所述选取的候选POI中确定出与所述待纠正地址对应的目标POI;
根据所述目标POI对所述待纠正地址进行纠正。
一种地址纠正装置,包括:
接收单元,用于接收待纠正地址;
编码单元,用于对所述待纠正地址进行地理编码,若地理编码失败,则触发第一分词单元:
第一分词单元,用于对所述待纠正地址进行分词,得到组成所述待纠正地址的地址片段;
匹配单元,用于将各地址片段与预置的兴趣点POI数据库中的POI进行匹配;若能匹配到与所述待纠正地址对应的候选POI,则触发选取单元;
选取单元,用于从所述候选POI中选取频次大于等于预置频次阈值的候选POI;
确定单元,用于根据所述待纠正地址的道路信息、选取的候选POI的频次及候选POI位置信息,从所述选取的候选POI中确定出与所述待纠正地址对应的目标POI;
纠正单元,用于根据所述目标POI对所述待纠正地址进行纠正。
本发明实施例提供的技术方案,在接收到待纠正地址时,对该待纠正地址进行地理编码,在地理编码失败时确认该待纠正地址为错误地址,并对该待纠正地址进行纠正,纠正过程如下:对所述待纠正地址进行分词,得到组成所述待纠正地址的地址片段;将各地址片段与预置的POI数据库中的POI进行匹配;若能匹配得到与所述待纠正地址对应的候选POI,则从所述候选POI中选取频次大于等于预置频次阈值的候选POI;根据所述待纠正地址的道路信息、选取的候选POI的频次及候选POI位置信息,从所述选取的候选POI中确定出与所述待纠正地址对应的目标POI;根据所述目标POI对所述待纠正地址进行纠正。采用本发明提供的地址纠正方法,一方面,将待纠正地址的地址片段与预置的POI数据库中的POI进行匹配,以得到与待纠正地址对应的候选POI,由于POI数据库中的POI均是经过预先现场采集得到的POI,这些POI的地址是非常准确的,因此,能够确保与待纠正地址对应的候选POI均是名称、地址准确的POI,从而确保了从候选POI中选取的目标POI的名称、地址为准确的,继而在一定程度上提高了根据目标POI对待纠正地址进行纠正的准确性;另一方面,频次较高的候选POI一般是较为常见的POI,而常见的POI成为用户查询的目标地址的可能性更大,另外,如果待纠正地址包括道路信息,若候选POI的位置位于待纠正地址所在道路之上或周边,则根据待纠正地址的道路信息与候选POI的位置信息,从高频次的候选POI中确定出的目标POI为待纠正地址的准确地址的可能性更高,因此,根据确定出的目标POI对待纠正地址进行纠正的准确性更高,提高了对待纠正地址进行纠正的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种地址纠正方法的方法流程图;
图2为本发明实施例提供的一种地址纠正装置的结构示意图之一;
图3为本发明实施例提供的一种地址纠正装置的结构示意图之二。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1为本发明实施例提供的一种地址纠正方法的方法流程图,如图1所示,所述方法包括:
S101:接收待纠正地址。
举例说明,接收到的所述待纠正地址可以是通过用户输入的。
S102:对所述待纠正地址进行地理编码,若地理编码失败,则执行以下步骤S103-S106。
举例说明,所述地理编码(geocoding)可以理解为确定所述待纠正地址是否具有对应的地理地址,所述地理地址可以包括坐标值等。当所述待纠正地址无法成功进行地理编码,可以理解为所述待纠正地址与已知的POI(PointofInterest,兴趣点)不完全相同,需要被纠正,或者说需要将所述待纠正地址纠正为已知的正确地址。若地理编码成功则确定待纠正地址是准确的,无需纠正,结束流程即可。
S103:对所述待纠正地址进行分词,得到组成所述待纠正地址的地址片段。
举例说明,进行分词的操作可以理解为将所述待纠正地址进行拆分,比如所述待纠正地址具体为“高桥镇高桥新城天鹅泉公寓”,通过分词得到组成所述待纠正地址的地址片段可以包括“高桥镇”,“高桥新城”,“天鹅泉公寓”。本发明实施例中,对地址进行分词的方式多种多样,可以采用现有较为常规的分词方式(如基于字符串匹配的分词方法(正向最大匹配法、逆向最大匹配法、最少切分等)、基于理解的分词方法和基于统计的分词方法),本方案不做具体限定。
S104:将各地址片段与预置的POI数据库中的POI进行匹配。
本发明对匹配的方式并不限定,本发明实施例也提供了将各地址片段与预置的POI数据库中的POI进行匹配的方式,其中,所述匹配可以包括通过将所述各地址片段转换为拼音,以地址片段的拼音为索引,在预置的POI数据库中查找该地址片段的拼音为索引对应的POI;或者,所述匹配可以包括计算各地址片段与预置的POI数据库中的POI的名称之间的编辑距离(EditDistance),所述编辑距离可以理解为将所述各地址片段转换成所述POI所需要的次数;或者,所述匹配不仅可以包括通过拼音方式的匹配,也包括通过计算编辑距离方式的匹配。
其中S104中,将各地址片段与预置的POI数据库中的POI进行匹配,具体可采用以下四种方式实现:
方式1、针对每个地址片段,以该地址片段的拼音为索引在预置的POI数据库中搜索与所述拼音对应的POI,并在搜索到与所述拼音对应的POI时,将搜索到的POI作为所述待纠正地址对应的候选POI。
方式2、针对每个地址片段,分别计算该地址片段与预置的POI数据库中各POI的名称的编辑距离,将编辑距离小于等于预置编辑距离阈值(如编辑距离阈值可以设置为1~3中的任意值,如取2)的POI作为所述待纠正地址对应的候选POI。
方式3、针对每个地址片段,以该地址片段的拼音为索引在预置的POI数据库中搜索与所述拼音对应的POI,并在搜索到与所述拼音对应的POI时,将搜索到的POI作为所述待纠正地址对应的候选POI;以及,针对每个地址片段,分别计算该地址片段与预置的POI数据库中各POI的名称的编辑距离,将编辑距离小于等于预置编辑距离阈值的POI作为所述待纠正地址对应的候选POI。
方式4、针对每个地址片段,以该地址片段的拼音为索引在预置的POI数据库中搜索与所述拼音对应的POI,并在搜索到与所述拼音对应的POI时,将搜索到的POI作为所述待纠正地址对应的候选POI;若所有地址片段均未搜索到对应的候选POI,则:针对每个地址片段,分别计算该地址片段与预置的POI数据库中各POI的名称的编辑距离,将编辑距离小于等于预置编辑距离阈值的POI作为所述待纠正地址对应的候选POI。
假设待纠正地址为“北京市海淀区苏州街大河装园小区”,分词后得到的地址片段为“北京市”、“海淀区”、“苏州街”、“大河装园小区”,以地址片段“大河装园小区”为例,将其转换成拼音为“dahezhuangyuanxiaoqu”,以该拼音为索引在预置的POI数据库进行匹配,得到与该拼音对应的POI为“大河庄苑小区”,则将该POI作为所述待纠正地址对应的候选POI。
S105:若能匹配得到与所述待纠正地址对应的候选POI,则从所述候选POI中选取频次大于等于预置频次阈值的候选POI。
举例说明,所述频次可以理解为一个已知的POI确定为目标POI的次数(包括被选定为待纠正POI的目标POI的次数,和/或,包括被作为准确地址的次数)。当将一个POI被确定为一个待纠正地址对应的目标POI时,这个POI的频次累加1次。由于用户输入的地址数量级非常大,其中待纠正地址的数据级也会很大,如果POI数据库中的一个POI成为其他待纠正地址的目标POI的次数越多,证明这个POI越准确、可信度越高。所述预置频次阈值可根据实际的需求灵活的设置,本方案并不作具体的限定,如可以设置为100-500次。
S106:根据所述待纠正地址的道路信息、选取的候选POI的频次及候选POI位置信息,从所述选取的候选POI中确定出与所述待纠正地址对应的目标POI。
举例说明,比如所述待纠正地址为“北京市海淀区苏州街大河装园小区”,那么所述待纠正地址的道路信息就为“苏州街”。
可选的,前述S106中,根据所述待纠正地址的道路信息、选取的候选POI的频次及候选POI位置信息,从所述选取的候选POI中确定出与所述待纠正地址对应的目标POI,具体实现可包括:
从所述待纠正地址中提取道路信息;
若能提取到,则根据选取的候选POI的位置信息和所述道路信息指示的道路的位置信息,确定与所述道路的距离小于等于预置距离阈值的候选POI,并将确定出的候选POI中频次最高的候选POI作为目标POI;最优地,将所述距离阈值设置为零;
若不能提取到,则将所述S105中选取的POI中频次最高的POI作为目标POI。
举例说明,比如上述的所述待纠正地址“北京市海淀区苏州街大河装园小区”中就具有道路信息,能提取到道路信息“苏州街”,则根据选取的候选POI的位置信息和所述道路信息指示的道路的位置信息,确定与所述道路的距离小于等于预置距离阈值的候选POI,并将确定出的候选POI中频次最高的候选POI作为目标POI。
通过判断候选POI的位置信息与所述待纠正地址的道路信息指示的道路的位置信息的之间的距离关系,可以将所述候选POI中频次很高、但位置信息与所述待纠正地址的道路信息指示的道路的位置信息的距离较远的候选POI排除掉,由此保证确定出的目标POI的准确性相对较高。
如果所述待纠正地址为“高桥镇高桥新城天鹅泉公寓”,其中不具道路信息,故不能提取到道路信息,则将所述选取的候选POI中频次最高的POI作为目标POI。
S107:根据所述目标POI对所述待纠正地址进行纠正。
一般来说,所述待纠正地址可以包括地址信息和名称信息。可选的,S107具体实现可如下:从所述待纠正地址中识别出地址信息和名称信息;根据所述目标POI的地址信息纠正所述待纠正地址中的地址信息,以及,根据所述目标POI的名称纠正所述待纠正地址中的名称信息。例如待纠正地址为“北京市海淀区苏州街大河装园小区”,得到目标POI为“大河庄苑小区”,该目标POI的地址信息为“北京市海淀区苏州街3号”;则根据该目标POI对待纠正地址进行纠正如下:从待纠正地址识别出地址信息为“北京市海淀区苏州街”,名称信息为“大河装园小区”,则根据目标POI的地址信息将待纠正地址的地址信息修改为“北京市海淀区苏州街3号”,根据目标POI的名称将待纠正地址的名称信息修改为“大河庄苑小区”,得到纠正后的地址为“北京市海淀区苏州街3号大河庄苑小区”。
还需要注意的是,在S104中将各地址片段与预置的POI数据库中的POI进行匹配,若不能得到与所述待纠正地址对应的候选POI时,将重新执行S103,通过S103对待纠正地址进行重新分词,得到组成所述待纠正地址的新地址片段,并针对新地址片段,执行所述将各地址片段与预置的POI数据库中的POI进行匹配的步骤,直到得到与所述待纠正地址对应的候选POI为止。
本发明实施例提供的技术方案,在接收到待纠正地址时,对该待纠正地址进行地理编码,在地理编码失败时确认该待纠正地址为错误地址,并对该待纠正地址进行纠正,纠正过程如下:对所述待纠正地址进行分词,得到组成所述待纠正地址的地址片段;将各地址片段与预置的POI数据库中的POI进行匹配;若能匹配得到与所述待纠正地址对应的候选POI,则从所述候选POI中选取频次大于等于预置频次阈值的候选POI;根据所述待纠正地址的道路信息、选取的候选POI的频次及候选POI位置信息,从所述选取的候选POI中确定出与所述待纠正地址对应的目标POI;根据所述目标POI对所述待纠正地址进行纠正。采用本发明提供的地址纠正方法,一方面,将待纠正地址的地址片段与预置的POI数据库中的POI进行匹配,以得到与待纠正地址对应的候选POI,由于POI数据库中的POI均是经过预先现场采集得到的POI,这些POI的地址是非常准确的,因此,能够确保与待纠正地址对应的候选POI均是名称、地址准确的POI,从而确保了从候选POI中选取的目标POI的名称、地址为准确的,继而在一定程度上提高了根据目标POI对待纠正地址进行纠正的准确性;另一方面,频次较高的候选POI一般是较为常见的POI,而常见的POI成为用户查询的目标地址的可能性更大,另外,如果待纠正地址包括道路信息,若候选POI的位置位于待纠正地址所在道路之上或周边,则根据待纠正地址的道路信息与候选POI的位置信息,从高频次的候选POI中确定出的目标POI为待纠正地址的准确地址的可能性更高,因此,根据确定出的目标POI对待纠正地址进行纠正的准确性更高,提高了对待纠正地址进行纠正的准确性。
实施例二
图2为本发明实施例提供的一种地址纠正装置的结构图,包括:
接收单元201,用于接收待纠正地址。
编码单元202,用于对所述待纠正地址进行地理编码,若地理编码失败,则触发第一分词单元203:
第一分词单元203,用于对所述待纠正地址进行分词,得到组成所述待纠正地址的地址片段。
匹配单元204,用于将各地址片段与预置的兴趣点POI数据库中的POI进行匹配;若能匹配到与所述待纠正地址对应的候选POI,则触发选取单元205;
选取单元205,用于从所述候选POI中选取频次大于等于预置频次阈值的候选POI。
确定单元206,用于根据所述待纠正地址的道路信息、选取的候选POI的频次及候选POI位置信息,从所述选取的候选POI中确定出与所述待纠正地址对应的目标POI。
纠正单元207,用于根据所述目标POI对所述待纠正地址进行纠正。
可选的,所述匹配单元204,具体用于:
针对每个地址片段,以该地址片段的拼音为索引在预置的POI数据库中搜索与所述拼音对应的POI,并在搜索到与所述拼音对应的POI时,将搜索到的POI作为所述待纠正地址对应的候选POI;和/或,
针对每个地址片段,分别计算该地址片段与预置的POI数据库中各POI的名称的编辑距离,将编辑距离小于等于预置编辑距离阈值的POI作为所述待纠正地址对应的候选POI。
可选的,所述确定单元206,具体用于:
从所述待纠正地址中提取道路信息;
若能提取到,则根据选取的候选POI的位置信息和所述道路信息指示的道路的位置信息,确定与所述道路的距离小于等于预置距离阈值的候选POI,并将确定出的候选POI中频次最高的候选POI作为目标POI;
若不能提取到,则将所述选取的候选POI中频次最高的POI作为目标POI。
可选的,所述纠正单元207,具体用于:
从所述待纠正地址中识别出地址信息和名称信息;
根据所述目标POI的地址信息纠正所述待纠正地址中的地址信息,以及,根据所述目标POI的名称纠正所述待纠正地址中的名称信息。
可选的,本发明实施例的装置还可以在图2的基础上进一步包括第二分词单元208,如图3所示:
第二分词单元208,用于在所述匹配单元204不能得到与所述待纠正地址对应的候选POI时,对所述待纠正地址重新分词,得到组成所述待纠正地址的新地址片段,并针对新地址片段,触发所述匹配单元204,直到所述匹配单元204得到与所述待纠正地址对应的候选POI为止。
可见,在接收到待纠正地址时,对该待纠正地址进行地理编码,在地理编码失败时确认该待纠正地址为错误地址,并对该待纠正地址进行纠正,纠正过程如下:对所述待纠正地址进行分词,得到组成所述待纠正地址的地址片段;将各地址片段与预置的POI数据库中的POI进行匹配;若能匹配得到与所述待纠正地址对应的候选POI,则从所述候选POI中选取频次大于等于预置频次阈值的候选POI;根据所述待纠正地址的道路信息、选取的候选POI的频次及候选POI位置信息,从所述选取的候选POI中确定出与所述待纠正地址对应的目标POI;根据所述目标POI对所述待纠正地址进行纠正。采用本发明提供的地址纠正方法,一方面,将待纠正地址的地址片段与预置的POI数据库中的POI进行匹配,以得到与待纠正地址对应的候选POI,由于POI数据库中的POI均是经过预先现场采集得到的POI,这些POI的地址是非常准确的,因此,能够确保与待纠正地址对应的候选POI均是名称、地址准确的POI,从而确保了从候选POI中选取的目标POI的名称、地址为准确的,继而在一定程度上提高了根据目标POI对待纠正地址进行纠正的准确性;另一方面,频次较高的候选POI一般是较为常见的POI,而常见的POI成为用户查询的目标地址的可能性更大,因此结合待纠正地址的道路信息与候选POI的位置信息,从高频次的候选POI中确定出的目标POI为待纠正地址的准确地址的可能性更高,因此,根据确定出得目标POI对待纠正地址进行纠正的准确性更高,提高了对待纠正地址进行纠正的准确性。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备)执行本发明各个实施例或者实施例的某些部分所述的方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及***实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及***实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本发明的优选实施方式,并非用于限定本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。