Mejorar un procesador preentrenado
Con Analizador de facturas, puedes mejorar la precisión de un procesador preentrenado. Empiezas con un modelo prediseñado y, a continuación, lo entrenas con tus datos y le añades campos personalizados. Los formatos de factura son diversos y, si entrenas un analizador de facturas genérico con tus datos, puedes mejorar la precisión en formatos específicos y permitir que el analizador extraiga campos que no admite el modelo preentrenado. Se proporcionan datos de muestra, pero puede seguir los mismos procedimientos con sus propios datos.
Para seguir las instrucciones paso a paso de esta tarea directamente en la Google Cloud consola, haga clic en Ayúdame:
Antes de empezar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Document AI, Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Document AI, Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. En el menú de navegación de la consola, selecciona Document AI y, a continuación, Galería de procesadores. Google Cloud
En la galería de procesadores,
busca Analizador de facturas y selecciona Crear.Introduce un nombre de procesador, como
invoice-parser-for-uptraining
.Selecciona la región más cercana.
Selecciona Crear. Aparecerá la pestaña Detalles del procesador.
Ve a la pestaña
Entrenar de tu procesador.Selecciona
Definir ubicación del conjunto de datos . Se te pedirá que selecciones o crees un segmento o una carpeta de Cloud Storage vacíos.Selecciona
Explorar para abrir Seleccionar carpeta.Selecciona
Crear un nuevo contenedor y sigue las instrucciones para crear un contenedor. Para obtener más información sobre cómo crear un segmento de Cloud Storage, consulta la página Segmentos de Cloud Storage.Nota: Un segmento es la entidad de almacenamiento de nivel superior en la que puedes anidar carpetas. Si lo prefieres, en lugar de crear y seleccionar un segmento, también puedes crear y seleccionar una carpeta vacía dentro de un segmento que ya tengas. Consulta las carpetas simuladas.
Después de crear el segmento, se mostrará la página Seleccionar carpeta de ese segmento.
En la página Seleccionar carpeta de tu contenedor, selecciona
Seleccionar en la parte inferior del cuadro de diálogo.Comprueba que el ruta de destino se haya rellenado con el nombre del segmento que has seleccionado. Selecciona
Crear conjunto de datos . El conjunto de datos puede tardar varios minutos en crearse.Ir directamente al entrenamiento adicional: ve a la sección sobre cómo importar datos preetiquetados. En lugar de importar un documento de muestra, usa herramientas para etiquetar manualmente los campos y añade el documento a los datos de entrenamiento.
Etiquetar manualmente y añadir documentos al conjunto de entrenamiento: antes de continuar con el entrenamiento adicional, ve a Importar un documento de muestra para etiquetarlo manualmente y sigue las instrucciones.
En la pestaña Entrenar, selecciona
Importar documentos .En este ejemplo, introduce el nombre del segmento en
Ruta de origen . Este enlace lleva directamente a un documento.cloud-samples-data/documentai/codelabs/uptraining/pdfs
En División de datos, selecciona Sin asignar. El documento de esta carpeta no se ha asignado al conjunto de pruebas ni al de entrenamiento. Deja la casilla Importar con etiquetado automático sin marcar.
Selecciona Importar. Document AI lee los documentos del bucket y los añade al conjunto de datos. No modifica el contenedor de importación ni lee del contenedor una vez completada la importación.
En la pestaña Entrenar, selecciona
Editar esquema en la parte inferior izquierda. Se abrirá la página Gestionar etiquetas.Para inhabilitar las etiquetas que no se usen, marca las
casillas de los campos que no aparezcan en la siguiente lista y, a continuación, selecciona Inhabilitar. Los siguientes campos deben permanecer habilitados:invoice_date line_item amount description receiver_address receiver_name supplier_address supplier_name total_amount
Nota: Las etiquetas no se pueden eliminar. En su lugar, puedes inhabilitar las etiquetas que no quieras usar.
Cuando haya terminado de añadir las etiquetas, seleccione
Guardar .Selecciona la
flecha hacia atrás para volver a la página Entrenar.Vuelve a la pestaña Entrenar y selecciona
un documento para abrir la consola Gestión de etiquetas.A continuación, selecciona la etiqueta del esquema en el panel de la izquierda que corresponda al valor que quieras anotar y aplica la etiqueta.
Utilice la herramienta
Recuadro delimitador de forma predeterminada o la herramientaSeleccionar texto para valores de varias líneas, seleccione el contenido y aplique la etiqueta.Por ejemplo, en esta factura, el texto "McWilliam Piping International Piping Company" debe tener la etiqueta
supplier_name
. Puedes usar el filtro de texto para buscar nombres de etiquetas.Nota: La herramienta Seleccionar texto no funciona con todos los valores de texto, así que usa Recuadro delimitador si es necesario. También puedes seleccionar campos que no sean de texto, como casillas de verificación, con la herramienta Recuadro delimitador.
Revisa los valores de texto detectados para asegurarte de que reflejan el texto correcto del documento.
Cuando selecciones texto que corresponda a una etiqueta, asegúrate de incluir solo el texto pertinente. Por ejemplo, en el caso de una etiqueta
invoice_id
, no incluya caracteres como#
, que suelen preceder al valor numérico. No incluyas símbolos de moneda, como$
, para indicar dinero.- Asegúrate de anotar todas las instancias de una entidad. Por ejemplo,
supplier_name
oinvoice_id
pueden aparecer varias veces en el documento y cada instancia debe anotarse.
- Asegúrate de anotar todas las instancias de una entidad. Por ejemplo,
Repite este proceso con cada campo que quieras etiquetar.
Selecciona
Marcar como etiquetado cuando hayas terminado de anotar el documento.En la pestaña Entrenamiento, el panel de la izquierda muestra que se ha etiquetado un documento.
En la pestaña Entrenar, marca la casilla
Seleccionar todo .En la lista
Asignar a conjunto , selecciona Entrenamiento.Selecciona
Importar documentos .Introduce la siguiente ruta en
Ruta de origen . Este contiene documentos preetiquetados en formato JSON de documento.cloud-samples-data/documentai/Custom/Invoices/JSON
En la lista División de datos, seleccione División automática. De esta forma, los documentos se dividen automáticamente en un 80% para el conjunto de entrenamiento y un 20% para el conjunto de prueba. Deje la opción Importar con etiquetado automático sin marcar.
Selecciona Importar. La importación puede tardar varios minutos. Después, encontrarás los documentos en la pestaña Entrenar.
En la página Entrenar, selecciona
Importar documentos .Copia y pega la siguiente ruta de Cloud Storage. Este directorio contiene cinco PDFs de facturas sin etiquetar. En la lista desplegable División de datos, seleccione Entrenamiento.
cloud-samples-data/documentai/Custom/Invoices/PDF_Unlabeled
En la sección Etiquetado automático, selecciona la casilla
Importar con etiquetado automático .Selecciona una versión de procesador para etiquetar los documentos.
- Por ejemplo:
pretrained-invoice-v1.3-2022-07-15
- Por ejemplo:
Selecciona Importar y espera a que se importen los documentos. Puedes salir de esta página y volver más tarde.
- Cuando se complete, los documentos aparecerán en la página Entrenar de la sección Etiquetado automático.
No puedes usar documentos etiquetados automáticamente para entrenar o probar modelos sin marcarlos como etiquetados. Ve a la sección
Etiquetado automático para ver los documentos etiquetados automáticamente.Selecciona el primer documento para acceder a la consola de etiquetado.
Verifique la etiqueta para asegurarse de que es correcta. Ajústala si no es correcta.
Cuando hayas terminado, selecciona
Marcar como etiquetado .Repite la verificación de etiquetas en cada documento etiquetado automáticamente y, a continuación, vuelve a la página Entrenamiento para usar los datos en el entrenamiento.
Selecciona
Actualizar nueva versión .En el campo
Nombre de la versión , introduce un nombre para esta versión del procesador, comoinvoice-uptrain-1
.(Opcional) Selecciona Ver estadísticas de etiquetas para consultar información sobre las etiquetas del documento. Esto puede ayudarte a determinar tu cobertura. Selecciona Cerrar para volver a la configuración del entrenamiento.
Selecciona
Iniciar entrenamiento Puedes consultar el estado en el panel de la derecha.Se abrirá la página Gestión de conjuntos de datos. Puedes ver el estado del entrenamiento en la parte derecha. La preparación probablemente tardará unas horas, en función del tamaño de tu conjunto de datos. Puedes salir de esta página y volver más tarde.
Una vez completada la formación, ve a la pestaña
Gestionar versiones . Puedes ver los detalles de la versión que acabas de entrenar.Selecciona los
tres puntos verticales situados a la derecha de la versión que quieras implementar y, a continuación, Implementar versión.Selecciona
Implementar en la ventana emergente.El despliegue tarda unos minutos en completarse.
Una vez completada la implementación, ve a la pestaña
Evaluar y probar .En esta página, puede ver métricas de evaluación, como la puntuación F1, la precisión y la recuperación del documento completo y de las etiquetas individuales. Para obtener más información sobre la evaluación y las estadísticas, consulta el artículo Evaluar procesador.
Descarga un documento que no se haya usado en entrenamientos o pruebas anteriores para poder usarlo y evaluar la versión del procesador. Si usas tus propios datos, utilizarías un documento reservado para este fin.
Selecciona
Subir documento de prueba y elige el documento que acabas de descargar.Se abrirá la página Análisis de Análisis de facturas. El resultado de la pantalla muestra lo bien que se ha clasificado el documento.
También puedes volver a ejecutar la evaluación con otro conjunto de pruebas u otra versión del procesador.
En el menú de navegación de la Google Cloud consola, selecciona Document AI y, a continuación, Mis procesadores.
Selecciona
Más acciones en la misma fila que el procesador que quieras eliminar.Selecciona Eliminar procesador, introduce el nombre del procesador y, a continuación, selecciona Eliminar de nuevo para confirmar.
Crear un procesador
Crear un segmento de Cloud Storage para el conjunto de datos
Para entrenar este nuevo procesador, debes crear un conjunto de datos con datos de entrenamiento y de prueba que ayuden al procesador a identificar las entidades que quieras extraer.
Este conjunto de datos requiere un nuevo segmento de Cloud Storage. No utilices el mismo segmento que el que se usa para almacenar tus documentos.
Importar un documento de muestra para el etiquetado manual
A continuación, importa un archivo PDF de factura de muestra en tu conjunto de datos. Etiqueta los campos de este documento para facilitar el proceso de entrenamiento posterior.
En esta guía, se te proporciona un archivo representativo que será el documento de ejemplo.
Cuando importas documentos, puedes asignarlos al conjunto Entrenamiento o Prueba durante la importación, o bien esperar a asignarlos más adelante.
Si quieres eliminar uno o varios documentos que has importado, selecciónalos en la pestaña Entrenar y, a continuación, selecciona Eliminar.
Para obtener más información sobre cómo preparar los datos para la importación, consulta la guía de preparación de datos.
Definir el esquema del procesador
Es posible que tu conjunto de datos no contenga todas las etiquetas admitidas por el analizador de facturas.
Si es así, debes marcar las etiquetas que no se usen como Inactive
antes de empezar a entrenar el modelo. También puedes añadir una o más etiquetas personalizadas antes de empezar el entrenamiento.
Etiquetar un documento
El proceso de seleccionar texto en un documento y aplicar etiquetas se conoce como anotación.
Aquí tienes un ejemplo del conjunto completo de etiquetas con el texto correspondiente.
Nombre de la etiqueta | Texto |
---|---|
supplier_name |
McWilliam Piping International Piping Company |
supplier_address |
14368 Pipeline Ave Chino, CA 91710 |
invoice_id |
10001 |
due_date |
2020-01-02 |
line_item/description |
Acoplamientos de nudillo |
line_item/quantity |
9 |
line_item/unit_price |
74,43 |
line_item/amount |
669,87 |
line_item/description |
Tubería de PVC de 12 pulgadas |
line_item/quantity |
7 |
line_item/unit_price |
15,90 |
line_item/amount |
111,3 ILS |
line_item/description |
Tubería de cobre |
line_item/quantity |
7 |
line_item/unit_price |
91,20 ILS |
line_item/amount |
638,40 € |
net_amount |
1419.57 |
total_tax_amount |
113,57 |
total_amount |
1533,14 |
currency |
€ |
Asignar el documento anotado al conjunto de entrenamiento
Ahora que has etiquetado este documento de ejemplo, puedes asignarlo al conjunto de entrenamiento.
En el panel de la izquierda, verá que se ha asignado un documento al conjunto de entrenamiento.
Importar datos preetiquetados a los conjuntos de entrenamiento y de prueba
Para mejorar el entrenamiento de Document AI, se necesitan al menos 10 documentos en los conjuntos de entrenamiento y de prueba, así como 10 instancias de cada etiqueta en cada conjunto.
Para obtener el mejor rendimiento posible, te recomendamos que tengas al menos 50 documentos en cada conjunto, con 50 instancias de cada etiqueta. Por lo general, cuantos más datos de entrenamiento haya, mayor será la precisión.
En esta guía, se le proporcionan datos preetiquetados. Si trabajas en tu propio proyecto, debes determinar cómo etiquetar los datos. Consulta las opciones de etiquetado.
Opcional: Etiquetar automáticamente los documentos recién importados
Cuando importes documentos sin etiquetar para un procesador con una versión desplegada, puedes usar el etiquetado automático para ahorrar tiempo.
Entrenar el procesador
Ahora que has importado los datos de entrenamiento y de prueba, puedes entrenar el procesador. Como el entrenamiento puede llevar varias horas, asegúrate de haber configurado el procesador con los datos y las etiquetas adecuados antes de empezar.
Desplegar la versión del procesador
Evaluar y probar el procesador
Usar el procesador
Ha creado y actualizado correctamente un procesador Invoice Parser.
Puedes gestionar tus versiones de procesador entrenadas de forma personalizada igual que cualquier otra versión de procesador, por ejemplo, al migrar a un procesador más reciente cuando se haya retirado uno. Para obtener más información, consulta Gestionar versiones del procesador.
Puedes enviar una solicitud de procesamiento a tu procesador personalizado y la respuesta se puede gestionar de la misma forma que otros procesadores de extracción de entidades.
Limpieza
Para evitar que se apliquen cargos en tu cuenta de Google Cloud por los recursos utilizados en esta página, sigue estos pasos.
Para evitar cargos innecesarios, usa la Google Cloud Google Cloud consolepara eliminar tu procesador y tu proyecto si no los necesitas.
Si has creado un proyecto para aprender a usar Document AI y ya no lo necesitas, [elimínalo][delete-project].
Si has usado un proyecto, elimina los recursos que hayas creado para evitar que se apliquen cargos en tu cuenta: Google Cloud