Etiqueta documentos

Se requiere un conjunto de datos etiquetados de documentos para entrenar, enriquecer o evaluar una versión del procesador.

En esta página, se describe cómo aplicar etiquetas desde el esquema del procesador a los documentos importados de tu conjunto de datos.

En esta página, se supone que ya creaste un procesador que admite entrenamiento, enriquecimiento o evaluación. Si tu procesador es compatible, ahora verás la pestaña Train en la consola de Google Cloud . También se supone que ya creaste un conjunto de datos, importaste documentos y definiste un esquema de procesador.

Campos de nombre para la extracción basada en IA generativa

La forma en que se nombran los campos influye en la precisión con la que se extraen los campos con IA generativa. Te recomendamos que sigas estas prácticas recomendadas cuando asignes nombres a los campos:

  • Asigna al campo el mismo nombre que se usa para describirlo en el documento: Por ejemplo, si un documento tiene un campo descrito como Employer Address, asígnale el nombre employer_address. No uses abreviaturas, como emplr_addr.

  • Actualmente, no se admiten espacios en los nombres de los campos: En lugar de usar espacios, usa _. Por ejemplo, First Name se llamaría first_name.

  • Itera los nombres para mejorar la precisión: Document AI tiene una limitación que no permite cambiar los nombres de los campos. Para probar diferentes nombres, usa la herramienta de cambio de nombre de la entidad para actualizar el nombre de la entidad anterior con uno más reciente en el conjunto de datos, importa el conjunto de datos, habilita las entidades nuevas en el procesador y, luego, inhabilita o borra los campos existentes.

Aprendizaje sin ejemplos y con ejemplos limitados

Los modelos con Gemini tienen aprendizaje con ejemplos limitados y sin ejemplos, lo que permite crear modelos de alto rendimiento con pocos o ningún dato de entrenamiento.

El aprendizaje sin ejemplos es un ejemplo de aprendizaje automático en el que un modelo previamente entrenado sin ningún entrenamiento adicional aprende a reconocer y clasificar clases y entidades que no había encontrado antes durante las pruebas.

El aprendizaje con pocos ejemplos es un método en el que un modelo aprende a reconocer y clasificar nuevas clases y entidades con solo unos pocos ejemplos de entrenamiento por clase. Aprovecha el conocimiento de los modelos previamente entrenados en conjuntos de datos grandes y bien etiquetados para mejorar el rendimiento en tareas de pocos ejemplos.

El aprendizaje con pocos ejemplos se vuelve más eficaz cuando el conjunto de datos de entrenamiento está ordenado y etiquetado con cuidado. Por lo general, esto significa tener al menos 10 ejemplos de prueba y 10 de entrenamiento disponibles para que el modelo aprenda de ellos.

Opciones de etiquetado

Estas son las opciones para etiquetar documentos:

Etiqueta manualmente en la Google Cloud consola

En la pestaña Entrenar, selecciona un documento para abrir la herramienta de etiquetado.

En la lista de etiquetas de esquema que se encuentra en el lado izquierdo de la herramienta de etiquetado, selecciona el símbolo "Agregar" para elegir la herramienta Bounding box y destacar entidades en el documento, y asignarlas a una etiqueta.

En la siguiente captura de pantalla, se asignaron etiquetas a los campos EMPL_SSN EMPLR_ID_NUMBER, EMPLR_NAME_ADDRESS, FEDERAL_INCOME_TAX_WH, SS_TAX_WH, SS_WAGES y WAGES_TIPS_OTHER_COMP del documento.

label-process-1

Cuando selecciones una entidad de casilla de verificación con la herramienta Cuadro delimitador, selecciona solo la casilla de verificación y no el texto asociado. Asegúrate de que la entidad de casilla de verificación que se muestra a la izquierda esté seleccionada o desmarcada para que coincida con lo que se encuentra en el documento.

label-process-2

