Compartir a través de


Usar clasificadores incrementales de Inteligencia de documentos

Este contenido se aplica a: marca de verificación v4.0 (versión preliminar) marca de verificación

Documento de inteligencia de Azure AI es un servicio de Azure AI basado en la nube que permite crear soluciones inteligentes de procesamiento de documentos. Las API de Documentación de inteligencia analizan imágenes, archivos PDF y otros archivos de documento para extraer y detectar varios elementos de contenido, diseño, estilo y semántica.

Los modelos de clasificación personalizados de Documentación de inteligencia son tipos de modelos de aprendizaje profundo que combinan características de diseño y lenguaje para detectar e identificar con precisión los documentos que se procesan dentro de las aplicaciones. Los modelos de clasificación personalizados realizan la clasificación de archivos de entrada una página a la vez para identificar los documentos al interior y también pueden identificar varios documentos o instancias de un único documento dentro de un archivo de entrada.

Los clasificadores de documentos de Documentación de inteligencia identifican los tipos de documento conocidos en los archivos. Al procesar un archivo de entrada con varios tipos de documento o cuando no conoce el tipo de documento, use un clasificador para identificar el documento. Los clasificadores deben actualizarse periódicamente cada vez que se produzcan los siguientes cambios:

  • Puede agregar nuevas plantillas para una clase existente.
  • Se agregan nuevos tipos de documento para el reconocimiento.
  • La confianza del clasificador es baja.

En algunos escenarios, ya no puede tener el conjunto original de documentos usados para entrenar el clasificador. Con el entrenamiento incremental, puede actualizar el clasificador con solo los nuevos ejemplos etiquetados.

Nota:

El entrenamiento incremental solo se aplica a los modelos clasificadores de documentos y no a los modelos personalizados.

El entrenamiento incremental es útil cuando desea mejorar la calidad de un clasificador personalizado. Agregar nuevas muestras de entrenamiento para las clases existentes mejora la confianza del modelo para los tipos de documento existentes. Por ejemplo, si se agrega una nueva versión de un formulario existente o hay un nuevo tipo de documento. Un caso puede ser cuando la aplicación comienza a admitir un nuevo tipo de documento como una entrada válida.

Introducción al entrenamiento incremental

  • El entrenamiento incremental no introduce ningún nuevo punto de conexión de API.

  • La carga de la solicitud documentClassifiers:build se modifica para admitir el entrenamiento incremental.

  • El entrenamiento incremental da como resultado la creación de un nuevo modelo clasificador con el clasificador existente sin modificar.

  • El nuevo clasificador tiene todas las muestras de documentos y tipos del clasificador antiguo junto con las muestras recién proporcionadas. Debe asegurarse de que la aplicación se actualiza para trabajar con el clasificador recién entrenado.

    Nota:

    La operación de copia para clasificadores no está disponible actualmente.

Crear una solicitud de compilación del clasificador incremental

La solicitud de compilación del clasificador incremental es similar a la classify documentsolicitud de compilación, pero incluye la nueva propiedad baseClassifierId. La baseClassifierId se establece en el clasificador existente que desea extender. También debe proporcionar docTypes para los distintos tipos de documento del conjunto de ejemplo. Al proporcionar un docType que existe en baseClassifier, las muestras proporcionadas en la solicitud se agregan a las muestras proporcionadas cuando se entrenó el clasificador base. Los nuevos valores de docType agregados en el entrenamiento incremental solo se agregan al nuevo clasificador. El proceso para especificar las muestras permanece sin cambios. Para obtener más información, vea entrenar un modelo clasificador.

Solicitud POST de ejemplo

Solicitud POST de ejemplo para compilar un clasificador de documentos incremental

POST {your-endpoint}/documentintelligence/documentClassifiers:build?api-version=2024-02-29-preview

{
  "classifierId": "myAdaptedClassifier",
  "description": "Classifier description",
  "baseClassifierId": "myOriginalClassifier",
  "docTypes": {
    "formA": {
      "azureBlobSource": {
        "containerUrl": "https://myStorageAccount.blob.core.windows.net/myContainer?mySasToken",
        "prefix": "formADocs/"
      }
    },
    "formB": {
      "azureBlobFileListSource": {
        "containerUrl": "https://myStorageAccount.blob.core.windows.net/myContainer?mySasToken",
        "fileList": "formB.jsonl"
      }
    }
  }
}

Respuesta de POST

Todas las API de Documentación de inteligencia son asincrónicas; el sondeo de la ubicación de la operación devuelta proporciona un estado en la operación de compilación. Los clasificadores se pueden entrenar rápidamente y el clasificador puede estar listo para usarse en un minuto o dos.

Tras completarse correctamente:

  • El método POST exitoso devuelve un código de respuesta 202 OK que indica que el servicio ha creado la solicitud.
  • Los documentos traducidos se ubican en el contenedor de destino.
  • La solicitud POST también devuelve encabezados de respuesta, incluido Operation-Location. El valor de este encabezado contiene una resultId que se puede consultar para obtener el estado de la operación asincrónica y recuperar los resultados mediante una solicitud GET con la misma clave de suscripción de recursos.

Solicitud GET de ejemplo

Solicitud GET de ejemplo para recuperar el resultado de un clasificador de documentos incremental

GET {your-endpoint}/documentintelligence/documentClassifiers/{classifierId}/analyzeResults/{resultId}?api-version=2024-02-29-preview


{
  "classifierId": "myAdaptedClassifier",
  "description": "Classifier description",
  "createdDateTime": "2022-07-30T00:00:00Z",
  "expirationDateTime": "2023-01-01T00:00:00Z",
  "apiVersion": "2024-02-29-preview",

  "baseClassifierId": "myOriginalClassifier",

  "docTypes": {
    "formA": {
      "azureBlobSource": {
        "containerUrl": "https://myStorageAccount.blob.core.windows.net/myContainer",
        "prefix": "formADocs/"
      }
    },
    "formB": {
      "azureBlobFileListSource": {
        "containerUrl": "https://myStorageAccount.blob.core.windows.net/myContainer",
        "fileList": "formB.jsonl"
      }
    }
  }
}

Respuesta GET

La respuesta GET de un clasificador entrenado de manera incremental difiere de la respuesta GET del clasificador estándar. El clasificador entrenado de manera incremental no devuelve todos los tipos de documento admitidos. Devuelve los tipos de documento agregados o actualizados en el paso de entrenamiento incremental y el clasificador base extendido. Para obtener una lista completa de los tipos de documento, el clasificador base debe aparecer en la lista. La eliminación de un clasificador base no afecta el uso de un clasificador entrenado de manera incremental.

Límites

  • El entrenamiento incremental solo funciona cuando el clasificador base y el clasificador entrenado de manera incremental se entrenan en la misma versión de API. Como resultado, el clasificador entrenado de manera incremental tiene el mismo ciclo de vida del modelo que el clasificador base.

  • Los límites de tamaño del conjunto de datos de entrenamiento para el clasificador incremental son los mismos que para otro modelo de clasificador. Consulte los límites del servicio para obtener una lista completa de los límites aplicables.

Pasos siguientes