Cómo automatizar la extracción de entidades de un PDF utilizando LLMs

Automatización de extracción de entidades en PDF con LLMs.

Aprovechando el etiquetado de cero disparos

Foto de Google DeepMind en Unsplash

No se puede subestimar la necesidad de datos etiquetados de alta calidad en las aplicaciones modernas de aprendizaje automático. Desde mejorar el rendimiento de nuestros modelos hasta garantizar la equidad, el poder de los datos etiquetados es inmenso. Desafortunadamente, el tiempo y el esfuerzo requeridos para crear dichos conjuntos de datos son igualmente significativos. Pero, ¿qué pasa si pudiéramos reducir el tiempo dedicado a esta tarea de días a solo unas pocas horas, al tiempo que mantenemos o incluso mejoramos la calidad del etiquetado? ¿Un sueño utópico? Ya no.

Los paradigmas emergentes en el aprendizaje automático: aprendizaje de cero disparos, aprendizaje de pocas muestras y etiquetado asistido por modelos, presentan un enfoque transformador para este proceso crucial. Estas técnicas aprovechan el poder de algoritmos avanzados, reduciendo la necesidad de conjuntos de datos etiquetados extensos y permitiendo una anotación de datos más rápida, eficiente y altamente efectiva.

En este tutorial, vamos a presentar un método para etiquetar automáticamente documentos no estructurados y semi-estructurados utilizando las capacidades de aprendizaje en contexto del Modelo de Lenguaje Grande (LLM).

Extracción de información de SDS

A diferencia de los modelos supervisados tradicionales que requieren datos etiquetados extensos para entrenarse en la resolución de una tarea específica, los LLM pueden generalizar y extrapolar información a partir de unos pocos ejemplos al aprovechar su amplia base de conocimientos. Esta capacidad emergente, conocida como aprendizaje en contexto, hace que LLM sea una elección versátil para muchas tareas que incluyen no solo la generación de texto, sino también la extracción de datos como el reconocimiento de entidades nombradas.

Para este tutorial, vamos a etiquetar Hojas de Datos de Seguridad (SDS) de varias empresas utilizando las capacidades de etiquetado de cero disparos y pocas muestras de GPT 3.5, también conocido como ChatGPT. Las SDS ofrecen información completa sobre sustancias o mezclas específicas, diseñadas para ayudar a los lugares de trabajo a gestionar eficazmente los productos químicos. Estos documentos desempeñan un papel vital al proporcionar información detallada sobre los riesgos, abarcando los riesgos ambientales y ofreciendo una guía invaluable sobre las precauciones de seguridad. Las SDS actúan como una fuente indispensable de conocimiento, permitiendo a los empleados tomar decisiones informadas sobre la manipulación y utilización segura de productos químicos en el lugar de trabajo. Por lo general, las SDS vienen en formato PDF con varias estructuras, pero generalmente contienen la misma información. En este tutorial, estamos interesados en entrenar un modelo de IA que identifique automáticamente las siguientes entidades:

  • Número de producto
  • Número CAS
  • Casos de uso
  • Clasificación
  • Etiqueta GHS
  • Fórmula
  • Peso molecular
  • Sinónimo
  • Número de teléfono de emergencia
  • Medidas de primeros auxilios
  • Componente
  • Marca

Extraer esta información relevante y almacenarla en una base de datos searchable es muy valioso para muchas empresas, ya que permite buscar y recuperar componentes peligrosos de manera muy rápida. Aquí hay un ejemplo de una SDS:

SDS públicamente disponible. Imagen de Autor

Etiquetado de cero disparos

A diferencia de la generación de texto, la extracción de información es una tarea mucho más desafiante para los LLM. Los LLM han sido entrenados para tareas de completado de texto y tienden a alucinar o generar comentarios o texto adicional cuando se les solicita extraer información relevante.

Para poder analizar correctamente el resultado del LLM, necesitamos tener una salida consistente del LLM como un JSON. Esto requiere cierta ingeniería en la solicitud para hacerlo correctamente. Además, una vez que los resultados son analizados, necesitamos mapearlos a los tokens originales en el texto de entrada.

