blank
14
Feb

Procesamiento automático de documentos – Gestión Documental

Procesamiento automático de documentos – Gestión Documental

Últimamente se habla mucho de aplicaciones de la inteligencia artificial (IA) en un sus distintas acepciones y tecnologías anexas (Redes neuronales, Machine Learning , Visión Artificial, Procesamiento de Lenguaje natural o Deep Learning por citar algunos ) como algo innovador y “de futuro”.

Sin embargo hay un área en la que llevan muchos años usándose estas técnicas de forma habitual. El tratamiento automático de documentos, últimamente bautizado como “Procesamiento Inteligente de Documentos” (IDP: Intelligent Document Processing).

Funcionamiento: Procesamiento automático de documentos

¿En qué consiste?

Básicamente el procesamiento consiste en una serie de pasos:

· Ingesta/importación de documentos: Se recibirá peticiones de tratamiento de documentos por diversos medios (Web Services , llamadas REST, Colas de mensajes ,..), se importaran documentos de carpetas, se leerá mensajes y anexos de buzones de correo o se digitalizará directamente el papel por medio de escáneres.

· Conversión y limpieza: Generalmente se convertirá el formato al adecuado internamente y se limpiará las imágenes para que la fase de OCR sea más precisa.

· Conversión a texto: Si el documento era una imagen (y no un documento ofimático o texto) deberá hacerse un proceso de reconocimiento óptico de caracteres (OCR) para convertirlo a texto. Este texto extraído, del cual se guardará también la ubicación en cada punto de cada página, servirá posteriormente para clasificar y para extraer los campos necesarios.

· Clasificación y separación: En base al entrenamiento y aprendizaje previamente realizado, se clasificará cada documento en una de las categorías entrenadas, asignando una confianza a la decisión (Ej: Este documento puede ser una nómina con un 86% de seguridad y una factura con un 50%). Si las imágenes recibidas incluían varios documentos en las diversas páginas, en esta fase se separará también.

