Modello di layout di Informazioni sui documenti
Questo contenuto si applica a: v4.0 (GA) | Versioni precedenti: v3.1 (GA) v3.0 (GA) v2.1 (GA) v2.1 (GA)
Il modello di layout di Informazioni sui documenti è un’API avanzata di analisi dei documenti basata sull’apprendimento automatico disponibile nel cloud di Informazioni sui documenti. Consente di acquisire documenti in diversi formati e restituire le relative rappresentazioni strutturate dei dati. Combina potenti funzionalità di riconoscimento ottico dei caratteri (OCR) con modelli di Deep Learning per estrarre testo, tabelle, segni di selezione e struttura dei documenti.
Analisi layout documento (v4)
L'analisi del layout della struttura di documenti è il processo di analisi di un documento per estrarre aree di interesse e relative relazioni. L'obiettivo è estrarre testo ed elementi strutturali dalla pagina per creare modelli di comprensione semantica migliori. Esistono due tipi di ruoli in un layout di documento:
- Ruoli geometrici: testo, tabelle, figure e segni di selezione sono esempi di ruoli geometrici.
- Ruoli logici: titoli, intestazioni e piè di pagina sono esempi di ruoli logici di testi.
La figura seguente mostra i componenti tipici di un'immagine di una pagina di esempio.
Opzioni di sviluppo (v4)
Document Intelligence v4.0: 2024-11-30 (GA) supporta gli strumenti, le applicazioni e le librerie seguenti:
Funzionalità | Risorse | Model ID |
---|---|---|
Modello di layout | • Informazioni sui documenti di Studio • API REST • C# SDK • SDK Python • SDK Java • SDK JavaScript |
prebuilt-layout |
Requisiti di input (v4)
Formati di file supportati:
Modello PDF Immagine: JPEG/JPG
,PNG
,BMP
,TIFF
,HEIF
Microsoft Office:
Word (DOCX
), Excel (XLSX
), PowerPoint (PPTX
), HTMLLettura ✔ ✔ ✔ Layout ✔ ✔ ✔ Documento generale ✔ ✔ Predefinito ✔ ✔ Estrazione personalizzata ✔ ✔ Classificazione personalizzata ✔ ✔ ✔ Per risultati ottimali, fornire una foto chiara o una scansione di alta qualità per ogni documento.
Per i formati PDF e TIFF, possono essere elaborate fino a 2.000 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
1
GB per il modello neurale.Per il training del modello di classificazione personalizzato, le dimensioni totali dei dati di training sono
1
GB con un massimo di 10.000 pagine. Per 2024-11-30 (GA), le dimensioni totali dei dati di training sono2
GB con un massimo di 10.000 pagine.
Introduzione al modello di layout
Vedere in che modo i dati, tra cui testo, tabelle, intestazioni di tabella, segni di selezione e informazioni sulla struttura vengono estratti dai documenti tramite Informazioni sui documenti. Sono necessarie le risorse seguenti:
Sottoscrizione di Azure: è possibile crearne una gratuitamente.
Istanza di Informazioni sui documenti 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
Informazioni sui documenti di Studio è disponibile con le API v3.0 e versioni successive.
Documento di esempio elaborato con Informazioni sui documenti di Studio
Nella home page di Document Intelligence Studio selezionare Layout.
È possibile analizzare il documento di esempio o caricare i propri file.
Selezionare il pulsante Esegui analisi e, se necessario, configurare Analizza opzioni:
Lingue supportate
Vedere la pagina Lingue supportate - modelli di analisi dei documenti per un elenco completo delle lingue supportate.
Estrazione dei dati (v4)
Il modello di layout estrae testo, segni di selezione, tabelle, paragrafi e tipi di paragrafo (roles
) dai documenti.
Nota
Document Intelligence v4.0 (2024-11-30 (GA)) e versioni successive supportano Microsoft Office (DOCX, XLSX, PPTX) e i file HTML. Le funzionalità seguenti non sono supportate:
- Nessun angolo, larghezza/altezza e unità con ogni oggetto pagina.
- Per ogni oggetto rilevato, non è presente alcun poligono o area di delimitazione.
- L'intervallo di pagine (
pages
) non è supportato come parametro. - Nessun oggetto
lines
.
Pagine
La raccolta di pagine è un elenco di pagine all'interno del documento. Ogni pagina viene rappresentata in sequenza all'interno del documento e di .. /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 nel 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 |
# Analyze pages.
for page in result.pages:
print(f"----Analyzing layout from page #{page.page_number}----")
print(f"Page has width: {page.width} and height: {page.height}, measured with unit: {page.unit}")
Estrarre pagine selezionate dai documenti
Per i documenti 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 Layout estrae tutti i blocchi identificati di testo nella raccolta paragraphs
come oggetto di primo livello in analyzeResults
. Ogni voce in 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"
}
]
Ruoli di paragrafo
La nuova funzionalità di rilevamento di oggetti pagina basata su apprendimento automatico estrare ruoli logici come titoli, intestazioni di sezione, intestazioni di pagina, piè di pagina e altro ancora. Il modello Layout di Informazioni sui documenti assegna determinati blocchi di testo nella raccolta paragraphs
con il relativo ruolo o tipo specializzato previsto dal modello. È consigliabile usare i ruoli di paragrafo con documenti non strutturati per comprendere il layout del contenuto estratto per un'analisi semantica più completa. Sono supportati i ruoli di paragrafo seguenti:
Ruolo previsto | Descrizione | Tipi di file supportati |
---|---|---|
title |
Le intestazioni principali nella pagina | pdf, image, docx, pptx, xlsx, html |
sectionHeading |
Una o più sottointestazioni nella pagina | pdf, image, docx, xlsx, html |
footnote |
Il testo nella parte inferiore della pagina | pdf, immagine |
pageHeader |
Il testo nel margine superiore della pagina | pdf, immagine, docx |
pageFooter |
Il testo nel margine inferiore della pagina | pdf, image, docx, pptx, xlsx, html |
pageNumber |
Numero pagina | pdf, immagine |
{
"paragraphs": [
{
"spans": [],
"boundingRegions": [],
"role": "title",
"content": "NEWS TODAY"
},
{
"spans": [],
"boundingRegions": [],
"role": "sectionHeading",
"content": "Mirjam Nilsson"
}
]
}
Testo, righe e parole
Il modello di layout di documenti di Informazioni sui documenti estrae testo in stile stampato e scritto a mano come lines
e words
. Insieme styles
.. /include qualsiasi stile scritto a mano per le righe se rilevate 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 v4.0 2024-11-30 (GA) Layout estrae tutto il testo incorporato così come è. I testi vengono estratti come parole e paragrafi. Le immagini incorporate non sono supportate.
# Analyze lines.
if page.lines:
for line_idx, line in enumerate(page.lines):
words = get_words(page, line)
print(
f"...Line # {line_idx} has word count {len(words)} and text '{line.content}' "
f"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
Risposta .. /include la classificazione se ogni riga di testo è di stile di scrittura manuale o meno, insieme a un punteggio di attendibilità. Per altre informazioni, Vedere supporto della lingua scritta a mano. L'esempio seguente mostra un frammento JSON.
"styles": [
{
"confidence": 0.95,
"spans": [
{
"offset": 509,
"length": 24
}
"isHandwritten": true
]
}
Se si abilita la funzionalità di componente aggiuntivo tipo di carattere/stile, si ottiene anche il risultato del tipo di carattere/stile come parte dell'oggetto styles
.
Opzioni di selezione
Il modello Layout estrae anche i segni di selezione dai documenti. I segni di selezione estratti vengono visualizzati all'interno della raccolta pages
per ogni pagina. Includono il polygon
delimitatore, confidence
e lo state
di selezione (selected/unselected
). Viene incluso anche la rappresentazione del testo (ovvero, :selected:
e :unselected
) come indice iniziale (offset
), oltre a length
che fa riferimento alla proprietà di primo livello content
contenente il testo completo del documento.
# Analyze selection marks.
if page.selection_marks:
for selection_mark in page.selection_marks:
print(
f"Selection mark is '{selection_mark.state}' within bounding polygon "
f"'{selection_mark.polygon}' and has a confidence of {selection_mark.confidence}"
)
Tabelle
L'estrazione di tabelle è un requisito fondamentale per l'elaborazione di documenti contenenti grandi volumi di dati in genere formattati come tabelle. Il modello Layout estrae le tabelle nella sezione pageResults
dell'output JSON. Informazioni sulla tabella estratte. /include il numero di colonne e righe, intervallo di righe e intervallo di colonne. Ogni cella con il relativo poligono delimitatore viene restituita insieme a informazioni sull'area riconosciuta o meno come columnHeader
. Il modello supporta l'estrazione di tabelle ruotate. Ogni cella di tabella contiene l'indice di riga e di colonna e le coordinate del poligono delimitatore. Per il testo delle celle, il modello restituisce le informazioni span
contenenti l'indice iniziale (offset
). Il modello restituisce anche length
all'interno del contenuto di primo livello contenente il testo completo del documento.
Ecco alcuni fattori da considerare quando si usa la funzionalità di estrazione di Intelligence per documenti:
I dati da estrarre vengono presentati come tabella e la struttura della tabella è significativa?
Se non sono in formato tabella, i dati possono essere inseriti in una griglia bidimensionale?
Le tabelle si estendono su più pagine? In tal caso, per evitare di dover etichettare tutte le pagine, dividere il PDF in pagine prima di inviarlo a Informazioni sui documenti. Dopo l'analisi, eseguire la post-elaborazione delle pagine in una singola tabella.
Fare riferimento a Campi tabulari se si creano modelli personalizzati. Le tabelle dinamiche hanno un numero variabile di righe per ogni colonna. Le tabelle fisse hanno un numero costante di righe per ogni colonna.
Nota
- L'analisi della tabella non è supportata se il file di input è XLSX.
- Per la versione 2024-11-30 (GA), le aree di delimitazione per le figure e le tabelle coprono solo il contenuto principale ed escludono la didascalia e le note a piè di pagina associate.
if result.tables:
for table_idx, table in enumerate(result.tables):
print(f"Table # {table_idx} has {table.row_count} rows and " f"{table.column_count} columns")
if table.bounding_regions:
for region in table.bounding_regions:
print(f"Table # {table_idx} location on page: {region.page_number} is {region.polygon}")
# Analyze cells.
for cell in table.cells:
print(f"...Cell[{cell.row_index}][{cell.column_index}] has text '{cell.content}'")
if cell.bounding_regions:
for region in cell.bounding_regions:
print(f"...content on page {region.page_number} is within bounding polygon '{region.polygon}'")
Output in formato Markdown
L'API Layout può restituire il testo estratto in formato Markdown. Usare il outputContentFormat=markdown
per specificare il formato di output in Markdown. Il contenuto Markdown viene restituito come parte della sezione content
.
Nota
Per la versione 4.0 2024-11-30 (GA), la rappresentazione delle tabelle viene modificata in tabelle HTML per consentire il rendering di celle unite, intestazioni di più righe e così via. Un'altra modifica correlata consiste nell'usare i caratteri ☒ della casella di controllo Unicode e ☐ per i segni di selezione anziché :selected: e :unselected:. Si noti che questo significa che il contenuto dei campi del segno di selezione includerà :selected: anche se i relativi intervalli fanno riferimento ai caratteri Unicode nell'intervallo di primo livello.
document_intelligence_client = DocumentIntelligenceClient(endpoint=endpoint, credential=AzureKeyCredential(key))
poller = document_intelligence_client.begin_analyze_document(
"prebuilt-layout",
AnalyzeDocumentRequest(url_source=url),
output_content_format=ContentFormat.MARKDOWN,
)
Figure
Le figure (grafici, immagini) nei documenti svolgono un ruolo fondamentale nell'integrare e migliorare il contenuto testuale, fornendo rappresentazioni visive che facilitano la comprensione di informazioni complesse. L'oggetto figure rilevato dal modello Layout ha proprietà chiave come boundingRegions
(le posizioni spaziali della figura nelle pagine del documento, inclusi il numero di pagina e le coordinate poligono che delineano il limite della figura), spans
(dettaglia gli intervalli di testo correlati alla figura, specificando gli offset e le lunghezze all'interno del testo del documento. Questa connessione consente di associare la figura al relativo contesto testuale pertinente), elements
(identificatori per elementi di testo o paragrafi all'interno del documento correlati o descrivere la figura) e caption
se presente.
Quando output=figure viene specificato durante l'operazione di analisi iniziale, il servizio genera immagini ritagliate per tutte le figure rilevate a cui è possibile accedere tramite /analyeResults/{resultId}/figures/{figureId}
.
FigureId
è incluso in ogni oggetto figura, seguendo una convenzione non documentata di {pageNumber}.{figureIndex}
in cui figureIndex
reimposta su una per pagina.
Nota
Per la versione 4.0 2024-11-30 (GA), le aree di delimitazione per le figure e le tabelle coprono solo il contenuto principale ed escludono sottotitoli e note a piè di pagina associati.
# Analyze figures.
if result.figures:
for figures_idx,figures in enumerate(result.figures):
print(f"Figure # {figures_idx} has the following spans:{figures.spans}")
for region in figures.bounding_regions:
print(f"Figure # {figures_idx} location on page:{region.page_number} is within bounding polygon '{region.polygon}'")
Sezioni
L'analisi gerarchica della struttura dei documenti è fondamentale per organizzare, comprendere ed elaborare documenti estesi. Questo approccio è fondamentale per segmentare semanticamente i documenti lunghi per migliorare la comprensione, facilitare la navigazione e migliorare il recupero delle informazioni. L'avvento della Retrieval Augmented Generation (RAG) in un documento di IA generativa sottolinea il significato dell'analisi gerarchica della struttura dei documenti. Il modello Layout supporta sezioni e sottosezioni nell'output, che identifica la relazione di sezioni e oggetti all'interno di ogni sezione. La struttura gerarchica viene mantenuta in elements
di ogni sezione. È possibile usare output in formato Markdown per ottenere facilmente le sezioni e le sottosezioni in Markdown.
document_intelligence_client = DocumentIntelligenceClient(endpoint=endpoint, credential=AzureKeyCredential(key))
poller = document_intelligence_client.begin_analyze_document(
"prebuilt-layout",
AnalyzeDocumentRequest(url_source=url),
output_content_format=ContentFormat.MARKDOWN,
)
Questo contenuto si applica a: v3.1 (GA) | Versione più recente: v4.0 (GA) | Versioni precedenti: v3.0 v2.1
Questo contenuto si applica a: v3.0 (GA) | Versioni più recenti: v4.0 (GA) v3.1 | Versione precedente: v2.1
Questo contenuto si applica a: versione 2.1 | più recente: v4.0 (GA)
Il modello di layout di Informazioni sui documenti è un’API avanzata di analisi dei documenti basata sull’apprendimento automatico disponibile nel cloud di Informazioni sui documenti. Consente di acquisire documenti in diversi formati e restituire le relative rappresentazioni strutturate dei dati. Combina potenti funzionalità di riconoscimento ottico dei caratteri (OCR) con modelli di Deep Learning per estrarre testo, tabelle, segni di selezione e struttura dei documenti.
Analisi del layout di documenti
L'analisi del layout della struttura di documenti è il processo di analisi di un documento per estrarre aree di interesse e relative relazioni. L'obiettivo è estrarre testo ed elementi strutturali dalla pagina per creare modelli di comprensione semantica migliori. Esistono due tipi di ruoli in un layout di documento:
- Ruoli geometrici: testo, tabelle, figure e segni di selezione sono esempi di ruoli geometrici.
- Ruoli logici: titoli, intestazioni e piè di pagina sono esempi di ruoli logici di testi.
La figura seguente mostra i componenti tipici di un'immagine di una pagina di esempio.
Opzioni di sviluppo
Informazioni sui documenti v3. 1 supporta gli strumenti, le applicazioni e le librerie seguenti:
Funzionalità | Risorse | Model ID |
---|---|---|
Modello di layout | • Informazioni sui documenti di Studio • API REST • C# SDK • SDK Python • SDK Java • SDK JavaScript |
prebuilt-layout |
Informazioni sui documenti v3.0 supporta gli strumenti, le applicazioni e le librerie seguenti:
Funzionalità | Risorse | Model ID |
---|---|---|
Modello di layout | • Informazioni sui documenti di Studio • API REST • C# SDK • SDK Python • SDK Java • SDK JavaScript |
prebuilt-layout |
Informazioni sui documenti v2.1 supporta gli strumenti, le applicazioni e le librerie seguenti:
Funzionalità | Risorse |
---|---|
Modello Layout | • Strumento di etichettatura di Informazioni sui documenti • API REST • SDK Client-library • Contenitore Docker di Intelligence sui documenti |
Requisiti di input
Formati di file supportati:
Modello PDF Immagine: JPEG/JPG
,PNG
,BMP
,TIFF
,HEIF
Microsoft Office:
Word (DOCX
), Excel (XLSX
), PowerPoint (PPTX
), HTMLLettura ✔ ✔ ✔ Layout ✔ ✔ ✔ Documento generale ✔ ✔ Predefinito ✔ ✔ Estrazione personalizzata ✔ ✔ Classificazione personalizzata ✔ ✔ ✔ Per risultati ottimali, fornire una foto chiara o una scansione di alta qualità per ogni documento.
Per i formati PDF e TIFF, possono essere elaborate fino a 2.000 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
1
GB per il modello neurale.Per il training del modello di classificazione personalizzato, le dimensioni totali dei dati di training sono
1
GB con un massimo di 10.000 pagine. Per 2024-11-30 (GA), le dimensioni totali dei dati di training sono2
GB con un massimo di 10.000 pagine.
- Formati di file supportati: JPEG, PNG, PDF e TIFF.
- Numero di pagine supportato: per PDF e TIFF, vengono elaborate fino a 2.000 pagine. Per i sottoscrittori del livello gratuito, vengono elaborate solo le prime due pagine.
- Dimensioni del file supportate: le dimensioni del file devono essere inferiori a 50 MB e le dimensioni devono essere comprese tra almeno 50 x 50 pixel e al massimo 10.000 x 10.000 pixel.
Introduzione al modello di layout
Vedere in che modo i dati, tra cui testo, tabelle, intestazioni di tabella, segni di selezione e informazioni sulla struttura vengono estratti dai documenti tramite Informazioni sui documenti. Sono necessarie le risorse seguenti:
Sottoscrizione di Azure: è possibile crearne una gratuitamente.
Istanza di Informazioni sui documenti 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
Informazioni sui documenti di Studio è disponibile con le API v3.0 e versioni successive.
Documento di esempio elaborato con Informazioni sui documenti di Studio
Nella home page di Document Intelligence Studio selezionare Layout.
È possibile analizzare il documento di esempio o caricare i propri file.
Selezionare il pulsante Esegui analisi e, se necessario, configurare Analizza opzioni:
Strumento di etichettatura di esempio di Informazioni sui documenti
Passare allo strumento di esempio di Informazioni sui documenti.
Nella home page dello strumento di esempio selezionare Usare il layout per ottenere testo, tabelle e indicatori di selezione.
Nel campo endpoint del servizio di Informazioni sui documenti, incollare l’endpoint ottenuto con la sottoscrizione di Intelligence sui documenti.
Nel campo chiave, incollare la chiave ottenuta dalla risorsa di Informazioni sui documenti.
Nel campo Origine selezionare URL nel menu a discesa. È possibile usare il documento di esempio:
Selezionare il pulsante Recupera.
Selezionare Esegui layout. Lo Strumento di etichettatura campioni di Informazioni sui documenti chiama l'API
Analyze Layout
e analizza il documento.Visualizzare i risultati: vedere il testo evidenziato estratto, gli indicatori di selezione rilevati e le tabelle rilevate.
Lingue e impostazioni locali supportate
Vedere la pagina Lingue supportate - modelli di analisi dei documenti per un elenco completo delle lingue supportate.
Informazioni sui documenti v2.1 supporta gli strumenti, le applicazioni e le librerie seguenti:
Funzionalità | Risorse |
---|---|
API Layout | • Strumento di etichettatura di Informazioni sui documenti • API REST • SDK libreria client • Contenitore Docker di Informazioni sui documenti |
Estrazione dei dati
Il modello di layout estrae testo, segni di selezione, tabelle, paragrafi e tipi di paragrafo (roles
) dai documenti.
Nota
Document Intelligence v4.0 2024-11-30 (GA) supporta i file HTML e Microsoft Office (DOCX, XLSX, PPTX). Le funzionalità seguenti non sono supportate:
- Nessun angolo, larghezza/altezza e unità con ogni oggetto pagina.
- Per ogni oggetto rilevato, non è presente alcun poligono o area di delimitazione.
- L'intervallo di pagine (
pages
) non è supportato come parametro. - Nessun oggetto
lines
.
Pagine
La raccolta di pagine è un elenco di pagine all'interno del documento. Ogni pagina viene rappresentata in sequenza all'interno del documento e di .. /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 nel 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 layout from page #{page.page_number}----")
print(
f"Page has width: {page.width} and height: {page.height}, measured with unit: {page.unit}"
)
Estrarre pagine selezionate dai documenti
Per i documenti 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 Layout estrae tutti i blocchi identificati di testo nella raccolta paragraphs
come oggetto di primo livello in analyzeResults
. Ogni voce in 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"
}
]
Ruoli di paragrafo
La nuova funzionalità di rilevamento di oggetti pagina basata su apprendimento automatico estrare ruoli logici come titoli, intestazioni di sezione, intestazioni di pagina, piè di pagina e altro ancora. Il modello Layout di Informazioni sui documenti assegna determinati blocchi di testo nella raccolta paragraphs
con il relativo ruolo o tipo specializzato previsto dal modello. È consigliabile usare i ruoli di paragrafo con documenti non strutturati per comprendere il layout del contenuto estratto per un'analisi semantica più completa. Sono supportati i ruoli di paragrafo seguenti:
Ruolo previsto | Descrizione | Tipi di file supportati |
---|---|---|
title |
Le intestazioni principali nella pagina | pdf, image, docx, pptx, xlsx, html |
sectionHeading |
Una o più sottointestazioni nella pagina | pdf, image, docx, xlsx, html |
footnote |
Il testo nella parte inferiore della pagina | pdf, immagine |
pageHeader |
Il testo nel margine superiore della pagina | pdf, immagine, docx |
pageFooter |
Il testo nel margine inferiore della pagina | pdf, image, docx, pptx, xlsx, html |
pageNumber |
Numero pagina | pdf, immagine |
{
"paragraphs": [
{
"spans": [],
"boundingRegions": [],
"role": "title",
"content": "NEWS TODAY"
},
{
"spans": [],
"boundingRegions": [],
"role": "sectionHeading",
"content": "Mirjam Nilsson"
}
]
}
Testo, righe e parole
Il modello di layout di documenti di Informazioni sui documenti estrae testo in stile stampato e scritto a mano come lines
e words
. Insieme styles
.. /include qualsiasi stile scritto a mano per le righe se rilevate 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 v4.0 2024-11-30 (GA) Layout estrae tutto il testo incorporato così come è. I testi vengono estratti 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 word count {len(words)} and text '{line.content}' "
f"within bounding polygon '{format_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
Risposta .. /include la classificazione se ogni riga di testo è di stile di scrittura manuale o meno, insieme a un punteggio di attendibilità. Per altre informazioni, Vedere supporto della lingua scritta a mano. L'esempio seguente mostra un frammento JSON.
"styles": [
{
"confidence": 0.95,
"spans": [
{
"offset": 509,
"length": 24
}
"isHandwritten": true
]
}
Se si abilita la funzionalità di componente aggiuntivo tipo di carattere/stile, si ottiene anche il risultato del tipo di carattere/stile come parte dell'oggetto styles
.
Opzioni di selezione
Il modello Layout estrae anche i segni di selezione dai documenti. I segni di selezione estratti vengono visualizzati all'interno della raccolta pages
per ogni pagina. Includono il polygon
delimitatore, confidence
e lo state
di selezione (selected/unselected
). Viene incluso anche la rappresentazione del testo (ovvero, :selected:
e :unselected
) come indice iniziale (offset
), oltre a length
che fa riferimento alla proprietà di primo livello content
contenente il testo completo del documento.
{
"selectionMarks": [
{
"state": "unselected",
"polygon": [],
"confidence": 0.995,
"span": {
"offset": 1421,
"length": 12
}
}
]
}
# Analyze selection marks.
for selection_mark in page.selection_marks:
print(
f"Selection mark is '{selection_mark.state}' within bounding polygon "
f"'{format_polygon(selection_mark.polygon)}' and has a confidence of {selection_mark.confidence}"
)
Tabelle
L'estrazione di tabelle è un requisito fondamentale per l'elaborazione di documenti contenenti grandi volumi di dati in genere formattati come tabelle. Il modello Layout estrae le tabelle nella sezione pageResults
dell'output JSON. Informazioni sulla tabella estratte. /include il numero di colonne e righe, intervallo di righe e intervallo di colonne. Ogni cella con il relativo poligono delimitatore viene restituita insieme a informazioni sull'area riconosciuta o meno come columnHeader
. Il modello supporta l'estrazione di tabelle ruotate. Ogni cella di tabella contiene l'indice di riga e di colonna e le coordinate del poligono delimitatore. Per il testo delle celle, il modello restituisce le informazioni span
contenenti l'indice iniziale (offset
). Il modello restituisce anche length
all'interno del contenuto di primo livello contenente il testo completo del documento.
Ecco alcuni fattori da considerare quando si usa la funzionalità di estrazione di Intelligence per documenti:
I dati da estrarre vengono presentati come tabella e la struttura della tabella è significativa?
Se non sono in formato tabella, i dati possono essere inseriti in una griglia bidimensionale?
Le tabelle si estendono su più pagine? In tal caso, per evitare di dover etichettare tutte le pagine, dividere il PDF in pagine prima di inviarlo a Informazioni sui documenti. Dopo l'analisi, eseguire la post-elaborazione delle pagine in una singola tabella.
Fare riferimento a Campi tabulari se si creano modelli personalizzati. Le tabelle dinamiche hanno un numero variabile di righe per ogni colonna. Le tabelle fisse hanno un numero costante di righe per ogni colonna.
Nota
- L'analisi della tabella non è supportata se il file di input è XLSX.
- Document Intelligence v4.0 2024-11-30 (GA) supporta aree di delimitazione per figure e tabelle che coprono solo il contenuto principale ed escludono sottotitoli e note a piè di pagina associati.
{
"tables": [
{
"rowCount": 9,
"columnCount": 4,
"cells": [
{
"kind": "columnHeader",
"rowIndex": 0,
"columnIndex": 0,
"columnSpan": 4,
"content": "(In millions, except earnings per share)",
"boundingRegions": [],
"spans": []
},
]
}
]
}
# Analyze tables.
for table_idx, table in enumerate(result.tables):
print(
f"Table # {table_idx} has {table.row_count} rows and "
f"{table.column_count} columns"
)
for region in table.bounding_regions:
print(
f"Table # {table_idx} location on page: {region.page_number} is {format_polygon(region.polygon)}"
)
for cell in table.cells:
print(
f"...Cell[{cell.row_index}][{cell.column_index}] has text '{cell.content}'"
)
for region in cell.bounding_regions:
print(
f"...content on page {region.page_number} is within bounding polygon '{format_polygon(region.polygon)}'"
)
Annotazioni (disponibili solo nell'API 2023-02-28-preview
.)
Il modello Layout estrae annotazioni nei documenti, ad esempio segni di spunta e croci. Risposta .. /include il tipo di annotazione, insieme a un punteggio di attendibilità e al poligono di delimitazione.
{
"pages": [
{
"annotations": [
{
"kind": "cross",
"polygon": [...],
"confidence": 1
}
]
}
]
}
Output nell'ordine di lettura naturale (solo lingue latine)
È possibile specificare l'ordine in cui vengono restituite le righe di testo con il parametro di query readingOrder
. Usare natural
per un output in ordine di lettura più semplice, come illustrato nell'esempio seguente. Questa funzionalità è supportata solo per le lingue latine.
Selezionare numeri o intervalli di pagine per l'estrazione di testo
Per i documenti 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. L'esempio seguente mostra un documento con 10 pagine, con testo estratto per entrambi i casi: tutte le pagine (1-10) e pagine selezionate (3-6).
Operazione Get Analyze Layout Result
Il secondo passaggio consiste nel chiamare l'operazione Get Analyze Layout Result. Questa operazione accetta come input l'ID risultato creato dall'operazione di Analyze Layout
. Restituisce una risposta JSON che contiene un campo status con i valori possibili seguenti.
Campo | Type | Possibili valori |
---|---|---|
stato | string | notStarted : l'operazione di analisi non viene avviata.running : l'operazione di analisi è in corso.failed : l'operazione di analisi non è riuscita.succeeded : l'operazione di analisi è completata. |
Chiamare questa operazione in modo iterativo fino a quando non restituisce il valore succeeded
. Per evitare di superare la frequenza delle richieste al secondo usare un intervallo da 3 a 5 secondi.
Quando il campo status ha il succeeded
valore , la risposta JSON . /include il layout estratto, il testo, le tabelle e i segni di selezione. Dati estratti. /include righe di testo estratte e parole, rettangoli delimitatori, aspetto del testo con indicazioni scritte a mano, tabelle e segni di selezione con indicato selezionato/non selezionato.
Classificazione di scrittura a mano per le righe di testo (solo lingue latine)
Risposta .. /include la classificazione se ogni riga di testo è di stile di scrittura manuale o meno, insieme a un punteggio di attendibilità. Questa funzionalità è supportata solo per le lingue latine. L'esempio seguente mostra la classificazione di scrittura a mano per il testo nell'immagine.
Output JSON di esempio
La risposta all'operazione di Get Analyze Layout Result è una rappresentazione strutturata del documento con tutte le informazioni estratte. Vedere qui per un file di documento di esempio e il relativo output di layout di esempio strutturato.
L'output JSON ha due parti:
- Il nodo
readResults
contiene tutto il testo riconosciuto e il segno di selezione. La gerarchia di presentazione del testo è pagina, quindi riga, quindi singole parole. - Il nodo
pageResults
contiene le tabelle e le celle estratte con i rettangoli delimitatori, l'attendibilità e un riferimento alle righe e alle parole nel campo "readResults".
Output di esempio
Testo
L'API Layout estrae testo da documenti e immagini con più angoli e colori di testo. Accetta foto di documenti, fax, testo stampato e/o scritto a mano (solo in inglese) e modalità miste. Il testo viene estratto con informazioni fornite su righe, parole, rettangoli delimitatori, punteggi di attendibilità e stile (scrittura a mano o altro). Tutte le informazioni di testo sono incluse nella sezione readResults
dell'output JSON.
Tabelle con le intestazioni
L'API Layout estrae le tabelle nella sezione pageResults
dell'output JSON. I documenti possono essere analizzati, fotografati o digitalizzati. Le tabelle possono essere complesse con celle o colonne unite, con o senza bordi e con angoli insoliti. Informazioni sulla tabella estratte. /include il numero di colonne e righe, intervallo di righe e intervallo di colonne. Ogni cella con il relativo rettangolo delimitatore viene restituita insieme a informazioni sull'area riconosciuta o meno come parte di un'intestazione. Le celle di intestazione previste dal modello possono estendersi su più righe e non sono necessariamente le prime righe di una tabella. Sono supportate anche tabelle ruotate. Ogni cella della tabella è anche .. /include il testo completo con riferimenti alle singole parole nella readResults
sezione .
Opzioni di selezione
l'API Layout estrae anche i segni di selezione dai documenti. I segni di selezione estratti includono il rettangolo delimitatore, l'attendibilità e lo stato selezionato/non selezionato. Le informazioni sui segni di selezione vengono estratte nella sezione readResults
dell'output JSON.
Guida alla migrazione
- Seguire Guida alla migrazione di Informazioni sui documenti v3.1 per informazioni su come usare la versione v3.1 nelle applicazioni e nei flussi di lavoro.
Passaggi successivi
Informazioni su come elaborare moduli e documenti personalizzati con Document Intelligence Studio.
Completare un avvio rapido di Informazioni sui documenti e iniziare a creare un'applicazione per l'elaborazione di documenti nel linguaggio di sviluppo preferito.
Informazioni su come elaborare moduli e documenti personalizzati con lo strumento di etichettatura di esempio di Informazioni sui documenti.
Completare un avvio rapido di Informazioni sui documenti e iniziare a creare un'applicazione per l'elaborazione di documenti nel linguaggio di sviluppo preferito.