Cree canalizaciones de procesamiento de documentos de extremo a extremo con Amazon Textract IDP CDK Constructs

El procesamiento inteligente de documentos (IDP) con AWS automatiza la extracción de información de documentos de varios tipos y formatos, de forma rápida y con alta precisión, sin necesidad de habilidades de aprendizaje automático (ML). La recuperación de información más rápida con alta precisión puede ayudarlo a tomar decisiones comerciales de calidad a tiempo, al tiempo que reduce los costos generales. Para obtener más información, consulte Procesamiento inteligente de documentos con AWS AI Services: Parte 1.

Sin embargo, la complejidad surge cuando se implementan escenarios del mundo real. Los documentos a menudo se envían desordenados o pueden enviarse como un paquete combinado con varios tipos de formularios. Se deben crear canalizaciones de orquestación para introducir la lógica comercial y también adaptarse a diferentes técnicas de procesamiento según el tipo de formulario que se ingrese. Estos desafíos solo se amplifican cuando los equipos manejan grandes volúmenes de documentos.

En este artículo, mostramos cómo resolver estos problemas usando Compilaciones de CDK de IDP de Amazon Texttract, un conjunto de construcciones IDP predefinidas, para acelerar el desarrollo de canalizaciones de procesamiento de documentos del mundo real. Para nuestro caso de uso, estamos procesando un documento de seguro de Acord para permitir el procesamiento directo, pero puede extender esta solución a cualquier caso de uso, que analizaremos más adelante en este artículo.

Procesamiento de documentos Acord a gran escala

El procesamiento directo (STP) es un término utilizado en la industria financiera para describir la automatización de una transacción de principio a fin sin necesidad de intervención manual. La industria de seguros utiliza STP para agilizar el proceso de suscripción y reclamos. Esto implica la extracción automática de datos de documentos de seguros, como solicitudes, documentos de pólizas y formularios de reclamaciones. La implementación de STP puede ser un desafío debido a la gran cantidad de datos y la variedad de formatos de documentos involucrados. Los documentos de seguro son inherentemente variados. Tradicionalmente, este proceso implica revisar manualmente cada documento e ingresar datos en un sistema, lo que requiere mucho tiempo y es propenso a errores. Este enfoque manual no solo es ineficiente, sino que también puede generar errores que pueden afectar significativamente el proceso de suscripción y reclamos. Aquí es donde entra en juego IDP en AWS.

Para lograr un flujo de trabajo más eficiente y preciso, las compañías de seguros pueden integrar IDP en AWS en el proceso de suscripción y reclamos. Con Amazon Textract y Amazon Comprehend, las aseguradoras pueden leer la escritura a mano y diferentes formatos de formulario, lo que facilita la extracción de información de varios tipos de documentos de seguros. Al implementar IDP en AWS en el proceso, STP se vuelve más fácil de realizar, lo que reduce la necesidad de intervención manual y acelera el proceso general.

Esta canalización permite a las compañías de seguros procesar de manera fácil y eficiente sus transacciones de seguros comerciales, lo que reduce la necesidad de intervención manual y mejora la experiencia general del cliente. Mostramos cómo usar Amazon Textract y Amazon Comprehend para extraer automáticamente datos de documentos de seguros comerciales, como Acord 140, Acord 125, Affidavit of Home Ownership y Acord 126, y analizar los datos extraídos para facilitar el proceso de suscripción. Estos servicios pueden ayudar a las compañías de seguros a mejorar la precisión y la velocidad de sus procesos STP, brindando una mejor experiencia para sus clientes.

Descripción general de la solución

La solución se crea con AWS Cloud Development Kit (AWS CDK) y consta de Amazon Comprehend para la clasificación de documentos, Amazon Textract para la extracción de documentos, Amazon DynamoDB para el almacenamiento, AWS Lambda para la lógica de la aplicación y AWS Step Functions para la organización de flujos de trabajo.

El pipeline incluye las siguientes fases:

  1. Dividir paquetes de documentos y clasificación de cada tipo de formulario utilizando Amazon Comprehend.
  2. Ejecute canalizaciones de procesamiento para cada tipo de formulario o página de formulario con la API de Amazon Textract adecuada (detección de firmas, extracción de tablas, extracción de formularios o consultas).
  3. Realice un procesamiento posterior de la salida de Amazon Textract en un formato legible por máquina.

La siguiente captura de pantalla del flujo de trabajo de Step Functions ilustra la canalización.

condiciones previas

