Automatizar el procesamiento de formularios PDF

Inteligencia de documentos de Azure AI
Servicios de Azure AI
Azure Logic Apps
Azure Functions

En este artículo se describe una arquitectura de Azure que puede usar para reemplazar métodos de procesamiento de formularios costosos e inflexibles con procesamiento automatizado de PDF flexible y rentable.

Architecture

Diagrama de la arquitectura de procesamiento de formularios PDF

Descargue un archivo de PowerPoint de esta arquitectura.

Flujo de trabajo

  1. Una cuenta de correo electrónico designada de Outlook recibe archivos PDF como datos adjuntos. La llegada de un correo electrónico desencadena una aplicación lógica para procesar el correo electrónico. La aplicación lógica se compila mediante las funcionalidades de Azure Logic Apps.
  2. La aplicación lógica carga los archivos PDF en un contenedor en Azure Data Lake Storage.
  3. También puede cargar manualmente o mediante programación archivos PDF en el mismo contenedor PDF.
  4. La llegada de un archivo PDF en el contenedor PDF desencadena otra aplicación lógica para procesar los formularios PDF que se encuentran en el archivo mencionado.
  5. La aplicación lógica envía la ubicación del archivo PDF a una aplicación de funciones para su procesamiento. La aplicación de funciones se compila mediante las funcionalidades de Azure Functions.
  6. La aplicación de funciones recibe la ubicación del archivo y lleva a cabo estas acciones:
    1. Divide el archivo en páginas únicas en caso de que el archivo tenga varias. Cada página contiene un formulario independiente. Los archivos divididos se guardan en un segundo contenedor en Data Lake Storage.
    2. Usa HTTPS POST, una API de REST de Azure, para enviar la ubicación del archivo PDF de página única a Documento de inteligencia de AI para su procesamiento. Cuando Documento de inteligencia de Azure AI completa su procesamiento, devuelve una respuesta a la aplicación de funciones, que coloca la información en una estructura de datos.
    3. Crea un archivo de datos JSON que contiene los datos de respuesta y almacena el archivo en un tercer contenedor en Data Lake Storage.
  7. La aplicación lógica de procesamiento de formularios recibe los datos de respuesta procesados.
  8. La aplicación lógica de procesamiento de formularios envía los datos procesados a Azure Cosmos DB, que los guarda en una base de datos y en colecciones.
  9. Power BI obtiene los datos de Azure Cosmos DB y proporciona información y paneles.
  10. Puede implementar un procesamiento adicional según sea necesario en los datos de Azure Cosmos DB.

Componentes

  • Servicios de Azure AI es una categoría de productos de Azure AI que usa Servicios de Azure AI, inteligencia artificial específica de tareas y lógica de negocios para proporcionar servicios de inteligencia artificial inmediata para procesos empresariales comunes. Uno de estos productos es Documento de inteligencia de Azure AI, que usa modelos de Machine Learning para extraer pares clave-valor, texto y tablas de documentos.
  • Azure Logic Apps es un servicio en la nube sin servidor que permite crear y ejecutar flujos de trabajo automatizados que integren aplicaciones, datos, servicios y sistemas.
  • Azure Functions es una solución sin servidor que le permite escribir menos código, mantener menos infraestructura y ahorrar costos.
  • Azure Data Lake Storage es una base para crear lagos de datos empresariales en Azure.
  • Azure Cosmos DB es una base de datos NoSQL y relacional totalmente administrada para el desarrollo de aplicaciones modernas.
  • Power BI es una colección de servicios de software, aplicaciones y conectores que funcionan conjuntamente para que pueda convertir los orígenes de datos no relacionados en información coherente, interactiva y visualmente atractiva.

Alternativas

  • Puede usar Azure SQL Database en vez de Azure Cosmos DB para almacenar los datos procesados de los formularios.
  • Puede usar Azure Data Explorer para visualizar los datos de formularios procesados que se almacenan en Data Lake Storage.

Detalles del escenario

El procesamiento de formularios suele ser una función empresarial crítica. Muchas empresas siguen confiando en procesos manuales que son costosos, lentos y propensos a errores. Reemplazar los procesos manuales reduce el costo y el riesgo, además de que agiliza la empresa.

En este artículo se describe una arquitectura que puede usar para reemplazar el procesamiento manual de formularios PDF o sistemas heredados costosos que automatizan el procesamiento de formularios PDF. Documento de inteligencia de Azure AI procesa los formularios PDF, Logic Apps proporciona el flujo de trabajo y Functions provee las funcionalidades de procesamiento de datos.

Para información sobre la implementación, consulte Implementación de este escenario en este artículo.

Posibles casos de uso

La solución que se describe en este artículo puede procesar muchos tipos de formularios, entre los que se incluyen:

  • Facturas
  • Registros de pago
  • Registros de seguridad
  • Registros de incidentes
  • Registros de cumplimiento
  • Pedidos de compra
  • Formularios de autorización de pago
  • Formularios de comprobación de estado
  • Formularios de encuestas

Consideraciones

Estas consideraciones constituyen los pilares del Marco de buena arquitectura de Azure, un conjunto de principios rectores que puede usar para mejorar la calidad de una carga de trabajo. Para más información, consulte Marco de buena arquitectura de Microsoft Azure.

Confiabilidad

La confiabilidad garantiza que la aplicación pueda cumplir los compromisos contraídos con los clientes. Para más información, consulte Resumen del pilar de fiabilidad.

Una carga de trabajo de confianza es aquella que es resistente y a la vez está disponible. La resistencia es la capacidad de un sistema de recuperarse de los errores y seguir funcionando. El objetivo de la resistencia es devolver la aplicación a un estado plenamente operativo después de un error. La disponibilidad mide si los usuarios pueden acceder a la carga de trabajo cuando lo necesiten.

Esta arquitectura está pensada como una arquitectura de inicio que puede implementar rápidamente y crear prototipos para ofrecer una solución empresarial. Si el prototipo es un éxito, puede ampliar y mejorar la arquitectura para cumplir los requisitos adicionales (si es necesario).

Esta arquitectura usa tecnologías e infraestructuras de Azure escalables y resistentes. Por ejemplo, Azure Cosmos DB tiene redundancia integrada y cobertura global que puede configurar para satisfacer sus necesidades.

Para conocer las garantías de disponibilidad de los servicios de Azure que usa esta solución, consulte Acuerdos de nivel de servicio (SAL) para Online Services.

Seguridad

La seguridad proporciona garantías contra ataques deliberados y el abuso de datos y sistemas valiosos. Para más información, consulte Introducción al pilar de seguridad.

La cuenta de correo electrónico de Outlook que se usa en esta arquitectura es una cuenta dedicada que recibe formularios PDF como archivos adjuntos. Se recomienda limitar los remitentes únicamente a las partes de confianza y evitar que actores malintencionados envíen correo no deseado a la cuenta de correo electrónico.

La implementación de esta arquitectura que se describe en Implementación de este escenario toma las siguientes medidas para aumentar la seguridad:

  • Los scripts de implementación de PowerShell y Bicep usan Azure Key Vault para almacenar información confidencial y que no se muestre en las pantallas de terminal ni se almacene en los registros de implementación.
  • Las identidades administradas proporcionan una identidad administrada automáticamente en Microsoft Entra ID para que las aplicaciones la utilicen al conectarse a los recursos que admiten la autenticación de Microsoft Entra. La aplicación de funciones usa identidades administradas para que el código no dependa de entidades de seguridad individuales y no contenga información de identidad confidencial.

Optimización de costos

La optimización de costos trata de buscar formas de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para más información, vea Información general del pilar de optimización de costos.

Estas son algunas de las directrices para optimizar costos:

  • Use la estrategia de pago por uso para la arquitectura y escale horizontalmente según sea necesario, en lugar de invertir en recursos a gran escala desde el principio.
  • La implementación de la arquitectura que se describe en Implementación de este escenario implementa una solución de inicio adecuada para la prueba de concepto. Los scripts de implementación crean una arquitectura de trabajo con requisitos mínimos de recursos. Por ejemplo, los scripts de implementación crean un host de Linux sin servidor más pequeño para ejecutar la aplicación de funciones.

Eficiencia del rendimiento

La eficiencia del rendimiento es la capacidad que tiene la carga de trabajo para reducir horizontalmente de manera eficiente con el fin de satisfacer las demandas que le hacen los usuarios. Para obtener más información, vea Resumen del pilar de eficiencia del rendimiento.

