Use os classificadores incrementais da Informação de Documentos

Este conteúdo se aplica a: marca de seleção v4.0 (versão prévia) marca de seleção

A IA do Azure para Informação de Documentos é um Serviço de IA do Azure que permite que você crie soluções inteligentes de processamento de documentos. As APIs da Informação de Documentos analisam imagens, PDFs e outros arquivos de documento para extrair e detectar vários elementos de conteúdo, layout, estilo e semântica.

Os modelos de classificação personalizados da Informação de Documentos são tipos de modelos de aprendizagem profunda que combinam recursos de layout e linguagem para detectar e identificar com precisão os documentos que você processa nos seus aplicativos. Os modelos de classificação personalizada podem classificar uma página por vez de arquivos de entrada para identificar os documentos e podem identificar vários documentos ou várias instâncias de um só documento em um arquivo de entrada.

Os classificadores de documentos da Informação de Documentos identificam tipos de documentos conhecidos em arquivos. Ao processar um arquivo de entrada com vários tipos de documentos ou quando você não souber o tipo de documento, use um classificador para identificá-lo. Os classificadores devem ser atualizados periodicamente sempre que ocorrerem as seguintes alterações:

  • Você adiciona novos modelos para uma classe existente.
  • Você adiciona novos tipos de documento para reconhecimento.
  • A confiança do classificador é baixa.

Em alguns cenários, você não pode mais ter o conjunto original de documentos usados para treinar o classificador. Com o treinamento incremental, você pode atualizar o classificador com apenas as novas amostras rotuladas.

Observação

O treinamento incremental só se aplica aos modelos de classificador de documentos e não a modelos personalizados.

O treinamento incremental é útil quando você deseja aprimorar a qualidade de um classificador personalizado. Adicionar novas amostras de treinamento às classes existentes aprimora a confiança do modelo em relação aos tipos de documentos existentes. Por exemplo, se uma nova versão de um formulário existente for adicionada ou houver um novo tipo de documento. Um exemplo disso pode ser quando seu aplicativo começa a dar suporte a um novo tipo de documento como uma entrada válida.

Introdução ao treinamento incremental

  • O treinamento incremental não apresenta novos pontos de extremidade de API.

  • O conteúdo da solicitação documentClassifiers:buildé modificado para dar suporte ao treinamento incremental.

  • O treinamento incremental resulta na criação de um modelo de classificador, com o classificador existente mantido inalterado.

  • O novo classificador tem todas as amostras e tipos de documentos do classificador antigo, juntamente com as amostras recém-fornecidas. Você precisa garantir que o seu aplicativo seja atualizado para trabalhar com o classificador recém-treinado.

    Observação

    A operação de cópia para classificadores não está disponível no momento.

Criar uma solicitação de build do classificador incremental

A solicitação de build do classificador incremental é semelhante à solicitação de build do classify document, mas inclui a nova propriedade baseClassifierId. A baseClassifierId é definida como o classificador existente que você deseja estender. Você também precisa fornecer os docTypes para os diferentes tipos de documentos do conjunto de amostras. Quando você informa um docType que já existe no baseClassifier, as amostras fornecidas na solicitação são adicionadas às amostras fornecidas quando o classificador base foi treinado. Os novos valores de docType adicionados ao treinamento incremental são adicionados apenas ao novo classificador. O processo usado para especificar as amostras permanece inalterado. Para mais informações, consulte treinamento de um modelo classificador.

Exemplo de solicitação POST

Amostra de solicitação POST para criar um classificador de documento incremental

POST {ponto-de-extremidade}/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"
      }
    }
  }
}

Resposta POST

Todas as APIs da Informação de Documentos são assíncronas, e a sondagem do local da operação retornada mostra um status sobre a operação de build. Os classificadores são rápidos de serem treinados, e o classificador pode ficar pronto para uso em alguns minutos.

Após a conclusão bem-sucedida:

  • O método POST bem-sucedido retorna o código de resposta 202 OK indicando que o serviço criou a solicitação.
  • Os documentos convertidos estão localizados no contêiner de destino.
  • A solicitação POST também retorna cabeçalhos de resposta, incluindo Operation-Location. O valor desse cabeçalho contém uma resultId que pode ser consultada para obter o status da operação assíncrona e recuperar os resultados por meio de uma solicitação GET com a mesma chave de assinatura de recurso.

Exemplo de solicitação GET

Amostra de solicitação GET para recuperar o resultado de um classificador de documento incremental

GET {ponto-de-extremidade}/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"
      }
    }
  }
}

Resposta GET

A resposta GET de um classificador treinado de maneira incremental difere da resposta GET do classificador padrão. O classificador treinado de maneira incremental não retorna todos os tipos de documentos com suporte. Ele retorna os tipos de documentos adicionados ou atualizados na etapa de treinamento incremental e no classificador base estendido. Para obter uma lista completa de tipos de documentos, o classificador base precisa ser listado. Excluir um classificador base não afeta o uso de um classificador treinado de maneira incremental.

Limites

  • O treinamento incremental só funciona quando o classificador base e o classificador treinado de maneira incremental são treinados na mesma versão da API. Como resultado, o classificador treinado de maneira incremental tem o mesmo ciclo de vida do modelo do classificador base.

  • Os limites de tamanho do conjunto de dados de treinamento para o classificador incremental são iguais aos de outro modelo de classificador. Confira os limites de serviço para obter uma lista completa dos limites aplicáveis.

Próximas etapas