23 noviembre, 2025
Extracción de entidades nombradas (NER) paso a paso con spaCy
23 noviembre, 2025
Introducción a la extracción de entidades nombradas (NER)
La extracción de Entidades Nombradas (NER) es un subproceso de la minería de texto (text mining) que involucra la identificación y clasificación de nombres de personas, lugares, organizaciones y incluso términos específicos del mercado dentro de un texto. La eficiencia del proceso de NER puede tener un impacto significativo en muchos campos, incluyendo inteligencia de negocios, publicidad en línea y seguridad de la información.
En este tutorial, nos adentraremos en el uso de spaCy, una poderosa librería en Python diseñada específicamente para las tareas de procesamiento del lenguaje natural (NLP). Veremos paso a paso cómo realizar NER utilizando spaCy.
1. Instalación de spaCy
Puedes instalar spaCy utilizando pip, la herramienta de instalación de paquetes de Python. En la terminal, simplemente ejecuta el siguiente comando:
«`python
pip install spacy
«`
Para realizar NER, también necesitarás descargar uno de los modelos de lenguaje entrenados disponibles en spaCy. Para ello, ejecuta el siguiente comando:
«`python
python -m spacy download en_core_web_sm
«`
2.Importar spaCy y cargar el modelo de lenguaje
Ahora que todo está instalado, puedes importar spaCy y cargar el modelo de lenguaje. El siguiente código te permitirá hacerlo.
«`python
import spacy
nlp = spacy.load(‘en_core_web_sm’)
«`
En este punto, ya estás listo para realizar NER utilizando spaCy.
3. Procesar tu texto
El siguiente paso es procesar tu texto utilizando el objeto `nlp` que acabas de crear. Este objeto es una función de procesamiento de lenguaje que combina varias etapas, incluyendo la tokenización, la identificación de partes de discurso y, por supuesto, la extracción de entidades nombradas.
«`python
texto = «Apple Inc. es una empresa de tecnología con sede en Cupertino,California.»
doc = nlp(texto)
«`
4. Extracción de entidades nombradas
Las entidades nombradas se encuentran en el atributo `ents` del objeto `Doc` procesado. Puedes iterar sobre ellas para mostrar sus textos y etiquetas.
«`python
for ent in doc.ents:
print(ent.text, ent.label_)
«`
Este código imprimirá todas las entidades nombradas en tu texto junto con sus categorías. En nuestro ejemplo, las entidades son «Apple Inc.», que es una ORGANIZATION y «Cupertino, California.», que es una GPE ( geo-political entity, es decir, una entidad geopolítica).
5. visualización de entidades nombradas
Para facilitar la comprensión y el análisis, spaCy ofrece una función de visualización llamada displaCy.Esta te permite renderizar tu texto con las entidades nombradas destacadas.
«`python
from spacy import displacy
displacy.render(doc, style=’ent’)
«`
Al ejecutar el código anterior, verás tu texto con las entidades resaltadas en diferentes colores dependiendo de su tipo.
Conclusión
Hemos revisado la extracción de entidades nombradas utilizando la potente librería de procesamiento de lenguaje natural spaCy. No sólo la extracción de entidades es un proceso rápido y fácil, sino que también el paquete incluye funciones de visualización para ayudarte a entender mejor tus datos.
El NER es un componente clave en una variedad de aplicaciones, desde la extracción de información, pasando por las respuestas a las preguntas, hasta el análisis de sentimientos. La capacidad de trabajar con esta herramienta significa una gran ventaja para cualquier persona que se ocupe del análisis de textos.