Cuando etiquetes entidades principales y secundarias, no etiquetes las entidades principales. Las entidades principales son solo contenedores de las entidades secundarias. Solo etiqueta las entidades secundarias. Las entidades principales se actualizan automáticamente.

Cuando etiquetes entidades secundarias, etiqueta la primera y, luego, asocia las entidades secundarias relacionadas con esa línea. Notarás esto en la segunda entidad secundaria la primera vez que etiquetes entidades de este tipo. Por ejemplo, con una factura, si etiquetas description, parece cualquier otra entidad. Sin embargo, si etiquetas la cantidad a continuación, se te pedirá que elijas el elemento superior.

Repite este paso para cada línea de pedido seleccionando Nueva entidad principal para cada línea de pedido nueva.

Las entidades secundarias y principales se admiten en tablas con hasta tres niveles de anidación. Los modelos de base admiten tres niveles de campos (abuelo, madre o padre, hijo o hija), por lo que las entidades secundarias pueden tener un nivel de elementos secundarios. Para obtener más información sobre el anidamiento, consulta Anidamiento de tres niveles.

Tablas rápidas

Cuando se etiqueta una tabla, puede ser tedioso etiquetar cada fila una y otra vez. Hay una herramienta muy conveniente que puede replicar la estructura de una entidad de fila. Ten en cuenta que esta función solo funciona en filas alineadas horizontalmente.

  1. Primero, etiqueta la primera fila como de costumbre.
  2. Luego, mantén el puntero sobre la entidad principal que representa la fila. Selecciona Agregar más filas. La fila se convierte en una plantilla para crear más filas.

    label-process-3

  3. Selecciona el resto del área de la tabla.

    label-process-4

La herramienta adivina las anotaciones y, por lo general, funciona. Para las tablas que no pueda controlar, anótalas manualmente.

Usa combinaciones de teclas en la consola

Para ver las combinaciones de teclas disponibles, selecciona el menú en la esquina superior derecha de la consola de etiquetado. En ella, se muestra una lista de combinaciones de teclas, como se muestra en la siguiente tabla.

Acción Acceso directo
Acercar Alt + = (Option + = en macOS)
Alejar Alt + - (Option + - en macOS)
Acercar para ajustar Alt + 0 (Option + 0 en macOS)
Desplazar para hacer zoom Alt + desplazamiento (Opción + desplazamiento en macOS)
Desplazar lateralmente Desplazamiento
Desplazar lateralmente invertido Mayúsculas + desplazamiento
Arrastrar para desplazar lateralmente Barra espaciadora + arrastre del mouse
Deshacer Ctrl + Z (Control + Z en macOS)
Rehacer Ctrl + Mayúsculas + Z (Control + Mayúsculas + Z en macOS)

Etiquetado automático

Si está disponible, puedes usar una versión existente de tu procesador para comenzar a etiquetar.

  1. El etiquetado automático se puede iniciar durante la importación. Todos los documentos se anotan con la versión del procesador especificada.

    label-process-5

  2. El etiquetado automático se puede iniciar después de la importación de documentos en la categoría sin etiqueta o etiquetados automáticamente. Todos los documentos seleccionados se anotan con la versión del procesador especificada.

    label-process-6

No puedes entrenar ni actualizar el entrenamiento con documentos etiquetados automáticamente, ni usarlos en el conjunto de pruebas, sin marcarlos como etiquetados. Revisa y corrige manualmente las anotaciones etiquetadas automáticamente y, luego, selecciona Marcar como etiquetado para guardar las correcciones. Luego, puedes asignar los documentos según corresponda.

Importa documentos etiquetados previamente

Puedes importar archivos JSON Document. Si el entity del documento coincide con la etiqueta del esquema del procesador, el importador convierte el entity en una instancia de etiqueta. Hay varias formas de obtener archivos de documentos JSON:

Prácticas recomendadas para etiquetar documentos

Se requiere un etiquetado coherente para entrenar un procesador de alta calidad. Te recomendamos que hagas lo siguiente:

  • Crea instrucciones de etiquetado: Tus instrucciones deben incluir ejemplos de casos comunes y casos límite. Algunas sugerencias:

    • Explica qué campos se deben anotar y cómo hacer que el etiquetado sea coherente. Por ejemplo, cuando etiquetes "importe", especifica si se debe etiquetar el símbolo de la moneda. Si las etiquetas no son coherentes, se reduce la calidad del procesador.
    • Etiqueta todas las ocurrencias de una entidad, incluso si el tipo de etiqueta es REQUIRED_ONCE o OPTIONAL_ONCE. Por ejemplo, si invoice_id aparece dos veces en el documento, etiqueta todas sus ocurrencias.
    • Por lo general, se prefiere etiquetar primero con la herramienta de cuadro delimitador predeterminada. Si eso falla, usa la herramienta de selección de texto.
    • Si el OCR no detecta correctamente el valor de la etiqueta, no lo corrijas manualmente. Esto lo haría inutilizable para fines de entrenamiento.

A continuación, se incluyen algunas instrucciones de etiquetado de ejemplo:

  • Capacita a los anotadores: Asegúrate de que los anotadores comprendan y puedan seguir los lineamientos sin errores sistemáticos. Una forma de lograrlo es hacer que diferentes capacitados anoten el mismo conjunto de documentos. Luego, el capacitador puede verificar la calidad del trabajo de anotación de cada participante. Es posible que debas repetir este proceso hasta que los estudiantes alcancen un nivel de precisión de referencia.
  • Revisiones iniciales: Los primeros documentos (alrededor de 10) etiquetados para un caso de uso por un etiquetador nuevo deben revisarse antes de que se etiqueten grandes cantidades de documentos para evitar una gran cantidad de errores que deban corregirse.
  • Revisiones de la calidad de las anotaciones: Dada la laboriosa naturaleza de las anotaciones, incluso los anotadores capacitados pueden cometer errores. Te recomendamos que al menos otro anotador capacitado revise las anotaciones.

Agrega una instrucción de descripción

Cuando agregas etiquetas al esquema en el extractor personalizado y el clasificador personalizado, puedes agregar una descripción para la etiqueta. Esto ayuda a entrenar el procesador proporcionando una instrucción con la que identificar la etiqueta. Puedes probar con variaciones leves para comprobar la calidad de la respuesta. Por ejemplo, "importe total", "importe total de la factura" o "total del importe de la factura".

Resincronizar el conjunto de datos

La resincronización mantiene la coherencia entre la carpeta de Cloud Storage de tu conjunto de datos y el índice interno de metadatos de Document AI. Esto es útil si accidentalmente realizaste cambios en la carpeta de Cloud Storage y deseas sincronizar los datos.

Para volver a sincronizar, haz lo siguiente:

En la pestaña Detalles del procesador, junto a la fila Ubicación de almacenamiento, selecciona y, luego, Volver a sincronizar el conjunto de datos.

label-process-8

Notas de uso:

  • Si borras un documento de la carpeta de Cloud Storage, la resincronización lo quita del conjunto de datos.
  • Si agregas un documento a la carpeta de Cloud Storage, la resincronización no lo agrega al conjunto de datos. Para agregar documentos, impórtalos.
  • Si modificas las etiquetas de los documentos en la carpeta de Cloud Storage, la resincronización actualizará las etiquetas de los documentos en el conjunto de datos.

Migrar el conjunto de datos

La importación y la exportación te permiten mover todos los documentos de un conjunto de datos de un procesador a otro. Esto puede ser útil si tienes procesadores en diferentes regiones o Google Cloud proyectos, si tienes diferentes procesadores para la etapa de pruebas y la producción, o para el consumo general sin conexión.

