Addestrare e utilizzare modelli personalizzati
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:
- Archiviare moduli di esempio in un contenitore BLOB di Azure, insieme ai file JSON contenenti informazioni sul campo di layout e etichetta:
- Un
ocr.jsonfile per ogni modulo di esempio (generato tramite la funzione Analizza documento). - Un singolo
fields.jsonfile che descrive i campi da estrarre. - File
labels.jsonper ogni modulo di esempio, che mappa i campi alla loro posizione nel modulo.
- Un
- Generare un URL di firma di accesso condiviso (SAS) per il contenitore.
- Usare la funzione API REST Build model o il metodo SDK equivalente.
- 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.