Para comenzar con la solución, asegúrese de tener lo siguiente:

  • AWS CDK versión 2 instalada
  • Docker instalado y ejecutándose en su máquina
  • Acceso apropiado a Step Functions, DynamoDB, Lambda, Amazon Simple Queue Service (Amazon SQS), Amazon Textract y Amazon Comprehend

Clonar repositorio de GitHub

Comience por clonar el repositorio de GitHub:

git clone 

Cree un punto de enlace de clasificación de Amazon Comprehend

Primero, debemos proporcionar un punto final de clasificación de Amazon Comprehend.

Para esta publicación, el extremo detecta las siguientes clases de documentos (asegúrese de que el nombre sea coherente):

  • acord125
  • acord126
  • acord140
  • property_affidavit

Puedes crear uno usando el comprehend_acord_dataset.csv conjunto de datos de muestra en el repositorio de GitHub. Para entrenar y crear un punto final de clasificación personalizado utilizando el conjunto de datos de muestra proporcionado, siga las instrucciones en Entrenar clasificadores personalizados. Si desea utilizar sus propios archivos PDF, consulte el primer flujo de trabajo en la publicación Separe de forma inteligente paquetes de documentos de varios formularios con Amazon Textract y Amazon Comprehend.

Después de entrenar su clasificador y crear un punto de enlace, debe tener un ARN de punto de enlace de clasificación personalizado de Amazon Comprehend que se parezca al siguiente código:

arn:aws:comprehend:<REGION>:<ACCOUNT_ID>:document-classifier-endpoint/<CLASSIFIER_NAME>

Ir hacia docsplitter/document_split_workflow.py y edite las líneas 27 y 28, que contienen comprehend_classifier_endpoint. Ingrese su ARN de punto final en línea 28.

Instalar dependencias

Ahora instalas las dependencias del proyecto:

python -m pip install -r requirements.txt

Inicialice la cuenta y la región para AWS CDK. Esto creará los depósitos y roles de Amazon Simple Storage Service (Amazon S3) para que la herramienta AWS CDK almacene los artefactos y pueda implementar la infraestructura. Ver el siguiente código:

Implemente la pila de CDK de AWS

Cuando el clasificador de Amazon Comprehend y la tabla de configuración de documentos estén listos, implemente la pila con el siguiente código:

cdk deploy DocumentSplitterWorkflow --outputs-file document_splitter_outputs.json --require-approval never

Descargar documento

Verifique que la pila esté completamente extendida.

Luego, en la ventana de la terminal, ejecute el aws s3 cp comando para subir el documento a la DocumentUploadLocation para el DocumentSplitterWorkflow:

aws s3 cp sample-doc.pdf $(aws cloudformation list-exports --query 'Exports[?Name==`DocumentSplitterWorkflow-DocumentUploadLocation`].Value' --output text)

Hemos creado un paquete de documentos de muestra de 12 páginas que contiene los formularios Acord 125, Acord 126, Acord 140 y Property Affidávit. Las siguientes imágenes muestran un extracto de una página de cada documento.

Todos los datos de los formularios son sintéticos y los formularios estándar de Acord son propiedad de Acord Corporation y se utilizan aquí solo con fines de demostración.

Ejecute el flujo de trabajo de Step Functions

Ahora abra el flujo de trabajo de Step Function. Puede obtener el enlace del flujo de trabajo de Step Function desde el document_splitter_outputs.json archivo, la consola de Step Functions o usando el siguiente comando:

aws cloudformation list-exports --query 'Exports[?Name==`DocumentSplitterWorkflow-StepFunctionFlowLink`].Value' --output text

Según el tamaño del lote de documentos, la duración del flujo de trabajo variará. El documento de muestra debe tardar entre 1 y 2 minutos en procesarse. El siguiente diagrama ilustra el flujo de trabajo de Step Functions.

Cuando termine su trabajo, acceda al código de entrada y salida. Desde allí, verá los archivos CSV legibles por máquina para cada uno de los formularios respectivos.

Para descargar estos archivos, abra getfiles.py. Configure los archivos para que sean la lista generada por la ejecución de la máquina de estado. Puede realizar esta función ejecutando python3 getfiles.py. Esto generará la csvfiles_<TIMESTAMP> carpeta, como se muestra en la siguiente captura de pantalla.

Felicitaciones, ahora ha implementado un flujo de trabajo de procesamiento de extremo a extremo para un reclamo de seguro comercial.

Extender la solución para cualquier tipo de formulario

