Optimice la precisión de la extracción de planos en Amazon Bedrock Data Automation

La extracción de datos estructurados de documentos no estructurados, como facturas, contratos, formularios de impuestos y solicitudes de inscripción, es un objetivo de automatización común para las organizaciones. Lograr una alta precisión de extracción sigue siendo un desafío clave. La precisión se degrada cuando los documentos difieren de las plantillas esperadas, los formatos varían según el proveedor o la calidad del escaneo es deficiente. Con Amazon Bedrock Data Automation (BDA), puede clasificar, extraer, normalizar y validar datos de documentos a través de una única API. Utiliza planos personalizables que generan resultados personalizados adaptados a sus formatos de documentos específicos y requisitos comerciales. Sin embargo, optimizar la precisión de la extracción de planos para manejar toda la variedad de documentos de producción aún requiere un ajuste iterativo.

La optimización de instrucciones de blueprint es una característica de BDA que refina automáticamente sus instrucciones de extracción para abordar este desafío directamente. Usted proporciona de tres a diez documentos de ejemplo con los valores esperados y BDA refina las instrucciones de su modelo para mejorar la precisión en minutos, no en semanas. No se requiere ningún ajuste del modelo por separado.

Al final de esta publicación, podrá optimizar sus planos para mejorar la precisión, ejecutar el flujo de trabajo de optimización a través de la consola de Amazon Bedrock o la API y aplicar las mejores prácticas para seleccionar ejemplos y datos reales.

Cuando crea canalizaciones de procesamiento inteligente de documentos (IDP) con Amazon Bedrock Data Automation, crea planos que definen qué campos extraer de los documentos. Cada campo incluye una instrucción en lenguaje natural que guía la extracción. Por ejemplo:

Campo: número_factura → Instrucción: “El número de factura”. Campo: importe_total → Instrucción: “El importe total adeudado”.

Estas instrucciones iniciales funcionan bien para casos sencillos. Sin embargo, los documentos del mundo real introducen una complejidad adicional:

Las etiquetas de campo varían según las variantes del documento. Las etiquetas que parecen similares pueden causar confusión (por ejemplo, “subtotal” versus “total”). Los diseños de los documentos difieren según los proveedores o los períodos de tiempo. Los casos extremos exigen una guía de extracción más específica.

El siguiente es un ejemplo abreviado de cómo se ve un esquema de modelo de orden de compra. Cada campo tiene un tipo, un tipo de inferencia (explícito para los valores que aparecen directamente en el documento, inferido para los valores que requieren razonamiento) y una instrucción que guía la extracción:

{ "class": "Orden de compra", "type": "object", "properties": { "po_number": { "type": "string", "inferenceType": "explicit", "instruction": "El identificador único de la orden de compra" }, "order_date": { "type": "string", "inferenceType": "explicit", "instruction": "La fecha en que se realizó el pedido" }, "order_total": { "type": "number", "inferenceType": "explicit", "instruction": "El monto total del pedido" }, "special_requests": { "type": "string", "inferenceType": "inferred", "instruction": "Cualquier solicitud o nota especial incluida en el pedido" } } }

La optimización de instrucciones de blueprint refina los valores de instrucción para cada campo. El tipo y el tipo de inferencia permanecen sin cambios. Puede ver el esquema completo de la orden de compra en el repositorio de GitHub.

Ya conoces tus documentos y tus datos. La optimización de las instrucciones de blueprint le brinda un camino más rápido para cerrar la brecha de precisión.

El enfoque tradicional: iteración manual

Para mejorar la precisión de la extracción, normalmente se repiten las instrucciones de campo manualmente: se prueban diferentes frases, se agrega contexto y se perfeccionan las descripciones mediante prueba y error. Cada ciclo significa ejecutar extracciones, comparar los resultados con los valores esperados, ajustar las instrucciones y repetir. Para las organizaciones que procesan documentos de cientos de proveedores, este proceso puede llevar semanas por tipo de documento.

El enfoque optimizado: refinamiento automatizado

Con la optimización de instrucciones de planos, automatiza todo este ciclo de refinamiento en un único flujo de trabajo. BDA analiza las diferencias entre los resultados de su extracción y su verdad básica, luego refina las instrucciones en lenguaje natural para cada campo, entregando instrucciones optimizadas en minutos en lugar de semanas.

Mejore la precisión con la optimización de instrucciones de planos

Siga estos pasos para perfeccionar sus instrucciones de extracción utilizando documentos reales de su carga de trabajo.

Proporcione documentos de ejemplo: cargue de tres a diez documentos representativos de su carga de trabajo de producción, incluidos casos extremos en los que la extracción ha sido un desafío. Además, cubra la mayor diversidad posible de la distribución de sus documentos de producción para evitar el sobreajuste. Proporcione la verdad básica: proporcione los valores esperados correctos para cada campo en cada documento de ejemplo. La verdad sobre el terreno son los datos verificados y precisos que sirven como punto de referencia para medir la calidad de la extracción. Esto le dice a BDA cuáles deberían ser las respuestas correctas. Ejecutar optimización: inicie el proceso de optimización. BDA compara los resultados de su extracción inicial con la verdad básica y refina las instrucciones en lenguaje natural para cada campo. Revise los resultados: examine las métricas de precisión detalladas junto con las instrucciones optimizadas. La optimización normalmente se completa en minutos. Las métricas incluyen la puntuación F1 (una medida combinada de precisión y recuperación) y la tasa de coincidencia exacta (el porcentaje de campos donde el valor extraído coincide exactamente con la verdad fundamental).

Las instrucciones optimizadas incorporan patrones aprendidos de sus ejemplos y agregan más detalles y especificidad. Por ejemplo, una instrucción inicial como "El número de factura" podría convertirse en "El número de factura, que normalmente se encuentra en la esquina superior derecha del encabezado del documento, con formato de código numérico o alfanumérico después de 'N.º de factura' o 'N.º de factura'".

Para ilustrar el flujo de trabajo de optimización, analizamos un escenario de extracción de órdenes de compra utilizando documentos de una empresa ficticia de fabricación de bicicletas.

Crea un modelo para extraer campos de las órdenes de compra, incluidos números de pedido, descripciones de artículos, cantidades, precios unitarios y totales.

Después de cargar cuatro órdenes de compra representativas (de minoristas como Cycle Central y Bike World) con los archivos reales correspondientes y ejecutar la optimización, la precisión mejora:

Métrica Antes de la optimización Después de la optimización Coincidencia exacta por archivo (mejor caso) 92 % 100 % Coincidencia exacta agregada 90 % 92 %

BDA refina automáticamente las instrucciones para abordar el formato específico del proveedor, las variaciones de etiquetas de campo y las diferencias de diseño en todo el conjunto de órdenes de compra, mejorando la coincidencia exacta agregada del 90 % al 92 %.

Si procesa grandes volúmenes, incluso unos pocos puntos porcentuales de mejora de la precisión se traducen directamente en colas de revisión manuales reducidas y un rendimiento de procesamiento más rápido.

Empezando

Puede acceder a la optimización de instrucciones de blueprint a través de la consola de Amazon Bedrock o la API. Utilice sus propios documentos o implemente la solución de muestra, que incluye un plano, documentos PDF de muestra y archivos JSON reales.

Requisitos previos

Para seguir esta publicación, necesita lo siguiente:

Una cuenta de AWS. Acceso a Amazon Bedrock con Amazon Bedrock Data Automation habilitado en una región admitida. Un rol de AWS Identity and Access Management (AWS IAM) con permisos para utilizar Amazon Bedrock Data Automation y Amazon Simple Storage Service (Amazon S3). Entre tres y diez documentos de muestra representativos de su carga de trabajo de producción. Archivos JSON reales con valores de extracción esperados para cada documento de muestra o los ejemplos incluidos en la plantilla de implementación. Un archivo de verdad fundamental refleja el esquema de su plano, con cada campo completado con el valor esperado correcto. El siguiente es un ejemplo abreviado de una orden de compra:

{ "po_number": "PO-2026-0224-1265", "retailer_name": "Bike World", "order_date": "2026-02-24", "order_total": 11571.25, "order_items": [ { "sku": "AB-MB-076", "product_name": "Trail Classic", "cantidad": 6, "unit_price": 1864,37, "total_línea": 11186,22 } ] }

Implementar la solución de muestra

Para implementar la solución, siga estos pasos:

Descargue la plantilla de CloudFormation del repositorio de GitHub. Abra la consola de AWS CloudFormation. Elija Crear pila y luego elija Cargar un archivo de plantilla. Cargue el archivo de plantilla descargado y elija Siguiente. En Nombre de pila, ingrese un nombre (por ejemplo, muestra-optimización-blueprint). Siga las indicaciones restantes, reconozca las capacidades de IAM y elija Crear pila.

La pila implementa un plano de muestra, archivos de documentos, archivos reales y un cuaderno de inteligencia artificial de Amazon SageMaker.
El cuaderno le guía a través del flujo de trabajo de optimización mediante la API. También se incluye un ejemplo de código completo.
disponible en el repositorio de GitHub.

Después de que se implemente la pila, siga estos pasos:

Abra la Consola de administración de AWS. Navegue hasta Amazon SageMaker AI. Elija Cuadernos en el panel de navegación izquierdo. Localice la instancia del cuaderno creada por la pila. Elija Abrir JupyterLab. En JupyterLab, navegue hasta el directorio de origen. Abra el cuaderno de optimización de órdenes de compra. Seleccione Python 3 como núcleo. Siga las instrucciones del cuaderno para crear y optimizar un plano utilizando los documentos de muestra proporcionados. La optimización tarda unos minutos en ejecutarse. Cuando se complete la optimización, revise el plano optimizado y compare las instrucciones actualizadas con las originales. Opcionalmente, promueva el plano optimizado para su uso en producción. Cuando haya terminado, ejecute la celda de limpieza en el cuaderno para vaciar el depósito de S3 antes de eliminar la pila de CloudFormation.

Si prefiere utilizar la consola, los documentos de muestra y los archivos reales están disponibles en el depósito de Amazon S3 creado por la pila.

Usando la consola

Desde la consola de Amazon Bedrock, puede crear un blueprint utilizando un esquema generado automáticamente o uno que defina manualmente. Si está utilizando la muestra de la pila implementada, puede pegar el JSON proporcionado.

Navegue hasta Amazon Bedrock Data Automation. Elija Configuración de salida personalizada. Elija Crear plano. Cargue un documento de muestra representativo. Defina su esquema JSON. Para utilizar el ejemplo de la pila implementada, elija Crear manualmente un nuevo blueprint. Cambie a la vista JSON. Pegue el modelo JSON de muestra.
Figura 1: La página Crear plano, que muestra el editor de esquema JSON donde puede pegar la definición de su plano. Guarde su plano. Elija Obtener resultado para ejecutar una extracción inicial. Esto establece su precisión de referencia antes de la optimización. Elija Optimizar plano en la página de detalles del plano. Cargue documentos de muestra adicionales (se recomiendan tres o más) y proporcione datos reales para cada archivo. Puede cargar archivos JSON reales o elegir Autocompletar para generar valores a partir de los resultados de extracción actuales y luego editarlos manualmente. Cuando se completa la optimización, Amazon Bedrock Data Automation muestra métricas de precisión antes y después para cada archivo y en conjunto, como se muestra en la siguiente imagen. Elija Guardar plano optimizado para reemplazar el plano existente con la versión mejorada.
Captura de pantalla de la página de resultados de optimización de Amazon Bedrock Data Automation para el plano acme-bikes-po, que muestra una tabla de métricas con valores de precisión antes y después de un archivo de muestra: la puntuación de confianza mejoró del 57,8 % al 60,1 %, la tasa de coincidencia exacta del 92,4 % al 100 % y la puntuación general de F1 del 92,4 % al 100 %. Figura 2: La página de resultados de optimización, que muestra las métricas de precisión antes y después de cada archivo y la mejora agregada.

Interpretando los resultados

La página de resultados muestra tres métricas para cada archivo de muestra y en conjunto. Comprender lo que le indica cada métrica le ayudará a decidir si desea guardar el modelo optimizado o agregar más ejemplos y volver a ejecutarlo.

La tasa de coincidencia exacta es el porcentaje de campos en los que el valor extraído coincide exactamente con la verdad fundamental, carácter por carácter. Esta es la medida más estricta de precisión. En el ejemplo anterior, la tasa de coincidencia exacta del archivo Cycle Central mejoró del 92,4% al 100%, lo que significa que cada campo extraído por BDA coincidió exactamente con el valor esperado.

La puntuación F1 general combina precisión (cuánto de lo que BDA extrajo fue correcto) y recuperación (cuánto de los datos correctos encontró BDA) en una sola puntuación. F1 es particularmente útil para campos con valores de longitud variable, como descripciones de líneas de pedido, donde una coincidencia exacta puede ser demasiado estricta pero el crédito parcial es significativo. En este ejemplo, la puntuación F1 también mejoró del 92,4 % al 100 %, lo que indica que las instrucciones optimizadas capturaron tanto los valores correctos como la cantidad correcta de contenido.

El puntaje de confianza refleja qué tan seguro es el BDA sobre cada valor extraído. Una puntuación de confianza más alta significa que BDA encontró señales más claras en el documento para ese campo. La confianza mejoró del 57,8% al 60,1% para este archivo, una ganancia menor, que se espera cuando el diseño del documento es ambiguo. Las puntuaciones de confianza más altas reducen el volumen de campos enviados a revisión humana en flujos de trabajo humanos en el circuito.

Utilice la pestaña Métricas por archivo para identificar qué documentos aún tienen puntuaciones más bajas después de la optimización. Estos son candidatos para agregar ejemplos más específicos. Cambie a Métricas agregadas para evaluar el estado general del blueprint en todo su conjunto de muestras antes de elegir Guardar blueprint optimizado.

Tutorial de API

Los siguientes ejemplos muestran las llamadas API clave para el flujo de trabajo de optimización utilizando AWS SDK para Python (Boto3). El cuaderno ejecutable completo está disponible en el repositorio de GitHub.

1. Crea un plano

Pase su esquema JSON a CreateBlueprint. Utilice la etapa DE DESARROLLO como zona de pruebas: no afectará los planos EN VIVO hasta que lo promueva explícitamente.

importar boto3, json bda_client = boto3.client('bedrock-data-automation') respuesta = bda_client.create_blueprint( blueprintName="acme-bikes-purchase-order", type="DOCUMENTO", blueprintStage="DESARROLLO", esquema=json.dumps(blueprint_schema) ) blueprint_arn = respuesta['blueprint']['blueprintArn']

2. Iniciar la optimización

Llame a InvokeBlueprintOptimizationAsync con sus documentos de muestra y archivos reales. Cada muestra empareja un URI de S3 para el documento con un URI de S3 para su JSON de verdad fundamental.

respuesta = bda_client.invoke_blueprint_optimization_async( blueprint={ 'blueprintArn': blueprint_arn, 'stage': 'DESARROLLO' }, samples=[ { 'assetS3Object': {'s3Uri': 's3://my-bucket/samples/PO_001.pdf'}, 'groundTruthS3Object': {'s3Uri': 's3://my-bucket/ground-truth/PO_001.json'} }, # … muestras adicionales ], outputConfiguration={ 's3Object': {'s3Uri': 's3://my-bucket/optimization-output/'} }, dataAutomationProfileArn=profile_arn ) invocation_arn = respuesta['invocationArn']

3. Encuesta para completar

El trabajo se ejecuta de forma asincrónica. Sondee GetBlueprintOptimizationStatus hasta que el estado alcance Éxito.

tiempo de importación mientras es Verdadero: estado = bda_client.get_blueprint_optimization_status( invocationArn=invocation_arn )['status'] if status == 'Éxito': romper el estado elif en ('ServiceError', 'ClientError'): elevar RuntimeError(f'Optimización fallida: {status}') time.sleep(15)

4. Recupera el plano optimizado.

Una vez finalizado el trabajo, GetBlueprint devuelve el esquema actualizado con valores de instrucción refinados para cada campo.

bp = bda_client.get_blueprint( blueprintArn=blueprint_arn, blueprintStage="DESARROLLO" ) esquema_optimizado = json.loads(bp['blueprint']['schema'])

5. Promocionar a LIVE (opcional)

Cuando las métricas cumplan con sus requisitos, promueva el modelo optimizado a producción.

bda_client.copy_blueprint_stage( blueprintArn=blueprint_arn, sourceStage="DESARROLLO", targetStage="EN VIVO" )

Integración con otras funciones de Amazon Bedrock

Los planos optimizados mejoran la precisión en la capa de extracción, lo que puede ayudar a fortalecer los flujos de trabajo posteriores que usted crea en Amazon Bedrock Data Automation:

Con puntuaciones de confianza y bases visuales (cuadros delimitadores) para los campos extraídos, puede implementar la validación humana en el circuito cuando sea necesario. La optimización de las instrucciones de blueprint mejora tanto los valores de extracción como las puntuaciones de confianza asociadas, lo que le brinda una mayor seguridad en las rutas de procesamiento automatizadas.

Mejores prácticas

Según los primeros comentarios de los clientes, recomendamos lo siguiente:

Seleccione ejemplos representativos: elija documentos que representen la variedad de su carga de trabajo de producción, incluidos formatos comunes y casos extremos donde la extracción ha sido un desafío. Verifique la precisión de la verdad sobre el terreno: verifique dos veces que los valores esperados sean correctos antes de ejecutar la optimización, porque la calidad de la verdad sobre el terreno afecta directamente los resultados. Comience con tres a cinco ejemplos: logre mejoras significativas con solo unos pocos ejemplos bien elegidos y agregue más si los resultados iniciales no cumplen con sus objetivos de precisión. Incluya casos desafiantes: agregue ejemplos en los que la extracción anteriormente no logró ayudar al proceso de optimización a aprender a extraer casos extremos con precisión. Vuelva a optimizar cuando sea necesario: ejecute la optimización nuevamente si nota una degradación de la precisión con el tiempo, por ejemplo, cuando aparecen nuevos formatos de documentos en su carga de trabajo.

Disponibilidad y precios

La optimización de instrucciones de blueprint está disponible en las regiones de AWS donde se admite Amazon Bedrock Data Automation. Para conocer la disponibilidad regional más reciente, consulte la documentación de Amazon Bedrock Data Automation.

El proceso de optimización genera costos de inferencia BDA estándar según la cantidad de páginas de sus documentos de ejemplo. Para conocer los precios detallados, consulte la página de precios de Amazon Bedrock.

Limpiar

Si implementó la solución de muestra o creó recursos mientras seguía esta publicación, complete los siguientes pasos para evitar incurrir en costos continuos:

Advertencia: Los siguientes pasos de limpieza eliminan permanentemente recursos y datos, incluidos los planos optimizados y los documentos de muestra. Guarde todo lo que desee conservar antes de continuar.

Elimine la pila de CloudFormation de la consola de AWS CloudFormation. Esto elimina el cuaderno SageMaker AI, el depósito S3 y los recursos asociados. Elimine los blueprints que creó navegando a Amazon Bedrock Data Automation en la consola de Amazon Bedrock, seleccionando el blueprint y eligiendo Eliminar. Elimine documentos de muestra y archivos reales de los depósitos de S3 que creó fuera de la pila.

Para obtener más información sobre la administración de recursos de Amazon Bedrock Data Automation, consulte la documentación de Amazon Bedrock Data Automation.

Conclusión

La optimización de las instrucciones de planos puede reducir significativamente el esfuerzo manual necesario para lograr una alta precisión de extracción. Al proporcionar algunos documentos de ejemplo con valores reales, puede refinar automáticamente sus instrucciones de extracción y mejorar la precisión en minutos, no semanas.

Combinada con las puntuaciones de confianza, la base visual y la integración con Amazon Bedrock Agents y Amazon Bedrock Knowledge Bases de Amazon Bedrock Data Automation, esta característica puede acelerar el camino desde el prototipo hasta los flujos de trabajo de IDP de producción.

Como próximos pasos, recomendamos lo siguiente:

Pruebe la función implementando la solución de muestra en su cuenta y ejecutando el cuaderno SageMaker AI. Ejecute la optimización en sus propios documentos para medir las mejoras de precisión para su caso de uso específico. Explore cómo los blueprints optimizados se integran con las bases de conocimientos de Amazon Bedrock para la búsqueda y recuperación de documentos, o con los agentes de Amazon Bedrock para flujos de trabajo de toma de decisiones automatizados.

Para empezar:

Para obtener orientación experta sobre la creación de soluciones de procesamiento de documentos, los servicios profesionales de AWS y los socios de AWS pueden ayudarle.

Sobre los autores

Erik Cordsen

Erik Cordsen

Erik es arquitecto de soluciones en AWS y atiende a clientes en Georgia. Le apasiona aplicar tecnologías en la nube y ML para resolver problemas de la vida real. Cuando no está diseñando soluciones en la nube, a Erik le gusta viajar, cocinar y andar en bicicleta.

Venkata Moparthi

Venkata Moparthi

Venkata es arquitecto senior de soluciones en AWS y se especializa en IA generativa, arquitecturas agentes y migraciones a la nube para organizaciones de servicios financieros. Ayuda a los clientes empresariales a diseñar e implementar soluciones GenAI listas para producción, incluidos flujos de trabajo agentes, mientras guía iniciativas de transformación de la nube a gran escala. La experiencia de Venkata une la innovación en IA con resultados comerciales del mundo real, lo que permite a las organizaciones acelerar su viaje desde la experimentación hasta la IA de nivel empresarial en AWS.

Wrick Talukdar

Wrick Talukdar

Wrick es líder tecnológico y especialista sénior en IA generativa en Amazon Web Services y impulsa la innovación a través de IA multimodal, modelos generativos, visión por computadora y procesamiento del lenguaje natural. También es autor del libro más vendido "Building Agentic AI Systems". Es un orador principal y, a menudo, presenta sus innovaciones y soluciones en foros globales líderes, incluidos AWS re:Invent, ICCE, la conferencia Global Consumer Technology y eventos importantes de la industria como CERAWeek y ADIPEC. En su tiempo libre le gusta escribir y fotografiar aves.