Especifique y extraiga información de los documentos mediante la nueva función Consultas en Amazon Textract PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Especifique y extraiga información de documentos utilizando la nueva función Consultas en Amazon Textract

Amazon Textil es un servicio de aprendizaje automático (ML) que extrae automáticamente texto, escritura a mano y datos de cualquier documento o imagen. Amazon Textract ahora ofrece la flexibilidad de especificar los datos que necesita extraer de los documentos mediante la nueva función Consultas dentro de la API de análisis de documentos. No necesita conocer la estructura de los datos en el documento (tabla, formulario, campo implícito, datos anidados) ni preocuparse por las variaciones entre las versiones y formatos del documento.

En esta publicación, tratamos los siguientes temas:

  • Casos de éxito de clientes de AWS y beneficios de la nueva función Consultas
  • Cómo ayuda la API de análisis de consultas de documentos a extraer información de los documentos
  • Un recorrido por la consola de Amazon Textract
  • Ejemplos de código para utilizar la API de consultas de documentos de análisis
  • Cómo procesar la respuesta con la biblioteca del analizador de Amazon Textract

Beneficios de la nueva función Consultas

Las soluciones tradicionales de OCR tienen dificultades para extraer datos con precisión de la mayoría de los documentos semiestructurados y no estructurados debido a las variaciones significativas en la forma en que se presentan los datos en múltiples versiones y formatos de estos documentos. Debe implementar un código de posprocesamiento personalizado o revisar manualmente la información extraída de estos documentos. Con la función Consultas, puede especificar la información que necesita en forma de preguntas en lenguaje natural (por ejemplo, "¿Cuál es el nombre del cliente?") y recibir la información exacta ("John Doe") como parte de la respuesta de la API. La función utiliza una combinación de modelos visuales, espaciales y de lenguaje para extraer la información que busca con gran precisión. La función Consultas está preentrenada en una gran variedad de documentos semiestructurados y no estructurados. Algunos ejemplos incluyen talones de pago, extractos bancarios, formularios W-2, formularios de solicitud de préstamo, notas de hipoteca y tarjetas de vacunas y seguros.

"Amazon Textract nos permite automatizar las necesidades de procesamiento de documentos de nuestros clientes. Con la función Consultas, podremos extraer datos de una variedad de documentos con aún mayor flexibilidad y precisión," dijo Robert Jansen, director ejecutivo de TekStream Solutions. "Vemos esto como una gran ganancia de productividad para nuestros clientes comerciales, quienes podrán usar la capacidad de Consultas como parte de nuestra solución IDP para obtener rápidamente información clave de sus documentos."

"Amazon Textract nos permite extraer texto y elementos estructurados como formularios y tablas de imágenes con gran precisión. Amazon Textract Queries nos ha ayudado a mejorar drásticamente la calidad de la extracción de información de varios documentos críticos para el negocio, como hojas de datos de seguridad o especificaciones de materiales." dijo Thorsten Warnecke, director | Jefe de Análisis de PC, Camelot Management Consultants. "El sistema de consulta en lenguaje natural ofrece una gran flexibilidad y precisión, lo que ha reducido nuestra carga de posprocesamiento y nos ha permitido agregar nuevos documentos a nuestras herramientas de extracción de datos con mayor rapidez."

Cómo ayuda la API de análisis de consultas de documentos a extraer información de los documentos

Las empresas han aumentado su adopción de plataformas digitales, especialmente a la luz de la pandemia de COVID-19. La mayoría de las organizaciones ahora ofrecen una forma digital de adquirir sus servicios y productos utilizando teléfonos inteligentes y otros dispositivos móviles, lo que ofrece flexibilidad a los usuarios pero también aumenta la escala en la que los documentos digitales deben revisarse, procesarse y analizarse. En algunas cargas de trabajo en las que, por ejemplo, los documentos hipotecarios, las tarjetas de vacunación, los talones de pago, las tarjetas de seguro y otros documentos deben analizarse digitalmente, la complejidad de la extracción de datos puede agravarse exponencialmente porque estos documentos carecen de un formato estándar o tienen variaciones significativas en el formato de los datos. a través de diferentes versiones del documento.

Incluso las potentes soluciones de OCR tienen dificultades para extraer datos con precisión de estos documentos, y es posible que deba implementar un posprocesamiento personalizado para estos documentos. Esto incluye la asignación de posibles variaciones de claves de formulario a nombres de campo nativos del cliente o la inclusión de aprendizaje automático personalizado para identificar información específica en un documento no estructurado.

La nueva API de análisis de consultas de documentos en Amazon Textract puede responder preguntas escritas en lenguaje natural como "¿Cuál es la tasa de interés?" y realice un poderoso análisis de IA y ML en el documento para descubrir la información deseada y extraerla del documento sin ningún procesamiento posterior. La función Consultas no requiere ningún entrenamiento de modelo personalizado o configuración de plantillas o configuraciones. Puede comenzar rápidamente cargando sus documentos y especificando preguntas sobre esos documentos a través de la consola de Amazon Textract, el Interfaz de línea de comandos de AWS (AWS CLI) o SDK de AWS.

En las secciones posteriores de esta publicación, analizamos ejemplos detallados de cómo usar esta nueva funcionalidad en casos de uso comunes de cargas de trabajo y cómo usar la API de análisis de consultas de documentos para agregar agilidad al proceso de digitalización de su carga de trabajo.

Utilice la función Consultas en la consola de Amazon Textract

Antes de comenzar con la API y los ejemplos de código, revisemos la consola de Amazon Textract. La siguiente imagen muestra un ejemplo de carné de vacunación en la Consultas pestaña para la API de análisis de documentos en la consola de Amazon Textract. Después de cargar el documento en la consola de Amazon Textract, elija Consultas existentes Configurar documento sección. A continuación, puede agregar consultas en forma de preguntas de lenguaje natural. Después de agregar todas sus consultas, elija Aplicar configuración. Las respuestas a las preguntas se encuentran en el Consultas .

Especifique y extraiga información de los documentos mediante la nueva función Consultas en Amazon Textract PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Ejemplos de código

En esta sección, explicamos cómo invocar la API de análisis de documentos con el parámetro Consultas para obtener respuestas a preguntas en lenguaje natural sobre el documento. El documento de entrada tiene un formato de matriz de bytes o está ubicado en un Servicio de almacenamiento simple de Amazon (Amazon S3) cubeta. Pase bytes de imagen a una operación de la API de Amazon Textract mediante la propiedad Bytes. Por ejemplo, puede utilizar el Bytes propiedad para pasar un documento cargado desde un sistema de archivos local. Bytes de imagen pasados ​​usando el Bytes La propiedad debe estar codificada en base64. Es posible que su código no necesite codificar bytes de archivos de documentos si está utilizando un SDK de AWS para llamar a las operaciones de la API de Amazon Textract. Como alternativa, puede pasar imágenes almacenadas en un depósito de S3 a una operación de la API de Amazon Textract mediante el uso de S3Object propiedad. Los documentos almacenados en un depósito de S3 no necesitan estar codificados en base64.

Puede usar la función Consultas para obtener respuestas de diferentes tipos de documentos, como talones de pago, tarjetas de vacunación, documentos hipotecarios, extractos bancarios, formularios W-2, formularios 1099 y otros. En las siguientes secciones, repasamos algunos de estos documentos y mostramos cómo funciona la función Consultas.

Talón de pago

En este ejemplo, recorremos los pasos para analizar un talón de pago mediante la función Consultas, como se muestra en la siguiente imagen de ejemplo.

Especifique y extraiga información de los documentos mediante la nueva función Consultas en Amazon Textract PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Usamos el siguiente código Python de muestra:

import boto3
import json #create a Textract Client
textract = boto3.client('textract') image_filename = "paystub.jpg" response = None
with open(image_filename, 'rb') as document: imageBytes = bytearray(document.read()) # Call Textract AnalyzeDocument by passing a document from local disk
response = textract.analyze_document( Document={'Bytes': imageBytes}, FeatureTypes=["QUERIES"], QueriesConfig={ "Queries": [{ "Text": "What is the year to date gross pay", "Alias": "PAYSTUB_YTD_GROSS" }, { "Text": "What is the current gross pay?", "Alias": "PAYSTUB_CURRENT_GROSS" }] })

El siguiente código es un comando de AWS CLI de muestra:

aws textract analyze-document —document '{"S3Object":{"Bucket":"your-s3-bucket","Name":"paystub.jpg"}}' —feature-types '["QUERIES"]' —queries-config '{"Queries":[{"Text":"What is the year to date gross pay", "Alias": "PAYSTUB_YTD_GROSS"}]}' 