Ten en cuenta que solo se exportan los documentos y sus etiquetas. No se exportan los metadatos del conjunto de datos, como el esquema del procesador, las asignaciones de documentos (entrenamiento/prueba/sin asignar) y el estado de etiquetado de los documentos (etiquetado, sin etiquetar, etiquetado automáticamente).

Copiar e importar el conjunto de datos y, luego, entrenar el procesador de destino no es exactamente lo mismo que entrenar el procesador de origen. Esto se debe a que se usan valores aleatorios al comienzo del proceso de entrenamiento. Usa la llamada a la API de importProcessorVersion para importar y migrar el mismo modelo entre proyectos. Esta es la práctica recomendada para migrar procesadores a entornos superiores (por ejemplo, de desarrollo a etapa de pruebas y, luego, a producción) si las políticas lo permiten.

Exportar conjunto de datos

Para exportar todos los documentos como archivos JSON Document a una carpeta de Cloud Storage, selecciona Exportar conjunto de datos.

Algunos aspectos importantes que debe tener en cuenta:

  1. Durante la exportación, se crean tres subcarpetas: Test, Train y Unassigned. Tus documentos se colocarán en esas subcarpetas según corresponda.

  2. No se exporta el estado de etiquetado de un documento. Si importas los documentos más adelante, no se marcarán como etiquetados automáticamente.

  3. Si tu Cloud Storage está en un proyecto Google Cloud diferente, asegúrate de otorgar acceso para que Document AI pueda escribir archivos en esa ubicación. Específicamente, debes otorgar el rol de Creador de objetos de Storage al agente de servicio principal de Document AI service-{project-id}@gcp-sa-prod-dai-core.iam.gserviceaccount.com. Para obtener más información, consulta Agentes de servicio.

Importar conjunto de datos

El procedimiento es el mismo que el de Importar documentos.

Guía del usuario para el etiquetado selectivo

El etiquetado selectivo ayuda a recomendar qué documentos etiquetar. Puedes crear diversos conjuntos de datos de entrenamiento y prueba para entrenar modelos representativos. Cada vez que se realiza el etiquetado selectivo, se seleccionan los documentos más diversos (hasta 30) del conjunto de datos.

Cómo obtener documentos sugeridos

  1. Crea un procesador de CDE y, luego, importa documentos.

    • Se requieren al menos 100 para el entrenamiento (25 para las pruebas).
    • Una vez que se importen suficientes documentos y después del etiquetado selectivo, debería aparecer la barra de información.

    label-process-9

    label-process-10

  2. En el caso de un procesador de CDE con cero documentos sugeridos, importa más para tener suficientes documentos en cualquiera de las divisiones para el muestreo.

    • Esto debería habilitar los documentos sugeridos en la categoría Sugeridos. Deberías poder solicitar documentos sugeridos de forma manual.
    • Hay un nuevo filtro en la parte superior para filtrar los documentos sugeridos.

    label-process-11

Etiqueta documentos sugeridos

  1. Ve a Categoría sugerida en el panel de la lista de etiquetas de la izquierda. Comienza a etiquetar estos documentos.

    label-process-12

  2. Selecciona Etiquetado automático en la barra de información si el procesador está entrenado. Etiqueta los documentos sugeridos.

    label-process-13

  3. Luego, puedes seleccionar Revisar ahora en la barra cuando tengas documentos sugeridos en el procesador a los que navegar. Todos los documentos etiquetados automáticamente deben revisarse para garantizar su precisión. Comienza la revisión.

    label-process-14

Entrena el modelo después de etiquetar todos los documentos sugeridos

Ve a Entrenar ahora en la barra de información. Cuando se etiquetan los documentos sugeridos, deberías ver la siguiente barra de información que recomienda el entrenamiento.

label-process-15

Funciones admitidas y limitaciones

Función Descripción Admitido
Compatibilidad con procesadores antiguos Es posible que no funcione bien con procesadores antiguos y conjuntos de datos importados anteriormente.