改良cpca库以实现百万级复杂中文地址解析
之前写了一篇文章批量解析中文字符串中的地址信息,主要讲了怎么批量解析提取中文字符串中的地址信息,当时的数据量比较小,大概在十万级别,而且字符串只是单独的城市,比如“北京市”、“青岛市”这样。
看到个有个粉丝看到在后台找这篇文章的代码

正好假期无聊的我帮他解决一下问题

具体需求是对百万级别的中文地址字符串进行提取,而且地址较为复杂,比如“垫江县桂溪街道南新街XXX号”、“黔江区石会镇梅子村委”,很多都是县区级别的地址,需要提取出对应的地级市,用之前的代码试了下,速度非常慢,而且提取效率不是很理想,有17%左右的字符串没有提取到。
经过多轮修改,主要是以下几点问题:
- 无法解析纯区县地址;
- 地址中包含正则表达式的特殊字符如[、]、(、)等会报错;
- 在修改为多线程的尝试中发现会导致结果错乱
后来搞得头大的我决定尝试一下cpca库:https://github.com/DQinYuan/chinese_province_city_area_mapper
试了下发现解析率很不错,但是很多城市没有解析出来,推测可能跟数据比较老有关,github上的代码已经7年没有更新了。
详细看了下cpca的代码,发现采用的行政区域表还是很多年前的版本,很多城市的区划都发生变化了,怪不得很多城市识别不到,还有人在issues里提bug:

最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



