GLiNER: Modelo generalista para el reconocimiento de entidades nombradas mediante Transformer bidireccional
Reconocimiento de entidades nombradas (NER) es una tarea importante de Procesamiento del Lenguaje Natural (NLP) que identifica y clasifica entidades como nombres, ubicaciones y organizaciones en el texto. Esto permite la extracción de información estructurada para diversas aplicaciones. NER también puede encargarse de tareas como construir grafos de conocimiento, buscar información y analizar contenido.
Los modelos NER tradicionales son buenos para identificar entidades predefinidas. En cambio, los modelos de lenguaje grandes (LLMs) pueden manejar entidades más complejas y variadas. Sin embargo, los LLMs suelen requerir muchos recursos, lo que plantea desafíos para su implementación práctica. Los LLMs de código abierto existentes ajustados finamente para el reconocimiento de entidades nombradas (NER), como InstructUIE, UniNER y GoLLIE, son efectivos, pero enfrentan desafíos como gran tamaño, generación lenta de tokens y extracción paralela limitada de entidades. Para abordar estos problemas, los investigadores desarrollaron GLiNER, un modelo NER compacto y eficiente diseñado para mejorar la eficiencia, la escalabilidad y el rendimiento multilingüe manteniendo la precisión.
GLiNER es un modelo NER de código abierto que utiliza un codificador transformer bidireccional. Permite la extracción paralela de entidades y aborda las limitaciones de los enfoques NER tanto tradicionales como basados en LLM. En evaluaciones zero-shot en varios benchmarks de NER, incluidos aquellos en múltiples idiomas, supera tanto a ChatGPT como a LLMs ajustados finamente como UniNER. Incluso la versión más pequeña de GLiNER supera a modelos grandes como InstructUIE en configuraciones zero-shot.
Figura: BiLM para NER abierto
Figura: BiLM para NER abierto | Fuente
Este blog analizará GLiNER, su enfoque de NER y su impacto en el dominio del NLP. Se pueden encontrar más detalles en el artículo GLiNER.
Descripción general del reconocimiento de entidades nombradas
El reconocimiento de entidades nombradas (NER) es una tarea fundamental en Procesamiento del Lenguaje Natural (NLP) que identifica y clasifica entidades nombradas dentro de un texto. Estas entidades representan objetos del mundo real como personas, organizaciones, ubicaciones, fechas, etc.
Componentes clave de NER
Detección de entidades: Localizar los límites de las entidades nombradas en el texto (por ejemplo, identificar "Albert Einstein" como un segmento de interés).
Clasificación de entidades: Asignar la etiqueta correcta a cada entidad detectada (por ejemplo, etiquetar "Albert Einstein" como una Persona).
Comprender la arquitectura y funcionalidad de GLiNER
GLiNER utiliza modelos de lenguaje bidireccionales (BiLMs) como BERT y DeBERTa. Estos modelos son conocidos por capturar ricas representaciones contextuales del texto. El concepto clave detrás de GLiNER es plantear la tarea NER como un problema de correspondencia en el que los embeddings de tipos de entidad se comparan con representaciones de segmentos textuales en un espacio latente compartido. Esto contrasta con los enfoques tradicionales que tratan NER como una tarea de generación.
GLiNER consta de tres componentes principales:
Codificador textual preentrenado: La base de GLiNER es un BiLM preentrenado, como DeBERTa, que sirve como codificador textual. El BiLM procesa la secuencia de entrada, captura relaciones contextuales entre palabras y genera representaciones contextualizadas (embeddings) para cada token.
Módulo de representación de spans: Este componente es responsable de calcular una representación para cada span posible (una secuencia contigua de palabras) dentro del texto de entrada. La representación del span se deriva combinando las salidas del BiLM para los tokens de inicio y fin de cada span. Estos embeddings se optimizan para alinearse estrechamente con las representaciones de los tipos de entidad relevantes.
Módulo de representación de entidades: Este componente genera embeddings para cada tipo de entidad que el modelo pretende extraer. Tokens especiales que representan tipos de entidad se pasan a través del BiLM, y sus salidas se refinan utilizando una red feedforward. Estos embeddings de entidad se comparan luego con los embeddings de span para determinar coincidencias.
Figura: arquitectura de GLiNER
Figura: arquitectura de GLiNER | Fuente
Así es como funciona GLiNER.
Formato de entrada
GLiNER recibe como entrada tanto el texto del que se van a extraer entidades como una lista de posibles tipos de entidad. Estos elementos se combinan en una única secuencia unificada. Los tokens especiales, incluidos [ENT] y [SEP], desempeñan un papel importante en esta secuencia:
El token
[ENT]precede a cada tipo de entidad en la lista.El token
[SEP]actúa como separador entre la lista de tipos de entidad y el texto de entrada.Tanto los tokens
[ENT]como[SEP]se inicializan aleatoriamente al comienzo del proceso de entrenamiento.
Figura: ejemplo de formato de entrada
Figura: ejemplo de formato de entrada | Fuente
Representación de tokens con BiLMs
Un BiLM preentrenado procesa entonces la secuencia de entrada unificada. El BiLM analiza toda la secuencia, comprende las relaciones entre todos los tokens y produce representaciones vectoriales contextualizadas para cada token.
- La salida para los tokens de tipo de entidad (aquellos asociados con
[ENT]) se representa como p.
- La salida para cada palabra en el texto de entrada se representa como h.
- Para las palabras divididas en subpalabras durante la tokenización, GLiNER utiliza la representación de la primera subpalabra, una práctica común en NER.
Generación de embeddings de entidades y spans
GLiNER tiene como objetivo codificar tanto los tipos de entidad como los spans de texto en un espacio latente unificado donde puedan compararse eficazmente. Esto incluye lo siguiente:
- Refinamiento de la representación de entidades: La representación inicial de los tipos de entidad (p) se refina utilizando una red feedforward de dos capas (FFN). Esto da como resultado una nueva representación, denotada como q, que mapea los tipos de entidad en el espacio latente.
- Cálculo de la representación de spans: Un span es una secuencia de palabras consecutivas dentro del texto de entrada. GLiNER calcula un embedding para cada span posible utilizando otra FFN de dos capas. Esta FFN opera sobre las representaciones concatenadas de los tokens de inicio y fin del span. Este proceso permite a GLiNER capturar el significado de un span en su conjunto.
Emparejar tipos de entidad con spans
Tras haber codificado tanto los tipos de entidad como los spans en el mismo espacio latente, GLiNER determina la probabilidad de que un span pertenezca a un tipo de entidad específico calculando una puntuación de coincidencia entre sus embeddings correspondientes. La puntuación de coincidencia se calcula utilizando el producto punto del embedding del span Sij y el embedding de entidad qt, seguido de una función de activación sigmoide. La puntuación resultante (i, j, t) puede interpretarse como la probabilidad de que el span (i, j) sea de tipo t.
Durante el entrenamiento, usando la Pérdida de entropía cruzada binaria, el modelo maximiza las puntuaciones de coincidencia para los pares tramo-entidad correctos (positivos) y las minimiza para los pares incorrectos (negativos).
Los pares positivos son aquellos en los que el tramo está realmente etiquetado con el tipo de entidad en los datos de entrenamiento.
Los pares negativos se generan muestreando aleatoriamente entidades de otros ejemplos dentro del mismo lote. Esto ayuda al modelo a discriminar eficazmente entre asignaciones de entidad verdaderas y falsas.
La pérdida de entrenamiento para un ejemplo individual se define como:
La pérdida de entrenamiento para un ejemplo individual
Decodificación con selección codiciosa de tramos
GLiNER utiliza un algoritmo codicioso de selección de tramos para extraer las entidades más probables del texto de entrada en la fase de decodificación. Este algoritmo prioriza los tramos no superpuestos con las puntuaciones de coincidencia más altas. Admite dos modos de NER:
NER plano: Este modo selecciona solo tramos no superpuestos, priorizando aquellos con las puntuaciones más altas.
NER anidado: Este modo permite la selección de tramos anidados (tramos completamente contenidos dentro de otras entidades) evitando a la vez superposiciones parciales.
Este enfoque codicioso garantiza que GLiNER se adhiera a las restricciones específicas de la tarea mientras extrae eficientemente las entidades relevantes.
Configuración experimental y de hiperparámetros de GLiNER
Se implementó una configuración experimental cuidadosamente diseñada y una configuración robusta de hiperparámetros para evaluar la eficacia de GLiNER. El modelo se entrena en el conjunto de datos Pile-NER, una colección de 44.889 pasajes con 240.000 tramos de entidades y 13.000 tipos de entidades únicos. Este conjunto de datos se derivó del corpus Pile, con 50.000 textos muestreados y anotados usando ChatGPT. Las anotaciones se generaron sin restricciones de tipo predefinidas, lo que permitió al conjunto de datos capturar entidades diversas.
Solicitando a ChatGPT la extracción de entidades
Figura: Solicitando a ChatGPT la extracción de entidades | Fuente
GLiNER emplea el modelo deBERTa-v3 como su columna vertebral debido a su solidez empírica demostrada. El modelo incorpora capas no preentrenadas con una anchura dimensional de 768 y aplica una tasa de dropout de 0,4 para mitigar el sobreajuste.
El proceso de entrenamiento continúa durante un máximo de 30.000 pasos, comenzando con una fase de calentamiento del 10% seguida de una fase de decaimiento gobernada por un planificador coseno. Los tipos de entidades negativas se muestrean aleatoriamente de otros ejemplos en el mismo lote durante el entrenamiento para mejorar la capacidad del modelo de manejar casos en los que ciertos tipos de entidades están ausentes.
Se implementan varias estrategias de regularización para mejorar la robustez del modelo y prevenir el sobreajuste. Estas estrategias incluyen:
Mezclar el orden de las entidades: Esto ayuda al modelo a identificar entidades independientemente de su posición dentro de la entrada.
Eliminar entidades aleatoriamente: Esto obliga al modelo a manejar instancias en las que la información falta o está incompleta.
Se impone una restricción al número de tipos de entidades procesados por oración para gestionar la complejidad computacional durante el entrenamiento. Este límite se establece en 25.
Análisis del rendimiento de GLiNER
Una vez entrenado, el rendimiento de GLiNER se probó en diferentes benchmarks de NER, y se analizaron los factores que contribuyen a su eficacia.
Rendimiento zero-shot en conjuntos de datos en inglés
GLiNER se evaluó en un entorno zero-shot, lo que significa que se entrenó en el conjunto de datos Pile-NER y luego se probó directamente en conjuntos de datos no vistos sin ajuste fino adicional.
Benchmark de NER OOD
El benchmark NER OOD (fuera de dominio), que consta de siete conjuntos de datos NER diversos, se utilizó para evaluar la capacidad de GLiNER para generalizar a diferentes dominios. GLiNER, en todas sus variaciones de tamaño (pequeño, mediano y grande), mostró un rendimiento impresionante, superando a modelos como ChatGPT, Vicuna e incluso al mucho más grande InstructUIE.
Cabe destacar que el GLiNER de tamaño mediano logró resultados comparables a los del modelo UniNER 13B a pesar de ser 140 veces más pequeño. El modelo GLiNER más grande superó sistemáticamente a sus competidores, incluidos GoLLIE (el LLM con mejor rendimiento) y USM.
Figura: puntuaciones Zero-Shot en el benchmark NER fuera de dominio
Figura: puntuaciones Zero-Shot en el benchmark NER fuera de dominio | Fuente
Benchmark de 20 NER
GLiNER se evaluó además en un benchmark de 20 conjuntos de datos NER que abarcan varios dominios. Superó tanto a ChatGPT como a UniNER en la mayoría de estos conjuntos de datos, demostrando su robustez y adaptabilidad en diferentes dominios. Sin embargo, tuvo un rendimiento inferior en comparación con UniNER en conjuntos de datos NER basados en tuits, lo que destaca un área potencial de mejora en el manejo de texto informal y ruidoso.
Rendimiento zero-shot en 20 conjuntos de datos NER
Rendimiento zero-shot en 20 conjuntos de datos NER | Fuente
Evaluación multilingüe Zero-Shot
Para evaluar la capacidad de generalización de GLiNER a idiomas no vistos, se evaluó en el conjunto de datos Multiconer, que contiene datos en 11 idiomas. Se utilizaron dos variantes de GLiNER:
Una con una backbone DeBERTa en inglés (GLiNER-En).
Una con una backbone DeBERTa multilingüe (GLiNER-Multi).
GLiNER-Multi tuvo un rendimiento notablemente bueno, superando a ChatGPT en la mayoría de los idiomas.
demostró capacidades de transferencia translingüística aunque no fue entrenado en esos idiomas. Incluso tuvo un rendimiento ligeramente mejor en español que en inglés.
Puntuaciones Zero-Shot en diferentes idiomas
Puntuaciones Zero-Shot en diferentes idiomas | Fuente
Ajuste fino supervisado dentro del dominio
GLiNER también se ajustó finamente en los 20 conjuntos de datos NER para comparar su rendimiento frente a LLMs en un entorno supervisado. Se probaron sus dos variantes, una inicializada con pesos del modelo zero-shot (preentrenado en Pile-NER) y otra entrenada desde cero. La variante preentrenada superó sistemáticamente a la variante no preentrenada, mostrando los beneficios del preentrenamiento en un conjunto de datos diverso.
Rendimiento supervisado en diferentes tamaños de conjuntos de datos
Rendimiento supervisado en diferentes tamaños de conjuntos de datos | Fuente
El GLiNER preentrenado también superó al mucho más grande InstructUIE, destacando la eficiencia de la arquitectura de GLiNER. Aunque quedó por detrás de UniNER, GLiNER aun así logró las puntuaciones más altas en 7 de 20 conjuntos de datos.
Figura: ajuste fino supervisado dentro del dominio
Figura: ajuste fino supervisado dentro del dominio | Fuente
La abreviatura w/ significa "con" e indica que el modelo GLiNER se entrenó primero en el conjunto de datos Pile-NER antes del ajuste fino en los 20 conjuntos de datos NER.
La abreviatura w/o significa "sin" e indica que el modelo GLiNER no fue preentrenado en el conjunto de datos Pile-NER.
Elecciones arquitectónicas y estrategias de entrenamiento variadas
Se exploraron varias estrategias arquitectónicas y de entrenamiento para optimizar el rendimiento de GLiNER y garantizar la adaptabilidad en diversos escenarios.
Evaluación de diferentes backbones
GLiNER se investigó más a fondo utilizando diferentes backbones de BiLM para ver cómo afectan a su rendimiento. Se probaron varios modelos, como BERT, RoBERTa, ALBERT y ELECTRA, y DeBERTa-v3 mostró de forma constante el mejor rendimiento. Sin embargo, todos los backbones mostraron resultados sólidos en comparación con los modelos existentes. Esto sugirió que la arquitectura de GLiNER es efectiva en diferentes BiLM.
Figura: Rendimiento zero-shot para diferentes backbones
Figura: Rendimiento zero-shot para diferentes backbones | Fuente
Evaluación del impacto del muestreo de entidades negativas
El muestreo de entidades negativas se introduce durante el entrenamiento para reconocer que los datos del mundo real a menudo carecen de ciertos tipos de entidades. Luego se evalúa el rendimiento del modelo utilizando diferentes proporciones de muestreo negativo (0%, 50% y 75%), y una proporción del 50% proporciona el mejor equilibrio entre precisión y recuperación. Entrenar solo con entidades positivas conduce a más falsos positivos (menor precisión), mientras que una proporción alta de muestreo negativo hace que el modelo sea demasiado cauteloso, lo que resulta en entidades omitidas (menor recuperación).
Figura: Efecto del muestreo de tipos de entidades negativas
Figura: Efecto del muestreo de tipos de entidades negativas | Fuente
Evaluación de los beneficios de la eliminación aleatoria de tipos de entidad
Eliminar aleatoriamente prompts de tipos de entidad durante el entrenamiento mejora la robustez y adaptabilidad de un modelo a números variables de entidades en escenarios del mundo real. Esta técnica resulta en una mejora promedio de 1,4 puntos en la evaluación fuera del dominio.
Figura: Eliminación aleatoria de tipos de entidad
Figura: Eliminación aleatoria de tipos de entidad | Fuente
Implicaciones del desarrollo de GLiNER
El desarrollo de GLiNER tiene implicaciones significativas para el campo del Reconocimiento de Entidades Nombradas (NER):
Eficiencia de recursos para NER: GLiNER impulsa NER al lograr un rendimiento sólido con tamaños de modelo más pequeños que los grandes LLM. Esta eficiencia es beneficiosa en entornos con recursos limitados, haciendo que NER sea más accesible para diversas aplicaciones. GLiNER utiliza BiLM de manera efectiva sin la sobrecarga computacional de los LLM al formular NER como una tarea de emparejamiento entre embeddings de tipos de entidad y representaciones de spans textuales en un espacio latente.
Generalización zero-shot entre dominios e idiomas: GLiNER funciona excepcionalmente bien en entornos zero-shot, logrando resultados de vanguardia en benchmarks de NER sin fine-tuning específico para la tarea. Su capacidad para generalizar entre diversos dominios e idiomas lo convierte en una solución prometedora para escenarios con datos etiquetados limitados.
Rendimiento mejorado con preentrenamiento: El preentrenamiento en el dataset Pile-NER antes del fine-tuning para tareas dentro del dominio conduce a mejoras notables de rendimiento. Esto es especialmente cierto cuando la cantidad de datos supervisados es limitada. La ganancia es más significativa con datasets más pequeños. Esto sugiere que el preentrenamiento facilita una transferencia de conocimiento efectiva, mejorando la capacidad del modelo para generalizar y adaptarse a nuevos dominios y tipos de entidad.
Direcciones futuras de investigación
Se pueden explorar varias líneas de investigación para mejorar aún más las capacidades de GLiNER:
Exploración de arquitecturas alternativas: Aunque la arquitectura actual de GLiNER es efectiva, hay margen de mejora experimentando con diferentes variantes de BiLM (Bidirectional Language Models) o introduciendo técnicas novedosas de representación de spans. Tales innovaciones podrían conducir a ganancias adicionales de rendimiento y permitir que GLiNER aborde tareas más complejas con mayor eficiencia.
Manejo de texto ruidoso e informal: Aunque GLiNER funciona bien en muchos contextos, su capacidad para manejar texto ruidoso e informal necesita mejorar. El contenido de redes sociales a menudo incluye jerga, abreviaturas y gramática no estándar, lo que plantea desafíos únicos. El trabajo futuro podría centrarse en perfeccionar GLiNER para captar mejor estos matices y mejorar su robustez al procesar dicho texto no estructurado.
Incorporación de conocimiento externo: Integrar fuentes de conocimiento externas, como grafos de conocimiento o diccionarios geográficos específicos de dominio, podría mejorar la precisión de GLiNER en la desambiguación de entidades. Al incorporar estos recursos en la arquitectura del modelo, los investigadores podrían desarrollar representaciones más precisas y conscientes del contexto de las entidades nombradas, mejorando el rendimiento.
Ajuste fino para casos de uso específicos de dominio: Si bien el rendimiento zero-shot de GLiNER es impresionante, existe potencial para una mayor optimización mediante ajuste fino específico de dominio. Áreas como la minería de textos biomédicos o el análisis de documentos legales podrían beneficiarse de este enfoque. Esto hace que GLiNER sea más adaptable a campos especializados donde el reconocimiento de entidades debe captar patrones lingüísticos intrincados y técnicos.
Conclusión
GLiNER representa un avance significativo en NER. A través de sus modelos transformer bidireccionales compactos, combina eficiencia, adaptabilidad y accesibilidad. Logra un sólido rendimiento zero-shot y multilingüe sin el coste computacional de modelos más grandes, superando a alternativas como ChatGPT y UniNER.
La investigación futura podría explorar arquitecturas alternativas, mejorar la robustez en textos ruidosos e informales, integrar conocimiento externo para una mejor desambiguación de entidades, realizar ajuste fino para conjuntos de datos específicos de dominio y mejorar el rendimiento en idiomas con pocos recursos mediante transferencia interlingüística. Estas direcciones tienen un gran potencial para mejorar aún más la eficacia de GLiNER en diversas tareas de NER.
Recursos adicionales
Sigue leyendo

Zilliz Cloud Now Available in AWS Asia Pacific (Seoul)
Zilliz Cloud is now available in AWS Seoul — low-latency vector search, in-country data residency, and one-step migration for Korean AI teams. 31 regions across 5 clouds.

Notion's Vector Search Is Excellent. Their Next Problem Is Harder.
Notion solved vector search scaling in two years. The next bottleneck — offline context engineering, unified data, and the real-time/offline gap — is harder.

How to Choose the Best Embedding Model for RAG in 2026: 10 Models Benchmarked
We benchmarked 10 embedding models on cross-modal, cross-lingual, long-document, and dimension compression tasks. See which one fits your RAG pipeline.



