Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo contenuto si applica a:
v4.0 (GA) | Versioni precedenti:
v3.1 (GA)
v3.0 (ritiro)
v2.1 (ritiro)
Il modello di layout Azure Document Intelligence in Foundry Tools è un'API avanzata di analisi dei documenti basata su Machine Learning. Il modello è disponibile nel cloud di Document Intelligence. È possibile usarlo per acquisire documenti in vari formati e restituire rappresentazioni strutturate dei dati dei documenti. Il modello combina una versione avanzata delle potenti funzionalità di riconoscimento ottico dei caratteri (OCR) con modelli di Deep Learning per estrarre testo, tabelle, segni di selezione e struttura del documento.
Analisi del layout della struttura del documento
L'analisi del layout della struttura dei documenti è il processo di analisi di un documento per estrarre aree di interesse e le relative relazioni. L'obiettivo è estrarre testo e 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 in un'immagine di una pagina di esempio.
Opzioni di sviluppo
Document Intelligence v4.0: 2024-11-30 (GA) supporta gli strumenti, le applicazioni e le librerie seguenti.
| Funzionalità | Risorse | ID modello |
|---|---|---|
| Modello di layout | • Document Intelligence Studio • REST API • C# SDK • Python SDK • Java SDK • JavaScript SDK |
prebuilt-layout |
Lingue supportate
Per un elenco completo delle lingue supportate, vedere Supporto per la lingua: Modelli di analisi dei documenti.
Tipi di file supportati
Modello di layout di Document Intelligence v4.0: 2024-11-30 (GA) supporta i formati di file seguenti:
| Modello | Immagine: JPEG/JPG, PNG, BMP, TIFF, HEIF |
Office: Word (DOCX), Excel (XLS), PowerPoint (PPTX), HTML |
|
|---|---|---|---|
| Struttura | ✔ | ✔ | ✔ |
Requisiti di input
- Foto e scansioni: per ottenere risultati ottimali, fornire una foto chiara o una scansione di alta qualità per ogni documento.
- PDF e TIFF: per pdf e TIFF, è possibile elaborare fino a 2.000 pagine. Con una sottoscrizione di livello gratuito, vengono elaborate solo le prime due pagine.
- Blocchi password: se i PDF sono bloccati da password, è necessario rimuovere il blocco prima dell'invio.
- Dimensioni file: le dimensioni del file per l'analisi dei documenti sono pari a 500 MB per il livello a pagamento (S0) e 4 MB per il livello gratuito (F0).
- Dimensioni immagine: le dimensioni dell'immagine devono essere comprese tra 50 pixel x 50 pixel e 10.000 pixel x 10.000 pixel.
- Altezza del testo: l'altezza minima del testo da estrarre è di 12 pixel per un'immagine da 1024 x 768 pixel. Questa dimensione corrisponde a circa 8 punti di testo a 150 punti per pollice.
- Addestramento del modello personalizzato: il numero massimo di pagine per i dati di addestramento è 500 per il modello su misura personalizzato e 50.000 per il modello neurale personalizzato.
- Training del modello di estrazione personalizzato: la dimensione totale dei dati di training è di 50 MB per il modello di template e 1 GB per il modello neurale.
- Training del modello di classificazione personalizzato: le dimensioni totali dei dati di training sono pari a 1 GB con un massimo di 10.000 pagine. Per 2024-11-30 (GA), le dimensioni totali dei dati di training sono pari a 2 GB con un massimo di 10.000 pagine.
- Tipi di file di Office (DOCX, XLSX, PPTX): il limite massimo di lunghezza della stringa è di 8 milioni di caratteri.
Per altre informazioni sull'utilizzo del modello, sulle quote e sui limiti dei servizi, vedere Limiti del servizio.
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 usando Document Intelligence. Sono necessarie le risorse seguenti:
Sottoscrizione Azure. È possibile crearne uno gratuitamente.
Istanza Document Intelligence nel portale di Azure. È possibile usare il piano tariffario gratuito (F0) per provare il servizio. Dopo la distribuzione della risorsa, selezionare Vai alla risorsa per ottenere la chiave e l'endpoint.
Dopo aver recuperato la chiave e l'endpoint, usare le opzioni di sviluppo seguenti per compilare e distribuire le applicazioni di Document Intelligence.
Estrazione dei dati
Il modello di layout estrae elementi strutturali dai documenti. Nella parte restante di questo articolo sono descritti gli elementi strutturali seguenti, insieme alle indicazioni su come estrarli dall'input del documento:
- Pagine
- Paragrafi
- Testo, righe e parole
- Segni di selezione
- Tabelle
- Risposta dell'output in markdown
- Figure
- Sezioni
Eseguire l'analisi del documento di layout di esempio in Document Intelligence Studio. Passare quindi alla scheda risultati e accedere all'output JSON completo.
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 nella tabella seguente.
| Formato file | Unità di pagina calcolata | Totale pagine |
|---|---|---|
| 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 in un file TIFF corrisponde a un'unità di pagina. | Totale immagini in TIFF |
| Word (DOCX) | Fino a 3.000 caratteri = 1 unità di pagina. Le immagini incorporate o collegate non sono supportate. | Pagine totali di un massimo di 3.000 caratteri ciascuno |
| Excel (XLSX) | Ogni foglio di lavoro = 1 unità di pagina. Le immagini incorporate o collegate non sono supportate. | Totale fogli di lavoro |
| PowerPoint (PPTX) | Ogni diapositiva = 1 unità di pagina. Le immagini incorporate o collegate non sono supportate. | Totale diapositive |
| HTML | Fino a 3.000 caratteri = 1 unità di pagina. Le immagini incorporate o collegate non sono supportate. | Pagine totali di un massimo di 3.000 caratteri ciascuno |
# 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 le pagine selezionate
Per documenti a più pagine di grandi dimensioni, usare il pages parametro di query per indicare numeri di pagina o intervalli di pagine specifici per l'estrazione di testo.
Paragrafi
Il modello di layout 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 come content e le coordinate di delimitazione polygon . Le informazioni spans indicano il frammento di testo all'interno della content proprietà di primo livello 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 dei paragrafi
Il nuovo rilevamento di oggetti di pagina basato su Machine Learning estrae ruoli logici come titoli, intestazioni di sezione, intestazioni di pagina, piè di pagina e altro ancora. Il modello di layout di Document Intelligence assegna determinati blocchi di testo nella paragraphs raccolta con il relativo ruolo o tipo specializzato stimato 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. I seguenti ruoli di paragrafo sono supportati.
| Ruolo stimato | Descrizione | Tipi di file supportati |
|---|---|---|
title |
Intestazioni principali sulla pagina | PDF, Image, DOCX, PPTX, XLSX, HTML |
sectionHeading |
Uno o più sottotitoli nella pagina | PDF, Image, DOCX, XLSX, HTML |
footnote |
Testo nella parte inferiore della pagina | PDF, Immagine |
pageHeader |
Testo vicino al bordo superiore della pagina | PDF, Image, DOCX |
pageFooter |
Testo vicino al bordo inferiore della pagina | PDF, Image, DOCX, PPTX, HTML |
pageNumber |
Numero di 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 del documento in Document Intelligence estrae testo in stile stampa e scritto a mano come lines e words. L'insieme 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, il modello di layout Document Intelligence v4.0 2024-11-30 (GA) 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
La risposta include se ogni riga di testo è in uno stile scritto a mano o meno, insieme a un punteggio di attendibilità. Per altre informazioni, vedere Supporto linguistico scritto a mano. L'esempio seguente mostra un frammento JSON di esempio.
"styles": [
{
"confidence": 0.95,
"spans": [
{
"offset": 509,
"length": 24
}
"isHandwritten": true
]
}
Se si abilita la funzionalità del componente aggiuntivo font/style, si ottiene anche il risultato del tipo di carattere/stile come parte dell'oggetto styles .
Segni di selezione
Il modello di layout estrae anche i segni di selezione dai documenti. I segni di selezione estratti vengono visualizzati all'interno della pages raccolta per ogni pagina. Includono la delimitazione polygon, confidence e la selezione state (selected/unselected). La rappresentazione testuale (ovvero :selected: e :unselected) è inclusa anche come indice iniziale (offset) e length che fa riferimento alla proprietà di primo livello content che contiene 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 di layout estrae le tabelle nella pageResults sezione dell'output JSON. Le informazioni sulla tabella estratte includono il numero di colonne e righe, intervallo di righe e intervallo di colonne.
Ogni cella con il relativo poligono di delimitazione viene restituita insieme alle informazioni che indicano se l'area viene riconosciuta come columnHeader o meno. Il modello supporta l'estrazione di tabelle ruotate. Ogni cella della tabella contiene l'indice di riga e di colonna e le coordinate del poligono di delimitazione. Per il testo della cella, il modello restituisce le span informazioni che contengono l'indice iniziale (offset). Il modello restituisce anche il length all'interno del contenuto di primo livello che contiene il testo completo del documento.
Di seguito sono riportati alcuni fattori da considerare quando si usa la funzionalità di estrazione delle bale di Document Intelligence:
- I dati da estrarre vengono presentati come tabella e la struttura della tabella è significativa?
- I dati possono essere inseriti in una griglia bidimensionale se i dati non sono in formato tabella?
- 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 Document Intelligence. Dopo l'analisi, eseguire la post-elaborazione delle pagine in una singola tabella.
- Se si creano modelli personalizzati, vedere Campi tabulari . 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 delle tabelle non è supportata se il file di input è XLSX. Per la versione 2024-11-30 (GA), le aree di delimitazione per figure e 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}'")
Risposta di output in formato Markdown
L'API di 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 content sezione.
Nota
Per la versione 4.0 2024-11-30 (GA), la rappresentazione delle tabelle viene modificata in tabelle HTML per consentire il rendering di elementi come celle unite e intestazioni multirow. Un'altra modifica correlata consiste nell'usare i caratteri della casella di controllo Unicode ☒ e ☐ per i segni di selezione anziché :selected: e :unselected:. Questo aggiornamento indica che il contenuto dei campi di selezione contiene :selected: anche se gli intervalli fanno riferimento ai caratteri Unicode nell'intervallo di primo livello. Per una definizione completa degli elementi Markdown, vedere Formato di output 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,
)
Figure
Le figure (grafici e immagini) nei documenti svolgono un ruolo fondamentale nell'integrare e migliorare il contenuto testuale. Forniscono rappresentazioni visive che facilitano la comprensione delle informazioni complesse. L'oggetto figures rilevato dal modello di layout ha proprietà chiave come:
-
boundingRegions: posizioni spaziali della figura nelle pagine del documento, inclusi il numero di pagina e le coordinate poligono che delineano il limite della figura. -
spans: il testo si estende in relazione alla figura che specifica i relativi offset e lunghezze all'interno del testo del documento. Questa connessione consente di associare la figura al contesto testuale pertinente. -
elements: Gli identificatori per elementi di testo o paragrafi all'interno del documento che sono correlati alla figura o la descrivono. -
caption: descrizione se presente.
Quando output=figures 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}. Il FigureId valore è l'ID incluso in ogni oggetto di figura, seguendo una convenzione non documentata di {pageNumber}.{figureIndex} dove figureIndex viene reimpostato a uno per pagina.
Per la versione 4.0 2024-11-30 (GA), le aree di delimitazione per figure e tabelle coprono solo il contenuto principale ed escludono la didascalia e le note a piè di pagina associate.
# 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 generazione aumentata mediante recupero (RAG) nell'AI generativa di documenti sottolinea l'importanza dell'analisi della struttura gerarchica dei documenti.
Il modello di 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 per ogni sezione. È possibile usare la risposta di output al 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 (in dismissione) | Versioni più recenti:
v4.0 (GA)
v3.1 | Versione precedente:
v2.1 (in dismissione)
Questo contenuto si applica a:
v2.1 | Versione più recente:
v4.0 (GA)
Il modello di layout di Document Intelligence è un'API avanzata di analisi dei documenti. Il modello è basato su Machine Learning ed è disponibile nel cloud di Document Intelligence. È possibile usarlo per acquisire documenti in vari formati e restituire rappresentazioni strutturate dei dati dei documenti. Combina una versione avanzata delle potenti funzionalità OCR con i modelli di Deep Learning. È possibile usarlo per estrarre testo, tabelle, segni di selezione e struttura del documento.
Analisi del layout dei documenti
L'analisi del layout della struttura dei documenti è il processo di analisi di un documento per estrarre aree di interesse e le relative relazioni. L'obiettivo è estrarre testo e 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 in un'immagine di una pagina di esempio.
Lingue e impostazioni locali supportate
Per un elenco completo delle lingue supportate, vedere Supporto per la lingua: Modelli di analisi dei documenti.
Document Intelligence v2.1 supporta gli strumenti, le applicazioni e le librerie seguenti.
| Funzionalità | Risorse |
|---|---|
| Modello di layout | • Strumento di etichettatura di Document Intelligence• API REST• SDK della libreria client• Contenitore Docker di Document Intelligence |
Indicazioni per l'input
Formati di file supportati:
| Modello | Immagine: JPEG/JPG, PNG, BMP, TIFF, HEIF |
Office: Word (DOCX), Excel (XLSX), PowerPoint (PPTX), HTML |
|
|---|---|---|---|
| Leggere | ✔ | ✔ | ✔ |
| Struttura | ✔ | ✔ | |
| Documento generale | ✔ | ✔ | |
| Preassemblato | ✔ | ✔ | |
| Estrazione personalizzata | ✔ | ✔ | |
| Classificazione personalizzata | ✔ | ✔ | ✔ |
- Foto e scansioni: per ottenere risultati ottimali, fornire una foto chiara o una scansione di alta qualità per ogni documento.
- PDF e TIFF: per pdf e TIFF, è possibile elaborare fino a 2.000 pagine con una sottoscrizione di livello gratuito. Vengono elaborate solo le prime due pagine.
- Dimensioni file: le dimensioni del file per l'analisi dei documenti sono pari a 500 MB per il livello a pagamento (S0) e 4 MB per il livello gratuito (F0).
- Dimensioni immagine: le dimensioni dell'immagine devono essere comprese tra 50 pixel x 50 pixel e 10.000 pixel x 10.000 pixel.
- Blocchi password: se i PDF sono bloccati da password, è necessario rimuovere il blocco prima dell'invio.
- Altezza del testo: l'altezza minima del testo da estrarre è di 12 pixel per un'immagine da 1024 x 768 pixel. Questa dimensione corrisponde a circa 8 punti di testo a 150 punti per pollice.
- Addestramento del modello personalizzato: il numero massimo di pagine per i dati di addestramento è 500 per il modello su misura personalizzato e 50.000 per il modello neurale personalizzato.
- Training del modello di estrazione personalizzato: la dimensione totale dei dati di training è di 50 MB per il modello di template e 1 GB per il modello neurale.
- Training del modello di classificazione personalizzato: le dimensioni totali dei dati di training sono pari a 1 GB con un massimo di 10.000 pagine. Per 2024-11-30 (GA), le dimensioni totali dei dati di training sono pari a 2 GB con un massimo di 10.000 pagine.
- Tipi di file di Office (DOCX, XLSX, PPTX): il limite massimo di lunghezza della stringa è di 8 milioni di caratteri.
Guida all'input
- 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 almeno 50 x 50 pixel e al massimo 10.000 x 10.000 pixel.
Inizia
È possibile usare Document Intelligence per estrarre dati quali testo, tabelle, intestazioni di tabella, segni di selezione e informazioni sulla struttura dai documenti. Sono necessarie le risorse seguenti:
- Sottoscrizione Azure. È possibile crearne uno gratuitamente.
- Istanza Document Intelligence nel portale di Azure. È possibile usare il piano tariffario gratuito (F0) per provare il servizio. Dopo la distribuzione della risorsa, selezionare Vai alla risorsa per ottenere la chiave e l'endpoint.
Dopo aver recuperato la chiave e l'endpoint, è possibile usare le opzioni di sviluppo seguenti per compilare e distribuire le applicazioni document intelligence.
Nota
Document Intelligence Studio è disponibile con le API v3.0 e le versioni successive.
REST API
Strumento di etichettatura di esempio di Document Intelligence
Passare allo strumento di etichettatura dell'esempio di analisi dei documenti.
Nella home page dello strumento di esempio selezionare Usa layout per ottenere testo, tabelle e segni di selezione.
Nel campo endpoint del servizio Document Intelligence, incolla l'endpoint che hai ottenuto con la tua sottoscrizione a Document Intelligence.
Nel campo chiave, incolla la chiave ottenuta dalla risorsa di Document Intelligence.
Nel campo Origine selezionare URL dal menu a discesa. È possibile usare il documento di esempio:
Selezionare Recupera.
Selezionare Run Layout (Esegui layout). Lo strumento di etichettatura di esempio di Document Intelligence chiama l'API Analizza Layout per analizzare il documento.
Visualizzare i risultati. Vedere il testo estratto evidenziato, i segni di selezione rilevati e le tabelle rilevate.
Document Intelligence v2.1 supporta gli strumenti, le applicazioni e le librerie seguenti.
| Funzionalità | Risorse |
|---|---|
| API di Layout | • Strumento di etichettatura di Document Intelligence• API REST• SDK della libreria client• Contenitore Docker di Document Intelligence |
Estrarre dati
Il modello di layout estrae elementi strutturali dai documenti. Gli elementi strutturali sono descritti qui e le indicazioni seguenti illustrano come estrarli dall'input del documento.
Estrarre dati
Il modello di layout estrae elementi strutturali dai documenti. Gli elementi strutturali sono descritti qui e le indicazioni seguenti illustrano come estrarli dall'input del documento.
Pagina
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 nella tabella seguente.
| Formato file | Unità di pagina calcolata | Totale pagine |
|---|---|---|
| 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 in un file TIFF corrisponde a un'unità di pagina. | Totale immagini in TIFF |
| Word (DOCX) | Fino a 3.000 caratteri = 1 unità di pagina. Le immagini incorporate o collegate non sono supportate. | Pagine totali di un massimo di 3.000 caratteri ciascuno |
| Excel (XLSX) | Ogni foglio di lavoro = 1 unità di pagina. Le immagini incorporate o collegate non sono supportate. | Totale fogli di lavoro |
| PowerPoint (PPTX) | Ogni diapositiva = 1 unità di pagina. Le immagini incorporate o collegate non sono supportate. | Totale diapositive |
| HTML | Fino a 3.000 caratteri = 1 unità di pagina. Le immagini incorporate o collegate non sono supportate. | Pagine totali di un massimo di 3.000 caratteri ciascuno |
"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 documenti a più pagine di grandi dimensioni, usare il pages parametro di query per indicare numeri di pagina o intervalli di pagine specifici per l'estrazione di testo.
Paragrafo
Il modello di layout 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 come content e le coordinate di delimitazione polygon. Le informazioni span indicano il frammento di testo all'interno della content proprietà di primo livello 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"
}
]
Ruolo del paragrafo
Il nuovo rilevamento di oggetti di pagina basato su Machine Learning estrae ruoli logici come titoli, intestazioni di sezione, intestazioni di pagina, piè di pagina e altro ancora. Il modello di layout di Document Intelligence assegna determinati blocchi di testo nella paragraphs raccolta con il relativo ruolo o tipo specializzato stimato 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. I seguenti ruoli di paragrafo sono supportati.
| Ruolo stimato | Descrizione | Tipi di file supportati |
|---|---|---|
title |
Le intestazioni principali nella pagina | PDF, Image, DOCX, PPTX, XLSX, HTML |
sectionHeading |
Uno o più sottotitoli nella pagina | PDF, Image, DOCX, XLSX, HTML |
footnote |
Testo nella parte inferiore della pagina | PDF, Immagine |
pageHeader |
Testo vicino al bordo superiore della pagina | PDF, Image, DOCX |
pageFooter |
Testo vicino al bordo inferiore della pagina | PDF, Image, DOCX, PPTX, HTML |
pageNumber |
Numero di pagina | PDF, Immagine |
{
"paragraphs": [
{
"spans": [],
"boundingRegions": [],
"role": "title",
"content": "NEWS TODAY"
},
{
"spans": [],
"boundingRegions": [],
"role": "sectionHeading",
"content": "Mirjam Nilsson"
}
]
}
Testo, riga e parola
Il modello di layout del documento in Document Intelligence estrae testo stampato e scritto a mano come righe e parole. L'insieme 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 Word, Excel, PowerPoint e HTML, il modello di layout Document Intelligence v4.0 2024-11-30 (GA) 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
La risposta include la classificazione di ogni riga di testo come scritto a mano o meno, insieme a un punteggio di affidabilità. Per altre informazioni, vedere Supporto linguistico scritto a mano. L'esempio seguente mostra un frammento JSON di esempio.
"styles": [
{
"confidence": 0.95,
"spans": [
{
"offset": 509,
"length": 24
}
"isHandwritten": true
]
}
Se si abilita la funzionalità del componente aggiuntivo font/style, si ottiene anche il risultato del tipo di carattere/stile come parte dell'oggetto styles .
Segno di selezione
Il modello di layout estrae anche i segni di selezione dai documenti. I segni di selezione estratti vengono visualizzati all'interno della pages raccolta per ogni pagina. Includono la delimitazione polygon, confidence e la selezione state (selected/unselected). La rappresentazione testuale (ovvero :selected: e :unselected) è inclusa anche come indice iniziale (offset) e length che fa riferimento alla proprietà di primo livello content che contiene 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}"
)
Tabella
L'estrazione di tabelle è un requisito fondamentale per l'elaborazione di documenti contenenti grandi volumi di dati in genere formattati come tabelle. Il modello di layout estrae le tabelle nella pageResults sezione dell'output JSON. Le informazioni sulla tabella estratte includono il numero di colonne e righe, intervallo di righe e intervallo di colonne. Ogni cella con il relativo poligono di delimitazione viene restituita insieme alle informazioni che indicano se l'area viene riconosciuta come columnHeader o meno.
Il modello supporta l'estrazione di tabelle ruotate. Ogni cella della tabella contiene l'indice di riga e di colonna e le coordinate del poligono di delimitazione. Per il testo della cella, il modello restituisce le span informazioni che contengono l'indice iniziale (offset). Il modello restituisce anche il length all'interno del contenuto di primo livello che contiene il testo completo del documento.
Di seguito sono riportati alcuni fattori da considerare quando si usa la funzionalità di estrazione delle bale di Document Intelligence:
- I dati da estrarre vengono presentati come tabella e la struttura della tabella è significativa?
- I dati possono essere inseriti in una griglia bidimensionale se i dati non sono in formato tabella?
- 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 Document Intelligence. Dopo l'analisi, eseguire la post-elaborazione delle pagine in una singola tabella.
- Se si creano modelli personalizzati, vedere Campi tabulari . 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 delle tabelle 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 esclude la didascalia e le note a piè di pagina associate.
{
"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
Il modello di layout estrae annotazioni nei documenti, come ad esempio spunte e croci. La 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 dell'ordine di lettura naturale (solo alfabeto latino)
È possibile specificare l'ordine in cui vengono restituite le righe di testo con il readingOrder parametro di query. Usare natural per un output dell'ordine di lettura più comprensibile per le persone, come illustrato nell'esempio seguente. Questa funzionalità è supportata solo per le lingue latine.
Selezionare il numero di pagina o l'intervallo per l'estrazione di testo
Per documenti a più pagine di grandi dimensioni, usare il pages parametro di query 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 le 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 Analyze Layout . Restituisce una risposta JSON che contiene un campo di stato con i valori possibili seguenti.
| Campo | Digitare | Valori possibili |
|---|---|---|
| Stato | Stringa |
notStarted: l'operazione di analisi non è stata avviata.running L'operazione di analisi è in corso.failed Operazione di analisi non riuscita.succeeded Operazione di analisi riuscita. |
Chiamare questa operazione in modo iterativo fino a quando non restituisce il succeeded valore. Per evitare di superare la frequenza delle richieste al secondo, usare un intervallo da tre a cinque secondi.
Quando il campo di stato ha il succeeded valore, la risposta JSON include il layout estratto, il testo, le tabelle e i segni di selezione. I dati estratti includono 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 scritta a mano per le righe di testo (solo alfabeto latino)
La risposta include la classificazione di ogni riga di testo di uno stile scritto a mano o meno, insieme a un punteggio di attendibilità. Questa funzionalità è supportata solo per le lingue latine. Nell'esempio seguente viene illustrata la classificazione scritta a mano per il testo nell'immagine.
Output JSON di esempio
La risposta all'operazione Get Analyze Layout Result è una rappresentazione strutturata del documento con tutte le informazioni estratte.
Vedere un file di documento di esempio e il relativo output di layout di esempio strutturato.
L'output JSON ha due parti:
- Il
readResultsnodo contiene tutto il testo riconosciuto e il segno di selezione. La gerarchia di presentazione del testo è pagina, quindi riga e quindi singole parole. - Il
pageResultsnodo contiene le tabelle e le celle estratte con i rettangoli delimitatori, l'attendibilità e un riferimento alle righe e alle parole nelreadResultscampo.
Output di esempio
Testo
L'API di 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 inglese) e modalità miste. Il testo viene estratto con informazioni fornite su righe, parole, riquadri di delimitazione, punteggi di affidabilità e stile (scritto a mano o altro). Tutte le informazioni di testo sono incluse nella readResults sezione dell'output JSON.
Tabelle con intestazioni
L'API Layout estrae le tabelle nella pageResults sezione dell'output JSON. È possibile analizzare, fotografare o digitalizzare documenti. Le tabelle possono essere complesse con celle o colonne unite, con o senza bordi e con angoli dispari.
Le informazioni sulla tabella estratte includono il numero di colonne e righe, intervallo di righe e intervallo di colonne. Ogni cella con il relativo rettangolo di delimitazione viene restituita insieme all'indicazione se l'area sia riconosciuta come parte di un'intestazione o meno. Le celle di intestazione previste dal modello possono estendersi su più righe e non sono necessariamente le prime righe di una tabella. Funzionano anche con tabelle ruotate. Ogni cella della tabella include anche il testo completo con riferimenti alle singole parole della readResults sezione.
Segni di selezione (documenti)
L'API di layout estrae anche i segni di selezione dai documenti. I segni di selezione estratti includono il rettangolo di selezione, la confidenza e lo stato selezionati/non selezionati. Le informazioni sul contrassegno di selezione vengono estratte nella readResults sezione dell'output JSON.
Guida alla migrazione
- Per informazioni su come usare la versione 3.1 nelle applicazioni e nei flussi di lavoro, seguire la procedura descritta nella Guida alla migrazione di Document Intelligence v3.1.
Contenuto correlato
- Informazioni su come elaborare moduli e documenti personalizzati con Document Intelligence Studio.
- Completare una guida introduttiva di Document Intelligence e creare un'app per l'elaborazione di documenti nel linguaggio di sviluppo preferito.
- Informazioni su come elaborare moduli e documenti personalizzati con lo strumento di etichettatura degli esempi di analisi dei documenti.
- Completare una guida introduttiva di Document Intelligence e creare un'app per l'elaborazione di documenti nel linguaggio di sviluppo preferito.