¿Qué es Named Entity Recognition?

26 de agosto de 2023

¿Qué es Named Entity Recognition?

El reconocimiento de entidades nombradas (NER), también llamado fragmentación de entidades o extracción de entidades, es un componente del procesamiento de lenguaje natural (PLN) que identifica categorías predefinidas de objetos en un cuerpo de texto.

Estas categorías pueden incluir, entre otras, nombres de personas, organizaciones, ubicaciones, expresiones de tiempos, cantidades, códigos médicos, valores monetarios y porcentajes. Básicamente, el NER es el proceso de tomar una cadena de texto (es decir, una frase, un párrafo o un documento entero), e identificar y clasificar las entidades que se refieren a cada categoría.

Cuando se acuñó el término "NER" en la Sexta conferencia de Comprensión de Mensajes (MUC-6), el objetivo era agilizar las tareas de extracción de información, que implicaban el procesamiento de grandes cantidades de texto no estructurado y la identificación de información clave. Desde entonces, el NER se ha expandido y evolucionado, debiendo gran parte de su evolución a los avances en técnicas de machine learning y aprendizaje profundo.

Diseño 3D de pelotas rodando en una pista

Las últimas novedades e insights sobre IA 


Descubra insights y noticias de expertos sobre IA, la nube y mucho más en el boletín semanal Think. 

Técnicas NER

Según una encuesta de 2019, alrededor del 64 % de las empresas confían en datos estructurados de recursos internos, pero menos del 18 % aprovechan datos no estructurados y comentarios en redes sociales para fundamentar las decisiones empresariales1.

Las organizaciones que emplean NER para la extracción de datos no estructurados se basan en una variedad de enfoques, pero la mayoría se dividen en tres categories amplias: enfoques basados en reglas, enfoques de machine learning y enfoques híbridos.

  • Los enfoques basados en reglas implican la creación de un conjunto de reglas para la gramática de un lenguaje. Luego, las reglas se emplean para identificar entidades en el texto en función de sus características estructurales y gramaticales. Estos métodos pueden llevar mucho tiempo y es posible que no se generalicen bien para los datos no vistos.
  • Los enfoques de machine learning implican entrenar un modelo de machine learning impulsado por IA IA sobre un conjunto de datos etiquetados mediante algoritmos, como los campos aleatorios condicionales y la máxima entropía (dos tipos de modelos estadísticos complejos del lenguaje). Las técnicas pueden variar desde métodos tradicionales de machine learning (por ejemplo, árboles de decisión y máquinas de vectores de soporte) hasta enfoques de aprendizaje profundo más complejos, como redes neuronales recurrentes (RNN) y transformadores. Estos métodos se generalizan mejor a datos no vistos, pero requieren una gran cantidad de datos de entrenamiento etiquetados y pueden ser costosos desde el punto de vista computacional.
  • Los enfoques híbridos combinan métodos basados en reglas y de machine learning para aprovechar las fortalezas de ambos. Pueden emplear un sistema basado en reglas para identificar rápidamente entidades fáciles de reconocer y un sistema de machine learning para identificar entidades más complejas.
Mixture of Experts | Podcast

Decodificación de la IA: Resumen semanal de noticias

Únase a nuestro panel de ingenieros, investigadores, responsables de producto y otros profesionales de talla mundial que se abren paso entre el revuelo de la IA para ofrecerle las últimas noticias e insights al respecto.

Metodologías NER

