Tengo una lista con varios millones de nombres de lugares que provienen de los perfiles de Flickr. Los usuarios proporcionaron estos nombres de lugar como texto libre, por lo que se ven así:
Roma, Italy
Kennesaw, USA
Saginaw, MI
Rucker, Missouri, USA
Melbourne, Australia
Madrid, Spain
live in Sarnia / work in London, Canada
Valladolid, España
Italia
West Hollywood, United States
Quiero desambiguar estos nombres de lugares. Soy consciente de que en algunos casos no existe una solución directa, pero estoy dispuesto a vivir con alguna desambiguación falsa y con "ninguna respuesta" para algunos de los lugares. Si el nombre de un lugar corresponde al nombre de varias ciudades, entonces quiero asignar ese lugar a la ciudad más grande a la que corresponde.
La API del buscador de lugares de Yahoo sería una buena solución para este problema, pero necesitaría hacer demasiadas llamadas API para completar mi lista, por lo que me gustaría una solución local (es decir, una que no dependa de una API remota) . ¿Alguien sabe de alguna biblioteca de Python que haga este tipo de cosas, o alguna otra solución local?
(También hice esta pregunta en stackoverflow ).