Named Entity Recognition (NER)
El reconocimiento de entidades nombradas (NER) detecta en el texto nombres de personas, organizaciones, lugares, fechas y cantidades, y etiqueta cada uno con su tipo de entidad.
El reconocimiento de entidades nombradas (NER) es una tarea del procesamiento del lenguaje natural (NLP) que localiza fragmentos de texto que nombran elementos del mundo real y asigna a cada fragmento un tipo, como persona, organización, ubicación, fecha o importe monetario. En «Marie Curie enseñó en la Universidad de París desde 1906», un modelo NER marca «Marie Curie» como persona, «Universidad de París» como organización y «1906» como fecha. Así se convierten correos electrónicos, informes, contratos y transcripciones en registros estructurados que pueden utilizar los motores de búsqueda, los grafos de conocimiento, las herramientas de análisis y las de privacidad. Las Message Understanding Conferences de la década de 1990 convirtieron NER en una tarea de evaluación estándar, y la tarea compartida CoNLL-2003 fijó los cuatro tipos que aún se utilizan como referencia: persona, ubicación, organización y misceláneo. Esquemas más amplios, como OntoNotes 5.0, definen 18 tipos, entre ellos fechas, cantidades, productos y eventos.
Cómo funciona NER#
NER suele plantearse como etiquetado de secuencias. Un tokenizador divide el texto en tokens, y el modelo asigna a cada token una etiqueta del esquema BIO: B- marca el inicio de una entidad, I- un token dentro de ella y O un token que no pertenece a ninguna entidad, de modo que los nombres de varias palabras, como «Universidad de París», permanecen unidos. Este código convierte las etiquetas que predice un modelo en fragmentos de entidades:
# Token-level BIO tags, as predicted by an NER model for one sentence
tokens = ["Marie", "Curie", "taught", "at", "the", "University", "of", "Paris", "from", "1906", "."]
tags = ["B-PER", "I-PER", "O", "O", "O", "B-ORG", "I-ORG", "I-ORG", "O", "B-DATE", "O"]
# Merge each B- tag with the I- tags that follow it into one entity span
entities = []
for token, tag in zip(tokens, tags):
if tag.startswith("B-"):
entities.append([token, tag[2:]])
elif tag.startswith("I-") and entities and entities[-1][1] == tag[2:]:
entities[-1][0] += f" {token}"
print(entities)Imprime [['Marie Curie', 'PER'], ['University of Paris', 'ORG'], ['1906', 'DATE']], el resultado estructurado que los sistemas posteriores almacenan y consultan.
Los modelos que predicen las etiquetas han cambiado a lo largo de tres décadas. Los primeros sistemas usaban reglas escritas a mano y nomenclátores, listas de nombres conocidos. Los etiquetadores estadísticos, como los modelos ocultos de Markov y los campos aleatorios condicionales, aprendían de texto anotado mediante características diseñadas manualmente, como las mayúsculas y los sufijos de las palabras. En 2016, las redes LSTM bidireccionales con una capa de salida CRF aprendieron esas características por sí mismas, y después llegaron los transformers ajustados: BERT alcanzó una puntuación F1 de 92,8 en el conjunto de prueba de CoNLL-2003. La autoatención permite que estos modelos utilicen toda la oración como contexto, por lo que «Apple» se etiqueta como organización en «Apple lanzó un teléfono nuevo» y no se etiqueta en «Me comí una manzana». Los sistemas se evalúan con precisión, recuperación y puntuación F1 a nivel de entidad, donde una predicción solo cuenta si tanto el fragmento como su tipo coinciden exactamente con la referencia.
Los modelos más recientes prescinden del conjunto fijo de etiquetas. GLiNER, un transformer bidireccional compacto, recibe los nombres de los tipos de entidad como entrada y localiza fragmentos coincidentes para tipos que nunca vio durante el entrenamiento; los modelos de lenguaje grandes extraen entidades cuando se les proporciona un esquema y se les piden salidas estructuradas.
NER frente a tareas relacionadas#
- Vinculación de entidades: Conecta cada mención reconocida con una entrada específica de una base de conocimiento, como Wikidata, de modo que «París» se resuelva como la ciudad o como Paris Hilton.
- Extracción de relaciones: Identifica cómo se conectan las entidades, por ejemplo, qué persona trabaja para qué organización, a menudo a partir de los resultados de NER.
- Análisis de sentimientos: Mide la opinión que expresa un texto. NER identifica de qué trata una reseña y el análisis de sentimientos mide qué siente quien la ha escrito al respecto.
- Detección de objetos: El equivalente de NER en imágenes: localiza regiones de una imagen y asigna una clase a cada una.
La idea de etiquetas abiertas de GLiNER tiene un equivalente directo en visión: YOLOE-26, la versión de vocabulario abierto de Ultralytics YOLO26, recibe nombres de clases como indicaciones de texto durante la inferencia y detecta y segmenta objetos de esas clases, incluso si no pertenecen a sus categorías de entrenamiento.
Aplicaciones en el mundo real#
El procesamiento de documentos combina NER con el reconocimiento óptico de caracteres (OCR): se escanean facturas, contratos y formularios; OCR lee el texto y NER extrae campos como el proveedor, la fecha y el importe total para los sistemas de contabilidad y cumplimiento. Las canalizaciones de producción envían las predicciones inciertas a personas y aprenden de sus correcciones:
- Anonimización de datos personales (PII): Las herramientas de privacidad, como Presidio, de código abierto de Microsoft, usan NER junto con reglas de patrones para encontrar y ocultar nombres, direcciones y números de cuenta antes de compartir el texto o utilizarlo para el entrenamiento.
- Minería de textos clínicos: El NER clínico extrae medicamentos, dosis, síntomas y diagnósticos de las notas médicas para que hospitales e investigadores puedan buscar y analizar registros a gran escala.
- Búsqueda y recomendaciones: Los sitios de noticias y las plataformas de contenido etiquetan los artículos con las personas, empresas y lugares que mencionan, lo que permite buscar entidades y sugerir noticias relacionadas.










