Addestrare e utilizzare modelli personalizzati

Completato

Suggerimento

Per altri dettagli, vedi la scheda Testo e immagini .

Quando i modelli predefiniti non coprono i tipi di documento specifici, puoi addestrare modelli personalizzati per estrarre dati dai tuoi moduli. Azure Document Intelligence supporta l'apprendimento automatico supervisionato, in cui si etichettano i documenti di esempio con i campi da estrarre e il servizio esegue il training di un modello per riconoscere tali campi nei nuovi documenti.

Tipi di modello personalizzati

Azure Document Intelligence offre due tipi di modelli di estrazione personalizzati, oltre a un modello di classificazione:

Modelli di template personalizzati

I modelli di template personalizzati si basano su un template visivo coerente per estrarre dati etichettati. Funzionano meglio per i moduli strutturati in cui il layout è statico da un'istanza di documento alla successiva, ad esempio questionari, applicazioni o moduli standard per enti pubblici.

I modelli template estraggono accuratamente coppie chiave-valore etichettate, marchi di selezione, tabelle, aree e firme. Il training richiede solo pochi minuti e sono supportate più di 100 lingue. Poiché i modelli di template sono veloci da addestrare e convenienti da utilizzare, rappresentano un buon punto di partenza quando i documenti hanno un layout visivo uniforme.

Modelli neurali personalizzati

I modelli neurali personalizzati usano l'apprendimento avanzato e sono ottimizzati per i dati etichettati. Combinano funzionalità di layout e linguaggio per estrarre campi da documenti strutturati, semistrutturati e non strutturati. Supporto dei modelli neurali:

  • Campi sovrapposti
  • Rilevamento della firma
  • Attendibilità a livello di tabella, riga e cella

I modelli neurali offrono un'accuratezza superiore rispetto ai modelli modello, in particolare per i documenti semistrutturati o non strutturati in cui il layout varia tra le istanze. Tuttavia, il training e l'utilizzo di più risorse richiedono più tempo.

Scegliere tra modelli e modelli neurali

Quando si decide quale tipo di modello personalizzato usare, prendere in considerazione i compromessi:

Fattore Modello personalizzato Neurale personalizzato
Ideale per Moduli strutturati con layout visivo coerente Documenti semistrutturati o non strutturati con layout diversi
Tempo di training Minuti Più lungo (dipende dalle dimensioni del set di dati)
Costo del training inferiore Maggiore
Precisione Alta per i moduli a layout fisso; diminuisce quando il layout varia Più elevato complessivamente, in particolare per i documenti con variazioni di formati
Supporto di versioni in lingue diverse Oltre 100 lingue Meno lingue (controllare la documentazione per il supporto corrente)
Supporto delle funzionalità Coppie chiave-valore, marchi di selezione, tabelle, regioni, firme Campi sovrapposti, rilevamento delle firme, attendibilità di tabelle/righe/celle

Suggerimento

Iniziare con un modello di modello personalizzato se i moduli hanno un layout visivo coerente. È più veloce e più economico per l'addestramento. Se l'accuratezza non è sufficiente o i documenti variano in formato, passare a un modello neurale personalizzato.

Classificatori personalizzati

I modelli di classificazione personalizzati identificano il tipo di un documento prima di richiamare un modello di estrazione. È possibile usare un classificatore per instradare i documenti in ingresso al modello di estrazione appropriato quando si gestiscono più tipi di modulo.

Addestrare un modello personalizzato

Per eseguire il training di un modello di estrazione personalizzato:

  1. Archiviare moduli di esempio in un contenitore BLOB di Azure, insieme ai file JSON contenenti informazioni sul campo di layout e etichetta:
    • Un ocr.json file per ogni modulo di esempio (generato tramite la funzione Analizza documento).
    • Un singolo fields.json file che descrive i campi da estrarre.
    • File labels.json per ogni modulo di esempio, che mappa i campi alla loro posizione nel modulo.
  2. Generare un URL di firma di accesso condiviso (SAS) per il contenitore.
  3. Usare la funzione API REST Build model o il metodo SDK equivalente.
  4. Usare la funzione dell'API REST Get model per recuperare l'ID modello addestrato.

È anche possibile eseguire il training visivo di modelli personalizzati usando Document Intelligence Studio, come descritto nell'unità Usare Document Intelligence Studio .

Suggerimento

Usare almeno cinque-sei moduli di esempio per il training. Un set di dati più grande e più vario produce modelli più accurati.

Usare un modello personalizzato

Per estrarre i dati del modulo con un modello personalizzato, chiamare la funzione Analizza documento con l'ID modello. È possibile usare un SDK supportato o l'API REST.

C#

string endpoint = "<endpoint>";
string apiKey = "<apiKey>";
AzureKeyCredential credential = new AzureKeyCredential(apiKey);
DocumentAnalysisClient client = new DocumentAnalysisClient(new Uri(endpoint), credential);

string modelId = "<modelId>";
Uri fileUri = new Uri("<fileUri>");

AnalyzeDocumentOperation operation = await client.AnalyzeDocumentFromUriAsync(WaitUntil.Completed, modelId, fileUri);
AnalyzeResult result = operation.Value;

Python

endpoint = "YOUR_DOC_INTELLIGENCE_ENDPOINT"
key = "YOUR_DOC_INTELLIGENCE_KEY"

model_id = "YOUR_CUSTOM_BUILT_MODEL_ID"
formUrl = "YOUR_DOCUMENT"

document_analysis_client = DocumentAnalysisClient(
    endpoint=endpoint, credential=AzureKeyCredential(key)
)

task = document_analysis_client.begin_analyze_document_from_url(model_id, formUrl)
result = task.result()

Una risposta con esito positivo contiene un analyzeResult oggetto con il contenuto estratto e una matrice di pagine contenenti informazioni sul documento.

Modelli composti

È possibile combinare più modelli personalizzati in un singolo modello composto. Quando si invia un documento a un modello composto, Document Intelligence lo classifica per determinare il modello di componente più appropriato e quindi restituisce i risultati di estrazione da tale modello. Questo approccio è utile quando si gestiscono più tipi di modulo che richiedono il proprio modello di estrazione.

Ulteriori informazioni