Modello di lettura di Document Intelligence
Importante
- Le versioni di anteprima pubblica di Document Intelligence consentono l'accesso anticipato alle funzionalità in fase di sviluppo attivo.
- Le funzionalità, gli approcci e i processi possono cambiare prima della disponibilità generale, a seconda del feedback degli utenti.
- La versione di anteprima pubblica delle librerie client di Document Intelligence per impostazione predefinita è l'API REST versione 2024-02-29-preview.
- L'anteprima pubblica versione 2024-02-29-preview è attualmente disponibile solo nelle aree di Azure seguenti:
- Stati Uniti orientali
- Stati Uniti occidentali2
- Europa occidentale
Questo contenuto si applica a:v4.0 (anteprima) | Versioni precedenti:v3.1 (GA)v3.0 (GA)
Questo contenuto si applica a:v3.1 (GA) | Versione più recente:v4.0 (anteprima) | Versioni precedenti:v3.0
Questo contenuto si applica a:v3.0 (GA) | Versioni più recenti:v4.0 (anteprima)v3.1
Nota
Per estrarre testo da immagini esterne come etichette, segni stradali e poster, usare la funzionalità Di analisi delle immagini di Intelligenza artificiale di Azure v4.0 ottimizzata per immagini generali non documentate con un'API sincrona ottimizzata per le prestazioni che semplifica l'incorporamento di OCR negli scenari di esperienza utente.
Il modello OCR (Document Intelligence Read Optical Character Recognition) viene eseguito con una risoluzione superiore a quella di Lettura e lettura di Visione artificiale di Azure ed estrae testo stampato e scritto a mano da documenti PDF e immagini analizzate. Include anche il supporto per l'estrazione di testo da documenti Microsoft Word, Excel, PowerPoint e HTML. Rileva paragrafi, righe di testo, parole, posizioni e lingue. Il modello Read è il motore OCR sottostante per altri modelli predefiniti di Document Intelligence, ad esempio Layout, Documento generale, Fattura, Ricevuta, Identità (ID), Scheda assicurazione sanitaria, W2 oltre ai modelli personalizzati.
Che cos'è l'OCR per i documenti?
Il riconoscimento ottico dei caratteri (OCR) per i documenti è ottimizzato per documenti di grandi dimensioni in più formati di file e lingue globali. Include funzioni come la scansione a risoluzione più elevata delle immagini dei documenti per una migliore gestione dei testi più piccoli e densi, il rilevamento dei paragrafi e la gestione dei moduli compilabili. Le funzionalità OCR includono anche scenari avanzati come caselle a carattere singolo ed estrazione accurata dei campi chiave comunemente presenti in fatture, ricevute e altri scenari predefiniti.
Opzioni di sviluppo
Document Intelligence v4.0 (2024-02-29-preview, 2023-10-31-preview) supporta gli strumenti, le applicazioni e le librerie seguenti:
Funzionalità | Risorse | Model ID |
---|---|---|
Modello Lettura OCR | • Document Intelligence Studio • API REST• C# SDK • Python SDK • Java SDK • JavaScript SDK |
prebuilt-read |
Document Intelligence v3.1 supporta gli strumenti, le applicazioni e le librerie seguenti:
Funzionalità | Risorse | Model ID |
---|---|---|
Modello Lettura OCR | • Document Intelligence Studio • API REST• C# SDK • Python SDK • Java SDK • JavaScript SDK |
prebuilt-read |
Document Intelligence v3.0 supporta gli strumenti, le applicazioni e le librerie seguenti:
Funzionalità | Risorse | Model ID |
---|---|---|
Modello Lettura OCR | • Document Intelligence Studio • API REST• C# SDK • Python SDK • Java SDK • JavaScript SDK |
prebuilt-read |
Requisiti di input
Per risultati ottimali, fornire una foto chiara o una scansione di alta qualità per ogni documento.
Formati di file supportati:
Modello PDF Immagine:
JPEG/JPG, PNG, BMP, TIFF, HEIFMicrosoft Office:
Word (DOCX), Excel (XLSX), PowerPoint (PPTX) e HTMLLettura ✔ ✔ ✔ Layout ✔ ✔ ✔ (2024-02-29-preview, 2023-10-31-preview) Documento generale ✔ ✔ Predefinito ✔ ✔ Estrazione personalizzata ✔ ✔ Classificazione personalizzata ✔ ✔ ✔ (2024-02-29-preview) Per i formati PDF e TIFF, possono essere elaborate fino a 2000 pagine (con una sottoscrizione di livello gratuito, vengono elaborate solo le prime due pagine).
Le dimensioni del file per l'analisi dei documenti sono di 500 MB per il livello a pagamento (S0) e 4 MB per il livello gratuito (F0).
Per le immagini, le dimensioni devono essere comprese tra 50 x 50 pixel e 10.000 x 10.000 pixel.
Se i file PDF sono bloccati da password, è necessario rimuovere il blocco prima dell'invio.
L'altezza minima del testo da estrarre è di 12 pixel per un'immagine 1024 x 768 pixel. Queste dimensioni corrispondono approssimativamente a un testo con dimensioni di
8
punti e 150 punti per pollice (DPI).Per il training di modelli personalizzati, il numero massimo di pagine per i dati di training è 500 per il modello personalizzato e 50.000 per il modello neurale personalizzato.
Per il training di modelli di estrazione personalizzati, le dimensioni totali dei dati di training sono di 50 MB per il modello e 1G MB per il modello neurale.
Per il training del modello di classificazione personalizzato, le dimensioni totali dei dati di training sono
1GB
con un massimo di 10.000 pagine.
Introduzione al modello di lettura
Provare a estrarre testo da moduli e documenti usando Document Intelligence Studio. Sono necessarie le risorse seguenti:
Una sottoscrizione di Azure: è possibile crearne una gratuitamente.
Istanza di Document Intelligence nel portale di Azure. Per provare il servizio, è possibile usare il piano tariffario gratuito (
F0
). Dopo la distribuzione della risorsa, selezionare Vai alla risorsa per recuperare la chiave e l'endpoint.
Nota
Attualmente Document Intelligence Studio non supporta i formati di file Microsoft Word, Excel, PowerPoint e HTML.
Documento di esempio elaborato con Document Intelligence Studio
Nella home page di Document Intelligence Studio selezionare Lettura.
È possibile analizzare il documento di esempio o caricare i propri file.
Selezionare il pulsante Esegui analisi e, se necessario, configurare le opzioni Analizza:
Lingue e impostazioni locali supportate
Per un elenco completo delle lingue supportate, vedere la pagina Supporto linguistico - Modelli di analisi dei documenti.
Estrazione dei dati
Nota
Microsoft Word e il file HTML sono supportati nella versione 3.1 e versioni successive. Rispetto a PDF e immagini, le funzionalità seguenti non sono supportate:
- Nessun angolo, larghezza/altezza e unità con ogni oggetto pagina.
- Per ogni oggetto rilevato, non è presente alcun poligono di delimitazione o area di delimitazione.
- L'intervallo di pagine (
pages
) non è supportato come parametro. - Nessun
lines
oggetto.
Pagine
L'insieme pages è un elenco di pagine all'interno del documento. Ogni pagina viene rappresentata in sequenza all'interno del documento e include l'angolo di orientamento che indica se la pagina viene ruotata e la larghezza e l'altezza (dimensioni in pixel). Le unità di pagina nell'output del modello vengono calcolate come illustrato:
Formato file | Unità di pagina calcolata | Pagine totali |
---|---|---|
Immagini (JPEG/JPG, PNG, BMP, HEIF) | Ogni immagine = 1 unità di pagina | Totale immagini |
Ogni pagina nel PDF = 1 unità di pagina | Totale pagine nel PDF | |
TIFF | Ogni immagine nel file TIFF = 1 unità di pagina | Totale immagini in TIFF |
Word (DOCX) | Fino a 3.000 caratteri = 1 unità di pagina, immagini incorporate o collegate non supportate | Totale pagine fino a 3.000 caratteri ciascuna |
Excel (XLSX) | Ogni foglio di lavoro = 1 unità di pagina, immagini incorporate o collegate non supportate | Totale fogli di lavoro |
PowerPoint (PPTX) | Ogni diapositiva = 1 unità di pagina, immagini incorporate o collegate non supportate | Diapositive totali |
HTML | Fino a 3.000 caratteri = 1 unità di pagina, immagini incorporate o collegate non supportate | Totale pagine fino a 3.000 caratteri ciascuna |
"pages": [
{
"pageNumber": 1,
"angle": 0,
"width": 915,
"height": 1190,
"unit": "pixel",
"words": [],
"lines": [],
"spans": []
}
]
# Analyze pages.
for page in result.pages:
print(f"----Analyzing document from page #{page.page_number}----")
print(
f"Page has width: {page.width} and height: {page.height}, measured with unit: {page.unit}"
)
# Analyze pages.
for page in result.pages:
print(f"----Analyzing document from page #{page.page_number}----")
print(f"Page has width: {page.width} and height: {page.height}, measured with unit: {page.unit}")
Selezionare le pagine per l'estrazione di testo
Per i documenti PDF a più pagine di grandi dimensioni, usare il parametro di query pages
per indicare numeri di pagina o intervalli di pagine specifici per l'estrazione di testo.
Paragrafi
Il modello Read OCR in Document Intelligence estrae tutti i blocchi identificati di testo nell'insieme paragraphs
come oggetto di primo livello in analyzeResults
. Ogni voce di questa raccolta rappresenta un blocco di testo e include il testo estratto comecontent
e le coordinate di delimitazione polygon
. Le informazioni span
puntano al frammento di testo all'interno della proprietà di primo livello content
che contiene il testo completo del documento.
"paragraphs": [
{
"spans": [],
"boundingRegions": [],
"content": "While healthcare is still in the early stages of its Al journey, we are seeing pharmaceutical and other life sciences organizations making major investments in Al and related technologies.\" TOM LAWRY | National Director for Al, Health and Life Sciences | Microsoft"
}
]
Testo, righe e parole
Il modello Lettura OCR estrae il testo in stile stampato e scritto a mano come lines
e words
. Il modello restituisce le coordinate del polygon
delimitatore e confidence
per le parole estratte. La raccolta styles
include qualsiasi stile scritto a mano per le righe, se rilevato insieme agli intervalli che puntano al testo associato. Questa funzionalità si applica alle lingue scritte a mano supportate.
Per Microsoft Word, Excel, PowerPoint e HTML, Document Intelligence Read model v3.1 e versioni successive estrae tutto il testo incorporato così come è. I testi vengono extratati come parole e paragrafi. Le immagini incorporate non sono supportate.
"words": [
{
"content": "While",
"polygon": [],
"confidence": 0.997,
"span": {}
},
],
"lines": [
{
"content": "While healthcare is still in the early stages of its Al journey, we",
"polygon": [],
"spans": [],
}
]
# Analyze lines.
for line_idx, line in enumerate(page.lines):
words = line.get_words()
print(
f"...Line # {line_idx} has {len(words)} words and text '{line.content}' within bounding polygon '{format_polygon(line.polygon)}'"
)
# Analyze words.
for word in words:
print(
f"......Word '{word.content}' has a confidence of {word.confidence}"
)
# Analyze lines.
if page.lines:
for line_idx, line in enumerate(page.lines):
words = get_words(page, line)
print(
f"...Line # {line_idx} has {len(words)} words and text '{line.content}' within bounding polygon '{line.polygon}'"
)
# Analyze words.
for word in words:
print(f"......Word '{word.content}' has a confidence of {word.confidence}")
Stile scritto a mano per le righe di testo
La risposta include la classificazione di ogni riga di testo come stile di scrittura manuale o no, insieme a un punteggio di attendibilità. Per altre informazioni, vedereSupporto linguistico scritto a mano. L'esempio seguente mostra un frammento JSON.
"styles": [
{
"confidence": 0.95,
"spans": [
{
"offset": 509,
"length": 24
}
"isHandwritten": true
]
}
Se è stata abilitata la funzionalità di componente aggiuntivo tipo di carattere/stile, si ottiene anche il risultato del tipo di carattere/stile come parte dell'oggetto styles
.
Passaggi successivi
Completare un argomento di avvio rapido di Intelligence sui documenti:
Esplorare l'API REST: