Logotipo de Zephyrnet

Cree una canalización de análisis de documentos rastreable, personalizada y de varios formatos con Amazon Textract

Fecha:

Los formularios organizacionales sirven como una herramienta comercial principal en todas las industrias, desde servicios financieros hasta atención médica y más. Considere, por ejemplo, los formularios de declaración de impuestos en la industria de administración de impuestos, donde cada año salen nuevos formularios con prácticamente la misma información. Los clientes de AWS de todos los sectores necesitan procesar y almacenar información en formularios como parte de su práctica comercial diaria. Estos formularios a menudo sirven como un medio principal para que la información fluya hacia una organización donde los medios tecnológicos de captura de datos no son prácticos.

Además de utilizar formularios para capturar información, a lo largo de los años de ofrecer Amazon Textil, hemos observado que los clientes de AWS con frecuencia actualizan sus formularios organizacionales en función de los cambios estructurales realizados, los campos agregados o modificados, u otras consideraciones, como un cambio de año o de versión del formulario.

Cuando la estructura o el contenido de un formulario cambia, con frecuencia esto puede causar desafíos para los sistemas de OCR tradicionales o afectar las herramientas posteriores que se utilizan para capturar información, incluso cuando necesita capturar la misma información año tras año y agregar los datos para su uso independientemente del formato. del documento

Para resolver este problema, en esta publicación demostramos cómo puede crear e implementar una canalización de análisis de documentos multiformato, sin servidor y basada en eventos con Amazon Textract.

Resumen de la solución

El siguiente diagrama ilustra la arquitectura de nuestra solución:

En primer lugar, la solución ofrece ingesta de canalización utilizando Servicio de almacenamiento simple de Amazon (Amazon S3), notificaciones de eventos de Amazon S3 y una Servicio de cola simple de Amazon (Amazon SQS) para que el procesamiento comience cuando un formulario llega a la partición de destino de Amazon S3. un evento en Puente de eventos de Amazon se crea y se envía a un AWS Lambda objetivo que activa un trabajo de Amazon Textract.

Puede utilizar servicios de AWS sin servidor como Lambda y Funciones de paso de AWS para crear integraciones de servicios asincrónicos entre los servicios de IA de AWS y los servicios de base de datos y análisis de AWS para almacenamiento, análisis e IA y aprendizaje automático (ML). En esta publicación, demostramos cómo utilizar Step Functions para controlar y mantener de forma asíncrona el estado de las solicitudes a las API asíncronas de Amazon Textract. Esto se logra mediante el uso de una máquina de estado para gestionar llamadas y respuestas. Usamos Lambda dentro de la máquina de estado para fusionar los datos de respuesta API paginados de Amazon Textract en un único objeto JSON que contiene datos de texto semiestructurados extraídos mediante OCR.

Luego filtramos a través de diferentes formularios utilizando un enfoque estandarizado para agregar estos datos de OCR en un formato estructurado común usando Atenea amazónica y un SQL Amazon Texttract JSON Serde.

Puede realizar un seguimiento de los pasos realizados a través de esta canalización mediante Step Functions sin servidor para realizar un seguimiento del estado de procesamiento y retener el resultado de cada estado. Esto es algo que los clientes de algunas industrias prefieren hacer cuando trabajan con datos en los que debe conservar los resultados de todas las predicciones de servicios como Amazon Textract para promover la explicabilidad de los resultados de su tubería a largo plazo.

Finalmente, puede consultar los datos extraídos en las tablas de Athena.

En las siguientes secciones, lo guiaremos a través de la configuración de la canalización usando Formación en la nube de AWS, probar la canalización y agregar nuevas versiones de formulario. Esta canalización proporciona una solución mantenible porque cada componente (ingesta, extracción de texto, procesamiento de texto) es independiente y está aislado.

Definir parámetros de entrada predeterminados para las pilas de CloudFormation

Para definir los parámetros de entrada para las pilas de CloudFormation, abra default.properties bajo el params carpeta e ingrese el siguiente código:

- set the default value for parameter 'pInputBucketName' for Input S3 bucket - set the default value for parameter 'pOutputBucketName' for Output S3 bucket - set the default value for parameter 'pInputQueueName' for Ingest SQS (a.k.a job scheduler)

Implementar la solución

Para implementar su canalización, complete los siguientes pasos:

  1. Elige Pila de lanzamiento:
  2. Elige Siguiente.
  3. Especifique los detalles de la pila como se muestra en la siguiente captura de pantalla y elija Siguiente.
  4. En Configurar opciones de pila sección, agregue etiquetas opcionales, permisos y otras configuraciones avanzadas.
  5. Elige Siguiente.
  6. Revise los detalles de la pila y seleccione Reconozco que AWS CloudFormation podría crear recursos de IAM con nombres personalizados.
  7. Elige Crear pila.

