Procesamiento inteligente de documentos con servicios de IA de AWS: Parte 2 Inteligencia de datos PlatoBlockchain. Búsqueda vertical. Ai.

Procesamiento inteligente de documentos con servicios de IA de AWS: Parte 2

El procesamiento inteligente de documentos (IDP) de Amazon lo ayuda a acelerar sus ciclos de decisiones comerciales y reducir costos. En múltiples industrias, los clientes necesitan procesar millones de documentos por año en el curso de su negocio. Para los clientes que procesan millones de documentos, este es un aspecto crítico para la experiencia del usuario final y una de las principales prioridades de transformación digital. Debido a la variedad de formatos, la mayoría de las empresas procesan manualmente documentos como W2, reclamaciones, documentos de identidad, facturas y contratos legales, o utilizan soluciones de OCR (reconocimiento óptico de caracteres) heredadas que requieren mucho tiempo, son propensas a errores y son costosas. Una canalización de IDP con los servicios de IA de AWS le permite ir más allá del OCR con una extracción de información más precisa y versátil, procesar documentos más rápido, ahorrar dinero y cambiar recursos a tareas de mayor valor.

En esta serie, brindamos una descripción general de la canalización de IDP para reducir la cantidad de tiempo y esfuerzo necesarios para ingerir un documento y obtener la información clave en los sistemas posteriores. La siguiente figura muestra las etapas que normalmente forman parte de un flujo de trabajo de IDP.

En esta serie de dos partes, analizamos cómo puede automatizar y procesar de manera inteligente documentos a escala utilizando los servicios de IA de AWS. En parte 1, discutimos las primeras tres fases del flujo de trabajo de IDP. En esta publicación, discutimos las fases restantes del flujo de trabajo.

Resumen de la solución

La siguiente arquitectura de referencia muestra cómo puede utilizar los servicios de IA de AWS como Amazon Textil y Amazon Comprehend, junto con otros servicios de AWS para implementar el flujo de trabajo de IDP. En la parte 1, describimos las etapas de captura de datos y clasificación de documentos, donde categorizamos y etiquetamos documentos como extractos bancarios, facturas y documentos de recibo. También discutimos la etapa de extracción, donde puede extraer información comercial significativa de sus documentos. En esta publicación, ampliamos la canalización de IDP analizando las entidades predeterminadas y personalizadas de Amazon Comprender en la fase de extracción, enriqueciendo documentos y también observando brevemente las capacidades de IA aumentada de Amazon (Amazon A2I) para incluir una fuerza laboral de revisión humana en la etapa de revisión y validación.

Procesamiento inteligente de documentos con servicios de IA de AWS: Parte 2 Inteligencia de datos PlatoBlockchain. Búsqueda vertical. Ai.

También usamos Amazon Comprende Médico como parte de esta solución, que es un servicio para extraer información de texto médico no estructurado con precisión y rapidez e identificar las relaciones entre la información de salud extraída y vincular a ontologías médicas como ICD-10-CM, RxNorm y SNOMED CT.

Amazon A2I es un servicio de aprendizaje automático (ML) que facilita la creación de los flujos de trabajo necesarios para la revisión humana. Amazon A2I lleva la revisión humana a todos los desarrolladores, eliminando el trabajo pesado no diferenciado asociado con la creación de sistemas de revisión humana o la gestión de grandes cantidades de revisores humanos, ya sea que se ejecute en AWS o no. Amazon A2I se integra con Amazon Textil y Amazon Comprehend para brindarle la capacidad de introducir pasos de revisión humana dentro de su flujo de trabajo IDP.

Requisitos previos

Antes de comenzar, consulte parte 1 para obtener una descripción general de alto nivel de IDP y detalles sobre las etapas de captura, clasificación y extracción de datos.

Fase de extracción

En la parte 1 de esta serie, discutimos cómo podemos usar las funciones de Amazon Textract para la extracción precisa de datos para cualquier tipo de documento. Para extender esta fase, utilizamos entidades preentrenadas de Amazon Comprehend y un reconocedor de entidades personalizado de Amazon Comprehend para una mayor extracción de documentos. El propósito del reconocedor de entidades personalizadas es identificar entidades específicas y generar metadatos personalizados con respecto a nuestros documentos en formato CSV o legible por humanos para ser analizados posteriormente por los usuarios comerciales.

Reconocimiento de entidad nombrada

El reconocimiento de entidades nombradas (NER, por sus siglas en inglés) es una subtarea de procesamiento de lenguaje natural (NLP, por sus siglas en inglés) que consiste en filtrar datos de texto para ubicar frases nominales, llamadas entidades nombradas, y categorizar cada una con una etiqueta, como marca, fecha, evento, ubicación, organizaciones , persona, cantidad o título. Por ejemplo, en la declaración "Recientemente me suscribí a Amazon Prime", Amazon Prime es la entidad nombrada y puede categorizarse como una marca.

Amazon Comprehend le permite detectar dichas entidades personalizadas en su documento. Cada entidad también tiene una puntuación de nivel de confianza que Amazon Comprehend devuelve para cada tipo de entidad. El siguiente diagrama ilustra el proceso de reconocimiento de entidades.

Reconocimiento de entidades nombradas con Amazon Comprehend

Para obtener entidades del documento de texto, llamamos al comprehend.detect_entities() y configure el código de idioma y el texto como parámetros de entrada:

def get_entities(text):
    try:
        #detect entities
        entities = comprehend.detect_entities(LanguageCode="en", Text=text)  
        df = pd.DataFrame(entities["Entities"], columns = ['Text', 'Type'])
        display(HTML(df.to_html(index=False)))
    except Exception as e:
        print(e)

ejecutamos el get_entities() método en el documento bancario y obtener la lista de entidades en los resultados.

Respuesta del método get_entities de Comprehend.

Aunque la extracción de entidades funcionó bastante bien para identificar los tipos de entidades predeterminados para todo en el documento bancario, queremos que se reconozcan entidades específicas para nuestro caso de uso. Más específicamente, necesitamos identificar los números de cuenta corriente y de ahorro del cliente en el extracto bancario. Podemos extraer estos términos comerciales clave mediante el reconocimiento de entidades personalizadas de Amazon Comprehend.

Entrene un modelo de reconocimiento de entidades personalizado de Amazon Comprehend

Para detectar las entidades específicas que nos interesan del extracto bancario del cliente, entrenamos un reconocedor de entidades personalizadas con dos entidades personalizadas: SAVINGS_AC y CHECKING_AC.

Luego entrenamos un modelo de reconocimiento de entidad personalizado. Podemos elegir una de dos formas de proporcionar datos a Amazon Comprehend: anotaciones o listas de entidades.

El método de anotaciones a menudo puede conducir a resultados más refinados para archivos de imagen, PDF o documentos de Word porque entrena un modelo al enviar un contexto más preciso como anotaciones junto con sus documentos. Sin embargo, el método de anotaciones puede llevar mucho tiempo y trabajo. Para simplificar esta publicación de blog, usamos el método de listas de entidades, que solo puede usar para documentos de texto sin formato. Este método nos da un archivo CSV que debe contener el texto sin formato y su tipo de entidad correspondiente, como se muestra en el ejemplo anterior. Las entidades en este archivo van a ser específicas para nuestras necesidades comerciales (números de cuentas corrientes y de ahorros).

Para obtener más detalles sobre cómo preparar los datos de entrenamiento para diferentes casos de uso utilizando anotaciones o métodos de listas de entidades, consulte Preparando los datos de entrenamiento.

La siguiente captura de pantalla muestra un ejemplo de nuestra lista de entidades.

Una instantánea de la lista de entidades.

Cree un punto de enlace NER en tiempo real personalizado de Amazon Comprehend

A continuación, creamos un punto final en tiempo real de reconocimiento de entidad personalizado utilizando el modelo que entrenamos. usamos el Crear punto final API a través de la comprehend.create_endpoint() método para crear el punto final en tiempo real:

#create comprehend endpoint
model_arn = entity_recognizer_arn
ep_name = 'idp-er-endpoint'

try:
    endpoint_response = comprehend.create_endpoint(
        EndpointName=ep_name,
        ModelArn=model_arn,
        DesiredInferenceUnits=1,    
        DataAccessRoleArn=role
    )
    ER_ENDPOINT_ARN=endpoint_response['EndpointArn']
    print(f'Endpoint created with ARN: {ER_ENDPOINT_ARN}')
    %store ER_ENDPOINT_ARN
except Exception as error:
    if error.response['Error']['Code'] == 'ResourceInUseException':
        print(f'An endpoint with the name "{ep_name}" already exists.')
        ER_ENDPOINT_ARN = f'arn:aws:comprehend:{region}:{account_id}:entity-recognizer-endpoint/{ep_name}'
        print(f'The classifier endpoint ARN is: "{ER_ENDPOINT_ARN}"')
        %store ER_ENDPOINT_ARN
    else:
        print(error)

Después de entrenar un reconocedor de entidades personalizadas, usamos el punto de enlace personalizado en tiempo real para extraer información enriquecida del documento y luego realizamos la redacción del documento con la ayuda de las entidades personalizadas reconocidas por Amazon Comprehend y la información del cuadro delimitador de Amazon Textract.

Fase de enriquecimiento

En la etapa de enriquecimiento de documentos, podemos realizar el enriquecimiento de documentos mediante la redacción de datos de información de identificación personal (PII), la extracción de términos comerciales personalizados, etc. Nuestro documento de muestra anterior (un extracto bancario) contiene los números de las cuentas corrientes y de ahorro de los clientes, que queremos redactar. Debido a que ya conocemos estas entidades personalizadas por medio de nuestro modelo NER personalizado de Amazon Comprehend, podemos usar fácilmente el tipo de datos geométricos de Amazon Textract para redactar estas entidades PII dondequiera que aparezcan en el documento. En la siguiente arquitectura, redactamos términos comerciales clave (cuentas corrientes y de ahorro) del documento del extracto bancario.

Fase de enriquecimiento de documentos.

Como puede ver en el siguiente ejemplo, los números de cuenta corriente y de ahorro ahora están ocultos en el extracto bancario.

Ejemplo de extracto bancario redactado.

Las soluciones tradicionales de OCR tienen dificultades para extraer datos con precisión de la mayoría de los documentos no estructurados y semiestructurados debido a las variaciones significativas en la forma en que se presentan los datos en múltiples versiones y formatos de estos documentos. Luego, es posible que deba implementar una lógica de preprocesamiento personalizada o incluso extraer manualmente la información de estos documentos. En este caso, la canalización de IDP admite dos funciones que puede utilizar: consultas NER personalizadas de Amazon Comprehend y Amazon Textract. Ambos servicios utilizan NLP para extraer información sobre el contenido de los documentos.

Extracción con consultas de Amazon Textract

Al procesar un documento con Amazon Textract, puede agregar la nueva función de consultas a su análisis para especificar qué información necesita. Esto implica pasar una pregunta de PNL, como "¿Cuál es el número de seguro social del cliente?" a Amazon Textract. Amazon Textract encuentra la información en el documento para esa pregunta y la devuelve en una estructura de respuesta separada del resto de la información del documento. Las consultas se pueden procesar solas o en combinación con cualquier otro FeatureType, Tales como Tables or Forms.

Extracción basada en consultas usando Amazon Texttract.

Con las consultas de Amazon Textract, puede extraer información con gran precisión, independientemente de cómo estén dispuestos los datos en la estructura de un documento, como formularios, tablas y casillas de verificación, o alojados en secciones anidadas en un documento.

Para demostrar la función de consultas, extraemos información valiosa como el nombre y apellido del paciente, el fabricante de la dosis, etc. de documentos como una tarjeta de vacunación COVID-19.

Un modelo de tarjeta de vacunación.

Usamos la textract.analyze_document() función y especificar la FeatureType as QUERIES así como agregar las consultas en forma de preguntas de lenguaje natural en el QueriesConfig.

El siguiente código se ha recortado con fines de simplificación. Para obtener el código completo, consulte el GitHub Código de muestra para analyze_document().

response = None
with open(image_filename, 'rb') as document:
    imageBytes = bytearray(document.read())

# Call Textract
response = textract.analyze_document(
    Document={'Bytes': imageBytes},
    FeatureTypes=["QUERIES"],
    QueriesConfig={
            "Queries": [{
                "Text": "What is the date for the 1st dose covid-19?",
                "Alias": "COVID_VACCINATION_FIRST_DOSE_DATE"
            },
# code trimmed down for simplification
#..
]
}) 

Para la función de consultas, el textract.analyze_document() La función genera todas las PALABRAS y LÍNEAS de OCR, información de geometría y puntajes de confianza en el JSON de respuesta. Sin embargo, podemos simplemente imprimir la información que solicitamos.

Document es una función contenedora que se utiliza para ayudar a analizar la respuesta JSON de la API. Proporciona una abstracción de alto nivel y hace que la salida de la API sea iterable y fácil de obtener información. Para obtener más información, consulte el Analizador de respuesta de texto y texturizadora repositorios de GitHub. Después de procesar la respuesta, obtenemos la siguiente información como se muestra en la captura de pantalla.

import trp.trp2 as t2
from tabulate import tabulate

d = t2.TDocumentSchema().load(response)
page = d.pages[0]

query_answers = d.get_query_answers(page=page)

print(tabulate(query_answers, tablefmt="github"))

Respuesta de extracción de consultas.

Fase de revisión y validación

Esta es la etapa final de nuestra cartera de IDP. En esta etapa, podemos usar nuestras reglas comerciales para verificar la integridad de un documento. Por ejemplo, de un documento de reclamos de seguros, la identificación del reclamo se extrae con precisión y éxito. Podemos utilizar tecnologías sin servidor de AWS como AWS Lambda para una mayor automatización de estas reglas de negocio. Además, podemos incluir una fuerza laboral humana para la revisión de documentos para garantizar que las predicciones sean precisas. Amazon A2I acelera los flujos de trabajo de creación necesarios para la revisión humana de las predicciones de aprendizaje automático.

