基于滑动窗口最大匹配算法的地址匹配方法

文档序号:8299208阅读:1039来源:国知局
基于滑动窗口最大匹配算法的地址匹配方法
【技术领域】
[0001]本发明涉及计算地址字符串中所有可能的行政区划,具体涉及基于滑动窗口最大匹配算法的地址匹配方法。
【背景技术】
[0002]数字城市是以空间信息为核心的城市信息系统体系,而在数字城市的信息资源的集成和融合中,地名地址匹配是一项非常关键的技术。地名地址匹配,又称为地理编码,它是基于空间定位技术的一种编码方法。
[0003]国外的地理赋值技术已基本成熟,但是对于中文地址的地理赋值方法还有待研究。一是因为中英文之间的差异,比如中文地址的词与词之间没有空格隔开等问题的存在。二是因为我国的现有地名,地址体系异常复杂,地址系统混乱、无需、缺乏规律性和统一的标准。因此,国外已有的地理赋值技术并不适合中国国情,直接套用国外的地理赋值技术是不可行的。
[0004]目前,国内各部门与学者已经陆续开展了中国地质标准化的研究,为标准地址库的建立奠定了良好的数据基础。但是普通百姓在输入其需要定位的地址时,往往输入的地址是一些模糊的中文地址。以地址“湖北武汉洪山江苏省鼓楼区办事处”为例,可能有几种不同的行政区划,如何通过算法计算出所有的行政区划,然后找出可信度最大的行政区划来进行准确的定位,是我国进入实用阶段的一个重要问题。

【发明内容】

[0005]针对上述现有技术中的不足,本发明的目的在于提供一种基于滑动窗口最大匹配算法的地址匹配方法,能够有效减少数据库的查询访问次数,加快匹配速度。
[0006]为了实现上述发明的目的,本发明提供了以下技术方案:一种基于滑动窗口最大匹配算法的地址匹配方法,其特征在于:它包括以下步骤:
51、建立行政区划表:
行政区划表中包含行政区划信息,每个行政区划信息包含以下字段:序号、行政区划名称、行政区划级别,三者一一对应;
52、对行政区划表建立匹配查询关系:
根据行政区划级别之间的隶属关系对行政区划信息建立关联性;
匹配查询:在给定一个查询字符串时,根据上述关联性输出对应的行政区划结果集,行政区划结果集包含与该行政区划匹配父行政区划,直到最高行政区划级别;
53、设置滑动窗口,进行匹配查询:
3.1、读入待匹配地址字符串,设置滑动窗口的起始位置为待匹配地址字符串的第一位,截止位置为待匹配地址字符串的最后一位,取滑动窗口中的字符组成查询字符串,进行匹配查询;若匹配成功,则输出对应的行政区划结果集;若匹配不成功,则进行下一步;
3.2、滑动窗口的起始位置不变,将滑动窗口的截止位置向前移一位,取滑动窗口中的字符组成查询字符串,进行匹配查询;若匹配成功,则输出对应的行政区划结果集,将滑动窗口的起始位置设置为剩余字符串的开始,截止位置设置为剩余字符串的最后一位,继续进行匹配查询,直至截止位置减去起始位置的值小于2,进行下一步;若匹配不成功,则返回本步骤开始,继续进行匹配查询;
3.3、将滑动窗口的起始位置向后移一位,截止位置为待匹配地址字符串的最后一位,取滑动窗口中的字符组成查询字符串,进行匹配查询;若匹配成功,则输出对应的行政区划结果集;若匹配不成功,则返回本步骤开始,继续进行匹配查询,直至截止位置减去起始位置的值小于2,结束匹配查询。
[0007]按上述方案,所述的匹配查询包括完全匹配查询和部分匹配查询,若查询字符串包含行政区划特征词则进行完全匹配查询,否则进行部分匹配查询;
完全匹配查询:在给定一个包含行政区划特征词的查询字符串时,根据上述关联性输出对应的行政区划结果集,行政区划结果集包含与该行政区划匹配父行政区划,直到最高行政区划级别;
部分匹配查询:在给定一个不含行政区划特征词的查询字符串时,根据上述关联性输出对应的行政区划结果集,行政区划结果集包含与该行政区划匹配的父行政区划,直到最高行政区划级别;
其中行政区划隶属于与该行政区划匹配的父行政区划;行政区划结果集包含所有可能的行政区划的集合。
[0008]本发明的有益效果为:
1、将地理赋值的两个环节“地址分词”与“地址匹配”整合到了一起,即在分词的同时进行数据库匹配,实现了在分词完成的同时也查找到了所匹配的记录;通过这种方法可以有效的减少数据库的查询访问次数,从而加快匹配速度。
[0009]2、该算法通过移动窗口最大匹配算法,截取字符串中的字符对行政区划表进行完全匹配查询或部分查询匹配,返回对应的行政区划结果集,包含与该行政区划匹配父行政区划,直到省级。
【具体实施方式】
[0010]下面结合具体实例对本发明作进一步说明。
[0011]本发明提供一种基于滑动窗口最大匹配算法的地址匹配方法,对于以自然语言形式表示的地址信息,建立用于地址匹配的语义库或知识库,然后根据地址数据表达的语义特点,建立地址的匹配规则,通过适当的匹配算法计算出所有可能的行政区划。具体包括以下步骤:
51、建立行政区划表:
行政区划表中包含行政区划信息,每个行政区划信息包含以下字段:序号、行政区划名称、行政区划级别,三者一一对应;
52、对行政区划表建立匹配查询关系:
根据行政区划级别之间的隶属关系对行政区划信息建立关联性;
匹配查询:在给定一个查询字符串时,根据上述关联性输出对应的行政区划结果集,行政区划结果集包含与该行政区划匹配父行政区划,直到最高行政区划级别; S3、设置滑动窗口,进行匹配查询:
3.1、读入待匹配地址字符串,设置滑动窗口的起始位置为待匹配地址字符串的第一位,截止位置为待匹配地址字符串的最后一位,取滑动窗口中的字符组成查询字符串,进行匹配查询;若匹配成功,则输出对应的行政区划结果集;若匹配不成功,则进行下一步;
3.2、滑动窗口的起始位置不变,将滑动窗口的截止位置向前移一位,取滑动窗口中的字符组成查询字符串,进行匹配查询;若匹配成功,则输出对应的行政区划结果集,将滑动窗口的起始位置设置为剩余字符串的开始,截止位置设置为剩余字符串的最后一位,继续进行匹配查询,直至截止位置减去起始位置的值小于2,进行下一步;若匹配不成功,则返回本步骤开始,继续进行匹配查询;
3.3、将滑动窗口的起始位置向后移一位,截止位置为待匹配地址字符串的最后一位,取滑动窗口中的字符组成查询字符串,进行匹配查询;若匹配成功,则输出对应的行政区划结果集;若匹配不成功,则返回本步骤开始,继续进行匹配查询,直至截止位置减去起始位置的值小于2,结束匹配查询。
[0012]输入的待匹配地址字符串有可能缺少行政区划特征词(例如省、地区、县、市、区、自治州等),为了更好的进行匹配查询,优选的,所述的匹配查询包括完全匹配查询和部分匹
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1