En este artículo, veremos cómo extraer la ubicación del texto usando Python.
Al trabajar con textos, el requisito puede ser la detección de ciudades, regiones, estados y países y las relaciones entre ellos en el texto recibido. Esto puede ser muy útil para estudios geográficos. En este artículo, utilizaremos la biblioteca de etiquetas de ubicación .
La minería de texto que requiere algunas reglas basadas en la gramática y enfoques de modelado estadístico generalmente se lleva a cabo utilizando algoritmos NER (Reconocimiento de entidad nombrada) . Una entidad extraída de NER puede ser el nombre de una persona, lugar, organización o producto. La biblioteca de etiquetas de ubicación es un subproducto de más etiquetado y filtrado de lugares de todas las demás entidades presentes.
Instalación:
Para instalar este módulo, escriba el siguiente comando en la terminal.
pip install locationtagger
Después de la instalación, se requieren algunos módulos nltk para descargar usando código.
Python3
import nltk import spacy # essential entity models downloads nltk.downloader.download('maxent_ne_chunker') nltk.downloader.download('words') nltk.downloader.download('treebank') nltk.downloader.download('maxent_treebank_pos_tagger') nltk.downloader.download('punkt') nltk.download('averaged_perceptron_tagger')
También desde la línea de comando:
python -m spacy download en_core_web_sm
Ejemplo 1: Imprimir países, ciudades y regiones desde Texto.
Se pueden usar varias funciones para obtener ciudades, países, regiones, etc. del texto.
Funciones utilizadas:
- locationtagger.find_location(text) : Devuelve la entidad con información de ubicación. El parámetro «texto» toma texto como entrada.
- entidad.países : Extrae todos los países en el texto.
- entidad.regiones : Extrae todos los estados en el texto.
- entidad.cities : Extrae todas las ciudades en el texto.
Código:
Python3
import locationtagger # initializing sample text sample_text = "India has very rich and vivid culture\ widely spread from Kerala to Nagaland to Haryana to Maharashtra. " \ "Delhi being capital with Mumbai financial capital.\ Can be said better than some western cities such as " \ " Munich, London etc. Pakistan and Bangladesh share its borders" # extracting entities. place_entity = locationtagger.find_locations(text = sample_text) # getting all countries print("The countries in text : ") print(place_entity.countries) # getting all states print("The states in text : ") print(place_entity.regions) # getting all cities print("The cities in text : ") print(place_entity.cities)
Producción :
Ejemplo 2: Extracción de relaciones de ubicaciones
En este ejemplo, se analizan varias funciones que realizan la tarea de obtener relaciones de ciudades, regiones y estados entre sí.
Funciones utilizadas:
- entidad.country_regions : extrae el país donde se encuentran las regiones en el texto.
- entidad.country_cities : Extrae el país donde se encuentran las ciudades en el texto.
- entidad.otros_países : extrae la lista de todos los países cuyas regiones o ciudades están presentes en el texto.
- entidad.region_cities : Extrae las regiones con cuyas ciudades se encuentran en el texto.
- entidad.otras_regiones: extrae la lista de todas las regiones cuyas ciudades están presentes en el texto.
- entidad.otro : Todas las entidades no reconocidas como nombres de lugares, se extraen a este.
Python3
import locationtagger # initializing sample text sample_text = "India has very rich and vivid culture widely\ spread from Kerala to Nagaland to Haryana to Maharashtra. " \ "Mumbai being financial capital can be said better\ than some western cities such as " \ " Lahore, Canberra etc. Pakistan and Nepal share its borders" # extracting entities. place_entity = locationtagger.find_locations(text = sample_text) # getting all country regions print("The countries regions in text : ") print(place_entity.country_regions) # getting all country cities print("The countries cities in text : ") print(place_entity.country_cities) # getting all other countries print("All other countries in text : ") print(place_entity.other_countries) # getting all region cities print("The region cities in text : ") print(place_entity.region_cities) # getting all other regions print("All other regions in text : ") print(place_entity.other_regions) # getting all other entities print("All other entities in text : ") print(place_entity.other)
Producción:
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA