从原始地址字符串中提取城市,州和国家

时间:2015-07-16 10:53:54

标签: python nlp geocoding text-processing

给定原始字符串输入

1600 Divisadero St
San Francisco, CA 94115
b/t Post St & Sutter St 
Lower Pacific Heights

我想提取

城市:San Francisco
州:CaliforniaCA
国家:USA

我将解析数百万个地址并且使用付费API是不可行的

我打算使用命名实体识别器,但我无法找到大量的训练数据来理想地覆盖任何位置

我可以使用一个开源项目吗?

2 个答案:

答案 0 :(得分:3)

可以下载OpenStreetMap的地理编码解决方案Nominatimset up on your own machine。这是一个非常繁琐且耗时的过程。您将需要500GB的可用磁盘空间,O(10s)天来进行索引编制,但最后,您将在自己的机器上拥有一个完整的地理编码器,应该能够满足您当前的需求以及更多未来的 如果你沿着这条路走下去,我建议先试试他们的示例网络api,看看质量是否可以接受。
完全值得研究花钱并获得Google或Bing地理编码器。

答案 1 :(得分:-1)

@ adi92' s答案是这里的最佳选择,但需要一台非常强大的机器,它具有许多核心和巨大的RAM来索引整个数据库。对于需要较少计算的人www.geonames.org,对于城市,州,国家来说相当全面。