· Extracción: En base al entrenamiento realizado se extraerá los datos del documento que se requieran para cada tipo documental (Ej: para tipo “DNI” se extraerá “número de identidad”, “Nombre”, “Apellidos”, “Fecha Nacimiento” y “Fecha Caducidad documento”. Además de extraer palabras y números de texto impreso, esta extracción puede incluir tablas (Items de una factura, listados, etc), códigos de barras, marcas (como las usadas en encuestas o exámenes) y texto manuscrito.

· Comprobación: Los datos extraídos podrán comprobarse contra distintos sistemas para asegurar la corrección de los mismos (por ejemplo verificar un distrito postal extraído contra una base de datos, comprobar si una fecha de vigencia es posterior a una fecha de contrato o si un número de póliza está en la lista de asegurados) así como que cumplan ciertas reglas de los propios datos (dígitos de control de los documentos de identidad, operaciones matemáticas en los datos de una factura, etc.)

· Revisión: En los casos en que surjan dudas en la clasificación o extracción, con usuario humano deberá revisar los errores o dudas antes de liberar el documento.

· Exportación: Con los datos extraídos y el documento clasificado, podrá enviarse el documento para su almacenamiento en un gestor documental. Además los datos extraídos podrán utilizarse para rellenar automáticamente formularios o dar de alta procesos, sin necesidad de intervención manual.

blank

Ejemplo de proceso IDP (TCG)

Los proceso de IDP podrán tener en un proyecto real más pasos y complejidad, pudiendo componer un BPM complejo, pero básicamente la estructura básica es la indicada.

En cualquier caso el objetivo último es ahorrar trabajo manual, disminuir errores humanos y acelerar los procesos, ofreciendo, por parte de la entidad o empresa que los implementa, un mejor y más rápido servicio a ciudadanos y clientes.

Entrenamiento

Una fase crítica de estos sistemas, y donde más aplica el uso de “tecnologías inteligentes”, es el entrenamiento. Tendrá dos aspectos principales: entrenamiento de Clasificación/separación y entrenamiento de extracción de datos.

La fase de clasificación suele ser (semi)automática y se basa en ejemplos. Se entrega al sistema conjuntos de ejemplos de cada tipo de documento que se recibirán en el proyecto (50 Documentos de identidad, 50 nóminas, 50 facturas,..). El sistema crea sus propias reglas basándose tanto en las palabras y estructura de los documentos (clasificación por contenido) como en la apariencia del documento (clasificación por imagen).

Este aprendizaje automático debe refinarse, ya sea cambiando los ejemplos por otros más significativos, añadiendo reglas y criterios “a mano” o bien definiendo criterios de confianza. (Ej.: para este tipo documental debe existir una confianza en la clasificación de un 90% y además el siguiente tipo de documento candidato/posible debe tener menos del 80%)

blank

Entrenamiento para clasificar documentos (“Informe café”, “Informe Azúcar”, ..) (TCG)

El entrenamiento de extracción es mucho más manual, aunque también puede tener aprendizaje automático (donde el sistema crea sus propias reglas), y en él se definirá que campos o datos extraer y de que zonas del documento. Cuando el documento es un formulario es más fácil, ya que la información está en puntos fijos de la página (aunque no debemos “confiarnos” ya que la digitalización deforma y desplaza los documentos y no siempre está en un punto exacto), pero cuando es un documento no estructurado, como una carta o un poder notarial, la información puede estar en cada documento en distintos puntos de la página (o incluso en distintas páginas) y localizarlo implica tener en cuenta la estructura de la información buscada (“¿es una fecha? ¿Es un código?”.) así como otras palabras o elementos que puedan estar cerca (“en el tercio inferior de la página y a continuación o debajo de las palabras ‘Titular’ o ‘firmante’ ”). Como en el caso de la clasificación, idealmente el sistema debe “aprender” y crear sus propias reglas, pero mi experiencia es que siempre es conveniente “tocarlas” y realizar ajustes manuales para aumentar la calidad.

Errores frecuentes:

Es habitual que muchas empresas, que “acaban de descubrir la IA”, olviden muchas de las necesidades y problemas que conlleva el tratamiento de documentos, limitándose a ofrecer un servicio que hace OCR y/o que clasifica y que ofrecen como “lo más avanzado en tecnología”.

Pero esto es solo un aspecto del problema, que “en la vida real”, fuera del mundo “académico”, es mucho más complejo.

Algunos problemas habituales que no siempre se tienen en cuenta son:

· Calidad de las imágenes: Cuando hay que hacer OCR, la calidad de las imágenes es crítica. Si la imagen está sucia, girada, deformada o desenfocada, el mejor motor de OCR no podrá ofrecer buenos resultados. Por ello los productos especializados incluyen funciones de limpieza y tratamiento de la imagen para asegurar la calidad ANTES del realizar el OCR. Mucho incluyen además clientes móviles o web para que la digitalización sea mejor y no tener que corregir.

· Separación de los documentos: Cuando hay que tratar miles de documentos, obligar a los operadores o clientes a separar cada documento (digitalizando cada uno  o insertando manualmente páginas separadoras) es un trabajo innecesario que claramente es contrario al propio concepto de “Procesamiento Inteligente de Documentos”. Los buenos sistemas permiten recibir un fichero con múltiples páginas que componen el expediente completo, analizarlo y separar cada grupo de páginas para agruparlos en documentos (Ej.: 2 primeras páginas = Nómina, 4 páginas siguientes = IRPF, 10 últimas = Escrituras).

· Revisión Manual: El mejor sistema del mundo tendrá errores o dudas en el proceso automático. Si una página tiene 2000 caracteres, un acierto del 99% implica una media de errores de 20 caracteres. Si alguno de ellos es la información que nos interesa extraer (Fecha nacimiento, dirección, nombre, Número documento identidad,..) deberá revisarse manualmente. En la práctica, según la calidad de la imagen, la complejidad de los documentos y el producto elegido, deberá revisarse entre un 10 y un 20% de los documentos (lo cual en cualquier caso significa que hemos ahorrado el tratamiento manual de un 80 o 90%). Aunque sea un porcentaje pequeño, pueden ser muchos documentos diarios. Los sistemas especializados incluyen interfaces de usuario optimizados que presentan los documentos erróneos, resaltan los datos dudoso y permiten incluso hacer OCR interactivo simplemente marcando una zona o palabra, reduciendo el tiempo empleado en corregir cada documento y por supuesto, sin necesidad de desarrollar un interfaz de usuario nuevo.

blank

Interfaz de usuario para revisión manual (TCG)

· Conversión de formatos: Según el proyecto y circuito, debe asumirse que no siempre se recibirá los documentos en el formato o configuración adecuada (por ejemplo puede recibirse unos documentos como Office, otros como pdf y otros como tiff, o incluso en caso de recibirse como pdf, podrían tener color o blanco y negro y distinta calidad (DPI) . Para poder procesarlos adecuadamente y aumentar el tratamiento automático, es mejor unificar formatos antes de procesar. Igualmente es conveniente convertir y unificar el formato de salida para almacenar los documentos (por ejemplo generando PDFa, el formato recomendado para archivo a largo plazo).

· Tiempo de entrenamiento/desarrollo: Un factor a tener en cuenta es el tiempo que lleva entrenar un sistema. Ese tiempo no representa solo coste/tiempo de mano de obra especializada hasta conseguir buenos resultados, sino coste de oportunidad si surge un nuevo formato de documento a recibir (como cuando cambia el formato de DNI o de un formulario de la administración) y mejor atención a los usuarios. Debe tenerse en cuenta siempre el esfuerzo que implica entrenar un proyecto de IDP.

· Ajuste fino del automatismo: En ocasiones el sistema inteligente no es “suficientemente inteligente”, tanto a la hora de clasificar un documento como a la hora de extraer información del mismo, y es necesario hacer ajustes finos. Por ejemplo el sistema puede confundir al clasificar un tipo de documento con otro, sin embargo sabemos que el segundo tiene siempre 3 páginas y en la última aparece la palabra “Delegado”. Es necesario poder hacer ajustes manuales sobre las reglas que genera el sistema. Respecto a la extracción, en lugar de dejar a criterio del sistema, si por ejemplo indicamos que un campo a extraer es una fecha con un formato de fecha alemán, o que un texto estará escrito siempre en mayúsculas y tendrá una longitud de 50 caracteres, disminuimos los errores o dudas de extracción y detectamos las incoherencias, evitando que se admitan como correctos campos extraídos erróneamente. Debe analizarse si el sistema permite este tipo de ajustes y parametrización para disminuir errores y aumentar automatismo.

· Autoaprendizaje:  En ocasiones no se dispone de suficientes ejemplos para entrenar el sistema o no hay tiempo para hacerlo. Lo que implica empezar con un sistema en el que deberá procesarse manualmente casi todos los documentos. Muchos sistemas especializados puede ir aprendiendo “sobre la marcha”, mejorando su comportamiento a partir de las correcciones manuales y además generando una base de conocimiento (entrenamiento) que pueden utilizarse como base  para realizar un ajuste fino.

· Monitorización/estadísticas: Para evaluar el comportamiento de un sistema, y sobre todo poder mejorarlo, es necesario medirlo. Un buen sistema de IDP incluye una monitorización y estadísticas exhaustivas que permitan por ejemplo: Analizar el grado de automatismo (para, si es bajo, revisar y mejorar el entrenamiento), revisar la carga de los sistemas (por si se producen picos de trabajo que pongan en riesgo el funcionamiento), revisar la carga de los usuarios (por si hay operadores o equipos con demasiado trabajo y otros sin asignación),..

Teniendo en cuenta todo lo anterior, mi recomendación cuando recibimos una propuesta de un nuevo producto con “las últimas tecnologías de IA” o “un avanzado motor cognitivo” es revisar en detalle, no solo la clasificación sino cómo resuelven todos esos puntos críticos que al final asegurarán la calidad y automatismo. En otro caso se perderá tiempo y dinero con un producto inadecuado.

Hay que recordar que se trata de un enfoque industrial de automatización. No estamos eligiendo un “coche deportivo con un motor potente”, sino una “furgoneta de reparto”. Hay que repartir por caminos sucios y debemos asegurarnos de que no se pinchen las ruedas, de “no dejarse los bajos” con los baches y de que existan talleres cercanos para arreglarlo lo antes posible.

Por supuesto hay casos en que un sistema sencillo o no especializado puede ser suficiente. Pero no hay que engañarse, los problemas anteriores están siempre vigentes en mayor o menor medida.

Desde un punto de vista económico, puede también plantearse que, en función del volumen previsto, no se justifica un sistema especializado; pero siguiendo esa línea de razonamiento, hay que revisar si realmente se requiere algún tipo de sistema o puede hacerse manualmente, ahorrando costes, licencias y/o infraestructura.

Algunos productos:

Hay muchos productos muy establecidos y probados en el mercado (algunos de ellos llevan más de 15 años). Entre ellos yo destacaría:

· TCG DocProStar (https://www.tcgprocess.com/es-cl/products/docprostar/ ): En producto más nuevo que el resto, pero que ha alcanzado una madurez y potencia comparable o superior a cualquiera de los líderes tradicionales. Junto a un potente motor de BPM para diseñar procesos complejos incluye la posibilidad de despliegue en Cloud/contenedores o de cliente móvil de captura.

· Kofax KTA (https://www.kofax.com/products/totalagility ): KTA es el producto más avanzado de Kofax, una empresa que lleva muchos años en el mercado, con una amplia gama de productos en el ámbito del tratamiento de la documentación. Su motor de análisis y entrenamiento es el muy probado en su producto anterior KTM. Este nuevo producto incluye un motor de BPM así como cliente móvil.

· Opentext Intelligent Capture (https://www.opentext.com/products-and-solutions/products/enterprise-content-management/intelligent-capture ): La compañía OpenText especializada en gestión documental, y que adquirió toda la gama de Documentum, incluye un producto muy completo de captura. Permite diseñar procesos complejos, obtener resúmenes de documentos e integración con dispositivos móviles.

· Abbyy Flexicapture (https://www.abbyy.com/es/flexicapture/ ): Abbyy tradicionalmente ofrecía un motor muy avanzado de OCR, que de hecho era utilizado/licenciado por muchos de los productos y gradualmente ha desarrollado productos para cubrir todo el circuito, como es Flexicapture. Recientemente han presentado un nuevo producto más avanzado: Abbyy Vantage.

· Canon IRISXtract (https://www.canon.es/business/products/software/irisxtract/ ) : Canon, aunque conocido sobre todo por sus dispositivos de impresión y digitalización, tiene varios productos en el ámbito de la gestión documental, y entre ellos, un producto de IDP, IRISXtract, del que destacaría su capacidad de extracción de tablas (Facturas, informes, ..).

¿Qué producto elegir?

Si siempre afirmo que “no hay mejor producto sino producto más adecuado a un escenario”, y que por tanto debe evaluarse qué nos conviene para nuestras necesidades, en este caso con más razón.

Dado que son procesos complejos y qué el objetivo es automatizar y mejorar el proceso todo lo posible, recomiendo un análisis en profundidad. Lógicamente debe incluir, además de características técnicas y funcionales, los costes.

Generalmente el modelo de casi todos los productos especializados de este tipo suele ser de coste por página procesada (o documento), pero con un escalado. De esta forma, si licenciamos, por ejemplo 100.000 páginas/año el precio podría ser 0,05€ por página, pero si licenciamos 1.000.000 páginas/año el precio por página podría ser de 0.01€ (NO son precios reales, es un ejemplo).

Pero además del precio por página, según el fabricante puede haber costes en función del número de puestos de revisión manual y/o servidores y/o funciones especiales. Por lo que lo mejor es solicitar un presupuesto de acuerdo a nuestras necesidades, teniendo en cuenta tanto costes del licenciamiento como infraestructura, entrenamiento y personal necesario para la revisión manual.

En general, a partir de un volumen no muy grande, este tipo de herramientas puede reducir los costes de tratamiento, aumentar la calidad y acelerar los procesos, así que animo a utilizarlos. Volviendo al inicio de este texto, la inteligencia artificial YA está “empaquetada” y disponible en este ámbito, con productos estables y muy probados, para librarnos de unas tarea lenta, tediosa y costosa.

Después de cierto tiempo creo que pensaremos “¡Cómo hacíamos este trabajo manualmente?”.

Sigue la serie de Joaquín Hierro sobre Gestión Documental