¿Qué es el reconocimiento de entidades nombradas?

¿Qué es el reconocimiento de entidades nombradas?

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

Estas categorías pueden incluir, pero no se limitan a, nombres de personas, organizaciones, ubicaciones, expresiones de tiempos, cantidades, códigos médicos, valores monetarios y porcentajes, entre otros. En esencia, el NER es el proceso de tomar una cadena de texto (es decir, una oración, un párrafo o un documento completo) 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 racionalizar las tareas de extracción de información, que implicaban procesar grandes cantidades de texto no estructurado e identificar información clave. Desde entonces, el NER se ha expandido y evolucionado, debido en gran parte a los avances en las técnicas de machine learning y deep learning.

Las últimas tendencias en IA, presentadas por expertos

Obtenga conocimientos organizados sobre las noticias más importantes e intrigantes de la IA. Suscríbase a nuestro boletín semanal Think. Consulte la Declaración de privacidad de IBM.

¡Gracias! Está suscrito.

Su suscripción se enviará en inglés. Encontrará un enlace para darse de baja en cada boletín. Puede gestionar sus suscripciones o darse de baja aquí. Consulte nuestra Declaración de privacidad de IBM para obtener más información.

Técnicas de NER

Según una encuesta de 2019, alrededor del 64 por ciento de las empresas se basan en datos estructurados de recursos internos, pero menos del 18 por ciento aprovecha los datos no estructurados y los comentarios en las redes sociales para tomar decisiones empresariales1.

Las organizaciones que utilizan el NER para la extracción de datos no estructurados se basan en una variedad de enfoques, pero la mayoría se dividen en tres categorías 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. A continuación, las reglas se utilizan para identificar entidades en el texto en función de sus características estructurales y gramaticales. Estos métodos pueden llevar mucho tiempo y pueden no generalizarse bien a datos no vistos.
  • Los enfoques de machine learning implican entrenar un modelo de machine learning impulsado por IA en un conjunto de datos etiquetados mediante algoritmos como campos aleatorios condicionales y entropía máxima (dos tipos de modelos complejos de lenguaje estadístico). Las técnicas pueden variar desde métodos tradicionales de machine learning (p. ej., árboles de decisión y máquinas de vectores de soporte) hasta enfoques de deep learning más complejos, como redes neuronales recurrentes (RNN) y transformadores. Estos métodos 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 en machine learning para aprovechar los puntos fuertes de ambos. Pueden utilizar un sistema basado en reglas para identificar con rapidez entidades fáciles de reconocer y un sistema de machine learning para identificar entidades más complejas.
Mixture of Experts | 12 de diciembre, episodio 85

Descifrar 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 bullicio de la IA para ofrecerle las últimas noticias y conocimientos al respecto.

Metodologías de NER

Desde los inicios del NER, se han producido algunos avances metodológicos significativos, especialmente los que giran en torno a técnicas basadas en el deep learning. Las iteraciones más recientes incluyen:

  • Redes neuronales recurrentes (RNN) y memoria larga a corto plazo (LSTM). Las RNN son un tipo de red neuronal diseñada 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 a mantener la información en la "memoria" durante secuencias largas, lo que los hace especialmente útiles para entender el contexto e identificar las 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, particularmente el modelo BERT (Representación de Codificador Bidireccional de Transformadores), han tenido un impacto significativo en el NER. Mediante el uso de un mecanismo de autoatención que sopesa la importancia de diferentes palabras, BERT tiene en cuenta el contexto completo de una palabra observando las que vienen antes y después de ella.

El proceso del 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 en los que las entidades con nombre estén etiquetadas o marcadas, indicando sus tipos. Las anotaciones se pueden realizar de forma manual o utilizando métodos automatizados.

Paso 2. Preproceso de datos

Una vez recopilado el conjunto de datos, se debe limpiar y formatear el texto. Es posible que necesite eliminar caracteres innecesarios, normalizar el texto y/o dividir el mismo en oraciones o tokens.

Paso 3. Extracción de características

Durante esta etapa, las características relevantes se extraen del texto preprocesado. Estas características pueden incluir el 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 de NER específico que utilice la organización.

Paso 4. Entrenamiento de modelos

El siguiente paso es entrenar un modelo de machine learning o deep learning utilizando el conjunto de datos anotado y las características extraídas. El modelo aprende a identificar patrones y relaciones entre palabras en el texto, así como sus correspondientes etiquetas de entidad con nombre.

Paso 5. Evaluación de modelos

Una vez que haya entrenado el modelo de NER, deberá evaluarlo para valorar su rendimiento. Puede medir métricas como la precisión, la recuperación y la puntuación F1, que indican en qué medida el modelo identifica y clasifica correctamente las entidades nombradas.

Paso 6. Afinación del modelo

Basándose en los resultados de la evaluación, perfeccionará el modelo para mejorar su rendimiento. Esto puede incluir el ajuste de hiperparámetros, la modificación de los datos de entrenamiento y/o el uso de técnicas más avanzadas (p. ej., ensamblaje o adaptación de dominios).

