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.
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.
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:
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.
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.
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.
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.
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.
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).
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.
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.
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:
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.
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.
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.
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:
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.
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.
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.
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.
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.
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.
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.
Diseñe asistentes y agentes de IA escalables con facilidad, automatice tareas repetitivas y simplifique procesos complejos con IBM watsonx Orchestrate.
Acelere el valor de negocio de la inteligencia artificial con una cartera potente y flexible de bibliotecas, servicios y aplicaciones.
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.
IBM Granite es nuestra familia de modelos de IA abiertos, de alto rendimiento y confiables, diseñados para empresas y optimizados para escalar sus aplicaciones de IA. Explore opciones de lenguaje, código, series de tiempo y medidas de protección.
Descubra cómo el procesamiento de lenguaje natural puede ayudarle a conversar de forma más natural con las computadoras.
Encuestamos a 2000 organizaciones sobre sus iniciativas de IA para descubrir qué funciona, qué no y cómo pueden avanzar.
Explore el sitio web de IBM Developer para acceder a blogs, artículos, boletines y aprender más sobre la IA integrable de IBM.
Aprenda los conceptos fundamentales y construya sus habilidades con laboratorios prácticos, cursos, proyectos guiados, ensayos y mucho más.
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