CN111680500B - 地址识别方法、装置、设备与计算机可读存储介质 - Google Patents
地址识别方法、装置、设备与计算机可读存储介质 Download PDFInfo
- Publication number
- CN111680500B CN111680500B CN202010522610.3A CN202010522610A CN111680500B CN 111680500 B CN111680500 B CN 111680500B CN 202010522610 A CN202010522610 A CN 202010522610A CN 111680500 B CN111680500 B CN 111680500B
- Authority
- CN
- China
- Prior art keywords
- address
- text
- item
- target
- area
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Character Discrimination (AREA)
Abstract
本发明公开了一种地址识别方法,包括:若检测到地址文本,则基于预构建的行政区划树和所述地址文本对应的偏移指针,识别所述地址文本在所述行政区划树的最佳区域项;确定所述最佳区域项的上下级关系,并基于所述上下级关系,确定所述最佳区域项是否正确;若正确,则基于所述最佳区域项,输出所述地址文本对应的识别结果。本发明还公开了一种地址识别装置、设备和计算机可读存储介质。本发明在识别地址文本的过程中,通过预构建的行政区划树以及偏移指针,正确识别出地址文本中的最佳区域项,再对最佳区域项进行核对,保证最佳区域项正确的情况下才输出识别结果,提高了地址识别的正判率,实现地址的智能识别。
Description
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及地址识别方法、装置、设备与计算机可读存储介质。
背景技术
近年来,随着金融科技(Fintech),尤其是互联网金融的不断发展,地址识别技术被引入银行等金融机构的日常服务中。在银行等金融机构的日常服务过程中,往往需要对用户信息进行标准化,也即以统一的格式对用户信息进行编排,以便于管理和核实,其中,用户信息包括用户填写的地址信息等,因此如何对地址信息进行识别是银行等金融机构需要解决的技术问题。
在现有技术中,一般通过寻找地址文本中的地址词条,然后进行省、市、区、乡镇、街道、村的匹配,从而得到一定格式的标准化地址;或者是通过设计地址分级模型,将地址分为若干等级,每一个等级作为一个元组存在,然后对地址文本进行转换,从而得到一定格式的标准化地址等。
但是,现有技术中,对于夹杂脏数据的地址文本并不能很准确的识别出来,对于隶属上下级的实际行政区域也不能很好的识别,如广东名广州市南山区,会由于“名”的存在,阻断整个识别进程,而且虽然区是市的下级行政区域,但是实际的南山区并不隶属于广州市下辖,而是属于深圳市的下辖区,可见现有的地址识别智能性还不足,地址识别正判率还有待提高。
发明内容
本发明的主要目的在于提出一种地址识别方法、装置、设备与计算机可读存储介质,旨在提高地址识别的正判率。
为实现上述目的,本发明提供一种地址识别方法,所述地址识别方法包括如下步骤:
若检测到地址文本,则基于预构建的行政区划树和所述地址文本对应的偏移指针,识别所述地址文本在所述行政区划树的最佳区域项;
确定所述最佳区域项的上下级关系,并基于所述上下级关系,确定所述最佳区域项是否正确;
若正确,则基于所述最佳区域项,输出所述地址文本对应的识别结果。
优选地,所述若检测到地址文本,则基于预构建的行政区划树和所述地址文本对应的偏移指针,识别所述地址文本在所述行政区划树的最佳区域项的步骤包括:
若检测到地址文本,则基于所述偏移指针,确定所述地址文本对应的目标词条,并基于所述目标词条,确定所述行政区划树中与所述地址文本匹配的目标区域项;
基于所述目标区域项和所述目标区域项的区域级别,确定所述地址文本在所述行政区划树的最佳区域项。
优选地,所述目标词条至少包括第一目标词条和第二目标词条,所述目标区域项对应至少包括第一目标区域项和第二目标区域项,所述若检测到地址文本,则基于所述偏移指针,确定所述地址文本对应的目标词条,并基于所述目标词条,确定所述行政区划树中与所述地址文本匹配的目标区域项的步骤包括:
若检测到地址文本,则基于所述偏移指针,确定所述地址文本对应的第一目标词条,并在所述行政区划树中确定与所述第一目标词条匹配的第一目标区域项;
基于预设文本单位,控制所述偏移指针进行偏移,以基于偏移后的所述偏移指针,确定所述地址文本对应的第二目标词条,并在第一目标区域项在所述行政区划树对应的子节点中确定与第二目标词条匹配的第二目标区域项。
优选地,所述若检测到地址文本,则基于所述偏移指针,确定所述地址文本对应的第一目标词条的步骤包括:
若检测到地址文本,则确定所述偏移指针在所述地址文本指向的目标文本内容为当前主键,并确定所述行政区划树中是否存在与当前主键匹配的词条;
若存在所述词条,则确定所述词条是否存在子词条;
若存在所述子词条,则控制所述偏移指针往所述地址文本的文本方向偏移预设文本单位,并基于所述偏移指针偏移后指向的文本内容和所述目标文本内容,更新当前主键,并继续执行所述确定所述行政区划树中是否存在与当前主键匹配的词条的步骤;
若不存在所述子词条,则确定所述词条是否是行政区域名字词条,其中,若是,则确定所述词条为第一目标词条。
优选地,所述确定所述行政区划树中是否存在与当前主键匹配的词条的步骤之后,所述地址识别方法还包括:
若不存在所述词条,则确定所述偏移指针的跳跃次数是否未超过预设次数;
若是,则控制所述偏移指针往所述地址文本的文本方向跳转预设文本单位,并累计更新所述偏移指针的跳跃次数;
基于所述偏移指针跳转后指向的文本内容,更新当前主键,并执行所述确定所述行政区划树中是否存在与当前主键匹配的词条的步骤。
优选地,所述基于所述目标区域项和所述目标区域项的区域级别,确定所述地址文本在所述行政区划树的最佳区域项的步骤包括:
基于所述目标区域项的区域代码,确定所述目标区域项的区域级别,并确定所述目标区域项的匹配类型;
基于所述目标区域项、所述区域级别和所述匹配类型,确定所述地址文本在所述行政区划树的最佳区域项。
优选地,所述基于所述目标区域项、所述区域级别和所述匹配类型,确定所述地址文本在所述行政区划树的最佳区域项的步骤包括:
确定所述地址文本对应的记录区中是否已记录所述区域级别对应的最佳区域项;
若是,则基于所述匹配类型,更新所述区域级别对应的最佳区域项;
若所述区域级别为省级以下,且所述记录区中未记录全所述目标区域项的上级区域项,则基于目标区域项的上级代码,在所述行政区划树中向上匹配所述目标区域项的上级区域项;
基于预设匹配规则、所述目标区域项和所述上级区域项,更新记录所述记录区中各区域级别的最佳区域项。
优选地,所述若检测到地址文本,则基于预构建的行政区划树和所述地址文本对应的偏移指针,识别所述地址文本在所述行政区划树的最佳区域项的步骤之前,所述地址识别方法还包括:
若检测到待识别文本,则基于预设规则,识别所述待识别文本中的非行政区域信息;
将所述待识别文本中的非行政区域信息分离出去,以得到所述地址文本;
所述若正确,则基于所述最佳区域项,输出所述地址文本对应的识别结果的步骤包括:
若正确,则基于所述最佳区域项和所述非行政区域信息,输出所述地址文本对应的识别结果。
此外,为实现上述目的,本发明还提供一种地址识别装置,所述地址识别装置包括:
识别模块,用于若检测到地址文本,则基于预构建的行政区划树和所述地址文本对应的偏移指针,识别所述地址文本在所述行政区划树的最佳区域项;
确定模块,用于确定所述最佳区域项的上下级关系,并基于所述上下级关系,确定所述最佳区域项是否正确;
输出模块,用于若正确,则基于所述最佳区域项,输出所述地址文本对应的识别结果。
优选地,所述识别模块还用于:
若检测到地址文本,则基于所述偏移指针,确定所述地址文本对应的目标词条,并基于所述目标词条,确定所述行政区划树中与所述地址文本匹配的目标区域项;
基于所述目标区域项和所述目标区域项的区域级别,确定所述地址文本在所述行政区划树的最佳区域项。
优选地,所述目标词条至少包括第一目标词条和第二目标词条,所述目标区域项对应至少包括第一目标区域项和第二目标区域项,所述识别模块还用于:
若检测到地址文本,则基于所述偏移指针,确定所述地址文本对应的第一目标词条,并在所述行政区划树中确定与所述第一目标词条匹配的第一目标区域项;
基于预设文本单位,控制所述偏移指针进行偏移,以基于偏移后的所述偏移指针,确定所述地址文本对应的第二目标词条,并在第一目标区域项在所述行政区划树对应的子节点中确定与第二目标词条匹配的第二目标区域项。
优选地,所述识别模块还用于:
若检测到地址文本,则确定所述偏移指针在所述地址文本指向的目标文本内容为当前主键,并确定所述行政区划树中是否存在与当前主键匹配的词条;
若存在所述词条,则确定所述词条是否存在子词条;
若存在所述子词条,则控制所述偏移指针往所述地址文本的文本方向偏移预设文本单位,并基于所述偏移指针偏移后指向的文本内容和所述目标文本内容,更新当前主键,并继续执行所述确定所述行政区划树中是否存在与当前主键匹配的词条的步骤;
若不存在所述子词条,则确定所述词条是否是行政区域名字词条,其中,若是,则确定所述词条为第一目标词条。
优选地,所述识别模块还用于:
若不存在所述词条,则确定所述偏移指针的跳跃次数是否未超过预设次数;
若是,则控制所述偏移指针往所述地址文本的文本方向跳转预设文本单位,并累计更新所述偏移指针的跳跃次数;
基于所述偏移指针跳转后指向的文本内容,更新当前主键,并执行所述确定所述行政区划树中是否存在与当前主键匹配的词条的步骤。
优选地,所述识别模块还用于:
基于所述目标区域项的区域代码,确定所述目标区域项的区域级别,并确定所述目标区域项的匹配类型;
基于所述目标区域项、所述区域级别和所述匹配类型,确定所述地址文本在所述行政区划树的最佳区域项。
优选地,所述识别模块还用于:
确定所述地址文本对应的记录区中是否已记录所述区域级别对应的最佳区域项;
若是,则基于所述匹配类型,更新所述区域级别对应的最佳区域项;
若所述区域级别为省级以下,且所述记录区中未记录全所述目标区域项的上级区域项,则基于目标区域项的上级代码,在所述行政区划树中向上匹配所述目标区域项的上级区域项;
基于预设匹配规则、所述目标区域项和所述上级区域项,更新记录所述记录区中各区域级别的最佳区域项。
优选地,所述地址识别装置还包括分离模块,所述分离模块用于:
若检测到待识别文本,则基于预设规则,识别所述待识别文本中的非行政区域信息;
将所述待识别文本中的非行政区域信息分离出去,以得到所述地址文本。
所述输出模块还用于:
若正确,则基于所述最佳区域项和所述非行政区域信息,输出所述地址文本对应的识别结果。
此外,为实现上述目的,本发明还提供一种地址识别设备,所述地址识别设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的地址识别程序,所述地址识别程序被所述处理器执行时实现如上所述的地址识别方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有地址识别程序,所述地址识别程序被处理器执行时实现如上所述的地址识别方法的步骤。
本发明提出的地址识别方法,若检测到地址文本,则基于预构建的行政区划树和所述地址文本对应的偏移指针,识别所述地址文本在所述行政区划树的最佳区域项;确定所述最佳区域项的上下级关系,并基于所述上下级关系,确定所述最佳区域项是否正确;若正确,则基于所述最佳区域项,输出所述地址文本对应的识别结果。本发明在识别地址文本的过程中,通过预构建的行政区划树以及偏移指针,正确识别出地址文本中的最佳区域项,再对最佳区域项进行核对,保证最佳区域项正确的情况下才输出识别结果,提高了地址识别的正判率,实现地址的智能识别。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明地址识别方法第一实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例设备可以是移动终端或服务器设备。
如图1所示,该设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及地址识别程序。
其中,操作系统是管理和控制地址识别设备与软件资源的程序,支持网络通信模块、用户接口模块、地址识别程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1002;用户接口模块用于管理和控制用户接口1003。
在图1所示的地址识别设备中,所述地址识别设备通过处理器1001调用存储器1005中存储的地址识别程序,并执行下述地址识别方法各个实施例中的操作。
基于上述硬件结构,提出本发明地址识别方法实施例。
参照图2,图2为本发明地址识别方法第一实施例的流程示意图,所述方法包括:
步骤S10,若检测到地址文本,则基于预构建的行政区划树和所述地址文本对应的偏移指针,识别所述地址文本在所述行政区划树的最佳区域项;
步骤S20,确定所述最佳区域项的上下级关系,并基于所述上下级关系,确定所述最佳区域项是否正确;
步骤S30,若正确,则基于所述最佳区域项,输出所述地址文本对应的识别结果。
本实施例地址识别方法运用于理财机构或者银行等金融机构的地址识别设备中,地址识别设备可以是终端、机器人或者PC设备,为描述方便,地址识别设备以识别设备简称。在本实施例中,识别设备提供文本输入窗口,以获取用户在文本输入窗口上输入的地址文本。此外,识别设备还可与银行等金融机构的业务系统对接,爬取业务系统中客户的征信数据,其中,征信数据包括客户的地址文本等。
本实施例在检测到地址文本时,通过预构建的行政区划树和偏移指针,识别出地址文本的最佳区域项,再对最佳区域项进行纠正,从而提高最佳区域项的正判率率,使得最终输出的识别结果更加可信。
以下将对各个步骤进行详细说明:
步骤S10,若检测到地址文本,则基于预构建的行政区划树和所述地址文本对应的偏移指针,识别所述地址文本在所述行政区划树的最佳区域项;
在本实施例中,识别设备若检测到地址文本,则基于行政区划树和地址文本对应的偏移指针,对地址文本进行最佳区域项的识别。
其中,行政区划树为事先构建的,具体构建过程包括:
步骤i,加载行政区划地址库,并基于行政区划地址库中各行政区域对应的区域级别,创建以国家为根节点,以各行政区域为分支节点的行政区划树;
也即,在进行地址文本的识别之前,识别设备先加载行政区划地址库,其中,行政区划地址库包括各行政区域的名称和行政代码等,具体将其加载为以国家,如中国为根节点的树状结构,即为行政区划树,以中国为例,行政区划树一共包括七层,分别为:中国、省、市、区、街道、乡镇、村。每一个节点都是一个行政区域,每一节点的父节点是对应节点的上一级行政区域,也即上级区域,子节点是其下一级行政区域,也即下级区域,同一层的节点的区域级别相等。
步骤ii,遍历确定行政区划树中每一节点的首字,并基于每一节点的首字,创建行政区划树对应的词条。
在行政区划树加载完成之后,遍历确定行政区划树中每一节点的首字,将每个节点的首字加入entries(词条库),相同的字则会加入同一个字的词条,然后构成该词条下的子词条,如江苏省和江西省,对应“江”词条,“江苏”和“江西”为“江”的子词条,“江苏省”为“江苏”的子词条,“江西省”为“江西”的子词条......如果已经形成完整的行政区域名字,如江苏省,则构成该词条下的行政区域名字词条(item)。
此时行政区划树构建完成,行政区划树的构建是为了后续地址文本的识别做准备。
此外,偏移指针指的是一种虚拟数据结构,包括跳跃次数,识别设备在检测到地址文本后,即生成当前地址文本对应的偏移指针,偏移指针初始状态为指向地址文本的首字,并随着识别的进行,识别设备控制偏转指针往文本方向进行偏移。偏移指针指向的文本内容即为地址文本的主键,在本实施例中,偏移指针的指向优选为逐字指向,也即逐字偏移。
在本实施例中,识别设备通过预构建的行政区划树和地址文本对应的偏移指针,逐字将地址文本的文本内容与行政区划树中的词条进行比较,从而识别出地址文本的最佳区域项。
进一步地,在一实施例中,步骤S10包括:
步骤a,若检测到地址文本,则基于所述偏移指针,确定所述地址文本对应的目标词条,并基于所述目标词条,确定所述行政区划树中与所述地址文本匹配的目标区域项;
在一实施例中,若识别设备检测到地址文本,则通过偏移指针,先确定地址文本对应的目标词条,再将目标词条与行政区划树中的各级行政区域进行匹配,以确定地址文本在各级行政区域的目标区域项,如当前地址文本的目标词条为“江苏省”,则确定当前地址文本的省级行政区域的目标区域项为江苏省;当前地址文本的目标词条为“福田区”,则确定当前地址文本的区级行政区域的目标区域项为福田区等。
具体的,在一实施例中,所述目标词条至少包括第一目标词条和第二目标词条,所述目标区域项对应至少包括第一目标区域项和第二目标区域项,步骤a包括:
步骤a1,若检测到地址文本,则基于所述偏移指针,确定所述地址文本对应的第一目标词条,并在所述行政区划树中确定与所述第一目标词条匹配的第一目标区域项;
在一实施例中,识别设备若检测到地址文本,则先通过偏移指针确定地址文本对应的第一目标词条,再根据第一目标词条在行政区划树中查找与之匹配的第一目标区域项,如当前偏移指针对应的第一目标词条为“广东省”,则将“广东省”与行政区划树中的节点进行比较,从而确定与之对应的第一目标区域项为省级行政区域——“广东省”。
进一步地,在一实施例中,步骤a1包括:
步骤a11,若检测到地址文本,则确定所述偏移指针在所述地址文本指向的目标文本内容为当前主键,并确定所述行政区划树中是否存在与当前主键匹配的词条;
在一实施例中,识别设备若检测到地址文本,则确定偏移指针在地址文本中的位置,并确定偏移指针在当前位置指向的目标文本内容为当前主键,并将当前主键与行政区划树中的词条库进行比较,确定词条库中是否存在当前主键匹配的词条。
步骤a12,若存在所述词条,则确定所述词条是否存在子词条;
在一实施例中,在确定行政区划树中的词条库中存在当前主键对应的词条之后,进一步确定该词条下是否存在子词条,也即确定该词条是否遍历完,如当前主键对应的词条为“广”词条,“广”词条下还有“广东”子词条和“广西”子词条等,可见,光凭“广”并无法确定是“广东”还是“广西”,说明还没遍历完。
步骤a13,若存在所述子词条,则控制所述偏移指针往所述地址文本的文本方向偏移预设文本单位,并基于所述偏移指针偏移后指向的文本内容和所述目标文本内容,更新当前主键,并继续执行所述确定所述行政区划树中是否存在与当前主键匹配的词条的步骤;
在一实施例中,若确定当前主键对应的词条存在子词条,识别设备则控制偏移指针往地址文本的文本方向偏移预设文本单位,其中,文本方向可以是从左往右,也可以是从右往左,也可以是从上到下,也可以是从下到上等,在本实施例中,文本方向优选为从左往右;此外,预设文本单位指的是偏移指针偏移的位移,在本实施例中,预设文本单位优选为一字,如识别设备控制偏移指针往地址文本的右方向偏移一个字的位移。
然后,基于偏移指针偏移后指向的文本内容和原先的目标文本内容,更新目标文本内容,具体将原先的目标文本内容与偏移指针偏移后指向的文本内容进行结合,成为新的目标文本内容,将更新后的目标文本内容确定为当前主键,并继续执行确定行政区划树中是否存在与当前主键匹配的词条的步骤。如当前地址文本为“江苏省”,偏移指针当前指向的文本内容为“江”,即当前主键为“江”,由于当前主键对应的词条存在子词条,如“江苏”、“江宁”等子词条,说明还未遍历完,因此,识别设备控制偏移指针往右偏移一字,指向“苏”,则将“江”和“苏”进行结合得到“江苏”,更新确定“江苏”为当前主键,接着以“江苏”作为当前主键,确定词条库中是否存在与“江苏”对应的词条,若存在,则再进一步确定当前词条是否存在子词条......
步骤a14,若不存在所述子词条,则确定所述词条是否是行政区域名字词条,其中,若是,则确定所述词条为第一目标词条。
在一实施例中,在确定当前主键对应的词条不存在子词条时,如地址文本为“深圳市南山区”,当前主键为“深圳市”,在行政区划树中仅匹配到一个词条,不存在子词条,则确定该词条的词条类型是否是行政区域名字词条(item)。
可以理解的,即使控制偏移指针继续偏移,得到的主键:“深圳市南”,也无法匹配到对应的词条,也即行政区划树中,没有一个节点是叫“深圳市南”的,因此,在确定不存在子词条的情况下,不用再偏移,进一步确定是否存在行政区域名字词条。若确定当前主键对应的词条是行政区域名字词条,则将该行政区域名字词条确定为第一目标词条。
需要说明的是,由于一些特殊的地址存在较多的别名,用户出于便捷或者习惯等原因在输入的时候很容易简写成不常用的别名,这会导致识别不准甚至识别错误。
这些地址往往存在地址名较长、自治区别名较多、边界地区别名较多、西部地区别名等规律,因此,为提高识别智能性和识别正判率,在一实施例中,行政区划树中还增加行政区域别名,如:内蒙古自治区,增加“内蒙”别名,黑龙江省增加“黑龙”别名,宁夏回族自治区增加“宁夏”别名等。
因此,在当前主键存在子词条,但偏移后的又没有词条与之匹配时,确定当前主键是否存在别名,若存在,则将别名确定为第一目标词条,如地址文本为“内蒙包头市”,当前主键为“内蒙”,“内蒙”存在子词条,但控制偏移指针偏移后得到的主键“内蒙包”,却没有词条与之匹配,此时,判断上一主键“内蒙”是否是别名,从而确定“内蒙”为第一目标词条,并控制偏移指针还原,也即退回上一主键的位置,使得在确定下一目标区域项“包头市”时,能从“包”开始识别。
步骤a2,基于预设文本单位,控制所述偏移指针进行偏移,以基于偏移后的所述偏移指针,确定所述地址文本对应的第二目标词条,并在第一目标区域项在所述行政区划树对应的子节点中确定与第二目标词条匹配的第二目标区域项。
在一实施例中,在确定了第一目标区域项之后,按照预设文本单位,控制偏移指针往地址文本的文本方向进行偏移,其中,文本方向可以是从左往右,也可以是从右往左,也可以是从上到下,也可以是从下到上等,在本实施例中,文本方向优选为从左往右;此外,预设文本单位指的是偏移指针偏移的位移,在本实施例中,预设文本单位优选为一字,如识别设备控制偏移指针往地址文本的右方向偏移一个字的位移。
从而根据偏移后的偏移指针,确定地址文本对应的第二目标词条,第二目标词条的确定过程与第一目标词条的确定过程类似,在此不做赘述。
需要说明的是在确定第二目标词条的过程中,可以从行政区划树的根节点进行匹配寻找,本实施例优选在第一目标区域项在行政区划树对应的子节点中匹配确定第二目标词条,在第一目标区域项对应的子节点下确定与第二目标词条匹配的第二目标区域项。
如地址文本为“广东省深圳市”,当前主键为“广东省”,则在行政区划树中匹配到省级行政区域的第一目标区域项“广东省”之后,控制偏移指针往右方向偏移,如偏移后(偏移三次之后)偏移指针指向的当前主键为“深圳市”,则在第一区域项对应的子节点下确定第二目标区域项,也即,在“广东省”下辖的子节点中查找“深圳市”,而不必在行政区划树所有的节点中进行查找,有效提高查找效率。
此外,在一实施例中,第二目标区域项也可在行政区划树所有的节点中进行查找,避免出现第一目标区域项的区域级别小于第二目标区域项的区域级别而找不到的情况,如“深圳市广东省”,在确定“广东省”对应的第二目标区域项时,由于在“深圳市”对应的第一目标区域项下的子节点不存在广东省,此时可在行政区划树所有的节点中进行查找。
可以理解的,若目标区域项还包括第三目标区域项,其确定过程与第二目标区域项确定过程类似,在此不再赘述。
步骤b,基于所述目标区域项和所述目标区域项的区域级别,确定所述地址文本在所述行政区划树的最佳区域项。
在一实施例中,在确定了目标区域项之后,进一步确定目标区域项的区域级别,如“广州市”,则其对应的区域级别为市级别。最后,基于目标区域项和目标区域项的区域级别,确定地址文本在行政区划树的最佳区域项。
具体的,在一实施例中,步骤b包括:
步骤b1,基于所述目标区域项的区域代码,确定所述目标区域项的区域级别,并确定所述目标区域项的匹配类型;
在一实施例中,识别设备在确定到目标区域项之后,根据目标区域项在行政区划树中的节点位置,确定目标区域项的区域代码,再基于目标区域项的区域代码,确定目标区域项的区域级别,如“广州市”,其行政代码为440100,对应的区域级别为市级别等,此外,还进一步确定目标区域项的匹配类型,其中,匹配类型包括全名匹配和非全名匹配,如“内蒙古自治区”为全名匹配,“内蒙”为非全名匹配。
步骤b2,基于所述目标区域项、所述区域级别和所述匹配类型,确定所述地址文本在所述行政区划树的最佳区域项。
在一实施例中,识别设备基于目标区域项、目标区域项的区域级别,以及目标区域项的匹配类型,确定地址文本在行政区划树中各区域级别的最佳区域项。
具体的,在一实施例中,步骤b2包括:
步骤b21,确定所述地址文本对应的记录区中是否已记录所述区域级别对应的最佳区域项;
在一实施例中,识别设备中设置有地址文本对应的记录区curDivison,其中,记录区指的是存储行政区域匹配项的数据结构。在深度遍历地址文本,匹配得到词条之后,由于存在重名,别名或者用户输入的地址文本有误的情况,所以存在多个行政区域名字词条item的情况,因此遍历entry所有的item,通过全名匹配优先和区域级别的优先级来寻找最佳区域项,其中,区域级别的优先级数越小,则优先选择匹配。
因此,需先确定地址文本对应的记录区中是否已记录目标区域项的区域级别对应的最佳区域项。
步骤b22,若是,则基于所述匹配类型,更新所述区域级别对应的最佳区域项;
在一实施例中,若在记录区中已记录目标区域项的区域级别对应的最佳区域项,则基于目标区域项的匹配类型,更新最佳区域项。
在具体实施时,若当前目标区域项的匹配类型为全名匹配,说明其可信度较高,因此,将当前目标区域项作为对应区域级别的最佳区域项,也即将已记录的最佳区域项替换成当前目标区域项;若当前目标区域项的匹配类型为非全名匹配,则确定已记录的最佳区域项的匹配属性是否是向上匹配,若是,则将当前目标区域项作为对应区域级别的最佳区域项;若否,则不更新,这是由于向上匹配毕竟不是真实匹配,优先级低于真实匹配得到的目标区域项,因此,若记录区中已记录的最佳区域项是向上匹配得到的,则将其替换成目标区域项,完成最佳区域项的更新,其中,向上匹配指的是通过下级区域项匹配上级区域项。
进一步地,在一实施例中,若已记录的最佳区域项的匹配属性不是向上匹配,则进一步确定已记录的最佳区域项是否是全名匹配,若是全名匹配,则比较两者的区域级别的优先级,若当前的目标区域项的区域级别的优先级小于已记录的最佳区域项的优先级,则将目标区域项作为最佳区域项更新;若当前的目标区域项的区域级别的优先级大于等于已记录的最佳区域项的优先级,则不更新。若已记录的最佳区域项不是向上匹配,也不是全名匹配,即别名匹配,则将目标区域项作为最佳区域项更新。
步骤b23,若所述区域级别为省级以下,且所述记录区中未记录全所述目标区域项的上级区域项,则基于目标区域项的上级代码,在所述行政区划树中向上匹配所述目标区域项的上级区域项;
在一实施例中,若当前目标区域项的区域级别为省级以下,且记录区中未记录全当前目标区域项上级区域项,如当前目标区域项为“福田区”,记录区中未记录“福田区”的上级区域项“深圳市”,则根据目标区域项的上级代码,在行政区划树中,向上匹配目标区域项的上级区域项,将缺失的上级区域项补全。
需要说明的是,向上匹配可一路向上匹配到省级,如上述例子,向上匹配到“深圳市”后,若记录区中也未记录其上级区域项,则继续向上匹配到“广东省”。
步骤b24,基于预设匹配规则、所述目标区域项和所述上级区域项,更新记录所述记录区中各区域级别的最佳区域项。
在一实施例中,根据预设匹配规则,目标区域项,以及目标区域项的上级区域项,更新记录各区域级别的最佳区域项。
在具体实施时,设置区域级别和优先级对应关系如下表所示,优先级数字越小,行政级别越高,其中,需要说明的是,直辖市与省平级,但优先级数不同;省直辖县级市与地级市平级,但优先级数不同;特定平台的4级地址与街道乡镇一级平级,同属街道级别,但优先级数不同。
预设匹配规则如下:
1、Province:若当前目标区域项的区域级别为省级别,则直接在记录区curDivision中将目标区域项记录为省级别的最佳区域项acceptableItem;
2、ProvinceLevelCity:若当前目标区域项的区域级别为直辖市级别,则在记录区中将目标区域项记录为省级别的最佳区域项,并将其第一个孩子节点确定为市级别的最佳区域项,如“北京市”,由于是直辖市,往上并没有省级别,则将“北京市”记录为省级别的最佳区域项,并将其孩子节点“市辖区”确定为市级别的最佳区域项;
3、City:若当前目标区域项的区域级别为市级别,则检查记录区中的市级别是否有值,若有,则将市级别的最佳区域项更新为目标区域项;然后检查记录区的省级别是否有值,若没有,则取目标区域项中父节点,也即目标区域项的上级区域项,向上匹配上级区域项,并更新到记录区的省级别中;
4、CityLevelDistrict:若当前目标区域项的区域级别为省直辖县级市,则判断在此之前是否已经识别到比省直辖县级市级别低的区域项,如乡镇Town等,且判断该区域项的匹配类型是否为全名匹配,若是,则不更新区域级别为省直辖县级市的最佳区域项;若否,则将目标区域项更新到记录区的市级别和区级别中,然后检查记录区中的省级别是否有值,若没有,则取目标区域项的上级区域项,向上匹配更新到省级别;
5、District:若当前目标区域项的区域级别为区、县级别,则先确定记录区中的区、县级别是否有值,若没有,则将当前目标区域项更新到区、县级别中,并取目标区域项的上级区域项,向上匹配到省级别;
6、Street、PlatformL4:若当前目标区域项的区域级别为街道级别,则将目标区域项确定为街道级别的最佳区域项;然后确定记录区中的区级别是否有值,若没有,则取目标区域项的上级区域项向上匹配到省级别。
7、Town:若当前目标区域项的区域级别为乡镇级别,则将目标区域项确定为乡镇级别的最佳区域项;然后确定记录区中的县、区级别是否有值,若没有,则取目标区域项的上级区域项向上匹配到省级别。
8、Village:与乡镇级别的确定规则类似,需要说明的是,在向上匹配的过程中,最多向上匹配到区,这是由于向上匹配级数越多,匹配错误的概率越大,为减低识别错误率,最多向上匹配到区级别。
步骤S20,确定所述最佳区域项的上下级关系,并基于所述上下级关系,确定所述最佳区域项是否正确。
在本实施例中,在确定了各区域级别的最佳区域项之后,进一步确定最佳区域项的上下级关系,可以理解的,由于最佳区域项的不断更新,因此,即使在确定最佳区域项的过程中,执行了向上匹配的动作,但也很难保证各区域级别的最佳区域项的上下级关系是正确的。
因此,在确定了各区域级别的最佳区域项之后,确定各最佳区域项的上下级关系,具体的,确定各区域级别的最佳区域项的行政代码,以及其上下级行政代码,将当前区域级别的最佳区域项的上级行政代码与记录区中上一级区域级别的最佳区域项的行政代码进行比较,确定两者是否一致,若一致,则确定当前区域级别的最佳区域项与上一级区域级别的最佳区域项为正确的上下级关系;若不一致,则确定当前区域级别的最佳区域项与上一级区域级别的最佳区域项为错误的上下级关系。
针对错误的上下级关系,根据全名匹配规则向上纠正更新,也即,确定哪一最佳区域项的匹配类型是全名匹配,并以该最佳区域项为起点,向上匹配更正上一级区域级别的最佳区域项。
进一步地,在确定最佳区域项的上下级关系时,进一步确定记录区中的最佳区域项中,匹配类型为全名匹配的数量,若全名匹配的数量小于预设数量,如2,说明识别结果错误的概率很大,此时将省市置为空。
步骤S30,若正确,则基于所述最佳区域项,输出所述地址文本对应的识别结果。
在本实施例中,若确定最佳区域项的上下级关系正确,则输出地址文本的对应的识别结果,具体的,按照预设格式,如省、市、区的顺序格式,输出标准化结果。
本实施例若检测到地址文本,则基于预构建的行政区划树和所述地址文本对应的偏移指针,识别所述地址文本在所述行政区划树的最佳区域项;确定所述最佳区域项的上下级关系,并基于所述上下级关系,确定所述最佳区域项是否正确;若正确,则基于所述最佳区域项,输出所述地址文本对应的识别结果。本发明在识别地址文本的过程中,通过预构建的行政区划树以及偏移指针,正确识别出地址文本中的最佳区域项,再对最佳区域项进行核对,保证最佳区域项正确的情况下才输出识别结果,提高了地址识别的正判率,实现地址的智能识别。
进一步地,基于本发明地址识别方法第一实施例,提出本发明地址识别方法第二实施例。
地址识别方法的第二实施例与地址识别方法的第一实施例的区别在于,所述若检测到地址文本,则确定所述偏移指针在所述地址文本指向的第一文本内容为当前主键,并确定所述行政区划树中是否存在与当前主键匹配的词条的步骤之后,地址识别方法还包括:
步骤a15,若不存在所述词条,则确定所述偏移指针的跳跃次数是否未超过预设次数;
步骤a16,若是,则控制所述偏移指针往所述地址文本的文本方向跳转预设文本单位,并累计更新所述偏移指针的跳跃次数;
步骤a17,基于所述偏移指针跳转后指向的文本内容,更新当前主键,并执行所述确定所述行政区划树中是否存在与当前主键匹配的词条的步骤。
本实施例针对地址文本中夹杂脏数据而不能识别的情况,通过偏移指针的跳转,从而规避脏数据的影响,使得整个识别过程不会中断,实现地址的智能识别。
以下将对各个步骤进行详细说明:
步骤a15,若不存在所述词条,则确定所述偏移指针的跳跃次数是否未超过预设次数。
在本实施例中,若确定行政区划树中不存在与当前主键匹配的词条,则确定偏移指针的跳跃次数是否未超过预设次数,其中,预设次数可根据地址文本的历史识别时长确定,可以理解的,若偏移指针的跳跃次数没有限制,对于错误的地址文本,如“错误的地址文本”,偏移指针将持续跳转,增加了无用的识别时长。因此,需确定当前偏移指针的跳跃次数是否未超过预设次数,在具体实施时,预设次数可为3次。
步骤a16,若是,则控制所述偏移指针往所述地址文本的文本方向跳转预设文本单位,并累计更新所述偏移指针的跳跃次数。
在本实施例中,若是,也即偏移指针的跳跃次数未超过预设次数,识别设备则控制偏移指针往地址文本的文本方向跳转预设文本单位,其中,文本方向可以是从左往右,也可以是从右往左,也可以是从上到下,也可以是从下到上等,在本实施例中,文本方向优选为从左往右;此外,预设文本单位指的是偏移指针偏移的位移,在本实施例中,预设文本单位优选为一字,如识别设备控制偏移指针往地址文本的右方向偏移一个字的位移,也即当前偏移指针指向的文本内容未匹配到任何词条,当前主键为脏数据,则跳过当前文本内容,并累计更新偏移指针的跳跃次数。
步骤a17,基于所述偏移指针跳转后指向的文本内容,更新当前主键,并执行所述确定所述行政区划树中是否存在与当前主键匹配的词条的步骤。
在本实施例中,在确定偏移指针指向的文本内容没有任何词条与之匹配时,也即确定当前指向的文本内容为脏数据,则跳过脏数据,将偏移指针跳转后指向的文本内容确定为当前主键,然后循环执行确定行政区划树中是否存在与当前主键匹配的词条的步骤,直至偏移指针的跳跃次数超过预设次数,或者确定行政区划树中存在与当前主键匹配的词条。
如“名广州市天河区”,偏移指针在指向“名”时,由于行政区划树中并没有与“名”匹配的词条,则先确定偏移指针的跳跃次数是否未超过预设次数,若是,控制偏移指针跳过“名”,指向“广”,从“广”开始进行匹配,使得整个识别过程不会因为出现脏数据而停滞或者中断。
进一步地,在一实施例中,若当前主键是基于偏移指针偏移后,基于偏移后偏移指针指向的文本内容和原先的目标文本内容确定的,则在确定不存在与当前主键匹配的词条之后,还得确定原先的目标文本内容对应的主键是否存在唯一的行政区域名字词条,若存在,则基于行政区域名字词条,确定对应的目标区域项;若否,则将当前主键确定为脏数据舍弃。
如“广东名广州市天河区”,在识别到“广东”时,其还存在子词条与之匹配,因此,偏移指针继续偏移,确定当前主键为“广东名”,此时由于无法匹配到“广东名”,则需确定“广东”是否对应唯一的行政区域名字词条,由于“广东”只有一个行政区域名字词条:“广东省”,因此,可确定“广东省”为“广东”对应的目标区域项;
若地址文本为“广名广州市天河区”,在识别到“广”时,其还存在子词条与之匹配,因此,偏移指针继续偏移,确定当前主键为“广名”,此时由于无法匹配到“广名”,则需确定“广”是否对应唯一的行政区域名字词条,由于“广”有“广东省”,“广西省”等行政区域名字词条,也即行政区域名字词条不唯一,因此,无法确定“广”应该对应“广东省”还是“广西省”,此时,将“广名”确定为脏数据舍弃。
本实施例针对地址文本的识别过程中,若遇到脏数据,导致无法匹配到词条时,控制偏移指针跳过脏数据,使得整个识别过程继续进行,而不会因脏数据而停滞或者阻碍整个识别过程,实现了地址文本的智能识别。
进一步地,基于本发明地址识别方法第一、第二实施例,提出本发明地址识别方法第三实施例。
地址识别方法的第三实施例与地址识别方法的第一、第二实施例的区别在于,若检测到地址文本,则基于预构建的行政区划树和所述地址文本对应的偏移指针,识别所述地址文本在所述行政区划树的最佳区域项的步骤之前,所述地址识别方法还包括:
步骤c,若检测到待识别文本,则基于预设规则,识别所述待识别文本中的非行政区域信息;
步骤d将所述待识别文本中的非行政区域信息分离出去,以得到所述地址文本;
所述若正确,则基于所述最佳区域项,输出所述地址文本对应的识别结果的步骤包括:
步骤e,若正确,则基于所述最佳区域项和所述非行政区域信息,输出所述地址文本对应的识别结果。
本实施例在对地址文本进行识别之前,对于非行政区域信息,如1688号等信息进行分离,从而在识别地址文本的过程中,不受非行政区域信息的影响,使得整个识别过程更加顺畅,最后在输出识别结果时,除了将各区域级别的最佳区域项输出之外,还将非行政区域信息一并输出,提高识别精度。
以下将对各个步骤进行详细说明:
步骤c,若检测到待识别文本,则基于预设规则,识别所述待识别文本中的非行政区域信息。
在本实施例中,识别设备若检测到待识别文本,则通过预设规则,死别出待识别文本中的非行政区域信息,其中,预设规则包括过滤规则和匹配规则,在具体实施时,识别设备根据过滤规则,先对待识别文本进行过滤处理,具体的,去除待识别文本开头的数字,字母和空格;去除待识别文本中的“·~@¥&”等特殊字符。然后,根据匹配规则,匹配待识别文本中的非行政区域信息,如构建第一正则表达式匹配建筑物号,构建第二正则表达式匹配道路信息等。
步骤d将所述待识别文本中的非行政区域信息分离出去,以得到所述地址文本。
在本实施例中,在得到非行政区域信息后,将非行政区域信息从待识别文本中分离出去,从而得到仅包含行政区域的地址文本,便于后续最佳区域项的识别。
进一步地,步骤S30包括:
步骤e,若正确,则基于所述最佳区域项和所述非行政区域信息,输出所述地址文本对应的识别结果。
在本实施例中,由于非行政区域信息也是地址信息的一部分,因此,在最后输出识别结果时,也将非行政区域信息作为识别结果的一部分输出。也即,本实施例先将非行政区域信息分离出去,便于识别设备对地址文本进行识别,在识别出正确的最佳区域项之后,再将非行政区域信息与最佳区域项进行组合,从而输出完整的识别结果。
举例如下:
输入待识别文本:text="123435asdfasg;;;、【“”新世纪城18--3-502】江苏泰州兴化市昌荣镇(昌荣镇附近)";
识别结果:
Address{
provinceId=320000000000,province='江苏省',
cityId=321200000000,city='泰州市',
districtId=321281000000,district='兴化市',
streetId=321281119000,street='昌荣镇',
townId=321281119000,town='昌荣镇',
villageId=null,village='null',
road='null',
roadNum='null',
buildingNum='18-3-502',
text='新世纪城昌荣镇附近'
}
也即,先将“123435asdfasg;;;、【“”】”等字符去除,然后将“18-3-502”和“新世纪城昌荣镇附近”等非行政区域信息分离出来,再对“江苏泰州兴化市昌荣镇”进行最佳区域项的识别,最后,将各区域级别的最佳区域项,以及非行政区域信息组合输出,最终得到完整且正确的识别结果。
本实施例在对待识别文本进行识别的过程中,先分离出非行政区域信息,便于最佳区域项的识别,再在输出识别结果时,将非行政区域信息与最佳区域项进行组合输出,从而输出完整且正确的识别结果,提高地址识别的正判率,实现地址的智能识别。
本发明还提供一种地址识别装置。本发明地址识别装置包括:
识别模块,用于若检测到地址文本,则基于预构建的行政区划树和所述地址文本对应的偏移指针,识别所述地址文本在所述行政区划树的最佳区域项;
确定模块,用于确定所述最佳区域项的上下级关系,并基于所述上下级关系,确定所述最佳区域项是否正确;
输出模块,用于若正确,则基于所述最佳区域项,输出所述地址文本对应的识别结果。
优选地,所述识别模块还用于:
若检测到地址文本,则基于所述偏移指针,确定所述地址文本对应的目标词条,并基于所述目标词条,确定所述行政区划树中与所述地址文本匹配的目标区域项;
基于所述目标区域项和所述目标区域项的区域级别,确定所述地址文本在所述行政区划树的最佳区域项。
优选地,所述目标词条至少包括第一目标词条和第二目标词条,所述目标区域项对应至少包括第一目标区域项和第二目标区域项,所述识别模块还用于:
若检测到地址文本,则基于所述偏移指针,确定所述地址文本对应的第一目标词条,并在所述行政区划树中确定与所述第一目标词条匹配的第一目标区域项;
基于预设文本单位,控制所述偏移指针进行偏移,以基于偏移后的所述偏移指针,确定所述地址文本对应的第二目标词条,并在第一目标区域项在所述行政区划树对应的子节点中确定与第二目标词条匹配的第二目标区域项。
优选地,所述识别模块还用于:
若检测到地址文本,则确定所述偏移指针在所述地址文本指向的目标文本内容为当前主键,并确定所述行政区划树中是否存在与当前主键匹配的词条;
若存在所述词条,则确定所述词条是否存在子词条;
若存在所述子词条,则控制所述偏移指针往所述地址文本的文本方向偏移预设文本单位,并基于所述偏移指针偏移后指向的文本内容和所述目标文本内容,更新当前主键,并继续执行所述确定所述行政区划树中是否存在与当前主键匹配的词条的步骤;
若不存在所述子词条,则确定所述词条是否是行政区域名字词条,其中,若是,则确定所述词条为第一目标词条。
优选地,所述识别模块还用于:
若不存在所述词条,则确定所述偏移指针的跳跃次数是否未超过预设次数;
若是,则控制所述偏移指针往所述地址文本的文本方向跳转预设文本单位,并累计更新所述偏移指针的跳跃次数;
基于所述偏移指针跳转后指向的文本内容,更新当前主键,并执行所述确定所述行政区划树中是否存在与当前主键匹配的词条的步骤。
优选地,所述识别模块还用于:
基于所述目标区域项的区域代码,确定所述目标区域项的区域级别,并确定所述目标区域项的匹配类型;
基于所述目标区域项、所述区域级别和所述匹配类型,确定所述地址文本在所述行政区划树的最佳区域项。
优选地,所述识别模块还用于:
确定所述地址文本对应的记录区中是否已记录所述区域级别对应的最佳区域项;
若是,则基于所述匹配类型,更新所述区域级别对应的最佳区域项;
若所述区域级别为省级以下,且所述记录区中未记录全所述目标区域项的上级区域项,则基于目标区域项的上级代码,在所述行政区划树中向上匹配所述目标区域项的上级区域项;
基于预设匹配规则、所述目标区域项和所述上级区域项,更新记录所述记录区中各区域级别的最佳区域项。
优选地,所述地址识别装置还包括分离模块,所述分离模块用于:
若检测到待识别文本,则基于预设规则,识别所述待识别文本中的非行政区域信息;
将所述待识别文本中的非行政区域信息分离出去,以得到所述地址文本。
所述输出模块还用于:
若正确,则基于所述最佳区域项和所述非行政区域信息,输出所述地址文本对应的识别结果。
本发明还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有地址识别程序,所述地址识别程序被处理器执行时实现如上所述的地址识别方法的步骤。
其中,在所述处理器上运行的地址识别程序被执行时所实现的方法可参照本发明地址识别方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书与附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (7)
1.一种地址识别方法,其特征在于,所述地址识别方法包括如下步骤:
若检测到待识别文本,则基于预设规则,识别所述待识别文本中的非行政区域信息;
将所述待识别文本中的非行政区域信息分离出去,以得到地址文本;
若检测到地址文本,则基于偏移指针,确定所述地址文本对应的目标词条,并基于所述目标词条,确定行政区划树中与所述地址文本匹配的目标区域项;
基于所述目标区域项的区域代码,确定所述目标区域项的区域级别,并确定所述目标区域项的匹配类型;
确定所述地址文本对应的记录区中是否已记录所述区域级别对应的最佳区域项;
若是,则基于所述匹配类型,更新所述区域级别对应的最佳区域项;
若所述区域级别为省级以下,且所述记录区中未记录全所述目标区域项的上级区域项,则基于目标区域项的上级代码,在所述行政区划树中向上匹配所述目标区域项的上级区域项;
基于预设匹配规则、所述目标区域项和所述上级区域项,更新记录所述记录区中各区域级别的最佳区域项;
所述行政区划树以国家为根节点,以各行政区域为分支节点,每一节点的父节点是对应节点的上一级行政区域,每一节点的子节点是对应节点的下一级行政区域;
确定所述最佳区域项的上下级关系,并基于所述上下级关系,确定所述最佳区域项是否正确;
若正确,则基于所述最佳区域项和所述非行政区域信息,输出所述地址文本对应的识别结果。
2.如权利要求1所述的地址识别方法,其特征在于,所述目标词条至少包括第一目标词条和第二目标词条,所述目标区域项对应至少包括第一目标区域项和第二目标区域项,所述若检测到地址文本,则基于所述偏移指针,确定所述地址文本对应的目标词条,并基于所述目标词条,确定所述行政区划树中与所述地址文本匹配的目标区域项的步骤包括:
若检测到地址文本,则基于所述偏移指针,确定所述地址文本对应的第一目标词条,并在所述行政区划树中确定与所述第一目标词条匹配的第一目标区域项;
基于预设文本单位,控制所述偏移指针进行偏移,以基于偏移后的所述偏移指针,确定所述地址文本对应的第二目标词条,并在第一目标区域项在所述行政区划树对应的子节点中确定与第二目标词条匹配的第二目标区域项。
3.如权利要求2所述的地址识别方法,其特征在于,所述若检测到地址文本,则基于所述偏移指针,确定所述地址文本对应的第一目标词条的步骤包括:
若检测到地址文本,则确定所述偏移指针在所述地址文本指向的目标文本内容为当前主键,并确定所述行政区划树中是否存在与当前主键匹配的词条;
若存在所述词条,则确定所述词条是否存在子词条;
若存在所述子词条,则控制所述偏移指针往所述地址文本的文本方向偏移预设文本单位,并基于所述偏移指针偏移后指向的文本内容和所述目标文本内容,更新当前主键,并继续执行所述确定所述行政区划树中是否存在与当前主键匹配的词条的步骤;
若不存在所述子词条,则确定所述词条是否是行政区域名字词条,其中,若是,则确定所述词条为第一目标词条。
4.如权利要求3所述的地址识别方法,其特征在于,所述确定所述行政区划树中是否存在与当前主键匹配的词条的步骤之后,所述地址识别方法还包括:
若不存在所述词条,则确定所述偏移指针的跳跃次数是否未超过预设次数;
若是,则控制所述偏移指针往所述地址文本的文本方向跳转预设文本单位,并累计更新所述偏移指针的跳跃次数;
基于所述偏移指针跳转后指向的文本内容,更新当前主键,并执行所述确定所述行政区划树中是否存在与当前主键匹配的词条的步骤。
5.一种地址识别装置,其特征在于,所述地址识别装置包括:
识别模块,用于若检测到待识别文本,则基于预设规则,识别所述待识别文本中的非行政区域信息;
将所述待识别文本中的非行政区域信息分离出去,以得到地址文本;
若检测到地址文本,则基于偏移指针,确定所述地址文本对应的目标词条,并基于所述目标词条,确定行政区划树中与所述地址文本匹配的目标区域项;
基于所述目标区域项的区域代码,确定所述目标区域项的区域级别,并确定所述目标区域项的匹配类型;
确定所述地址文本对应的记录区中是否已记录所述区域级别对应的最佳区域项;
若是,则基于所述匹配类型,更新所述区域级别对应的最佳区域项;
若所述区域级别为省级以下,且所述记录区中未记录全所述目标区域项的上级区域项,则基于目标区域项的上级代码,在所述行政区划树中向上匹配所述目标区域项的上级区域项;
基于预设匹配规则、所述目标区域项和所述上级区域项,更新记录所述记录区中各区域级别的最佳区域项;
所述行政区划树以国家为根节点,以各行政区域为分支节点,每一节点的父节点是对应节点的上一级行政区域,每一节点的子节点是对应节点的下一级行政区域;
确定模块,用于确定所述最佳区域项的上下级关系,并基于所述上下级关系,确定所述最佳区域项是否正确;
输出模块,用于若正确,则基于所述最佳区域项和所述非行政区域信息,输出所述地址文本对应的识别结果。
6.一种地址识别设备,其特征在于,所述地址识别设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的地址识别程序,所述地址识别程序被所述处理器执行时实现如权利要求1至4中任一项所述的地址识别方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有地址识别程序,所述地址识别程序被处理器执行时实现如权利要求1至4中任一项所述的地址识别方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010522610.3A CN111680500B (zh) | 2020-06-10 | 2020-06-10 | 地址识别方法、装置、设备与计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010522610.3A CN111680500B (zh) | 2020-06-10 | 2020-06-10 | 地址识别方法、装置、设备与计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111680500A CN111680500A (zh) | 2020-09-18 |
CN111680500B true CN111680500B (zh) | 2023-07-14 |
Family
ID=72454496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010522610.3A Active CN111680500B (zh) | 2020-06-10 | 2020-06-10 | 地址识别方法、装置、设备与计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111680500B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113093244B (zh) * | 2021-03-30 | 2023-09-26 | 深圳前海微众银行股份有限公司 | 一种位置监控方法、设备及存储介质 |
CN113434233B (zh) * | 2021-06-28 | 2023-10-24 | 青岛海尔科技有限公司 | 界面跳转方法、装置、存储介质及电子装置 |
CN113515548A (zh) * | 2021-07-29 | 2021-10-19 | 快宝(上海)网络技术有限公司 | 地址信息处理方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130024380A (ko) * | 2011-08-31 | 2013-03-08 | 한국전자통신연구원 | 트리 구조를 이용하여 오류를 포함한 우편 주소를 검색하기 위한 방법 및 그 장치 |
CN103678708A (zh) * | 2013-12-30 | 2014-03-26 | 小米科技有限责任公司 | 一种识别预设地址的方法及装置 |
CN106202028A (zh) * | 2015-04-30 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 一种地址信息识别方法及装置 |
CN108038090A (zh) * | 2017-12-26 | 2018-05-15 | 北京明朝万达科技股份有限公司 | 一种文本地址的处理方法和装置 |
CN111090994A (zh) * | 2019-11-12 | 2020-05-01 | 北京信息科技大学 | 一种面向中文网络论坛文本的事件地点归属省份识别方法 |
CN111159990A (zh) * | 2019-12-06 | 2020-05-15 | 国家计算机网络与信息安全管理中心 | 一种基于模式拓展的通用特殊词识别方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9697301B2 (en) * | 2010-08-19 | 2017-07-04 | International Business Machines Corporation | Systems and methods for standardization and de-duplication of addresses using taxonomy |
-
2020
- 2020-06-10 CN CN202010522610.3A patent/CN111680500B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130024380A (ko) * | 2011-08-31 | 2013-03-08 | 한국전자통신연구원 | 트리 구조를 이용하여 오류를 포함한 우편 주소를 검색하기 위한 방법 및 그 장치 |
CN103678708A (zh) * | 2013-12-30 | 2014-03-26 | 小米科技有限责任公司 | 一种识别预设地址的方法及装置 |
CN106202028A (zh) * | 2015-04-30 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 一种地址信息识别方法及装置 |
CN108038090A (zh) * | 2017-12-26 | 2018-05-15 | 北京明朝万达科技股份有限公司 | 一种文本地址的处理方法和装置 |
CN111090994A (zh) * | 2019-11-12 | 2020-05-01 | 北京信息科技大学 | 一种面向中文网络论坛文本的事件地点归属省份识别方法 |
CN111159990A (zh) * | 2019-12-06 | 2020-05-15 | 国家计算机网络与信息安全管理中心 | 一种基于模式拓展的通用特殊词识别方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111680500A (zh) | 2020-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111680500B (zh) | 地址识别方法、装置、设备与计算机可读存储介质 | |
JP5002751B2 (ja) | データベースアクセスのための2段階データ検証およびマッピング | |
CN102543082B (zh) | 使用自然语言的车载信息服务系统语音操作方法及系统 | |
CN109213844B (zh) | 一种文本处理方法、装置以及相关设备 | |
CN108369582B (zh) | 一种地址纠错方法及终端 | |
US20140281943A1 (en) | Web-based spell checker | |
US10747772B2 (en) | Fuzzy substring search | |
US20140280363A1 (en) | Determining hierarchical paths to nodes | |
CN103514238B (zh) | 基于分类查找的敏感词识别处理方法 | |
CN101911069A (zh) | 用于数据聚类和同义词的发现和修改的方法和系统 | |
CN103942308A (zh) | 大规模社交网络社区的检测方法及装置 | |
CN107748778B (zh) | 一种提取地址的方法及装置 | |
CN106469372B (zh) | 一种地址映射方法及装置 | |
WO2017101413A1 (zh) | 一种信息推送方法及信息推送装置 | |
CN116414824A (zh) | 行政区划信息识别和标准化处理的方法、装置及存储介质 | |
CN112948717B (zh) | 一种基于多因素约束的海量空间poi搜索方法及系统 | |
CN104008205A (zh) | 一种内容路由的查询方法及系统 | |
CN106469182A (zh) | 一种基于映射关系的信息推荐方法及装置 | |
CN107077509B (zh) | 一种改进浏览体验的方法、装置和设备 | |
CN116414808A (zh) | 详细地址规范化的方法、装置、计算机设备和存储介质 | |
CN115544979A (zh) | 一种行政地址提取方法、装置和设备及存储介质 | |
CN111401051B (zh) | 快递信息解析方法及系统 | |
CN114020853A (zh) | 数据模型管理方法、装置、计算机设备和存储介质 | |
CN112395874A (zh) | 订单信息的校正方法、装置、设备及存储介质 | |
CN117874307B (zh) | 一种工程数据字段识别方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |