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:

Guíame


Antes de empezar

  1. 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.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  8. Crear un procesador

    1. En el menú de navegación de la consola, selecciona Document AI y, a continuación, Galería de procesadores. Google Cloud

      Procesador Galería

    2. En la galería de procesadores, busca Analizador de facturas y selecciona Crear.

      uptrain-a-legacy-processor-1

    3. Introduce un nombre de procesador, como invoice-parser-for-uptraining.

    4. Selecciona la región más cercana.

    5. Selecciona Crear. Aparecerá la pestaña Detalles del procesador.

      uptrain-a-legacy-processor-2

    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.

    1. Ve a la pestaña Entrenar de tu procesador.

    2. 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.

      uptrain-a-legacy-processor-3

    3. Selecciona Explorar para abrir Seleccionar carpeta.

    4. 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.

    5. En la página Seleccionar carpeta de tu contenedor, selecciona Seleccionar en la parte inferior del cuadro de diálogo.

      uptrain-a-legacy-processor-4

    6. 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.

      uptrain-a-legacy-processor-5

    • 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.

    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.

    1. En la pestaña Entrenar, selecciona Importar documentos.

      uptrain-a-legacy-processor-6

    2. 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
      
    3. 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.

    4. 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.

    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.

    1. En la pestaña Entrenar, selecciona Editar esquema en la parte inferior izquierda. Se abrirá la página Gestionar etiquetas.

    2. 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.

    3. Cuando haya terminado de añadir las etiquetas, seleccione Guardar.

      uptrain-a-legacy-processor-7

    4. Selecciona la flecha hacia atrás para volver a la página Entrenar.

    Etiquetar un documento

    El proceso de seleccionar texto en un documento y aplicar etiquetas se conoce como anotación.

    1. Vuelve a la pestaña Entrenar y selecciona un documento para abrir la consola Gestión de etiquetas.

    2. 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.

    3. Utilice la herramienta Recuadro delimitador de forma predeterminada o la herramienta Seleccionar 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.

    4. 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 o invoice_id pueden aparecer varias veces en el documento y cada instancia debe anotarse.
    5. Repite este proceso con cada campo que quieras etiquetar.

    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
    1. 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.

    Asignar el documento anotado al conjunto de entrenamiento

    Ahora que has etiquetado este documento de ejemplo, puedes asignarlo al conjunto de entrenamiento.

    1. En la pestaña Entrenar, marca la casilla Seleccionar todo.

    2. En la lista Asignar a conjunto, selecciona 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.

    1. Selecciona Importar documentos.

    2. Introduce la siguiente ruta en Ruta de origen. Este contiene documentos preetiquetados en formato JSON de documento.

      cloud-samples-data/documentai/Custom/Invoices/JSON
      
    3. 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.

    4. Selecciona Importar. La importación puede tardar varios minutos. Después, encontrarás los documentos en la pestaña Entrenar.

    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.

    1. En la página Entrenar, selecciona Importar documentos.

    2. 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
      
    3. En la sección Etiquetado automático, selecciona la casilla Importar con etiquetado automático.

    4. Selecciona una versión de procesador para etiquetar los documentos.

      • Por ejemplo: pretrained-invoice-v1.3-2022-07-15
    5. 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.
    6. 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.

    7. Selecciona el primer documento para acceder a la consola de etiquetado.

    8. Verifique la etiqueta para asegurarse de que es correcta. Ajústala si no es correcta.

    9. Cuando hayas terminado, selecciona Marcar como etiquetado.

    10. 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.

    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.

    1. Selecciona Actualizar nueva versión.

    2. En el campo Nombre de la versión, introduce un nombre para esta versión del procesador, como invoice-uptrain-1.

    3. (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.

    4. 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.

    Desplegar la versión del procesador

    1. 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.

    2. Selecciona los tres puntos verticales situados a la derecha de la versión que quieras implementar y, a continuación, Implementar versión.

    3. Selecciona Implementar en la ventana emergente.

      El despliegue tarda unos minutos en completarse.

    Evaluar y probar el procesador

    1. 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.

    2. 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.

      Descargar PDF

    3. 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.

    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

    1. En el menú de navegación de la Google Cloud consola, selecciona Document AI y, a continuación, Mis procesadores.

    2. Selecciona Más acciones en la misma fila que el procesador que quieras eliminar.

    3. Selecciona Eliminar procesador, introduce el nombre del procesador y, a continuación, selecciona Eliminar de nuevo para confirmar.

    Siguientes pasos