Extraiga y cuente países y ciudades (+sus sinónimos) a partir de texto, como GeoText con esteroides utilizando FlashText, una implementación de Aho-Corasick. Flashgeotext es una biblioteca de Python nativa, rápida, con baterías incluidas (y BYOD) que extrae uno o más conjuntos de nombres de ciudades y países (+ sinónimos) de un texto de entrada.
publicación de blog introductoria : https://iwpnd.github.io/articles/2020-02/flashgeotext-library
from flashgeotext . geotext import GeoText
geotext = GeoText ()
input_text = '''Shanghai. The Chinese Ministry of Finance in Shanghai said that China plans
to cut tariffs on $75 billion worth of goods that the country
imports from the US. Washington welcomes the decision.'''
geotext . extract ( input_text = input_text )
>> {
'cities' : {
'Shanghai' : {
'count' : 2 ,
'span_info' : [( 0 , 8 ), ( 45 , 53 )],
'found_as' : [ 'Shanghai' , 'Shanghai' ],
},
'Washington, D.C.' : {
'count' : 1 ,
'span_info' : [( 175 , 185 )],
'found_as' : [ 'Washington' ],
}
},
'countries' : {
'China' : {
'count' : 1 ,
'span_info' : [( 64 , 69 )],
'found_as' : [ 'China' ],
},
'United States' : {
'count' : 1 ,
'span_info' : [( 171 , 173 )],
'found_as' : [ 'US' ],
}
}
}
Estas instrucciones le proporcionarán una copia del proyecto en funcionamiento en su máquina local para fines de desarrollo y prueba.
pepita:
pip install flashgeotext
conda:
conda install flashgeotext
para el desarrollo:
git clone https://github.com/iwpnd/flashgeotext.git
cd flashgeotext/
poetry install
poetry run pytest . -v
Vea también la lista de contribuyentes que participaron en este proyecto.
Este proyecto tiene la licencia MIT; consulte el archivo LICENSE.md para obtener más detalles.
Ciudades de datos de demostración de http://www.geonames.org con licencia Creative Commons Attribution 3.0.