Analicemos la respuesta que obtenemos para las dos consultas que pasamos a la API de análisis de documentos en el ejemplo anterior. La siguiente respuesta se ha recortado para mostrar solo las partes relevantes:

{ "BlockType":"QUERY", "Id":"cbbba2fa-45be-452b-895b-adda98053153", #id of first QUERY "Relationships":[ { "Type":"ANSWER", "Ids":[ "f2db310c-eaa6-481d-8d18-db0785c33d38" #id of first QUERY_RESULT ] } ], "Query":{ "Text":"What is the year to date gross pay", #First Query "Alias":"PAYSTUB_YTD_GROSS" } }, { "BlockType":"QUERY_RESULT", "Confidence":87.0, "Text":"23,526.80", #Answer to the first Query "Geometry":{...}, "Id":"f2db310c-eaa6-481d-8d18-db0785c33d38" #id of first QUERY_RESULT }, { "BlockType":"QUERY", "Id":"4e2a17f0-154f-4847-954c-7c2bf2670c52", #id of second QUERY "Relationships":[ { "Type":"ANSWER", "Ids":[ "350ab92c-4128-4aab-a78a-f1c6f6718959"#id of second QUERY_RESULT ] } ], "Query":{ "Text":"What is the current gross pay?", #Second Query "Alias":"PAYSTUB_CURRENT_GROSS" } }, { "BlockType":"QUERY_RESULT", "Confidence":95.0, "Text":"$ 452.43", #Answer to the Second Query "Geometry":{...}, "Id":"350ab92c-4128-4aab-a78a-f1c6f6718959" #id of second QUERY_RESULT }

La respuesta tiene un BlockType of QUERY que muestra la pregunta que se hizo y una Relationships sección que tiene el ID del bloque que tiene la respuesta. La respuesta está en el BlockType of QUERY_RESULT. El alias que se pasa como entrada a la API de análisis de documentos se devuelve como parte de la respuesta y se puede usar para etiquetar la respuesta.

Usamos la Analizador de respuestas de Amazon Textract para extraer solo las preguntas, el alias y las respuestas correspondientes a esas preguntas:

import trp.trp2 as t2 d = t2.TDocumentSchema().load(response)
page = d.pages[0] # get_query_answers returns a list of [query, alias, answer]
query_answers = d.get_query_answers(page=page)
for x in query_answers: print(f"{image_filename},{x[1]},{x[2]}") from tabulate import tabulate
print(tabulate(query_answers, tablefmt="github"))

El código anterior devuelve los siguientes resultados:

|------------------------------------|-----------------------|-----------|
| What is the current gross pay? | PAYSTUB_CURRENT_GROSS | $ 452.43 |
| What is the year to date gross pay | PAYSTUB_YTD_GROSS | 23,526.80 |

Más preguntas y el código completo se pueden encontrar en el cuaderno en el Repositorio GitHub.

nota de hipoteca

La API de consultas de análisis de documentos también funciona bien con pagarés hipotecarios como los siguientes.

Especifique y extraiga información de los documentos mediante la nueva función Consultas en Amazon Textract PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

El proceso para llamar a la API y procesar los resultados es el mismo que en el ejemplo anterior. Puede encontrar el ejemplo de código completo en el Repositorio GitHub.

El siguiente código muestra las respuestas de ejemplo obtenidas usando la API:

|------------------------------------------------------------|----------------------------------|---------------|
| When is this document dated? | MORTGAGE_NOTE_DOCUMENT_DATE | March 4, 2022 |
| What is the note date? | MORTGAGE_NOTE_DATE | March 4, 2022 |
| When is the Maturity date the borrower has to pay in full? | MORTGAGE_NOTE_MATURITY_DATE | April, 2032 |
| What is the note city and state? | MORTGAGE_NOTE_CITY_STATE | Anytown, ZZ |
| what is the yearly interest rate? | MORTGAGE_NOTE_YEARLY_INTEREST | 4.150% |
| Who is the lender? | MORTGAGE_NOTE_LENDER | AnyCompany |
| When does payments begin? | MORTGAGE_NOTE_BEGIN_PAYMENTS | April, 2022 |
| What is the beginning date of payment? | MORTGAGE_NOTE_BEGIN_DATE_PAYMENT | April, 2022 |
| What is the initial monthly payments? | MORTGAGE_NOTE_MONTHLY_PAYMENTS | $ 2500 |
| What is the interest rate? | MORTGAGE_NOTE_INTEREST_RATE | 4.150% |
| What is the principal amount borrower has to pay? | MORTGAGE_NOTE_PRINCIPAL_PAYMENT | $ 500,000 |

Tarjeta de vacunación

La función de consultas de Amazon Textract también funciona muy bien para extraer información de carnés de vacunación o carnés que se le parezcan, como en el siguiente ejemplo.

Especifique y extraiga información de los documentos mediante la nueva función Consultas en Amazon Textract PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

El proceso para llamar a la API y analizar los resultados es el mismo que se usa para un talón de pago. Después de procesar la respuesta, obtenemos la siguiente información:

|------------------------------------------------------------|--------------------------------------|--------------|
| What is the patients first name | PATIENT_FIRST_NAME | Major |
| What is the patients last name | PATIENT_LAST_NAME | Mary |
| Which clinic site was the 1st dose COVID-19 administrated? | VACCINATION_FIRST_DOSE_CLINIC_SITE | XYZ |
| Who is the manufacturer for 1st dose of COVID-19? | VACCINATION_FIRST_DOSE_MANUFACTURER | Pfizer |
| What is the date for the 2nd dose covid-19? | VACCINATION_SECOND_DOSE_DATE | 2/8/2021 |
| What is the patient number | PATIENT_NUMBER | 012345abcd67 |
| Who is the manufacturer for 2nd dose of COVID-19? | VACCINATION_SECOND_DOSE_MANUFACTURER | Pfizer |
| Which clinic site was the 2nd dose covid-19 administrated? | VACCINATION_SECOND_DOSE_CLINIC_SITE | CVS |
| What is the lot number for 2nd dose covid-19? | VACCINATION_SECOND_DOSE_LOT_NUMBER | BB5678 |
| What is the date for the 1st dose covid-19? | VACCINATION_FIRST_DOSE_DATE | 1/18/21 |
| What is the lot number for 1st dose covid-19? | VACCINATION_FIRST_DOSE_LOT_NUMBER | AA1234 |
| What is the MI? | MIDDLE_INITIAL | M |

El código completo se puede encontrar en el cuaderno en el Repositorio GitHub.

Tarjeta de seguro

La función Consultas también funciona bien con tarjetas de seguros como las siguientes.

Especifique y extraiga información de los documentos mediante la nueva función Consultas en Amazon Textract PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

El proceso para llamar a la API y procesar los resultados es el mismo que se mostró anteriormente. El ejemplo de código completo está disponible en el cuaderno en el Repositorio GitHub.

Las siguientes son las respuestas de ejemplo obtenidas usando la API:

|-------------------------------------|-----------------------------------|---------------|
| What is the insured name? | INSURANCE_CARD_NAME | Jacob Michael |
| What is the level of benefits? | INSURANCE_CARD_LEVEL_BENEFITS | SILVER |
| What is medical insurance provider? | INSURANCE_CARD_PROVIDER | Anthem |
| What is the OOP max? | INSURANCE_CARD_OOP_MAX | $6000/$12000 |
| What is the effective date? | INSURANCE_CARD_EFFECTIVE_DATE | 11/02/2021 |
| What is the office visit copay? | INSURANCE_CARD_OFFICE_VISIT_COPAY | $55/0% |
| What is the specialist visit copay? | INSURANCE_CARD_SPEC_VISIT_COPAY | $65/0% |
| What is the member id? | INSURANCE_CARD_MEMBER_ID | XZ 9147589652 |
| What is the plan type? | INSURANCE_CARD_PLAN_TYPE | Pathway X-EPO |
| What is the coinsurance amount? | INSURANCE_CARD_COINSURANCE | 30% |

Prácticas recomendadas para la elaboración de consultas

Al elaborar sus consultas, tenga en cuenta las siguientes prácticas recomendadas:

  • En general, haga una pregunta en lenguaje natural que comience con "Qué es", "Dónde está" o "Quién es". La excepción es cuando intenta extraer pares de clave-valor estándar, en cuyo caso puede pasar el nombre de la clave como una consulta.
  • Evite las preguntas mal formadas o gramaticalmente incorrectas, ya que podrían generar respuestas inesperadas. Por ejemplo, una consulta mal formada es "¿Cuándo?" mientras que una consulta bien formulada es "¿Cuándo se administró la primera dosis de vacuna?"
  • Siempre que sea posible, utilice palabras del documento para construir la consulta. Aunque la función Consultas intenta hacer coincidir acrónimos y sinónimos para algunos términos comunes de la industria, como "SSN", "identificación fiscal" y "número de seguro social", el uso del lenguaje directamente del documento mejora los resultados. Por ejemplo, si el documento dice "progreso del trabajo", trate de evitar el uso de variaciones como "progreso del proyecto", "progreso del programa" o "estado del trabajo".
  • Construya una consulta que contenga palabras tanto del encabezado de la fila como del encabezado de la columna. Por ejemplo, en el ejemplo de tarjeta de vacunación anterior, para saber la fecha de la segunda vacunación, puede enmarcar la consulta como "¿En qué fecha se administró la segunda dosis?"
  • Las respuestas largas aumentan la latencia de respuesta y pueden generar tiempos de espera. Trate de hacer preguntas que respondan con respuestas de menos de 100 palabras.
  • Pasar solo el nombre de la clave como pregunta funciona cuando se intenta extraer pares clave-valor estándar de un formulario. Recomendamos formular preguntas completas para todos los demás casos de uso de extracción.
  • Sea lo más específico posible. Por ejemplo:
    • Cuando el documento contiene varias secciones (como "Prestatario" y "Coprestatario") y ambas secciones tienen un campo llamado "SSN", pregunte "¿Cuál es el SSN para el Prestatario?" y "¿Cuál es el SSN para el coprestatario?"
    • Cuando el documento tiene varios campos relacionados con la fecha, sea específico en el lenguaje de consulta y pregunte "¿Cuál es la fecha en que se firmó el documento?" o "¿Cuál es la fecha de nacimiento de la aplicación?" Evite hacer preguntas ambiguas como "¿Cuál es la fecha?"
  • Si conoce el diseño del documento de antemano, proporcione sugerencias de ubicación para mejorar la precisión de los resultados. Por ejemplo, pregunte "¿Cuál es la fecha en la parte superior?" o "¿Cuál es la fecha de la izquierda?" o "¿Cuál es la fecha en la parte inferior?"

Para obtener más información sobre la función Consultas, consulte el Texttract documentación.

Conclusión

En esta publicación, brindamos una descripción general de la nueva función Consultas de Amazon Textract para recuperar información de documentos como talones de pago, pagarés de hipoteca, tarjetas de seguro y tarjetas de vacunación de manera rápida y sencilla, según las preguntas en lenguaje natural. También describimos cómo puede analizar la respuesta JSON.

Para más información, consulte la Análisis de documentos o consulte la consola de Amazon Textract y pruebe esta función.


Acerca de los autores

Especifique y extraiga información de los documentos mediante la nueva función Consultas en Amazon Textract PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Uday Narayanan es Arquitecto de Soluciones Sr. en AWS. Le gusta ayudar a los clientes a encontrar soluciones innovadoras para desafíos comerciales complejos. Sus principales áreas de enfoque son el análisis de datos, los sistemas de big data y el aprendizaje automático. En su tiempo libre, le gusta practicar deportes, ver programas de televisión y viajar.

Especifique y extraiga información de los documentos mediante la nueva función Consultas en Amazon Textract PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Rafael Caixeta es Arquitecto de Soluciones Sr. en AWS con sede en California. Tiene más de 10 años de experiencia desarrollando arquitecturas para la nube. Sus áreas principales son sin servidor, contenedores y aprendizaje automático. En su tiempo libre, le gusta leer libros de ficción y viajar por el mundo.

Especifique y extraiga información de los documentos mediante la nueva función Consultas en Amazon Textract PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai. Nair Nair es gerente sénior de productos, técnico en el equipo de Amazon Textract. Se centra en la creación de servicios basados ​​en el aprendizaje automático para los clientes de AWS.

Especifique y extraiga información de los documentos mediante la nueva función Consultas en Amazon Textract PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Martín Schade es Senior ML Product SA con el equipo de Amazon Textract. Tiene más de 20 años de experiencia con tecnologías relacionadas con Internet, soluciones de ingeniería y arquitectura. Se unió a AWS en 2014, primero orientó a algunos de los clientes más grandes de AWS sobre el uso más eficiente y escalable de los servicios de AWS, y luego se centró en AI/ML con un enfoque en la visión artificial. Actualmente, está obsesionado con extraer información de los documentos.

Sello de tiempo:

Mas de Aprendizaje automático de AWS