Muchas organizaciones que abarcan diferentes tamaños y verticales de la industria aún dependen de grandes volúmenes de documentos para ejecutar sus operaciones diarias. Para resolver este desafío empresarial, los clientes utilizan servicios de procesamiento de documentos inteligentes de AWS, como Amazon Textil y Amazon Comprehend para ayudar con extracción y automatización de procesos. Antes de poder extraer texto, pares clave-valor, tablas y entidades, debe poder dividir documentos PDF de varias páginas que a menudo contienen tipos de formularios heterogéneos. Por ejemplo, en el procesamiento de hipotecas, un corredor o una persona que procesa un préstamo puede necesitar dividir un paquete de préstamo en PDF consolidado, que contiene la solicitud de hipoteca (formulario 1003 de Fannie Mae), W2, verificación de ingresos, formularios de impuestos 1040 y más.
Para abordar este problema, las organizaciones utilizan el procesamiento basado en reglas: identificar tipos de documentos a través de títulos de formularios, números de página, longitudes de formularios, etc. Estos enfoques son propensos a errores y difíciles de escalar, especialmente cuando los tipos de formulario pueden tener varias variaciones. En consecuencia, estas soluciones se descomponen rápidamente en la práctica y aumentan la necesidad de intervención humana.
En esta publicación, mostramos cómo puede crear su propia solución de división de documentos con poco código para cualquier conjunto de formularios, sin crear reglas personalizadas ni procesar flujos de trabajo.
Resumen de la solución
Para esta publicación, usamos un conjunto de formularios de solicitud de hipoteca comunes para demostrar cómo puede usar Amazon Textract y Amazon Comprehend para crear un separador de documentos inteligente que sea más sólido que los enfoques anteriores. Al procesar documentos para solicitudes de hipoteca, el prestatario envía un PDF de varias páginas que se compone de tipos de documentos heterogéneos de diferentes longitudes de página; para extraer información, el usuario (por ejemplo, un banco) debe desglosar este PDF.
Aunque mostramos un ejemplo específico para formularios de hipotecas, generalmente puede escalar y aplicar este enfoque a casi cualquier conjunto de documentos PDF de varias páginas.
Usamos Amazon Textract para extraer datos del documento y crear un conjunto de datos compatible con Amazon Comprehend para entrenar a un modelo de clasificación de documentos. A continuación, entrenamos el modelo de clasificación y creamos un punto final de clasificación que puede realizar análisis de documentos en tiempo real. Tenga en cuenta que los puntos finales de clasificación de Amazon Textract y Amazon Comprehend incurren en cargos, así que consulte Precios de Amazon Textract y Precios de Amazon Comprehend para más información. Finalmente, mostramos cómo podemos clasificar documentos con este punto final y dividir documentos según los resultados de la clasificación.
Esta solución utiliza los siguientes servicios de AWS:
Requisitos previos
Debe completar los siguientes requisitos previos para compilar e implementar esta solución:
- Instalar Pitón 3.8.x.
- Instalar jq.
- Instalar la CLI de AWS SAM.
- Instalar Docker.
- Asegúrese de que dispone pip instalado.
- Instalar y configurar las Interfaz de línea de comandos de AWS (CLI de AWS).
- Configurar sus credenciales de AWS.
La solución está diseñada para funcionar de manera óptima en el us-east-1
y us-west-2
Regiones para aprovechar las cuotas predeterminadas más altas para Amazon Textract. Para cargas de trabajo regionales específicas, consulte Puntos finales y cuotas de Amazon Textract. Asegúrese de usar una sola región para toda la solución.
Clonar el repositorio
Para comenzar, clone el repositorio ejecutando el siguiente comando; luego cambiamos al directorio de trabajo:
Flujos de trabajo de la solución
La solución consta de tres flujos de trabajo:
- flujo de trabajo1_endpointbuilder – Toma los documentos de capacitación y crea un punto final de clasificación personalizado en Amazon Comprehend.
- flujo de trabajo2_docsplitter – Actúa como el servicio de división de documentos, donde los documentos se dividen por clase. Utiliza el punto final de clasificación creado en
workflow1
. - flujo de trabajo3_local – Está destinado a clientes que se encuentran en industrias altamente reguladas y no pueden almacenar datos en Amazon S3. Este flujo de trabajo contiene versiones locales de
workflow1
yworkflow2
.
Profundicemos en cada flujo de trabajo y cómo funcionan.
Flujo de trabajo 1: Cree un clasificador de Amazon Comprehend a partir de documentos PDF, JPG o PNG
El primer flujo de trabajo toma los documentos almacenados en Amazon S3 y los envía a través de una serie de pasos para extraer los datos de los documentos a través de Amazon Textract. Luego, los datos extraídos se utilizan para crear un punto de enlace de clasificación personalizado de Amazon Comprehend. Esto se demuestra en el siguiente diagrama de arquitectura.
Almorzar workflow1
, necesita el URI de Amazon S3 de la carpeta que contiene los archivos del conjunto de datos de entrenamiento (pueden ser imágenes, PDF de una sola página o PDF de varias páginas). La estructura de la carpeta debe ser la siguiente:
Alternativamente, la estructura puede tener subdirectorios anidados adicionales:
Los nombres de los subdirectorios de clase (el segundo nivel de directorio) se convierten en los nombres de las clases utilizadas en el modelo de clasificación personalizado de Amazon Comprehend. Por ejemplo, en la siguiente estructura de archivos, la clase para form123.pdf
is tax_forms
:
Para iniciar el flujo de trabajo, complete los siguientes pasos:
- Cargue el conjunto de datos en un depósito de S3 de su propiedad.
La recomendación es tener más de 50 muestras para cada clase en la que desee clasificar. La siguiente captura de pantalla muestra un ejemplo de esta estructura de clase de documento.
- Construye el
sam-app
ejecutando los siguientes comandos (modifique los comandos proporcionados según sea necesario):
El resultado de la compilación es un ARN para una máquina de estado de Step Functions.
- Cuando la compilación esté completa, navegue hasta el Máquinas de estado página en la consola de Step Functions.
- Elija la máquina de estado que creó.
- Elige Iniciar ejecución.
- Ingrese los siguientes parámetros de entrada requeridos:
La máquina de estado inicia el flujo de trabajo. Esto puede llevar varias horas dependiendo del tamaño del conjunto de datos. La siguiente captura de pantalla muestra nuestra máquina de estado en progreso.
Cuando la máquina de estado está completa, cada paso en el gráfico es verde, como se muestra en la siguiente captura de pantalla.
Puede navegar a la consola de Amazon Comprehend para ver el punto de enlace implementado.
Ahora ha creado su clasificador personalizado utilizando sus documentos. Esto marca el final de workflow1
.
Flujo de trabajo 2: construir un punto final
El segundo flujo de trabajo toma el punto final que creó en workflow1
y divide los documentos en función de las clases con las que se ha entrenado el modelo. Esto se demuestra en el siguiente diagrama de arquitectura.
Almorzar workflow2
, construimos el sam-app
. Modifique los comandos provistos según sea necesario:
Después de crear la pila, recibe un DNS de Load Balancer en el Salidas pestaña de la pila de CloudFormation. Puede comenzar a realizar solicitudes a este extremo.
Una solicitud de muestra está disponible en el workflow2_docsplitter/sample_request_folder/sample_s3_request.py
expediente. La API toma tres parámetros: el nombre del depósito de S3, el URI de Amazon S3 del documento y el ARN del punto final de clasificación de Amazon Comprehend. Workflow2 solo admite la entrada de PDF.
Para nuestra prueba, utilizamos un documento hipotecario de 11 páginas con cinco tipos de documentos diferentes.
La respuesta para la API es un URI de Amazon S3 para un archivo .zip con todos los documentos divididos. También puede encontrar este archivo en el depósito que proporcionó en su llamada a la API.
Descargue el objeto y revise los documentos divididos según la clase.
Esto marca el final de workflow2
. Ahora hemos mostrado cómo podemos usar un punto de enlace de clasificación personalizado de Amazon Comprehend para clasificar y dividir documentos.
Flujo de trabajo 3: división de documentos locales
Nuestro tercer flujo de trabajo sigue un propósito similar al de workflow1
y workflow2
para generar un punto de enlace de Amazon Comprehend; sin embargo, todo el procesamiento se realiza utilizando su máquina local para generar un archivo CSV compatible con Amazon Comprehend. Este flujo de trabajo fue creado para clientes en industrias altamente reguladas donde los documentos PDF persistentes en Amazon S3 pueden no ser posibles. El siguiente diagrama de arquitectura es una representación visual del flujo de trabajo del generador de punto final local.
El siguiente diagrama ilustra la arquitectura del divisor de documentos local.
Todo el código de la solución está disponible en el workflow3_local/local_endpointbuilder.py
para crear el punto de enlace de clasificación de Amazon Comprehend y workflow3_local/local_docsplitter.py
para enviar documentos para dividir.
Conclusión
La división de documentos es la clave para crear un flujo de trabajo de procesamiento de documentos exitoso e inteligente. Todavía es un problema muy relevante para las empresas, especialmente las organizaciones que agregan múltiples tipos de documentos para sus operaciones diarias. Algunos ejemplos incluyen el procesamiento de documentos de reclamos de seguros, solicitudes de pólizas de seguros, documentos de la SEC, formularios de impuestos y formularios de verificación de ingresos.
En esta publicación, tomamos un conjunto de documentos comunes utilizados para el procesamiento de préstamos, extrajimos los datos con Amazon Textract y construimos un punto final de clasificación personalizado de Amazon Comprehend. Con ese punto final, clasificamos los documentos entrantes y los dividimos según su clase respectiva. Puede aplicar este proceso a casi cualquier conjunto de documentos con aplicaciones en una variedad de industrias, como la atención médica y los servicios financieros. Para obtener más información sobre Amazon Texttract, visita la página web.
Acerca de los autores
aditi rajnish es estudiante de primer año de ingeniería de software en la Universidad de Waterloo. Sus intereses incluyen la visión artificial, el procesamiento del lenguaje natural y la computación perimetral. También le apasiona el alcance y la defensa de STEM basados en la comunidad. En su tiempo libre, se la puede encontrar escalando rocas, tocando el piano o aprendiendo a hornear el bollo perfecto.
Raj Pathak es Arquitecto de Soluciones y asesor técnico para clientes de Fortune 50 y FSI (Banca, Seguros, Mercados de Capital) de tamaño mediano en Canadá y Estados Unidos. Raj se especializa en aprendizaje automático con aplicaciones en extracción de documentos, transformación de centros de contacto y visión artificial.
- '
- 100
- 7
- Adicionales
- Ventaja
- tutor
- defensa
- Todos
- Amazon
- Amazon Comprehend
- Amazon Textil
- análisis
- abejas
- Aplicación
- aplicaciones
- arquitectura
- argumentos
- AWS
- equilibrador
- Banca
- Bancario
- corredor
- build
- constructor
- Construir la
- negocios
- llamar al
- Ubicación: Canadá
- capital
- Los mercados de capitales
- Reto
- cargos
- reclamaciones
- clasificación
- código
- Algunos
- Visión por computador
- informática
- Creamos
- Referencias
- Clientes
- datos
- dns
- Docker
- documentos
- Southern Implants
- informática de punta
- Punto final
- Ingeniería
- extraer los datos
- Extracción
- Finalmente
- financiero
- servicios financieros
- Nombre
- formulario
- Git
- GitHub
- Verde
- la salud
- Cómo
- Como Hacer
- HTTPS
- AMI
- por
- aumente
- industrias
- energético
- información
- aseguradora
- IT
- Clave
- idioma
- large
- lanzamiento
- APRENDE:
- aprendizaje
- Nivel
- línea
- carga
- préstamo
- local
- máquina de aprendizaje
- Industrias
- modelo
- Hipoteca
- nombres
- Lenguaje natural
- Procesamiento natural del lenguaje
- números
- Operaciones
- para las fiestas.
- (PDF)
- política
- Python
- en tiempo real
- Recursos
- respuesta
- Resultados
- una estrategia SEO para aparecer en las búsquedas de Google.
- reglas
- Ejecutar
- correr
- Escala
- SEG
- Serie
- Servicios
- set
- Tamaño
- So
- Software
- Ingeniería de software
- Soluciones
- RESOLVER
- se especializa
- dividido
- fundó
- Estado
- Zonas
- Potencias
- Estudiante
- exitosos
- soportes
- Switch
- deuda
- Técnico
- test
- La gráfica
- equipo
- Formación
- United
- Estados Unidos
- universidad
- URI
- Verificación
- visión
- QUIENES
- Actividades:
- flujo de trabajo
- X