Afortunadamente, todos estos pasos se han realizado y se han abstraído utilizando la herramienta de anotación UBIAI. Bajo el capó, UBIAI realiza la solicitud, divide los datos para que estén por debajo del límite de longitud de contexto y los envía a la API GPT3.5 Turbo de OpenAI para inferencia. Una vez que se envía la salida de vuelta, los datos se analizan, procesan y se aplican a sus documentos para el etiquetado automático.

Para comenzar, simplemente cargue sus documentos, ya sea en formato PDF nativo, imagen o un simple Docx, luego vaya a la página de anotación y seleccione la pestaña de Pocas muestras en la interfaz de anotación:

Panel de control UBIAI Few-shot. Imagen del autor

Para más detalles, consulta la documentación aquí: https://ubiai.gitbook.io/ubiai-documentation/zero-shot-and-few-shot-labeling

UBIAI te permite configurar la cantidad de ejemplos que deseas que el modelo aprenda para etiquetar automáticamente los siguientes documentos. La aplicación elegirá automáticamente los documentos más informativos de tu conjunto de datos ya etiquetados y los concatenará en el texto de entrada. A este enfoque se le llama etiquetado Few-shot, donde “Few” varía de 0 a n. Para configurar la cantidad de ejemplos, simplemente haz clic en el botón de configuración e ingresa la cantidad de ejemplos, como se muestra a continuación.

Ventana de configuración UBIAI Few-shot. Imagen del autor

Para este tutorial, vamos a proporcionar cero ejemplos al LLM para que aprenda y le pediremos que etiquete los datos basándose únicamente en la descripción de la entidad en sí. Sorprendentemente, el LLM es capaz de entender nuestro documento bastante bien y etiqueta la mayoría de los datos correctamente.

A continuación se muestra el resultado del etiquetado zero-shot en el SDS PDF sin ningún ejemplo, ¡bastante impresionante!

Etiquetado zero-shot utilizando UBIAI. Imagen del autor

Conclusión

La automatización de la extracción de entidades de los PDF utilizando Modelos de Lenguaje Grandes (LLMs) se ha convertido en una realidad con el surgimiento de las capacidades de aprendizaje contextual de los LLM, como el Aprendizaje Zero-Shot y el Aprendizaje Few-Shot. Estas técnicas aprovechan el poder del conocimiento latente de los LLM para reducir la dependencia de extensos conjuntos de datos etiquetados y permitir una anotación de datos más rápida, eficiente y altamente efectiva.

El tutorial presentó un método para etiquetar automáticamente documentos semiestructurados, centrándose específicamente en las Hojas de Datos de Seguridad (SDS), pero que también funcionaría para texto no estructurado. Al aprovechar las capacidades de aprendizaje contextual de los LLM, en particular GPT 3.5 (chatGPT), el tutorial demostró la capacidad de identificar automáticamente entidades importantes dentro de las SDS, como el número de producto, el número CAS, los casos de uso, la clasificación, la etiqueta GHS y más.

La información extraída, si se almacena en una base de datos buscable, proporciona un valor significativo para las empresas, ya que permite una búsqueda y recuperación rápidas de componentes peligrosos. El tutorial destacó el potencial del etiquetado zero-shot, donde el LLM puede comprender y extraer información de las SDS sin ejemplos explícitos. Esto demuestra la versatilidad y las habilidades de generalización de los LLM, más allá de las tareas de generación de texto.

Si estás interesado en crear tu propio conjunto de datos de entrenamiento utilizando las capacidades zero-shot de los LLM, programa una demostración con nosotros aquí.

Síguenos en Twitter @UBIAI5!

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

El Lado Oscuro de la IA - ¿Cómo pueden ayudar los creadores?!

No pasa un solo día en estos tiempos sin que nos enteremos de algo sorprendente que haya hecho una herramienta de IA....

Inteligencia Artificial

Google DeepMind utilizó un gran modelo de lenguaje para resolver un problema matemático insoluble

Tuvieron que desechar la mayor parte de lo que producían, pero había oro entre la basura.

Inteligencia Artificial

Conoce FLM-101B Un decodificador de solo lectura de LLM de código abierto con 101 mil millones de parámetros

Últimamente, los modelos de lenguaje grandes (LLMs) están destacando en tareas de NLP y multimodalidad, pero se enfre...

Inteligencia Artificial

El mundo natural potencia el futuro de la visión por computadora

Un sistema de software de código abierto tiene como objetivo mejorar el entrenamiento de sistemas de visión por compu...