Extrae nombres, empresas y fechas de textos automáticamente
Qué resuelve NER que regex no puede resolver
Regex es ideal para patrones rígidos: un código postal siempre tiene el mismo formato, un email siempre tiene @. Pero los nombres de personas, empresas y fechas no tienen un patrón fijo:
- "Pedro Silva", "María de los Santos", "Dr. Fernando" — todos son nombres
- "Petrobras", "Banco do Brasil", "Itaú Unibanco SA", "Tienda de Don José" — todas son empresas
- "5 de enero", "05/01/2026", "el viernes pasado", "el próximo mes" — todas son fechas
NER utiliza un modelo de lenguaje que aprende a entender el contexto: "la empresa Itaú" vs "la calle Itaú". Regex no puede hacer esa distinción; NER lo logra en más del 95% de los casos.

Entidades estándar y personalizadas
Los modelos NER públicos (spaCy, HuggingFace) detectan:
- PER (Persona): Pedro Silva, Dr. Juan
- ORG (Organización): Petrobras, Google
- LOC (Lugar): São Paulo, Brasil
- DATE: 5 de enero, 2026
- MONEY: R$ 1.500, USD 200
- TIME: 15h30, a las 9 de la mañana
- PERCENT: 20%, 0.5
Para dominios específicos, puedes entrenar un modelo personalizado. Ejemplos:
- Jurídico: leyes (Ley 13.709), expedientes (N° 1234567-89.2024), juzgados
- Médico: medicamentos, enfermedades (CIE-10), procedimientos
- Financiero: tickers de acciones, sucursales, cuentas
Brainiall ofrece modelos personalizados bajo demanda en el plan Business.
Cómo funciona por dentro (en 30 segundos)
1. Tokenización: el texto se divide en palabras y signos de puntuación
2. POS tagging: cada palabra recibe una categoría gramatical (sustantivo, verbo...)
3. Contextualización: cada palabra se convierte en un vector de 768+ dimensiones considerando las palabras vecinas
4. Clasificación BIO: cada token se marca como Begin-entity, Inside-entity u Outside. Ej: "Pedro" (B-PER) "Silva" (I-PER) "trabaja" (O) "en" (O) "Petrobras" (B-ORG)
5. Agregación: los tokens B+I consecutivos se convierten en una única entidad
Los modelos modernos (mBERT, XLM-R, multilingual DeBERTa) ejecutan este pipeline en ~10-50ms para un párrafo.
Casos de uso prácticos
- CRM enrichment: extraer empresas y contactos de correos electrónicos para actualizar la base de datos
- Análisis de noticias: monitorear menciones de tu marca, competidores y ejecutivos en medios
- Compliance: identificar nombres de personas en documentos para auditorías de privacidad
- Investigación: extraer autores, citas y fechas de papers académicos a escala
- Análisis jurídico: identificar partes procesales, leyes citadas y fechas de resolución
Limitaciones específicas del español
- Nombres compuestos con preposiciones: "María de los Santos" — algunos modelos lo dividen en "María" + "Santos" como dos entidades separadas
- Empresas informales sin denominación legal: "Panadería de Don José" puede interpretarse como una descripción y no como una entidad
- Apodos: "Lula" como persona vs "lula" como alimento — la sensibilidad a mayúsculas varía
- Direcciones: Calle + nombre + número + código postal — la segmentación puede fallar
- Siglas: "UNAM" ¿es una entidad o simplemente una palabra?
Consejo: para casos límite, revisa siempre 100 ejemplos manualmente antes de pasar a producción.
Integración vía API
Un único endpoint devuelve un array de entidades:
`python
import httpx
r = httpx.post(
"https://api.brainiall.com/api/nlp/ner",
json={"text": "Pedro Silva, de Petrobras, anunció el 5 de enero."},
headers={"Authorization": "Bearer brnl-xxx"}
)
# [{"text": "Pedro Silva", "type": "PER", "start": 0, "end": 11},
# {"text": "Petrobras", "type": "ORG", "start": 16, "end": 25},
# {"text": "5 de enero", "type": "DATE", "start": 40, "end": 50}]`
Pruébalo ahora mismo
Escribe "extrae personas, empresas y fechas de este texto: [pega aquí]" en el chat de Brainiall. O úsalo vía API en /api/nlp/ner. El plan Pro incluye 10k requests/mes; el plan Business ofrece procesamiento en batch y modelos personalizados.