著录项信息
专利名称 | 一种基于模糊匹配的中文地理编码确定方法 |
申请号 | CN200910156650.4 | 申请日期 | 2009-12-31 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2010-06-02 | 公开/公告号 | CN101719128A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 浙江工业大学 | 申请人地址 | 浙江省杭州市下城区朝晖六区
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 浙江工业大学 | 当前权利人 | 浙江工业大学 |
发明人 | 张贵军;吴海涛;洪榛;俞立;郭海峰;何尚秋;陈宁宁 |
代理机构 | 杭州天正专利事务所有限公司 | 代理人 | 王兵;王利强 |
摘要
一种基于模糊匹配的中文地理编码确定方法,包括以下步骤:A1、读入描述性中文地址信息,以行政区级别为断点,采用正向最大搜索方法,对原始地址进行切分,得到原始地址元素数组;A2、将原始地址元素通过地址词典进行标准化;A3、读取标准地址树,采用分支定界算法,对原始地址元素数组进行匹配;同时,应用模糊规则对匹配操作进行控制:在获取原始地址切分后的关键字后;评价分数最高的作为最相近匹配结果,即得到更为精确的匹配地址。本发明提供一种地址模型合理、匹配率较高、快速性良好的基于模糊匹配的中文地理编码确定方法。
1.一种基于模糊匹配的中文地理编码确定方法,其特征在于:所述中文地理编码确定方法包括以下步骤:
A1、读入描述性中文地址信息,以行政区级别为断点,采用正向最大搜索方法,对原始地址进行切分,得到原始地址元素数组;
A2、将原始地址元素通过地址词典进行标准化;
A3、读取标准地址树,采用分支定界算法,对原始地址元素数组进行匹配:建立地址树存储格式的地址数据库,根据中国行政区的层次化划分,建立树状地址存储树,级别最高的行政区单位作为地址树的根结点,其下属行政区作为子结点进行保存;依据对描述性中文地址信息切分后的地址要素和门牌号,在匹配过程中,首先读取标准地址树R,判断通过切分后的候选地址要素中最高行政级别的关键字,与标准地址树R的对应行政级别的地址结点进行匹配,匹配成功后舍弃不相关分支树,保留相关分支树进行下一行政级别匹配;
同时,应用模糊规则对匹配操作进行控制:在获取原始地址切分后的关键字后,还包括:
采用模糊匹配规则对匹配操作进行优化,模糊匹配规则定义如下:假定匹配字段为字符串address,长度为h;标准字段为字符串std_address,长度为H;定义满足address∩std_address≠Φ的std_address集合为满足匹配条件的集合,其中,address∩std_address≠Φ表示字符串address与标准字段字符串std_address交集不为空,最后保留隶属度高的集合元素;定义如下匹配规则:
①标准字符串std_address和匹配字符串address中i个字符相同,则隶属度为i/H;
②标准字符串std_address包含匹配字符串address,则隶属度为1;
得到隶属度之后,设定μ为隶属度,按照映射规则f:sc→μ转化为量化分值,映射函数:f(μ)=10×μ,将sc作为该候选记录的评价分数;
评价分数最高的作为最相近匹配结果,即得到更为精确的匹配地址。
2.如权利要求1所述的一种基于模糊匹配的中文地理编码确定方法,其特征在于:所述中文地理编码确定方法还包括:
A4、如果匹配地址包含的门牌号,进行空间定位:设定城市道路门牌号以以下规则分布:按照单双号规则分布于道路的两侧,正向左侧为单号,右侧为双号;正向右侧为单号,左侧为双号;记录道路拐点门牌号以及其地理坐标信息,获取原始地址中的门牌号信息后,判断处于哪两个拐点之间,假定匹配地址门牌号位于拐点A、B之间,以A、B为参照点,进行最小二乘法线性插值,得到该门牌号位于道路的具体地理坐标,最后定位到地图。
3.如权利要求1或2所述的一种基于模糊匹配的中文地理编码确定方法,其特征在于:
所述步骤A3中,设置辅助地名数据库,对于拥有第二特征身份的比较重要同时使用较为频繁的地理位置进行单独建库。
4.如权利要求1或2所述的一种基于模糊匹配的中文地理编码确定方法,其特征在于:
在步骤A1中,获取的原始地址,以原始地址的第一个字符为起始点,对地址数据库进行搜索查找对应的标准地址名称,存在则读取地址信息保留,同时将该字符在原始地址字符串切除,否则读取下一字符与上一个字符组成字符串,继续在地址数据库中搜索对应标准地址名称,依次进行读取,确定所有行政级别的地址要素。
5.如权利要求1或2所述的一种基于模糊匹配的中文地理编码确定方法,其特征在于:
在步骤A2中,如果切分后的候选地址数组存在缺省项,依据下一级别的地址元素,在地址数据库获取其上级地址,写入候选地址要素数组中。
6.如权利要求5所述的一种基于模糊匹配的中文地理编码确定方法,其特征在于:在步骤A2中,设计地址简称、别名信息数据库,保存当前所有的标准地址信息与其别名、简称的专门信息数据库。
7.如权利要求6所述的一种基于模糊匹配的中文地理编码确定方法,其特征在于:在步骤A2中,切分后的地址元素的错别字纠错,假定录入的地址信息中存在错别字,即切分后的地址元素在地址词典中无法找到完全对应的标准地址名称,取与录入的地址信息最相近的标准地址名称返回,并取代录入的地址信息。
一种基于模糊匹配的中文地理编码确定方法\n技术领域\n[0001] 本发明涉及一种地理信息数据处理、计算机应用领域,尤其涉及的是,一种基于模糊匹配的地理编码方法。\n背景技术\n[0002] 地址编码是建立地址描述与坐标对应关系的过程,也即是地点空间位置和地点描述之间的转换工具。长期以来由于缺乏有效的空间分析技术的支持,空间数据的分析处理无法满足科学决策和管理的需要,导致空间数据在决策管理中的价值始终不能体现。通过地址匹配可以实现地理信息系统和空间信息的融合,促进城市空间信息化,进而更有效、更方便的进行空间分析和决策应用。\n[0003] 近年来,随着地理信息技术的不断发展和完善,地理编码技术也在不断改进。国外在这方面的研究已经比较成熟,如Davis提出了一种多模式交叉定位的理念,但只是针对拥有地理编码标准的区域,而且多个空间信息数据库也造成了空间信息冗余,降低了匹配效率;Duncan提出了等面积单元格统一编码方案,但是中国城市各地区的地址编码规范各不相同,这种复杂的编码规范一经形成,一旦发生变化将牵扯的大规模的改动,成本太高;\nBakshi等人提出了一种基于文本记号分割方案的地理编码技术,对英文地址来说这种匹配方案取得了较好的效果,但是由于中文录入方式和英文存在着较大差异,因此对于中文的地址匹配效果并不明显。对于国内来说,地址匹配技术刚刚起步,仅仅在应用方面做了比较多的工作。如北京长地计算机公司的“寻址神”,北大方正数码公司的Map Searcher等,但是此类应用系统在对特定城市的应用中存在着地址模型单一、匹配率不够高等问题。\n[0004] 因此,现有的技术在针对特定城市的中文地址编码方面存在着缺陷,需要改进。\n发明内容\n[0005] 为了克服已有的中文地理位置编码方法的地址模型单一、匹配率不够高、速度慢的不足,本发明提供一种地址模型合理、匹配率较高、快速性良好的基于模糊匹配的中文地理编码确定方法。\n[0006] 本发明解决其技术问题所采用的技术方案是:\n[0007] 一种基于模糊匹配的中文地理编码确定方法,包括以下步骤:\n[0008] A1、读入描述性中文地址信息,以行政区级别为断点,采用正向最大搜索方法,对原始地址进行切分,得到原始地址元素数组;\n[0009] A2、将原始地址元素通过地址词典进行标准化;\n[0010] A3、读取标准地址树,采用分支定界算法,对原始地址元素数组进行匹配:建立地址树存储格式的地址数据库,根据中国行政区的层次化划分,建立树状地址存储树,级别最高的行政区单位作为地址树的根结点,其下属行政区作为子结点进行保存;依据对描述性中文地址信息切分后的地址要素和门牌号,在匹配过程中,首先读取标准地址树R,判断通过切分后的候选地址要素中最高行政级别的关键字,与标准地址树R的对应行政级别的地址结点进行匹配,匹配成功后舍弃不相关分支树,保留相关分支树进行下一行政级别匹配;\n[0011] 同时,应用模糊规则对匹配操作进行控制:在获取原始地址切分后的关键字后,还包括:\n[0012] 采用模糊匹配规则对匹配操作进行优化,模糊匹配规则定义如下:假定匹配字段为字符串address,长度为h;标准字段为字符串std_address,长度为H;定义满足address∩std_address≠Φ的std_address集合为满足匹配条件的集合,其中,address∩std_address≠Φ表示字符串address与标准字段字符串std_address交集不为空,最后保留隶属度高的集合元素;定义如下匹配规则:\n[0013] ①标准字符串std_address和匹配字符串address中i个字符相同,则隶属度为i/H;\n[0014] ②标准字符串std_address包含匹配字符串address,则隶属度为1;\n[0015] 得到隶属度之后,设定μ为匹配隶属度,按照映射规则f:sc→μ转化为量化分值,映射函数:f(μ)=10×μ,将sc作为该候选记录的评价分数;\n[0016] 评价分数最高的作为最相近匹配结果,即得到更为精确的匹配地址。\n[0017] 作为优选的一种方案:所述中文地理编码确定方法还包括:\n[0018] A4、如果匹配地址包含的门牌号,进行空间定位:设定城市道路门牌号以以下规则分布:按照单双号规则分布于道路的两侧,正向左侧为单号,右侧为双号;正向右侧为单号,左侧为双号;记录道路拐点门牌号以及其地理坐标信息,获取原始地址中的门牌号信息后,判断处于哪两个拐点之间,假定匹配地址门牌号位于拐点A、B之间,以A、B为参照点,进行最小二乘法线性插值,得到该门牌号位于道路的具体地理坐标,最后定位到地图。\n[0019] 进一步,所述步骤A3中,通过标准化操作,取得原始地址标准化后的候选地址数组定义为address[i],0<i<N;标准地址结点与对应层次候选元素的匹配分值设为sci,i表示该结点所属层次,N表示初始地址树的深度;匹配评判规则如下:\n[0020] 规则1:地址树结点与候选元素进行精确匹配,Y→精确匹配,N→模糊匹配;\n[0021] 规则2:精确匹配后查找可行解,Y→匹配算法下移,N→返回上一级结点查找近似解;\n[0022] 规则3:判断是否存在缺省项,Y→保存上一级分支树,N→保存当前级分支树;\n[0023] 规则4:判断是否存在缺省项,sci=0,i为缺省项所在层数;\n[0024] 规则5:候选记录最终得分为其每一层结点匹配得分之和:\n[0025] sc=∑sci。\n[0026] 再进一步,所述步骤A3中,设置辅助地名数据库,对于拥有第二特征身份的比较重要同时使用较为频繁的地理位置进行单独建库。\n[0027] 在步骤A1中,获取的原始地址,以原始地址的第一个字符为起始点,对地址数据库进行搜索查找对应的标准地址名称,存在则读取地址信息保留,同时将该字符在原始地址字符串切除,否则读取下一字符与上一个字符组成字符串,继续在地址数据库中搜索对应标准地址名称,依次进行读取,确定所有行政级别的地址要素。\n[0028] 在步骤A2中,如果切分后的候选地址数组存在缺省项,依据下一级别的地址元素,在地址数据库获取其上级地址,写入候选地址要素数组中。\n[0029] 在步骤A2中,设计地址简称、别名信息数据库,保存当前所有的标准地址信息与其别名、简称的专门信息数据库。\n[0030] 在步骤A2中,切分后的地址元素的错别字纠错,假定录入的地址信息中存在错别字,即切分后的地址元素在地址词典中无法找到完全对应的标准地址名称,取与录入的地址信息最相近的标准地址名称返回,并取代录入的地址信息。\n[0031] 本发明的技术构思为:首先获取原始录入地址信息,然后采用分词算法对文字录入的原始地址进行切分,获得与原始地址相对应的空间位置的描述关键字;将城市的标准地址数据以K叉树形式进行存储,其中K值由各级别行政单位具体数量决定,对获得的关键字在标准地址树中进行匹配,匹配过程中采用分支定界算法对匹配算法进行优化,同时应用模糊规则对匹配操作进行精确控制并对匹配结果进行评分筛选,获得至少一条与原始地址完全相符或近似相符的地址信息。应用基于树状地址信息存储模式的分支定界匹配算法,减小了地址树的规模,优化了地址匹配过程的算法复杂度,提高了地址的效率和准确率。\n[0032] 本发明的有益效果主要表现在:本发明优化了地理编码过程的算法复杂度,提高了地理编码的效率和准确率。\n附图说明\n[0033] 图1是基于模糊匹配的中文地理编码确定方法的流程图。\n[0034] 图2是标准地址树的示意图。\n[0035] 图3是匹配规则的示意图。\n[0036] 图4是道路的单双号规则分布的示意图。\n[0037] 图5是加载初始地址树,精确匹配成功后提取以“浙江”为根结点的分支树,删除无效分支树的示意图。\n[0038] 图6是判断address[2]=“杭州”,精确匹配成功后,提取以“杭州”为根结点的分支树;再判断address[3]=“东湖”,精确匹配成功后,提取以“东湖”为根结点的分支树的示意图。\n[0039] 图7是判断address[4]=“留下”,当前分支树没有可行解,返回当前根结点“东湖”的父结点,启用模糊匹配模式,得到满足部分匹配条件的分支树,重新匹配关键词“留下”的示意图。\n[0040] 图8是判断address[5]=“留合”,当前分支树根结点的子结点无法精确匹配,启动模糊匹配模式,得到部分匹配分支树,判断address[6]=“288”,所有部分匹配分支树进行匹配的示意图。\n具体实施方式\n[0041] 下面结合附图对本发明作进一步描述。\n[0042] 参照图1~图8,\n[0043] 一种基于模糊匹配的中文地理编码方法,如图1所示,其中包含以下步骤:\n[0044] A1、读入描述性中文地址信息,以行政区级别为断点,采用正向最大搜索方法,对原始地址进行切分,得到原始地址元素数组。A2、将原始地址元素通过地址词典进行标准化,得到经过简称或别称纠正、拼写错误修改、缺省项填充等标准化操作后的地址元素数组。A3、读取标准地址树,采用分支定界算法,对原始地址元素数组进行匹配,同时应用模糊规则对匹配操作进行控制,得到更为精确的匹配地址。A4、对于匹配地址包含的门牌号,采用拐点参照插值算法进行空间定位。\n[0045] 所述的方法,其中,在步骤A1中,针对中文地址信息,参考中国行政区域划分标准,设定标准录入模式:\n[0046] 行政地址模式:省(直辖市)→市→区(县、县级市);区域地址模式:街(镇)→村(路)方位名词→门牌号。如标准地址信息:浙江省杭州市西湖区留下镇留和北路288号。\n[0047] 所述的方法,其中,在步骤A1中,获取的原始地址,以原始地址的第一个字符为起始点,对地址数据库进行搜索查找对应的标准地址名称,存在则读取地址信息保留,同时将该字符在原始地址字符串切除,否则读取下一字符与上一个字符组成字符串,继续在地址数据库中搜索对应标准地址名称。依次进行读取,确定所有行政级别的地址要素。\n[0048] 所述的方法,其中,在步骤A2中,如果切分后的候选地址数组存在缺省项,依据下一级别的地址元素,在地址数据库获取其上级地址,写入候选地址要素数组中。\n[0049] 所述的方法,其中,在步骤A2中,设计地址简称、别名信息数据库,保存当前所有的标准地址信息与其别名、简称的专门信息数据库。如果切分后的候选地址存在别名或简称,辨别并将其标准化为标准名称,如将“鲁”标准化为“山东”,“沪”标准化为“上海”。\n[0050] 所述的方法,其中,在步骤A2中,切分后的地址元素的错别字纠错,假定录入的地址信息中存在错别字,即切分后的地址元素在地址词典中无法找到完全对应的标准地址名称,取与录入的地址信息最相近的标准地址名称返回,并取代录入的地址信息。如录入“留合路”,地址词典中不存在“留合路”,只存在“留和路”,取“留和路”取代“留合路”。\n[0051] 所述的方法,其中,在步骤A3中,包含以下步骤,读取地址数据库,并将地址数据库以地址树形式进行存储,级别最高的行政区单位作为地址树的根结点,其下属行政区作为子结点进行保存吗,如图2所示。\n[0052] 所述的方法,其中,在步骤A3中,还包含以下步骤,在地址信息树状存储前提下,采用分支定界算法对匹配过程进行优化,即首先匹配候选地址元素中的最高行政级别的关键字与对应地址树中对应级别的地址信息,匹配成功则保留对应的地址树中的匹配结点及其分支树,舍弃其他同级不相关地址信息结点及其分支树。通过标准化操作,取得原始地址标准化后的候选地址数组定义为address[i],0<i<N。标准地址结点与对应层次候选元素的匹配分值设为sci,i表示该结点所属层次,N表示初始地址树的深度。匹配评判规则如下:\n[0053] 规则1:地址树结点与候选元素进行精确匹配,Y→精确匹配,N→模糊匹配;\n[0054] 规则2:精确匹配后查找可行解,Y→匹配算法下移,N→返回上一级结点查找近似解;\n[0055] 规则3:判断是否存在缺省项,Y→保存上一级分支树,N→保存当前级分支树;\n[0056] 规则4:判断是否存在缺省项,sci=0,i为缺省项所在层数;\n[0057] 规则5:候选记录最终得分为其每一层结点匹配得分之和:\n[0058] sc=∑sci\n[0059] 所述的方法,其中,在步骤A3中,还包含以下步骤,应用模糊规则控制匹配操作,如果对于地址树中同级地址信息结点无法完全匹配成果,则启用模糊规则,获取近似匹配结果。如县级录入关键字为“东湖”,而地址树中县级结点只存在“西湖”,则获取结点“西湖”及其分支树作为匹配结果保留,舍弃其他同级结点及其分支树。\n[0060] 所述的方法,其中,在步骤A3中,还包含以下步骤,对匹配结果进行量化评分。完全匹配和近似匹配赋予不同的分值,分值高的作为最相近匹配结果返回,分值低的作为较为相近匹配结果返回。量化规则如下:\n[0061] 假定匹配字段为字符串address,长度为h;标准字段为字符串std_address,长度为H。定义满足address∩std_address≠Φ的std_address集合为满足匹配条件的集合,其中,address∩std_address≠Φ表示字符串address与标准字段字符串std_address交集不为空,最后保留隶属度高的集合元素。定义如下匹配规则图3):\n[0062] ①标准字符串std_address和匹配字符串address中i个字符相同,则隶属度为i/H;\n[0063] ②标准字符串std_address包含匹配字符串address,则隶属度为1。\n[0064] 得到隶属度之后,设定μ为匹配隶属度,按照映射规则f:sc→μ转化为量化分值,映射函数:f(μ)=1O×μ,将sc作为该候选记录的评价分数。\n[0065] 所述的方法,其中,在步骤A3中,还包含以下步骤,设置辅助地名数据库,对于一些拥有第二特征身份的比较重要同时使用较为频繁的地理位置进行单独建库,如“浙江省杭州市西湖区留下镇留和路288号”的第二特征身份是“浙江工业大学屏峰校区”,如果录入原始地址信息为“浙江工业大学屏峰校区”,则直接定位到“浙江省杭州市西湖区留下镇留和路288号”的地理位置。\n[0066] 所述的方法,其中,在步骤A4中,包含以下步骤,获取最终匹配结果后,根据门牌号信息进行空间插值定位。如果不存在门牌号信息,则定位到原始地址信息最低行政单位的区域几何中心,如原始地址信息精确到街道,则将位置定位到该街道的几何空间中心。如果存在门牌号信息,设定道路设定城市道路门牌号以以下规则分布:按照单双号规则分布于道路的两侧:正向左侧为单号,右侧为双号;正向右侧为单号,左侧为双号(图4)。记录道路拐点门牌号以及其地理坐标信息,获取原始地址中的门牌号信息后,判断处于哪两个拐点之间,假定匹配地址门牌号位于拐点A、B之间,以A、B为参照点,进行最小二乘法线性插值,得到该门牌号位于道路的具体地理坐标,最后空间地理坐标定位到地图。\n[0067] 本发明中基于树状地址信息存储模式的分支定界匹配算法平均时间复杂度为N\nlogK,其中N表示K叉地址树的叶子结点数。\n[0068] 本实施例中,设定原始录入地址信息为“浙江省杭州市东湖区留下镇留合路288号”原始地址经切分后得到候选地址数组address[](表1)。\n[0069] 表1候选地址数组\n[0070] \n 层次 省 市 区 镇 路 门牌号\n 值域 浙江 杭州 东湖 留下 留合 288\n[0071] 考虑到更好的表达算法思想,匹配地址树中加入一些扰乱数据,引入分支界定算法后匹配过程如下:\n[0072] Step1:加载初始地址树,判断address[1]=“浙江”,精确匹配成功后,提取以“浙江”为根结点的分支树,删除无效分支树,其中sc表示每一个结点与候选地址词段匹配后的总得分,如图5所示。\n[0073] Step2:判断address[2]=“杭州”,精确匹配成功后,提取以“杭州”为根结点的分支树。判断address[3]=“东湖”,精确匹配成功后,提取以“东湖”为根结点的分支树,如图6所示。\n[0074] Step3:判断address[4]=“留下”,当前分支树没有可行解,返回当前根结点“东湖”的父结点,启用模糊匹配模式,得到满足部分匹配条件的分支树,重新匹配关键词“留下”,如图7所示。\n[0075] Step4:判断address[5]=“留合”,当前分支树根结点的子结点无法精确匹配,启动模糊匹配模式,得到部分匹配分支树,判断address[6]=“288”,所有部分匹配分支树进行匹配,如图8所示。\n[0076] 候选地址数组中所有词段匹配完成后,将各地址记录的最后评价得分进行排序,得到评分最高的地址记录作为最终匹配结果返回,如图9实线部分所示。\n[0077] Step5:获取门牌号信息,读取最终匹配地址信息中街道地理信息,包括拐点门牌号数据,如图9所示。判断初始门牌号“288号”位于拐点A“268号”和拐点B“296号”之间。以拐点A、B为参照点进行最小二乘法插值,得到原始门牌号在街道中的空间位置,见图\n10中“*”位置。\n[0078] 以上阐述的是本发明给出的一个实施例表现出来的优良优化效果,显然本发明不仅适合上述实施例,在不偏离本发明基本精神及不超出本发明实质内容所涉及内容的前提下可对其做种种变化加以实施。
法律信息
- 2012-05-23
- 2010-07-21
实质审查的生效
IPC(主分类): G06F 17/30
专利申请号: 200910156650.4
申请日: 2009.12.31
- 2010-06-02
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2009-01-21
|
2007-07-18
| | |
2
| |
2009-01-21
|
2007-07-18
| | |
3
| |
2009-03-25
|
2008-10-07
| | |
4
| |
2008-01-23
|
2007-08-21
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |