Condividi tramite


Usare classificatori incrementali di Document Intelligence

Questo contenuto si applica a: segno di spunta v4.0 (anteprima) segno di spunta

Informazioni sui documenti di Azure AI è un servizio di intelligenza artificiale applicata di Azure basato sul cloud che consente di creare soluzioni intelligenti di elaborazione dei documenti. Le API di Informazioni sui documenti analizzano immagini, PDF e altri file di documenti per estrarre e rilevare vari elementi di contenuto, layout, stile e semantici.

I modelli di classificazione personalizzati di Informazioni sui documenti sono tipi di modelli di Deep Learning che combinano funzionalità di layout e lingua per rilevare e identificare in modo accurato i documenti elaborati all'interno delle applicazioni. I modelli di classificazione personalizzati eseguono la classificazione dei file di input una pagina alla volta per identificare i documenti all'interno e possono anche identificare più documenti o più istanze di un singolo documento all'interno di un file di input.

I classificatori di documenti di Informazioni per i documenti identificano i tipi di documento noti nei file. Quando si elabora un file di input con più tipi di documento o quando non si conosce il tipo di documento, usare un classificatore per identificare il documento. I classificatori devono essere aggiornati periodicamente ogni volta che si verificano le modifiche seguenti:

  • È possibile aggiungere nuovi modelli per una classe esistente.
  • È possibile aggiungere nuovi tipi di documento per il riconoscimento.
  • La confidenza del classificatore è bassa.

In alcuni scenari non è più possibile avere il set originale di documenti usato per eseguire il training del classificatore. Con il training incrementale, è possibile aggiornare il classificatore con solo i nuovi esempi etichettati.

Nota

Il training incrementale si applica solo ai modelli di classificatore di documenti e non ai modelli personalizzati.

Il training incrementale è utile quando si vuole migliorare la qualità di un classificatore personalizzato. L'aggiunta di nuovi esempi di training per le classi esistenti migliora l'attendibilità del modello per i tipi di documento esistenti. Ad esempio, se viene aggiunta una nuova versione di un modulo esistente o se è presente un nuovo tipo di documento. Un esempio può essere quando l'applicazione inizia a supportare un nuovo tipo di documento come input valido.

Introduzione al training incrementale

  • Il training incrementale non introduce nuovi endpoint API.

  • Il payload della richiesta documentClassifiers:build viene modificato per supportare il training incrementale.

  • Il training incrementale comporta la creazione di un nuovo modello di classificatore con il classificatore esistente lasciato invariato.

  • Il nuovo classificatore include tutti gli esempi di documento e i tipi del classificatore precedente insieme agli esempi appena forniti. È necessario assicurarsi che l'applicazione sia aggiornata per usare il classificatore appena sottoposto a training.

    Nota

    L'operazione di copia per i classificatori non è attualmente disponibile.

Creare una richiesta di compilazione del classificatore incrementale

La richiesta di compilazione del classificatore incrementale è simile alla richiesta di classify document compilazione, ma include la nuova baseClassifierId proprietà. Il baseClassifierId è impostato sul classificatore esistente che si desidera estendere. È anche necessario specificare il docTypes per i diversi tipi di documento nel set di esempi. Fornendo un docType presente in base a baseClassifier, gli esempi forniti nella richiesta vengono aggiunti agli esempi forniti quando è stato eseguito il training del classificatore di base. I nuovi valori docType aggiunti nel training incrementale vengono aggiunti solo al nuovo classificatore. Il processo per specificare gli esempi rimane invariato. Per altre informazioni, vedere il training di un modello di classificatore.

Richiesta POST di esempio

Richiesta di esempioPOST per compilare un classificatore di documenti incrementale

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"
      }
    }
  }
}

Risposta POST

Tutte le API di Business Intelligence per i documenti sono asincrone e il polling del percorso dell'operazione restituita fornisce uno stato per l'operazione di compilazione. Il training dei classificatori è rapido e il classificatore può essere pronto all'uso in un minuto o due.

Al termine dell'operazione:

  • La corretta esecuzione del metodo POST restituisce un 202 OK codice di risposta che indica che il servizio ha creato la richiesta.
  • I documenti tradotti vengono collocati nel contenitore di destinazione.
  • La richiesta POST restituisce anche intestazioni di risposta, tra cui Operation-Location. Il valore di questa intestazione contiene un resultId su cui è possibile eseguire una query per ottenere lo stato dell'operazione asincrona e recuperare i risultati tramite una richiesta GET con la stessa chiave di sottoscrizione della risorsa.

Richiesta GET di esempio

Richiesta di esempioGET per recuperare il risultato di un classificatore di documenti incrementale

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"
      }
    }
  }
}

Risposta Get

La risposta GET da un classificatore con training incrementale differisce dalla risposta GET di un classificatore standard. Il classificatore con training incrementale non restituisce tutti i tipi di documento supportati. Restituisce i tipi di documento aggiunti o aggiornati nel passaggio di training incrementale e nel classificatore di base esteso. Per ottenere un elenco completo dei tipi di documento, è necessario elencare il classificatore di base. L'eliminazione di un classificatore di base non influisce sull'uso di un classificatore con training incrementale.

Limiti

  • Il training incrementale funziona solo quando il classificatore di base e il classificatore con training incrementale vengono sottoposti a training sulla stessa versione dell'API. Di conseguenza, il classificatore con training incrementale ha lo stesso ciclo di vita del modello del classificatore di base.

  • I limiti delle dimensioni del set di dati di training per il classificatore incrementale sono gli stessi di altri modelli di classificatore. Per un elenco completo dei limiti applicabili, vedere limiti del servizio.

Passaggi successivi