Aprendizaje activo para el tratamiento inteligente de documentos

Procesamiento inteligente de documentos.

Los datos son un componente clave en la toma de decisiones. Hoy en día, las empresas despliegan complejos procesos para automatizar la recogida, el almacenamiento y el tratamiento de grandes cantidades de datos. La mayoría de estos datos se presentan en forma de documentos no estructurados. Las soluciones de software de Berger-Levrault manejan documentos de diversa naturaleza: facturas, formularios, etc. Por desgracia, esta representación no estructurada es difícil de explotar por la máquina. Por ello, es importante diseñar herramientas de tratamiento inteligente de documentos (PID). Estas herramientas tienen como objetivo capturar, extraer y procesar de forma inteligente los datos de diversos formatos de documentos. Para ello se utilizan técnicas de análisis de imágenes, de procesamiento del lenguaje natural y de aprendizaje automático profundo.

BL-IDP fue lanzado en 2019, pero aquí estamos hablando de la versión 2 de BL IDP, por lo que hablaremos de lo que es BL IDP v1, qué versión 2 traer.

BL IDP versión 1

El proyecto "Intelligent Document Processing", o IDP, nacido en el seno de la DRIT (Direction de la Recherche et Innovation Technologiques) de Berger Levrault (BL), permite capturar, extraer y procesar datos de diversos formatos de documentos. Transforma los datos no utilizables en datos estructurados que pueden ser fácilmente manipulados por un proceso empresarial automatizado. Sin las soluciones de PDI, el proceso requiere la intervención humana para leer los documentos, extraer los datos e introducirlos. El procesamiento inteligente de documentos libera todo el potencial de la automatización.

La versión 1 de IDP, o ex Deep Facture, es un proyecto sólo para facturas, en la entrada tenemos una imagen o un PDF de una factura, y aplicamos la detección de objetos para detectar la dirección del destinatario y del remitente, el Logotipo y la Datamatrix de la factura, luego pasamos por un OCR "Optical Character Recognition" para terminar una capa de control de los requisitos de las facturas BL.

Esta es la arquitectura global de BL.IDP v1 :

Arquitectura global de BL IDP.
Figura 1: Arquitectura global de BL.IDP

BL IDP versión 2

La diferencia entre la versión 1 y 2 de IDP es la arquitectura y los casos de uso y, por supuesto, las herramientas utilizadas.
Para la arquitectura, la parte de entrenamiento del modelo en IDP v1 se hace localmente, luego recuperamos el modelo (los pesos) y lo añadimos manualmente en la plataforma para poder probar. Y para la parte de anotación, se hace manualmente sin una plataforma dedicada a ello también.

Esta es la arquitectura propuesta para el IDP v2:

Arquitectura propuesta para el IDP v2.
Figura 2: Arquitectura propuesta para IDP v2

De la arquitectura podemos ver que esta plataforma incluye varios modelos, varios casos de uso pero también una herramienta para la anotación.
La arquitectura interna de este proyecto se compone de dos partes esenciales, el servicio de formación y el servicio de inferencia, es bastante lógico que el resultado del servicio de formación sea la entrada del servicio de inferencia, el servicio de formación es el productor de los modelos, mientras que la inferencia es el consumidor.

Todo comienza con un conjunto de datos, no anotado, y queremos hacer un modelo capaz de detectar objetos en este conjunto de datos, pasamos este conjunto de datos al servicio de entrenamiento, este último aplica la selección de imágenes, luego las imágenes seleccionadas serán enviadas a la herramienta de anotación, en esta herramienta elegimos los objetos a anotar, anotamos y comienza el entrenamiento.
Al finalizar el entrenamiento, el modelo generado se almacenará en un servidor de almacenamiento de Amazon, Aws s3, y mediante Kafka informamos al servicio de inferencia que el modelo está en s3 por lo que debe recuperarlo.

Para cada caso de uso bien especificado, se genera y almacena un modelo para el mismo, de modo que si el usuario llama al servicio de inferencia, y el modelo asociado al caso de uso es existente, ocurrirán los siguientes pasos:

  • El modelo hace una predicción sobre la imagen enviada;
  • Comprobamos si este ejemplo es bueno para rehacer el entrenamiento o no, si es el caso, enviamos la imagen al servicio de entrenamiento;
  • Aplicar el OCR a los resultados encontrados.

Lo que también difiere de la versión 2 en su versión anterior es el aprendizaje activo que se aplica

Aprendizaje activo

El aprendizaje activo es un sub-dominio de la IA, el supuesto clave de este tipo de enfoque es: si se permite que el algoritmo de aprendizaje elija los datos de los que va a aprender, funcionará mejor con menos datos anotados.
Los sistemas de aprendizaje activo intentan eliminar la falta de datos anotados o la disponibilidad de anotadores, solicitando consultas en forma de instancias no etiquetadas que deben ser anotadas por un oráculo.

Hay varios escenarios de problemas diferentes en los que el algoritmo puede consultar el oráculo, los tres escenarios principales son:

  • Síntesis de consultas basadas en la pertenencia,
  • Muestreo selectivo en función del caudal,
  • Aprendizaje activo basado en la piscina,

En BL IDP v2, aplicamos el aprendizaje activo basado en el pool.

Aprendizaje activo basado en la piscina

Para muchos problemas del mundo real, se puede recuperar una enorme cantidad de datos sin etiquetar, y esto es lo que motiva este escenario, suponemos que tenemos un pequeño conjunto de datos etiquetados y un conjunto de datos sin anotar, las consultas se extraen selectivamente del conjunto, y las instancias se consultan de manera codiciosa, basándose en las métricas de información utilizadas para evaluar todas las instancias del conjunto o una submuestra del mismo.
Este escenario se utiliza en varios ámbitos del aprendizaje automático, como la clasificación de textos, la extracción de información y la extracción y clasificación de imágenes, vídeo y audio.

Diagrama de casos de uso

Diagrama de casos de uso.
Figura 3: Diagrama de casos de uso

Para el diagrama anterior, observamos que en el sistema tenemos dos actores, el anotador y un científico de datos, que puede ser un anotador también, el papel del anotador es anotar los documentos que le han sido asignados, mientras que el científico de datos, a varias misiones de la siguiente manera:

  • La gestión de los modelos: que consiste en crear modelos y borrarlos con la posibilidad de modificar el número de iteraciones para el entrenamiento
  • Iniciar el entrenamiento de los modelos
  • Ajustar la precisión con el aprendizaje activo
  • Hacer una predicción sobre los nuevos documentos para una prueba visual

Conclusión

El proyecto IDP v2 ha tomado el camino correcto, se ha implementado en tres casos de uso, con resultados prometedores. El siguiente paso es comparar la solución con la existente, afinar la precisión de los resultados y generalizar el método para otros tipos de documentos.

Por Toufik Kerdjou

Más ...

Scroll al inicio