Esta arquitectura utiliza servicios que tienen funcionalidades de escalado integradas que puede usar para mejorar la eficiencia del rendimiento. Estos son algunos ejemplos:

Implementación de este escenario

Puede implementar una versión rudimentaria de esta arquitectura, un acelerador de soluciones, y usarla como punto inicial para implementar su propia solución. La implementación de referencia del acelerador incluye código, scripts de implementación y una guía de implementación.

El acelerador recibe los formularios PDF, extrae los campos de datos y guarda los datos en Azure Cosmos DB. Power BI visualiza los datos. El diseño usa una metodología modular controlada por metadatos. No hay campos de formulario codificados de forma rígida. Puede procesar cualquier formulario PDF.

Puede usar el acelerador tal cual, sin modificaciones de código, para procesar y visualizar formularios PDF de página única, como formularios de seguridad, facturas, registros de incidentes y muchos otros. Para usarlo, solo tiene que recopilar formularios PDF de muestra, entrenar un nuevo modelo para aprender el diseño de los formularios y conectarlo a la solución. También debe rediseñar el informe de Power BI para los conjuntos de datos de modo que proporcione la información que desee.

La implementación usa Documento de inteligencia de Azure AI Studio para crear modelos personalizados. El acelerador usa los nombres de campo que se guardan en el modelo de Machine Learning como referencia para procesar otros formularios. Solo se necesitan cinco formularios de muestra para crear un modelo de Machine Learning personalizado. Puede combinar hasta 100 modelos personalizados para crear un modelo de Machine Learning compuesto que pueda procesar una variedad de formularios.

Repositorio de implementación

El repositorio de GitHub para el acelerador de soluciones se encuentra en el Acelerador de soluciones de automatización del procesamiento de formularios PDF de Azure, que contiene la guía de implementación de esta solución.

Requisitos previos de implementación

Para implementar, necesita una suscripción de Azure. Para más información sobre las suscripciones gratuitas, consulte Compilación en la nube con una cuenta gratuita de Azure.

Para obtener información sobre los servicios que se usan en el acelerador, consulte los artículos de información general y referencia que aparecen en:

Consideraciones de la implementación

Para procesar un nuevo tipo de formulario PDF, use archivos PDF de muestra para crear un nuevo modelo de Machine Learning. Cuando el modelo esté listo, conecte el identificador a la solución.

Este nombre de contenedor se puede configurar en los scripts de implementación que obtiene del repositorio de GitHub.

La arquitectura no aborda los requisitos de alta disponibilidad (HA) ni de recuperación ante desastres (DR). Si desea ampliar y mejorar la arquitectura actual para la implementación de producción, tenga en cuenta las siguientes recomendaciones y procedimientos recomendados:

  • Diseñe la arquitectura de alta disponibilidad y recuperación ante desastres en función de sus requisitos y use las funcionalidades de redundancia integradas cuando corresponda.
  • Actualice el código de implementación de Bicep para crear un entorno informático que pueda controlar los volúmenes de procesamiento.
  • Actualice el código de implementación de Bicep para crear más instancias de los componentes de arquitectura para satisfacer los requisitos de alta disponibilidad y recuperación ante desastres.
  • Siga las instrucciones de Redundancia de Azure Storage al diseñar y aprovisionar el almacenamiento.
  • Siga las instrucciones de Continuidad empresarial y recuperación ante desastres al diseñar y aprovisionar las aplicaciones lógicas.
  • Siga las instrucciones de Confiabilidad en Azure Functions al diseñar y aprovisionar la aplicación de funciones.
  • Siga las instrucciones de Lograr alta disponibilidad con Azure Cosmos DB al diseñar y aprovisionar una base de datos que se creó con Azure Cosmos DB.
  • Si considera la posibilidad de colocar este sistema en producción para procesar grandes volúmenes de formularios PDF, puede modificar los scripts de implementación para crear un host de Linux con más recursos. Para ello, modifique el código dentro de deploy-functionsapp.bicep

Colaboradores

Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.

Autor principal:

Otros colaboradores:

Para ver los perfiles no públicos de LinkedIn, inicie sesión en LinkedIn.

Pasos siguientes