Che cos’è Azure AI Document Intelligence

Azure AI Document Intelligence (l’ex Form Recognizer) è il servizio della famiglia Azure AI Services che estrae in modo strutturato testo, coppie chiave-valore, tabelle e campi tipizzati da documenti. La differenza sostanziale rispetto a un semplice OCR è che l’OCR restituisce solo testo (con coordinate), mentre Document Intelligence produce un modello dati: capisce che “Total: 1.240,00 €” è il campo InvoiceTotal di tipo currency, non una stringa qualsiasi. In sede d’esame la regola è netta: se ti serve la struttura (chi è cliente, qual è l’importo, quali righe compongono una tabella) scegli Document Intelligence; se ti serve estrarre testo grezzo da immagini scegli l’OCR (Read) di Azure AI Vision.

Modelli prebuilt

I prebuilt models sono pronti all’uso, senza training: chiami l’endpoint e ricevi campi già etichettati. I principali:

  • Invoice — fatture: fornitore, cliente, totale, IVA, righe.
  • Receipt — scontrini: esercente, data, importo.
  • ID document — passaporti, patenti, carte d’identità.
  • Layout — estrae testo, tabelle, selection marks e struttura (paragrafi, titoli) senza interpretare i campi semanticamente.
  • General document / Read — testo e coppie chiave-valore generiche.

Il layout model è il jolly da ricordare: quando ti serve la struttura tabellare o la geometria della pagina senza fare training, la risposta è layout. Non ti dice “questo è il totale”, ma ti restituisce righe, colonne e celle in modo affidabile.

Custom models: template, neural e composed

Quando i tuoi documenti non rientrano nei prebuilt (moduli aziendali specifici, contratti proprietari) usi un custom model, addestrato su tuoi campioni etichettati. Qui l’esame vuole che tu sappia scegliere:

Custom template model

  • Basato sulla posizione fissa dei campi.
  • Richiede pochi campioni (già da circa 5 documenti).
  • Training rapido ed economico.
  • Requisito critico: i documenti devono avere un layout coerente e ripetibile. Se le posizioni cambiano, il template model sbaglia.

Custom neural model

  • Basato sul deep learning: capisce il campo dal contesto, non dalla posizione.
  • Gestisce variabilità di layout e documenti strutturati/semi-strutturati diversi tra loro.
  • Costo: richiede più campioni etichettati e training più oneroso.

La discriminante d’esame è sempre questa coppia: template = layout uniforme, pochi dati; neural = layout variabile, più dati etichettati.

Composed model

Un composed model raggruppa più custom model sotto un unico ID. All’analisi il servizio esegue una classificazione del documento e instrada verso il sotto-modello corretto. Serve quando un’unica applicazione riceve tipi di documento eterogenei (es. fatture di fornitori diversi) e vuoi un solo endpoint da chiamare.

Output arricchito: confidence e bounding region

Ogni campo estratto non è solo un valore: porta con sé metadati di qualità.

  • Confidence score — valore 0-1 che indica quanto il modello è sicuro. È la base per il pattern human-in-the-loop: sotto una soglia (es. 0.8) instradi il documento a revisione manuale invece di accettarlo in automatico.
  • Bounding region / bounding box — le coordinate del campo sulla pagina (con pageNumber), utili per evidenziare, validare visivamente o gestire documenti multi-pagina.

Esempio di invocazione con l’SDK:

poller = client.begin_analyze_document("prebuilt-invoice", document=f)
result = poller.result()

Trappole tipiche d’esame

  • Serve la struttura tabellare senza addestrare nulla → usa il prebuilt layout model (non il general document e non un custom neural, che richiederebbe training).
  • Documenti con layout molto variabile tra lorocustom neural model; il template model fallisce perché assume posizioni coerenti. Ricorda che il neural pretende più campioni etichettati.
  • Devi solo estrarre testo da immagini/scansioni, nessun campo strutturatoOCR (Read) di Azure AI Vision, non Document Intelligence.
  • Un’unica app riceve fatture da fornitori con formati diversi → addestra un custom model per formato e uniscili in un composed model con classificazione automatica.
  • Devi automatizzare l’inserimento ma evitare errori sui documenti dubbi → sfrutta il confidence score con una soglia per attivare la revisione umana, non accettare tutto ciecamente.