En este artículo, demostramos cómo podríamos usar construcciones de CDK de IDP de Amazon Textract para un caso de uso de garantía comercial. Sin embargo, puede extender estas construcciones para cualquier tipo de formulario. Para hacer esto, primero volvemos a entrenar nuestro clasificador de Amazon Comprehend para que tenga en cuenta el nuevo tipo de formulario y ajustamos el código como lo hicimos anteriormente.

Para cada uno de los tipos de formulario que entrenó, necesitamos especificar sus consultas y textract_features en el generar_csv.py archivar. Esto personaliza la canalización de procesamiento para cada tipo de formulario utilizando la API de Amazon Textract adecuada.

Queries es una lista de consultas. Por ejemplo, «¿Cuál es la dirección de correo electrónico principal?» en la página 2 del documento de muestra. Para obtener más información, consulte Consultas.

textract_features es una lista de características de Amazon Textextract que desea extraer del documento. Pueden ser TABLAS, FORMULARIOS, CONSULTAS o FIRMAS. Para obtener más información, consulte Tipos de características.

Ir hacia generate_csv.py. Cada tipo de documento necesita su classification, queriesY textract_features configurado creando CSVRow instancias.

Para nuestro ejemplo, tenemos cuatro tipos de documentos: acord125, acord126, acord140Y property_affidavit. A continuación, queremos utilizar las funciones de FORMULARIOS y TABLAS en los documentos del acuerdo, y las funciones de CONSULTAS y FIRMAS para la declaración jurada de propiedad.

def get_csv_rows():
# acord125
acord125_queries: List[List[str]] = list()
acord_125_features: List[str] = ["FORMS", "TABLES"]
acord125_row = CSVRow("acord125",
acord125_queries,
acord_125_features)
# acord126
acord126_queries: List[List[str]] = list()
acord126_features: List[str] = ["FORMS", "TABLES"]
acord126_row = CSVRow("acord126",
acord126_queries,
acord126_features)
# acord140
acord140_queries: List[List[str]] = list()
acord140_features: List[str] = ["FORMS", "TABLES"]
acord140_row = CSVRow("acord140",
acord140_queries,
acord140_features)
# property_affidavit
property_affidavit_queries: List[List[str]] = [
["PROP_AFF_OWNER", "What is your name?"],
["PROP_AFF_ADDR", "What is the property's address?"],
["PROP_AFF_DATE_EXEC_ON", "When was this executed on?"],
["PROP_AFF_DATE_SWORN", "When was this subscribed and sworn to?"],
["PROP_AFF_NOTARY", "Who is the notary public?"],
]
property_affidavit_features: List[str] = ["SIGNATURES", "QUERIES"]
property_affidavit_row = CSVRow("property_affidavit",
property_affidavit_queries,
property_affidavit_features)

Consulte el repositorio de GitHub para saber cómo se hizo esto para los documentos de garantía comercial de muestra.

Limpiar

Para eliminar la solución, ejecute el cdk destroy orden. A continuación, se le pedirá que confirme la eliminación del flujo de trabajo. Eliminar el flujo de trabajo eliminará todos los recursos generados.

Conclusión

En este artículo, mostramos cómo comenzar con las construcciones de CDK de IDP de Amazon Textract mediante la implementación de un escenario de procesamiento directo para un conjunto de formularios comerciales de Acord. También mostramos cómo puede extender la solución a cualquier tipo de formulario con simples cambios de configuración. Le animamos a probar la solución con sus respectivos documentos. Envíe una solicitud de extracción a repositorio GitHub para cualquier solicitud de función que pueda tener. Para obtener más información sobre IDP en AWS, consulte nuestra documentación.


Sobre los autores

Raj Pathak es un arquitecto de soluciones sénior y tecnólogo especializado en servicios financieros (seguros, banca, mercados de capitales) y aprendizaje automático. Se especializa en proyectos de procesamiento de lenguaje natural (NLP), modelos de lenguaje grande (LLM) y operaciones e infraestructura de aprendizaje automático (MLOps).

aditi rajnish es estudiante de segundo 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 en la comunidad. En su tiempo libre, se la puede encontrar escalando rocas, tocando el piano o aprendiendo a hacer el bollo perfecto.

Enzo Staton es un arquitecto de soluciones apasionado por trabajar con empresas para aumentar su conocimiento de la nube. Trabaja en estrecha colaboración como asesor de confianza y especialista de la industria con clientes en todo el país.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *