法律状态公告日
法律状态信息
法律状态
2017-10-10
授权
授权
2015-06-10
实质审查的生效 IPC(主分类):G06F17/30 申请日:20150302
实质审查的生效
2015-05-13
公开
公开
技术领域
本发明涉及计算地址字符串中所有可能的行政区划,具体涉及基于滑动窗口最大匹配算法的地址匹配方法。
背景技术
数字城市是以空间信息为核心的城市信息系统体系,而在数字城市的信息资源的集成和融合中,地名地址匹配是一项非常关键的技术。地名地址匹配,又称为地理编码,它是基于空间定位技术的一种编码方法。
国外的地理赋值技术已基本成熟,但是对于中文地址的地理赋值方法还有待研究。一是因为中英文之间的差异,比如中文地址的词与词之间没有空格隔开等问题的存在。二是因为我国的现有地名,地址体系异常复杂,地址系统混乱、无需、缺乏规律性和统一的标准。因此,国外已有的地理赋值技术并不适合中国国情,直接套用国外的地理赋值技术是不可行的。
目前,国内各部门与学者已经陆续开展了中国地质标准化的研究,为标准地址库的建立奠定了良好的数据基础。但是普通百姓在输入其需要定位的地址时,往往输入的地址是一些模糊的中文地址。以地址“湖北武汉洪山江苏省鼓楼区办事处”为例,可能有几种不同的行政区划,如何通过算法计算出所有的行政区划,然后找出可信度最大的行政区划来进行准确的定位,是我国进入实用阶段的一个重要问题。
发明内容
针对上述现有技术中的不足,本发明的目的在于提供一种基于滑动窗口最大匹配算法的地址匹配方法,能够有效减少数据库的查询访问次数,加快匹配速度。
为了实现上述发明的目的,本发明提供了以下技术方案:一种基于滑动窗口最大匹配算法的地址匹配方法,其特征在于:它包括以下步骤:
S1、建立行政区划表:
行政区划表中包含行政区划信息,每个行政区划信息包含以下字段:序号、行政区划名称、行政区划级别,三者一一对应;
S2、对行政区划表建立匹配查询关系:
根据行政区划级别之间的隶属关系对行政区划信息建立关联性;
匹配查询:在给定一个查询字符串时,根据上述关联性输出对应的行政区划结果集,行政区划结果集包含与该行政区划匹配父行政区划,直到最高行政区划级别;
S3、设置滑动窗口,进行匹配查询:
3.1、读入待匹配地址字符串,设置滑动窗口的起始位置为待匹配地址字符串的第一位,截止位置为待匹配地址字符串的最后一位,取滑动窗口中的字符组成查询字符串,进行匹配查询;若匹配成功,则输出对应的行政区划结果集;若匹配不成功,则进行下一步;
3.2、滑动窗口的起始位置不变,将滑动窗口的截止位置向前移一位,取滑动窗口中的字符组成查询字符串,进行匹配查询;若匹配成功,则输出对应的行政区划结果集,将滑动窗口的起始位置设置为剩余字符串的开始,截止位置设置为剩余字符串的最后一位,继续进行匹配查询,直至截止位置减去起始位置的值小于2,进行下一步;若匹配不成功,则返回本步骤开始,继续进行匹配查询;
3.3、将滑动窗口的起始位置向后移一位,截止位置为待匹配地址字符串的最后一位,取滑动窗口中的字符组成查询字符串,进行匹配查询;若匹配成功,则输出对应的行政区划结果集;若匹配不成功,则返回本步骤开始,继续进行匹配查询,直至截止位置减去起始位置的值小于2,结束匹配查询。
按上述方案,所述的匹配查询包括完全匹配查询和部分匹配查询,若查询字符串包含行政区划特征词则进行完全匹配查询,否则进行部分匹配查询;
完全匹配查询:在给定一个包含行政区划特征词的查询字符串时,根据上述关联性输出对应的行政区划结果集,行政区划结果集包含与该行政区划匹配父行政区划,直到最高行政区划级别;
部分匹配查询:在给定一个不含行政区划特征词的查询字符串时,根据上述关联性输出对应的行政区划结果集,行政区划结果集包含与该行政区划匹配的父行政区划,直到最高行政区划级别;
其中行政区划隶属于与该行政区划匹配的父行政区划;行政区划结果集包含所有可能的行政区划的集合。
本发明的有益效果为:
1、将地理赋值的两个环节“地址分词”与“地址匹配”整合到了一起,即在分词的同时进行数据库匹配,实现了在分词完成的同时也查找到了所匹配的记录;通过这种方法可以有效的减少数据库的查询访问次数,从而加快匹配速度。
2、该算法通过移动窗口最大匹配算法,截取字符串中的字符对行政区划表进行完全匹配查询或部分查询匹配,返回对应的行政区划结果集,包含与该行政区划匹配父行政区划,直到省级。
具体实施方式
下面结合具体实例对本发明作进一步说明。
本发明提供一种基于滑动窗口最大匹配算法的地址匹配方法,对于以自然语言形式表示的地址信息,建立用于地址匹配的语义库或知识库,然后根据地址数据表达的语义特点,建立地址的匹配规则,通过适当的匹配算法计算出所有可能的行政区划。具体包括以下步骤:
S1、建立行政区划表:
行政区划表中包含行政区划信息,每个行政区划信息包含以下字段:序号、行政区划名称、行政区划级别,三者一一对应;
S2、对行政区划表建立匹配查询关系:
根据行政区划级别之间的隶属关系对行政区划信息建立关联性;
匹配查询:在给定一个查询字符串时,根据上述关联性输出对应的行政区划结果集,行政区划结果集包含与该行政区划匹配父行政区划,直到最高行政区划级别;
S3、设置滑动窗口,进行匹配查询:
3.1、读入待匹配地址字符串,设置滑动窗口的起始位置为待匹配地址字符串的第一位,截止位置为待匹配地址字符串的最后一位,取滑动窗口中的字符组成查询字符串,进行匹配查询;若匹配成功,则输出对应的行政区划结果集;若匹配不成功,则进行下一步;
3.2、滑动窗口的起始位置不变,将滑动窗口的截止位置向前移一位,取滑动窗口中的字符组成查询字符串,进行匹配查询;若匹配成功,则输出对应的行政区划结果集,将滑动窗口的起始位置设置为剩余字符串的开始,截止位置设置为剩余字符串的最后一位,继续进行匹配查询,直至截止位置减去起始位置的值小于2,进行下一步;若匹配不成功,则返回本步骤开始,继续进行匹配查询;
3.3、将滑动窗口的起始位置向后移一位,截止位置为待匹配地址字符串的最后一位,取滑动窗口中的字符组成查询字符串,进行匹配查询;若匹配成功,则输出对应的行政区划结果集;若匹配不成功,则返回本步骤开始,继续进行匹配查询,直至截止位置减去起始位置的值小于2,结束匹配查询。
输入的待匹配地址字符串有可能缺少行政区划特征词(例如省、地区、县、市、区、自治州等),为了更好的进行匹配查询,优选的,所述的匹配查询包括完全匹配查询和部分匹配查询,若查询字符串包含行政区划特征词则进行完全匹配查询,否则进行部分匹配查询;
完全匹配查询:在给定一个包含行政区划特征词的查询字符串时,根据上述关联性输出对应的行政区划结果集,行政区划结果集包含与该行政区划匹配父行政区划,直到最高行政区划级别;
部分匹配查询:在给定一个不含行政区划特征词的查询字符串时,根据上述关联性输出对应的行政区划结果集,行政区划结果集包含与该行政区划匹配的父行政区划,直到最高行政区划级别;
其中行政区划隶属于与该行政区划匹配的父行政区划;行政区划结果集包含所有可能的行政区划的集合。
这里选取中文地址“中山东港新区金广东海岸滨城国际俱乐部”对本发明的具体实施过程进行说明。
首先对该地址进行分析,其中该地址存在一下几方面的问题:1)该地址的行政区划部分是不完整的,并且行政区划是没有规律的;2)该地址不是按照省、地市、县的规则形成的,无法按照一般的分词算法匹配出正确的行政区划;3)地址中存在要素残缺,没有邮政编码和电话区号,无法推测出完整的地址。由此可见,该地址存在语义残缺与地址要素残缺等地址中常见的模糊问题,很具有代表性。下面就以上述地址为例,详细说明本发明的具体实施过程。
取整个待匹配地址字符串 “中山东港新区金广东海岸滨城国际俱乐部”,设置滑动窗口的起始位置为“中”,截止位置为“部”,对行政区划表进行匹配,此时匹配失败,则修改窗口的截止位置,截止位置向前移动一位字符,即“乐”;然后取窗口中的字符串组成查询字符串去匹配行政区划,此时仍然匹配失败,继续修改窗口的截止位置,直到截止位置减去起始位置的值小于2,此时字符串“中山”可以进行部分查询匹配,返回的行政区划结果为“广东省,中山市”。
把剩余字符串“东港新区金广东海岸滨城国际俱乐部”按照上述步骤继续进行匹配,能够进行匹配的字符串为“东港”,此时返回的行政区划结果为“辽宁省,丹东市,东港市”、“山东省,日照市,东港区”。
继续将剩余字符串进行匹配,最后得到所有可能的行政区划结果集为“广东省,中山市”、“辽宁省,大连市,中山区”、“广东省”、“山东省,滨州市,滨城区”。
根据最终匹配的结果,用移动窗口最大匹配算法对中文地址“中山东港新区金广东海岸滨城国际俱乐部”进行匹配,得出所有可能的行政区划结果集为:a)广东省,中山市;b)辽宁省,大连市,中山区;c)辽宁省,丹东市,东港市;d)山东省,日照市,东港区;e)广东省;f)山东省,滨州市,滨城区。
同样,用移动窗口最大匹配算法对中文地址“湖北武汉洪山江苏省鼓楼区办事处”进行匹配,得出所有可能的行政区划结果集为:a)湖北省;b)湖北省,武汉市;c)湖北省,武汉市,洪山区;d)江苏省;e)江苏省,南京市,鼓楼区;f)江苏省,徐州市,鼓楼区;g)福建省,福州市,鼓楼区;h)河南省,开封市,鼓楼区。
利用本发明方法,能够在将待匹配地址字符串分词的同时,获得所有可能的行政区划结果集,有效减少数据库的查询访问次数,加快匹配速度。至于行政区划结果集中的行政区划哪个更可信,可以依赖于其它的算法进行。
最后应说明的是:显然,上述实例仅仅是为清楚地说明本申请所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础还可以做出其他不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出显而易见的变化或变动仍处于本申请型的保护范围之中。
机译: 基于滑动窗口算法的告警预警方法和装置
机译: 滑动窗口下基于位置TOP-K关键字查询的优先级查询算法和系统
机译: 利用电子邮件地址匹配算法提供用户识别服务的方法