Con Amazon A2I, puede permitir que los revisores humanos intervengan cuando un modelo no pueda hacer una predicción de alta confianza o auditar sus predicciones de forma continua. El objetivo de la canalización de IDP es reducir la cantidad de aportes humanos necesarios para obtener información precisa en sus sistemas de decisión. Con IDP, puede reducir la cantidad de aportes humanos para sus procesos de documentos, así como el costo total del procesamiento de documentos.

Una vez que haya extraído toda la información precisa de los documentos, puede agregar más reglas específicas de la empresa mediante funciones de Lambda y, finalmente, integrar la solución con bases de datos o aplicaciones posteriores.

Fase de revisión y verificación humana.

Para obtener más información sobre cómo crear un flujo de trabajo de Amazon A2I, siga las instrucciones del Preparación para el Módulo 4 paso al final de 03-idp-document-enrichment.ipynb en nuestro Repositorio GitHub.

Limpiar

Para evitar incurrir en cargos futuros a su cuenta de AWS, elimine los recursos que aprovisionamos en la configuración del repositorio navegando a la Sección de limpieza en nuestro repositorio.

Conclusión

En esta publicación de dos partes, vimos cómo crear una canalización IDP de extremo a extremo con poca o ninguna experiencia en ML. Discutimos las diversas etapas de la canalización y una solución práctica con los servicios de IA de AWS, como Amazon Textract, Amazon Comprehend, Amazon Comprehend Medical y Amazon A2I, para diseñar y crear casos de uso específicos de la industria. En el Primer comentario de la serie, demostramos cómo usar Amazon Textract y Amazon Comprehend para extraer información de varios documentos. En esta publicación, profundizamos en cómo entrenar un reconocedor de entidades personalizadas de Amazon Comprehend para extraer entidades personalizadas de nuestros documentos. También realizamos técnicas de enriquecimiento de documentos, como la redacción con Amazon Textract, así como la lista de entidades de Amazon Comprehend. Finalmente, vimos cómo puede usar un flujo de trabajo de revisión humana de Amazon A2I para Amazon Textract al incluir un equipo de trabajo privado.

Para obtener más información sobre los ejemplos de código completo en esta publicación, consulte la Repositorio GitHub.

Le recomendamos revisar las secciones de seguridad del Amazon Textil, Amazon Comprehendy AmazonA2I documentación y siga las pautas provistas. Además, tómese un momento para revisar y comprender los precios de Amazon Textil, Amazon Comprehendy AmazonA2I.


Sobre los autores

Procesamiento inteligente de documentos con servicios de IA de AWS: Parte 2 Inteligencia de datos PlatoBlockchain. Búsqueda vertical. Ai. mentón rane es un arquitecto de soluciones especializado en IA/ML en Amazon Web Services. Le apasionan las matemáticas aplicadas y el aprendizaje automático. Se enfoca en diseñar soluciones inteligentes de procesamiento de documentos para clientes de AWS. Fuera del trabajo, le gusta bailar salsa y bachata.

Procesamiento inteligente de documentos con servicios de IA de AWS: Parte 2 Inteligencia de datos PlatoBlockchain. Búsqueda vertical. Ai.sonali sahu lidera el equipo de Arquitectos de Soluciones de IA/ML de Procesamiento Inteligente de Documentos en Amazon Web Services. Es una apasionada de la tecnología y disfruta trabajar con clientes para resolver problemas complejos utilizando la innovación. Sus principales áreas de enfoque son la inteligencia artificial y el aprendizaje automático para el procesamiento inteligente de documentos.

Procesamiento inteligente de documentos con servicios de IA de AWS: Parte 2 Inteligencia de datos PlatoBlockchain. Búsqueda vertical. Ai.anjan biswas es un Arquitecto de Soluciones Senior especialista en AI/ML. Anjan trabaja con clientes empresariales y le apasiona desarrollar, implementar y explicar AI/ML, análisis de datos y soluciones de big data. Anjan tiene más de 14 años de experiencia trabajando con organizaciones globales de cadena de suministro, fabricación y venta al por menor, y está ayudando activamente a los clientes a comenzar y escalar en AWS.

Procesamiento inteligente de documentos con servicios de IA de AWS: Parte 2 Inteligencia de datos PlatoBlockchain. Búsqueda vertical. Ai.Suprakash Dutta es arquitecto de soluciones en Amazon Web Services. Se centra en la estrategia de transformación digital, la modernización y migración de aplicaciones, el análisis de datos y el aprendizaje automático. Forma parte de la comunidad AI/ML en AWS y diseña soluciones inteligentes de procesamiento de documentos.

Sello de tiempo:

Mas de Aprendizaje automático de AWS