Desde el inicio del NER, ha habido algunos avances metodológicos significativos, especialmente aquellos que dependen de técnicas basadas en el aprendizaje profundo. Las iteraciones más recientes incluyen:

  • Redes neuronales recurrentes (RNN) y memoria larga a corto plazo (LSTM). Las RNN son un tipo de redes neuronales diseñadas para problemas de predicción de secuencias. Las LSTM, un tipo especial de RNN, pueden aprender a reconocer patrones a lo largo del tiempo y mantener la información en la "memoria" durante largas secuencias, lo que las hace particularmente útiles para comprender el contexto e identificar entidades.
  • Campos aleatorios condicionales(CRF). Los CRF se utilizan a menudo en combinación con las LSTM para tareas de NER. Pueden modelar la probabilidad condicional de una secuencia completa de etiquetas, en lugar de solo etiquetas individuales, lo que las hace útiles para tareas en las que la etiqueta de una palabra depende de las etiquetas de las palabras circundantes.
  • Transformadores y BERT. Las redes de transformadores, en particular el modelo BERT (Representaciones de codificador bidireccional de transformadores), tuvieron un impacto significativo en el NER. Mediante un mecanismo de autoatención que sopesa la importancia de diferentes palabras, BERT da cuenta del contexto completo de una palabra al observar las palabras que vienen antes y después.

El proceso NER

Paso 1. Recopilación de datos

El primer paso del NER es agregar un conjunto de datos de texto anotado. El conjunto de datos debe contener ejemplos de texto donde las entidades nombradas estén etiquetadas o marcadas, indicando sus tipos. Las anotaciones se pueden realizar manualmente o mediante métodos automatizados.

Paso 2. Procesamiento de datos previo

Una vez recopilado el conjunto de datos, el texto debe limpiarse y formatearse. Es posible que deba eliminar caracteres innecesarios, normalizar el texto o dividir el texto en oraciones o tokens.

Paso 3. Extracción de características

En esta fase se extraen las características relevantes del texto preprocesado. Estas características pueden incluir etiquetado de partes del discurso (etiquetado POS), incrustaciones de palabras e información contextual, entre otras. La elección de las características dependerá del modelo específico de NER que emplee la organización.

Paso 4. Entrenamiento de modelos

El siguiente paso es entrenar un modelo de machine learning o de aprendizaje profundo por medio del conjunto de datos anotados y las características extraídas. El modelo aprende a identificar patrones y relaciones entre palabras en el texto, así como sus etiquetas de entidad nombradas que correspondan.

Paso 5. Evaluación del modelo

Luego de entrenar el modelo NER, debe evaluarse para valorar su rendimiento. Puede medir métricas, como precisión, recuperación y puntaje F1, que indican qué tan bien el modelo identifica y clasifica correctamente las entidades nombradas.

Paso 6. Ajuste del modelo

En función de los resultados de la evaluación, refinará el modelo para mejorar su rendimiento. Esto puede incluir el ajuste de hiperparámetros, la modificación de los datos de entrenamiento o el uso de técnicas más avanzadas (por ejemplo, ensamblaje o adaptación de dominio).

Etapa 7. Inferencia

En esta etapa, puede comenzar a usar el modelo para inferir texto nuevo e invisible. El modelo tomará el texto de entrada, aplicará los pasos de preprocesamiento, extraerá las características relevantes y, en última instancia, predecirá las etiquetas de entidad nombradas para cada token o tramo de texto.

Paso 8. Posprocesamiento

Es posible que el resultado del modelo NER deba someterse a pasos de posprocesamiento para refinar los resultados o agregar información contextual. Es posible que deba completar tareas, como la vinculación de entidades, en las que las entidades nombradas se vinculan a bases de conocimiento o bases de datos para un mayor enriquecimiento.

Implementación del proceso NER

La forma más fácil de implementar un sistema de reconocimiento de entidades nombradas es confiar en una interfaz de programación de aplicaciones (API). Las API de NER son interfaces locales o basadas en la web que proporcionan acceso a las funcionalidades de NER. Algunos ejemplos populares de API de NER son:

Natural Language Toolkit (NLTK)

NLTK es una plataforma líder de código abierto para crear programas de Python para trabajar con datos del lenguaje humano. Proporciona interfaces fáciles de usar para más de 100 modelos de extracción entrenados2. También incluye bibliotecas de procesamiento de texto para clasificación, tokenización, derivación, etiquetado, análisis sintáctico y razonamiento semántico. NLKT tiene su propio clasificador para reconocer entidades con nombre, llamado ne_chunk, pero también proporciona un contenedor para usar el etiquetador Stanford NER en Python.

Stanford Named Entity Recognizer

Desarrollado por la Universidad de Stanford, Stanford NER es una implementación de Java ampliamente considerada como la biblioteca estándar de extracción de entidades. Se basa en CRF y proporciona modelos previamente entrenados para extraer entidades nombradas.

SpaCy

Escrito en Python y conocido por su velocidad y facilidad de uso, SpaCy es una biblioteca de software de código abierto para PLN avanzado. Se basa en las últimas investigaciones y fue diseñado para su uso con productos reales. También dispone de un sistema estadístico avanzado que permite a los usuarios crear extractores NER personalizados.

Aplicaciones de NER

A medida que las tecnologías continúen evolucionando, los sistemas NER solo serán más omnipresentes, y ayudarán a las organizaciones a dar sentido a los datos que encuentran todos los días. Hasta ahora, demostró ser fundamental para múltiples sectores, desde la atención médica y las finanzas hasta la atención al cliente y la ciberseguridad.

Algunos de los casos de uso más impactantes son:

Extracción de información

El NER es un primer paso crucial para extraer información útil y estructurada de grandes bases de datos no estructuradas. Los motores de búsqueda utilizan NER para mejorar la relevancia y precisión de sus resultados de búsqueda.

Agregación automatizada de noticias

Los agregadores de noticias emplean NER para categorizar artículos e historias en función de las entidades nombradas que contienen, lo que permite una forma más organizada y eficiente de presentar noticias a las audiencias. Por ejemplo, el NER para aplicaciones de noticias automatiza el proceso de clasificación, agrupando noticias similares y proporcionando una visión más completa de eventos noticiosos particulares.

Monitoreo de redes sociales

Con la proliferación de plataformas de redes sociales, la cantidad de datos textuales disponibles para el análisis es abrumadora. El NER desempeña un papel importante en el análisis de las redes sociales, identificando entidades clave en publicaciones y comentarios para comprender las tendencias y las opiniones públicas sobre diferentes temas (especialmente opiniones sobre marcas y productos). Esta información puede ayudar a las empresas a realizar análisis de opinión, desarrollar estrategias de marketing, elaborar respuestas de atención al cliente y acelerar los esfuerzos de desarrollo de productos.

Chatbots y asistentes virtuales

Los asistentes virtuales y los chatbots de inteligencia artificial generativa emplean NER para comprender con precisión las solicitudes de los usuarios y las consultas de atención al cliente. Al identificar entidades críticas en las consultas de los usuarios, estas herramientas impulsadas por IA pueden proporcionar respuestas precisas y específicas del contexto. Por ejemplo, en la consulta "Buscar restaurantes de Soul Food cerca de Piedmont Park", NER ayuda al asistente a entender "Soul Food" como la cocina, "restaurantes" como el tipo de establecimiento y "Piedmont Park" como la ubicación.

Ciberseguridad

En ciberseguridad, el NER ayuda a las empresas a identificar posibles amenazas y anomalías en los registros de red y otros datos relacionados con la seguridad. Por ejemplo, puede identificar direcciones IP, URL, nombres de usuario y nombres de archivo sospechosos en los registros de seguridad de la red. Como tal, NER puede facilitar investigaciones más exhaustivas de incidentes de seguridad y mejorar la seguridad general de la red.

Retos del uso de la NER

NER recorrió un largo camino desde sus inicios, integrando tecnologías innovadoras y ampliando de manera prolífica su utilidad a lo largo del camino. Sin embargo, hay algunos desafíos notables a considerar al evaluar las tecnologías NER.

Aunque NER avanzó mucho en lenguas como el inglés, no tiene el mismo nivel de precisión en muchas otras. Esto suele deberse a la falta de datos etiquetados en estas lenguas. La NER multilingüe, que consiste en transferir conocimientos de una lengua a otra, es un campo de investigación activo que puede ayudar a salvar la brecha lingüística de la NET.

A veces, las entidades también pueden anidar dentro de otras entidades, y reconocer estas entidades anidadas puede ser un desafío. Por ejemplo, en la oración "La Universidad Estatal de Pensilvania, University Park, se estableció en 1855", tanto "Pennsylvania State University" como "The Pennsylvania State University, University Park" son entidades válidas.

Además, aunque los modelos generales de NER pueden identificar entidades comunes como nombres y ubicaciones, pueden tener dificultades con entidades que son específicas de un determinado dominio. Por ejemplo, en el campo de la medicina, identificar términos complejos como los nombres de enfermedades o medicamentos puede ser un desafío. Los modelos NER específicos de dominio se pueden capacitar con datos especializados y específicos de dominio, pero obtener esa información puede resultar desafiante.

Los modelos NER también pueden encontrar problemas más amplios con la ambigüedad (por ejemplo, "Apple" podría referir a una fruta o a una empresa de tecnología); variación en el nombre de la entidad (por ejemplo, "EE. UU.", "USA", "Estados Unidos" y "Estados Unidos de América" se refieren todos al mismo país); e información contextual limitada (donde los textos o las oraciones no contienen suficiente contexto para identificar y categorizar las entidades con precisión).

Aunque la NER tiene sus retos, los avances en curso mejoran constantemente su precisión y aplicabilidad y, por lo tanto, ayudan a minimizar el impacto de las brechas tecnológicas existentes.

El futuro de NER

Si bien NER es un campo bien establecido, aún queda mucho trabajo por hacer. 

Al echar un vistazo al futuro, un área prometedora son las técnicas de aprendizaje no supervisado para NER. Si bien las técnicas de aprendizaje supervisado han tenido un buen desempeño, requieren muchos datos etiquetados, lo que puede ser difícil de obtener. Las técnicas de aprendizaje no supervisado no requieren datos etiquetados y pueden ayudar a las organizaciones a superar los desafíos de disponibilidad de datos.

Otra dirección interesante es la integración de NER con otras tareas de NLP. Por ejemplo, los modelos conjuntos para NER y la vinculación de entidades (que implica vincular entidades a sus entradas correspondientes en una base de conocimientos) o la resolución de NER y correferencias (que implica determinar cuándo dos o más expresiones en un texto se refieren a la misma entidad) podrían permitir sistemas que comprendan y procesen mejor el texto.

El Few-shot Learning y el NER multimodal también amplían las capacidades de las tecnologías NER. Con el few-shot learning, los modelos se capacitan para realizar tareas con solo unos pocos ejemplos, lo que puede ser particularmente útil cuando los datos etiquetados son escasos. El NER multimodal, por otro lado, implica integrar texto con otros tipos de entidades. Una imagen o pieza de audio, por ejemplo, podría proporcionar un contexto adicional que ayude a reconocer entidades.

Soluciones relacionadas
IBM watsonx Orchestrate

Diseñe asistentes y agentes de IA escalables con facilidad, automatice tareas repetitivas y simplifique procesos complejos con IBM watsonx Orchestrate.

Descubra watsonx Orchestrate
Herramientas y API de procesamiento de lenguaje natural

Acelere el valor de negocio de la inteligencia artificial con una cartera potente y flexible de bibliotecas, servicios y aplicaciones.

Explorar las soluciones de PLN
Consultoría y servicios de IA

Reinvente los flujos de trabajo y las operaciones críticas añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.

Conozca los servicios de IA
Dé el siguiente paso

Diseñe asistentes y agentes de IA escalables con facilidad, automatice tareas repetitivas y simplifique procesos complejos con IBM watsonx Orchestrate.

Descubra watsonx Orchestrate Explorar las soluciones de PLN
Notas de pie de página

1 Analytics and AI-driven enterprises thrive in the Age of With, Deloitte Insights, 25 de julio de 2019

2 3 open source NLP tools for data extraction, InfoWorld, 10 de julio de 2023