Paso 7. Inferencia

En esta fase, puede empezar a utilizar el modelo para realizar inferencias sobre un texto nuevo que no haya visto. 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 fragmento de texto.

Paso 8. Posprocesamiento

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

Implementación del proceso de 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 Python para trabajar con datos de 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 y razonamiento semántico. NLKT tiene su propio clasificador para reconocer entidades con nombre, llamado ne_chunk, pero también proporciona un contenedor para utilizar el etiquetador NER de Stanford en Python.

Stanford Named Entity Recognizer

Desarrollada por la Universidad de Stanford, la 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 preentrenados para extraer entidades con nombre.

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 se ha diseñado para su uso con productos reales. También cuenta con un sistema estadístico avanzado que permite a los usuarios crear extractores de NER personalizados.

Aplicaciones de NER

A medida que las tecnologías continúen evolucionando, los sistemas de NER se volverán más omnipresentes, lo que ayudará a las organizaciones a dar sentido a los datos que encuentran todos los días. Hasta ahora, ha demostrado ser fundamental para varios sectores, desde la atención médica y las finanzas hasta el servicio de 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 el NER para mejorar la relevancia y precisión de sus resultados de búsqueda.

Agregación automatizada de noticias

Los agregadores de noticias utilizan el 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 las noticias al público. 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 determinados acontecimientos de actualidad.

Monitorización 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 las opiniones sobre marcas y productos). Esta información puede ayudar a las empresas a realizar análisis de sentimiento, desarrollar estrategias de marketing, elaborar respuestas del servicio 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 utilizan el NER para comprender con precisión las solicitudes de los usuarios y las consultas de atención al cliente. Al identificar entidades cruciales en las consultas de los usuarios, estas herramientas con IA pueden proporcionar respuestas precisas y específicas del contexto. Por ejemplo, en la consulta "Buscar restaurantes de soul food cerca de Piedmont Park", el NER ayuda al asistente a entender "soul food" como el tipo de gastronomía, "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, el NER puede facilitar investigaciones más exhaustivas de incidentes de seguridad y mejorar la seguridad general de la red.

Retos del uso del NER

El NER ha recorrido un largo camino desde su creación, integrando tecnologías innovadoras y ampliando de manera prolífica su utilidad a lo largo del camino. Sin embargo, hay algunos retos dignos de mención que deben tenerse en cuenta a la hora de evaluar las tecnologías de NER.

Aunque el NER ha avanzado mucho en idiomas como el inglés, no tiene el mismo nivel de precisión en muchos otros. Esto se debe a menudo a la falta de datos etiquetados en estos idiomas. El NER multilingüe, que implica la transferencia de conocimientos de un idioma a otro, es un área activa de investigación que puede ayudar a cerrar la brecha lingüística.

A veces, las entidades también pueden estar anidadas dentro de otras entidades, y reconocer estas entidades anidadas puede ser todo un reto. Por ejemplo, en la frase "La Universidad Estatal de Pensilvania, University Park se fundó en 1855", tanto "Universidad Estatal de Pensilvania" como "La Universidad Estatal de Pensilvania, University Park" son entidades válidas.

Además, aunque los modelos de NER generales pueden identificar entidades comunes como nombres y ubicaciones, pueden tener problemas con entidades que son específicas de un determinado dominio. Por ejemplo, en el campo médico, la identificación de términos complejos como nombres de enfermedades o de medicamentos puede suponer un reto. Los modelos de NER específicos del dominio pueden entrenarse con datos especializados y específicos del mismo, pero obtener esa información puede resultar complicado.

Los modelos de NER también pueden encontrarse con problemas más amplios de ambigüedad (por ejemplo, "Apple" podría referirse a una fruta o a la empresa tecnológica); variación del nombre de la entidad (p. ej., "EUA", " EE. UU.", " Estados Unidos" y "Estados Unidos de América" se refieren todos al mismo país); e información contextual limitada (en la que los textos y/o las frases no contienen suficiente contexto para identificar y categorizar con precisión las entidades).

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

El futuro del NER

Aunque el NER es un campo bien establecido, todavía queda mucho trabajo por hacer. 

Si echamos un vistazo al futuro, un área prometedora son las técnicas de aprendizaje no supervisado para el NER. Aunque las técnicas de aprendizaje supervisado han dado buenos resultados, requieren muchos datos etiquetados, que pueden ser difíciles de obtener. Las técnicas de aprendizaje no supervisado no requieren datos etiquetados y pueden ayudar a las organizaciones a superar los problemas de disponibilidad de datos.

Otra dirección interesante es la integración del NER con otras tareas de PLN. Por ejemplo, los modelos conjuntos para el 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 aprendizaje few-shot y el NER multimodal también amplían las capacidades de las tecnologías de NER. Con el aprendizaje few-shot, los modelos se entrenan 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 la integración de texto con otros tipos de entidades. Una imagen o un fragmento 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 del lenguaje natural

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

Explore soluciones de PLN
Consultoría y servicios de IA

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

Explore 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 Explore soluciones de PLN