Esto inicia la implementación de la pila en su cuenta de AWS.

Una vez que la pila se implementa correctamente, puede comenzar a probar la canalización como se describe en la siguiente sección.

Probar la tubería

Después de una implementación exitosa, complete los siguientes pasos para probar su canalización:

  1. Descargue nuestra archivos de muestra en tu computadora.
  2. Crear una /uploads carpeta (partición) en el depósito S3 de entrada recién creado.
  3. Cree las carpetas separadas (particiones) como jobapplications bajo /uploads.
  4. Cargue la primera versión de la solicitud de empleo desde la carpeta de documentos de muestra a la /uploads/jobapplications dividir.

Cuando se completa la canalización, puede encontrar el valor-clave extraído para esta versión del documento en /OuputS3/03-textract-parsed-output/jobapplications en la consola de Amazon S3.

También puede encontrarlo en la tabla Athena (applications_data_table) sobre el Base de datos menú (jobapplicationsdatabase).

  1. Cargue la segunda versión de la solicitud de empleo desde la carpeta de documentos de muestra a la /uploads/jobapplications dividir.

Cuando se completa la canalización, puede encontrar el valor-clave extraído para esta versión en /OuputS3/03-textract-parsed-output/jobapplications en la consola de Amazon S3.

También puede encontrarlo en la tabla Athena (applications_data_table) sobre el Base de datos menú (jobapplicationsdatabase).

¡Ya terminaste! Ha implementado correctamente su canalización.

Agregar nuevas versiones de formulario

Actualizar la solución para una nueva versión del formulario es sencillo: cada versión del formulario solo necesita actualizarse probando las consultas en la pila de procesamiento.

Después de realizar las actualizaciones, puede volver a implementar la canalización actualizada mediante las API de AWS CloudFormation y procesar nuevos documentos, llegando a los mismos puntos de datos estándar para su esquema con una interrupción mínima y el esfuerzo de desarrollo necesario para realizar cambios en su canalización. Esta flexibilidad, que se logra desvinculando el análisis y el comportamiento de extracción y utilizando la funcionalidad JSON SerDe en Athena, hace que esta canalización sea una solución mantenible para cualquier número de versiones de formulario que su organización necesite procesar para recopilar información.

A medida que ejecuta la solución de ingesta, los datos de los formularios entrantes se completan automáticamente en Athena con información sobre los archivos y las entradas asociadas a ellos. Cuando los datos en sus formularios pasan de datos no estructurados a datos estructurados, están listos para usar en aplicaciones posteriores, como análisis, modelado ML y más.

Limpiar

Para evitar incurrir en cargos continuos, elimine los recursos que creó como parte de esta solución cuando haya terminado.

  1. En la consola de Amazon S3, elimine manualmente los depósitos que creó como parte de la pila de CloudFormation.
  2. En la consola de AWS CloudFormation, elija Stacks en el panel de navegación.
  3. Seleccione la pila principal y elija Borrar.

Esto elimina automáticamente las pilas anidadas.

Conclusión

En esta publicación, demostramos cómo los clientes que buscan rastrear y personalizar el procesamiento de documentos pueden crear e implementar una canalización de análisis de documentos multiformato, sin servidor y basada en eventos con Amazon Textract. Esta canalización proporciona una solución mantenible porque cada componente (ingesta, extracción de texto, procesamiento de texto) es independiente y está aislado, lo que permite a las organizaciones poner en funcionamiento sus soluciones para abordar diversas necesidades de procesamiento.

Pruebe la solución hoy y deje sus comentarios en la sección de comentarios.


Acerca de los autores

emily soward es un científico de datos con los servicios profesionales de AWS. Tiene una Maestría en Ciencias con distinción en Inteligencia Artificial de la Universidad de Edimburgo en Escocia, Reino Unido, con énfasis en Procesamiento del Lenguaje Natural (PNL). Emily se ha desempeñado en roles de ingeniería y ciencia aplicada centrados en la investigación y el desarrollo de productos habilitados para IA, la excelencia operativa y la gobernanza para las cargas de trabajo de IA que se ejecutan en organizaciones del sector público y privado. Contribuye a la orientación del cliente como oradora sénior de AWS y, recientemente, como autora de AWS Well-Architected in the Machine Learning Lens.

Sandeep Singh es un científico de datos con los servicios profesionales de AWS. Tiene una Maestría en Ciencias en Sistemas de Información con concentración en IA y Ciencia de Datos de la Universidad Estatal de San Diego (SDSU), California. Es un científico de datos completo con una sólida formación en informática y un asesor de confianza con especialización en sistemas de IA y diseño de control. Le apasiona ayudar a los clientes a llevar sus proyectos de alto impacto en la dirección correcta, asesorarlos y guiarlos en su viaje a la nube y crear soluciones habilitadas para IA/ML de última generación.

punto_img

Información más reciente

punto_img