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

2024-09-30 06:18:24 发布

您现在位置:Python中文网/ 问答频道 /正文

给定一个原始字符串输入

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

我要提取

城市:San Francisco
状态:California或{}
国家:USA

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

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

有没有我可以使用的开源项目?在


Tags: 字符串状态国家postlowercastsan
2条回答

@adi92的答案是这里最好的选择,但是需要一个非常健壮的机器,它有许多内核和巨大的RAM来索引整个数据库。对于那些需要较少计算的人,www.geonames.org非常全面,只适用于城市、州、国家。在

OpenStreetMap的地理编码解决方案Nominatim可以下载并set up on your own machine。这是一个非常乏味和耗时的过程。您将需要500GB的可用磁盘空间,O(10)天来编制索引,但最终,您将在自己的计算机上拥有一个成熟的地理编码器,它应该能够处理您当前和未来的更多需求。
如果你走这条路,我建议你先试用他们的web api示例,看看质量是否可以接受。
完全值得考虑花钱买谷歌或必应geocoder。在

相关问题 更多 >

    热门问题