本发明涉及网络技术领域,具体涉及一种地理位置标准化提取的方法。
背景技术:
在数据量大量增加的情况下,对地址信息提取粒度和速度显得格外重要,因此需要一个快速和准确提取地址信息中的省、市、区、街的算法。现有的技术手段是通过多维度地理位置匹配,用未明确的地理位置模糊匹配已知的地理位置,该方法严重依赖已有地理位置,其完整性决定匹配概率,例如多维度匹配四川省成都市组地理位置需要模糊三十四个省以及各自对应的市匹配,计算次数是两个维度数量之积,依次类推,三个地理位置就是三个维度数量之积,算法复杂度非常高,时间花在多维模糊匹配,并且某某地理位置的缺失或者上传地理位置的某某字段的错误拼写会导致匹配上错误率上升,尤其具体到街道粒度很小信息,会因为大部分街道信息不全,导致该信息的被丢弃的现象,该技术符合正常的思维逻辑,用要解析的信息去匹配已有的信息。
技术实现要素:
本发明克服了现有技术中多维度模糊匹配地址信息,导致算法复杂度高、运行时间缓慢的问题,提供一种在数据大量情况下,解析时间明显缩短的地理位置标准化提取的方法。
为解决上述的技术问题,本发明采用以下技术方案:
一种地理位置标准化提取的方法,它包括以下步骤:
步骤1,构造基于百度地理标准的词典,网络爬取对应网址中中国的地理位置信息,爬取下来的地理位置信息按照位置、类型、权重值的格式以tab键相隔形成词典;
步骤2,采用ansj分词器,优先调用基于百度地理标准的词典,再加载默认的词典,关闭人名字典的分词;
步骤3,对终端上报的地理位置信息,多线程调用ansj分词器的apt接口,切分出来的信息进行省、市、区的位置模糊匹配,去噪,依次确定相对的大地点;
步骤4,切出来的结果,按照mac对应地理位置写到数据库中。
本发明中的分词方法切分地理位置信息,原理基于字典、词库匹配分词方法,处理文档信息前i个字段,查找字典,若字典中一个这样的i个词,则匹配成功,匹配字段被作为一个词切分出来,不成功,则去掉最后一个词,继续匹配,直至词长度为零,其处理维度从多维降到一维,运行效率提高,加上使用规范的地理位置词库,提高了切分地理位置的准确性。
与现有技术相比,本发明的有益效果是:
可以根据不同地理位置需求构造内置地理位置词典,封装起来,提高程序的复用性,使用分词从根本上解决信息被遗漏的问题,相比模糊匹配,算法复杂度降低,不需再写解决代码,直接操作调用,内置库保证信息被采集的准确率高于模糊匹配算法效果,分析效率大大提高,在数据大量情况下,解析时间明显缩短。
附图说明
图1为本发明一种实施例的地理位置标准化提取的方法的流程框图。
具体实施方式
下面结合附图对本发明作进一步阐述。
如图1所示,一种地理位置标准化提取的方法,它包括以下步骤:
s1,构造基于百度地理标准的词典,网络爬取对应网址(www.meet99.com)中中国的地理位置信息,爬取下来的地理位置信息按照位置、类型、权重值的格式以tab键相隔形成词典;
s2,采用ansj分词器,优先调用基于百度地理标准的词典,再加载默认的词典,关闭人名字典的分词;
s3,对终端上报的地理位置信息,多线程调用ansj分词器的apt接口,切分出来的信息进行省、市、区的位置模糊匹配,去噪,依次确定相对的大地点,例如上报信息是“河南省新乡市苗寨乡苗寨十字街”,切词结果是:“河南省”“新乡市“苗寨乡”“苗寨”,“十字街”,大地点依次是河南省,新乡市,苗寨乡,确定好仨个位置,剩下的位置归一,结果是:河南省、新乡市、苗寨乡、苗寨十字街,切分的结果河南省、新乡市、苗寨乡、苗寨十字街,比较规整,符合最终结果,但有些地点位置上报切词后是[青海省/ns*,果洛/ns,州/n],正确结果应该是青海省、果洛市,针对这种切词结果,依靠规则最后一个字划归前一个结果中,地理位置信息,市,州,村这样的词不能作为开头,都可以得到正确的结果:青海省、果洛市;
s4,切出来的结果,按照mac对应地理位置写到数据库中。
以上具体实施方式对本发明的实质进行详细说明,但并不能对本发明的保护范围进行限制,显而易见地,在本发明的启示下,本技术领域普通技术人员还可以进行许多改进和修饰,需要注意的是,这些改进和修饰都落在本发明的权利要求保护范围之内。