具体实施方式
为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。下文中将详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/ 或”包括一个或更多个相关联的列出项的任一单元和全部组合。本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解。
本发明实施例具体可以实现在一种如图1a所示的系统中,其中:
分析服务器具体可以是单独作成的服务器设备,比如:机架式、刀片、塔式或者机柜式的服务器设备,也可以采用工作站、大型计算机等具备较强计算能力硬件设备;也可以是由多个服务器设备组成的服务器集群。
数据库系统上运行地址信息库,用于存储并管理地址信息。数据库系统具体可以是单独作成的,用于数据的管理、存储的分析服务器,也可以是由多个分析服务器组成的服务器集群。在数据库系统的硬件设备上运行对应分析服务器的数据库,用于管理并存储分析服务器的数据。具体可以采用常用的网状数据库(Network Database)、关系数据库(Relational Database)、树状数据库(Hierarchical Database)、面向对象数据库(Object-oriented Database) 以及新一代大数据系统架构。
分析服务器具体也可以集成在数据库系统中,比如:将服务器集群中的部分分析服务器划分为前端服务器,用于与用户终端交互数据,这种前端服务器即可以称为分析服务器;而将服务器集群中的另一部分服务器和大部分的存储设备(比如磁盘阵列、缓存机等)都可以作为后台数据库为前端服务器提供数据访问服务,且在后台数据库上维护所述问题库。
可选的,如图1b所示的系统,还可以包括用户终端,具体可以实做成单独一台系统,或整合于各种不同的业务应用系统中,诸如智能手机、平板电脑 (Tablet PersonalComputer)、膝上型电脑(Laptop Computer)或者个人数字助理(personal digitalassistant,简称PDA)等。用户终端上可以通过安装的应用程序,显示应用界面,在应用界面中具体显示了分析服务器发送的处理过的地址等信息,并显示返回给分析服务器的应答消息,从而形成用户终端与分析服务器之间的“会话”,并展示给用户终端的操作用户。
本发明实施例提供一种处理地址信息的方法,具体可以通过分析服务器实现,如图2所示,包括:
S1、从地址信息样本库中的提取地址元素标签,按照逻辑层次划分所提取的地址元素标签。
其中,所述逻辑层次包括了各地址元素标签之间从属关系的标准形式。逻辑层次具体是指各地址元素标签之间从属关系,由于地址中的元素标签分为不同的层次,根据层次关系建立层次体系,从而保证识别的正确率。
地址信息样本库的来源具体可以包括:未经过专业训练的普通用户在填写地址过程中夹杂很多不规范形式的地址信息,例如:一些不动产、租房公司的地址信息库,链家、365租房等,此类地址结构相对较标准;以及网购平台的管理的用户信息形成的地址信息库,此类地址杂质较多。
地址元素标签具体是指:从地址信息样本库中提取出的元素标记,如“XX 省”、“XX市”、“XX路”、“XX号”中的最后一个字符。由于地区的差异性,中文中的地址信息的元素也不太一样(如北方城市的“XX胡同”,相对南方城市的“XX 弄”),因而,在处理时,首先将地址按照城市分类分别处理,例如:对于不同地理区域的城市,可以设定不同的地址元素标签的词库,比如:利用不同城市的区号标记不同的地址元素标签的词库,如南京的区号025对应025号词库, 025号词库中存储了符合南京地区语言习惯的地址元素标签。以便于地址元素标签的具体词组符合该地理区域的从而避免相互干扰,保证提取的全面性和准确性。
S2、根据所述按照逻辑层次划分后的地址元素标签,识别待处理的地址信息中的地址元素。
其中,待处理的地址信息包含真实需要加工的地址信息,这些地址的形式相对比较松散,需要处理为标准形式的地址。
S3、将识别得到的地址元素,按照所述逻辑层次组装。
由于识别得到的地址元素是分散的,不成系统的,所以需要按照逻辑层次对识别得到的地址元素进行组装。
可选的,按照逻辑层次对识别得到的地址元素进行组装,组装得到标准的地址,将标准的地址输出给任意需要使用地址信息的业务系统,例如:用户终端、数据库系统等,为后继的应用提供了高质量的数据。
在目前已有的方案中,对于网络上,尤其是类似网购平台上的地理信息,往往会存在格式很不规范、错误、歧义等问题,使得地理信息较为晦涩难懂,难以支撑更加复杂的业务需求,限制了地理信息数据的使用范围。
本实施例中,根据不同城市和地区的地址命名习惯的差异,分别采用半自 5动的方式提取全要素的地址结构,提取所有层次的要素,使得各种地址的变体出现后,都可以通过解析基本要素解析归类,而且处理不规则地址、老地址等非标准化的地址信息的时候(比如某个区域被合并后就不再使用了),也能够进行识别,按照基本要素的词典就可以元素标签,综合运用N-Gram模型和规则优化的正向最小匹配算法对地址进行处理,配合字典进行地址信息的切分以及地 0址要素的识别,建立了完整的地址标签层级体系,颗粒度达到最小元素,并定义了标签间的层次逻辑关系,同时,还处理了重叠和歧义问题。
本实施例解决了现有技术中,地理信息存在的格式很不规范、错误、歧义等问题,能够识别提取形式上比较松散的地名地址信息,并将其形式标准化,
为基于地址信息的匹配过程提供技术基础。从而进一步支撑更加复杂的业务需 5求,限制了地理信息数据的使用范围。
本实施例中,还提供了一种建立地址信息样本库的具体方式,例如,除了上述步骤S1-S3的流程,还包括:
提取作为样本的地址信息,并识别所述作为样本的地址信息中不符合规范形式的字符;
0将所述不符合规范形式的字符替换为规范形式的字符,之后利用所述作为样本的地址信息建立地址信息样本库。
具体的,在本实施例中,对于形式相对松散、夹杂很多不规范的形式的地址信息需要进行加工处理,该过程可称为清洗过程,清洗过程具体可包括:
1.数字形式:对数字形式的清洗,例如:阿拉伯数字0-9、中文数字一-九、和中文序列符号甲乙丙等,在本实施例中被统一为阿拉伯数字形式;
2.书写形式:对书写形式的清洗,例如:形式“数字-数字-数字”往往表示的含义为“栋-单元-室”,此类形式也需要进行统一,以方便后继的元素标签提取工作。
在本实施例中,不符合规范形式的字符都在清洗过程中做相应处理,以方便后继的分析处理。
本实施例的步骤S1中,所述按照逻辑层次划分所提取的地址元素标签的具体实现方式,包括:
S11、从所提取的地址元素标签中,筛选出符合所述标准地址表达式的地址元素标签。
S12、按照所述标准地址表达式,将筛选得到的地址元素标签,分别划分为不同的层次,并建立各层次之间的从属关系。
具体的,还提供一种地址编码规则、地址编码模型和标准地址表达式的选取方式,其中包括:
根据当前设定的地址编码规则,选择地址编码模型,根据当前设定的地理位置,读取所述地址编码模型中的标准地址表达式。
其中,所述地址编码模型包括至少一个标准地址表达式。所述标准地址表达式包括:各个类型的地址元素标签按照所述逻辑层次的排列顺序。
举例来说,如图3所示,具体包括如下步骤:
步骤1:建立标准化地址形式模型
不同国家和地区,以及不同时期的地址编码规则是不一样的,得到的不同国家或者地区的地址编码模型可以不一样,地址编码模型包括至少一个标准地址表达式,所以同一地区中的标准地址表达式也可以有多种。因此,在根据地理位置(国家或者地区)确定了所采用某一个国家或者地区的地址编码模型后,为了进一步适应当前地域,还要针对具体的地域筛选相应的表达式,从而避免由于地区的差异性,中文中的地址信息的元素也不太一样的问题。
参考《中华人民共和国国家标准GB/T 23705-2009数字城市地理信息公共平台地名/地址编码规则》的规定,设计地址编码模型,得出标准地址表达式:【省级】【市级】【区县级】【乡镇级】【街道或标志物】【小区】【街巷号】【门楼号】【单元号】【室号】【附加信息】
该标准形式自左向右表现出了层级关系,每个括号中代表的是该层级所有的要素标志。一个完整的地址应该包含了该形式中所以的元素,但是在现实使用中,往往地址信息仅包含了其中的部分元素。
由于中文地址命名在不同的地区表现出了不同的习惯,因而要素标签也有区别,需要分别处理。但是总体的结构形式是一致的,使用有限状态机可以建立标准化的地址形式模型。
步骤2:建立省、市、区级地址元素词典
根据国家行政区划数据建立各省、市、区县的名称数据库,可以用来精准匹配部分地址要素,提高识别的准确率。由于省、市、区三级的的名称及缩写比较固定且有限,为避免匹配地址要素时的误判,可以使用这三级名称的词典进行精准匹配,从而提高识别结果的质量。
步骤3:从地址信息样本库中半自动学习地址元素标签
建立地址元素标签体系是之后正确识别地址元素的基础,这就要求,从地址信息样本库中能够尽可能全面而且准确地提取出元素标记(如“XX省”、“XX 市”、“XX路”、“XX号”中的最后一个字符)。但是,由于地区的差异性,中文中的地址信息的元素也不太一样(如北方的“XX胡同”,相对南方的“XX 弄”),因而,在处理时,首先将地址按照城市分类分别处理,从而避免相互干扰,保证提取的全面性和准确性。
在识别地址要素标签时,首先,使用N-Gram方法自动提取可能的地址要素标签,再通过Bootstrapping的方式,手工选择其中重要的标签。一方面,大大降低选择提取标签的工作量;另一方面,也保证了标签的准确率和覆盖率。其中,N-Gram方法是指通过统计N个相邻字符在文本中出现的频次来发掘字符之间的共现关系;Bootstrapping的方式具体是指是一种基于现有样本基础上发现新样本,再在更新后样本集的基础上继续挖掘,循环往复的半自动学习方法。
步骤4:按照逻辑层次建立地址元素标签体系
地址中的元素标签分为不同的层次,根据层次关系建立层次体系(如元素“区”和“县”处于同一层级,在体系中定义为同一节点),并且对其中重叠或歧义部分作消歧处理(如“珠江路18号”和“路子铺2号”中都出现了典型的元素标签“路”,在此,可以通过标签“铺”以及之后的街道号码等要素对歧义情况进行处理,从而保证识别的正确率)。
本实施例的步骤S3中,所述将识别得到的地址元素,按照所述逻辑层次组装的具体实现方式,包括:
S31、按照地址元素标签划分出的层次,通过自左向右的正向最小匹配的方式,递归提取所述识别得到的地址元素;
对清洗过的待处理的地址信息,匹配识别地址元素,并正向最小匹配,递归提取地址元素
清洗后的待处理地址信息,使用得到的地址标签体系,按照逻辑层次进行标记后,使用自左向右的最小匹配的方式递归识别提取地址元素,直到所有的元素匹配完或地址被匹配到结尾。
例如:
北京沙河镇沙阳路1号院保利罗兰香谷小区1号楼1单元101
该地址的原有形式不完全符合标准化的要求,可以被识别出如图5所示的元素:从而可以转换为如下形式:
【北京市】【沙河镇】【沙阳路】【1号院】【保利罗兰香谷小区】【1号楼】【1单元】【101室】
其中,本发明实施例中的地址元素系统中包含了九个层级的元素。另外,还对一些典型的例外情况给出了相应的规则进行处理。从而,进一步提高匹配的准确性。
S32、按照所读取的标准地址表达式,组装经过递归提取后的地址元素。
根据标准形式组装地址
识别出的地址元素即为标准地址形式的组件,按照层次关系组装得到标准地址。如上面的例子可以标准化为:
【北京市】【沙河镇】【沙阳路】【1号院】【1号楼】【1单元】【101室】
通过该步骤的处理,使得原本松散多样的地址形式得到统一,从而为后继的应用提供了高质量的数据。
本发明实施例还提供一种如图4所示的装置,具体包括:
处理模块,用于从地址信息样本库中的提取地址元素标签,按照逻辑层次划分所提取的地址元素标签;
匹配模块,用于根据所述按照逻辑层次划分后的地址元素标签,识别待处理的地址信息中的地址元素;
组装模块,用于将识别得到的地址元素,按照所述逻辑层次组装。
所述处理模块,还用于提取作为样本的地址信息,并识别所述作为样本的地址信息中不符合规范形式的字符,将所述不符合规范形式的字符替换为规范形式的字符,之后利用所述作为样本的地址信息建立地址信息样本库。
所述处理模块,还用于根据当前设定的地址编码规则,选择地址编码模型,所述地址编码模型包括至少一个标准地址表达式,根据当前设定的地理位置,读取所述地址编码模型中的标准地址表达式,所述标准地址表达式包括:各个类型的地址元素标签按照所述逻辑层次的排列顺序。
所述处理模块,还用于从所提取的地址元素标签中,筛选出符合所述标准地址表达式的地址元素标签;按照所述标准地址表达式,将筛选得到的地址元素标签,分别划分为不同的层次,并建立各层次之间的从属关系。
所述组装模块,还用于按照地址元素标签划分出的层次,通过自左向右的正向最小匹配的方式,递归提取所述识别得到的地址元素;按照所读取的标准地址表达式,组装经过递归提取后的地址元素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。