Leggere in inglese

Condividi tramite


Che cos'è il modello di layout di Document Intelligence?

Questo contenuto si applica a:segno di spuntav4.0 (GA)Versioni precedenti:blue-checkmark | v3.1 (GA) v3.0 (GA)blue-checkmarkv2.1 (GA)blue-checkmarkv2.1 (GA)

Il modello di layout di Document Intelligence per intelligenza artificiale di Azure è 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 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.

Figura che mostra un esempio di layout del documento.

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
API
REST• 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 PDF Immagine:
JPEG/JPG, PNG, BMP, TIFF, HEIF
Office:
Word (DOCX), Excel (XLS), PowerPoint (PPTX), HTML
Impaginazione

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.
  • Training del modello personalizzato: il numero massimo di pagine per i dati di training è 500 per il modello di modello 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 modello 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:

  • Una sottoscrizione di Azure. È possibile crearne uno gratuitamente.

  • Istanza di Informazioni sui documenti 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 recuperare la chiave e l'endpoint.

    Screenshot che mostra le chiavi e il percorso dell'endpoint nel portale di Azure.

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:

Eseguire l'analisi del documento di layout di esempio in Document Intelligence Studio. Passare quindi alla scheda risultati e accedere all'output JSON completo.

Screenshot che mostra i risultati nella scheda output JSON in Document Intelligence Studio.

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
PDF Ogni pagina nel PDF = 1 unità di pagina. Totale pagine nel PDF
DIVERBIO Ogni immagine nell'unità di pagina TIFF = 1. Totale immagini nel TIFF
Word (DOCX) Fino a 3.000 caratteri = 1 unità di pagina. Le immagini incorporate o collegate non sono supportate. Totale pagine fino a 3.000 caratteri ciascuna
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. Diapositive totali
HTML Fino a 3.000 caratteri = 1 unità di pagina. Le immagini incorporate o collegate non sono 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 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 spans informazioni 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

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. Sono supportati i ruoli di paragrafo seguenti.

Ruolo stimato Description Tipi di file supportati
title 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, Image, DOCX
pageFooter Il testo nel margine inferiore della pagina PDF, Image, DOCX, PPTX, 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 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.

"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 .

Opzioni di selezione

Il modello di 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). 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 di tabella contiene l'indice di riga e di colonna e le coordinate del poligono delimitatore. Per il testo della cella, il modello restituisce le span informazioni che contengono l'indice iniziale (offset). Il modello restituisce anche length all'interno del contenuto di primo livello contenente 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?
  • 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 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 al formato Markdown

L'API di layout può restituire il testo estratto in formato Markdown. outputContentFormat=markdown Usare 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 :selected: selezione anziché 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: identificatori per elementi di testo o paragrafi all'interno del documento correlati o per descrivere la figura.
  • 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 figura, seguendo una convenzione non documentata di {pageNumber}.{figureIndex} dove figureIndex viene reimpostata una 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 di recupero (RAG) nell'intelligenza artificiale generativa da documenti sottolinea il significato dell'analisi gerarchica della struttura 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:checkmarksegno di spuntav3.1 (GA) | Versione più recente:purple-checkmark v4.0 (GA)Versioni precedenti: blue-checkmarkv3.0blue-checkmarkv2.1

Questo contenuto si applica a: | purple-checkmarkpurple-checkmark v4.0 (GA) Versione precedente:blue-checkmarkv2.1

Questo contenuto si applica a:segno di spuntapiù recente: | blue-checkmarkv4.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 di 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 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.

Figura che mostra un esempio di layout del documento.

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 PDF Immagine:
JPEG/JPG, PNG, BMP, TIFF, HEIF
Office:
Word (DOCX), Excel (XLSX), PowerPoint (PPTX), HTML
Lettura
Impaginazione
Documento generale
Predefinito
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.
  • Training del modello personalizzato: il numero massimo di pagine per i dati di training è 500 per il modello di modello 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 modello 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.

Operazioni preliminari

È 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:

  • Una sottoscrizione di Azure. È possibile crearne uno gratuitamente.
  • Istanza di Informazioni sui documenti 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 recuperare la chiave e l'endpoint.

Screenshot che mostra le chiavi e il percorso dell'endpoint nel portale di Azure.

Dopo aver recuperato la chiave e l'endpoint, è possibile usare le opzioni di sviluppo seguenti per compilare e distribuire le applicazioni document intelligence.

Nota

Informazioni sui documenti di Studio è disponibile con le API v3.0 e versioni successive.

REST API (Interfaccia di Programmazione delle Applicazioni REST)

Strumento di etichettatura di esempio di Informazioni sui documenti

  1. Passare allo strumento di etichettatura dell'esempio di analisi dei documenti.

  2. Nella home page dello strumento di esempio selezionare Usare il layout per ottenere testo, tabelle e indicatori di selezione.

    Screenshot che mostra le impostazioni di connessione per il processo di layout di Document Intelligence.

  3. Nel campo endpoint del servizio di Informazioni sui documenti, incollare l’endpoint ottenuto con la sottoscrizione di Intelligence sui documenti.

  4. Nel campo chiave incollare la chiave ottenuta dalla risorsa di Intelligence documenti.

  5. Nel campo Origine selezionare URL dal menu a discesa. È possibile usare il documento di esempio:

  6. Selezionare Esegui layout. Lo strumento Di etichettatura di esempio di Analisi intelligence dei documenti chiama l'API Analizza layout per analizzare il documento.

    Screenshot che mostra il riquadro a discesa Layout.

  7. Visualizzare i risultati. Vedere il testo estratto evidenziato, i segni di selezione rilevati e le tabelle rilevate.

    Screenshot che mostra le impostazioni di connessione per lo strumento Di etichettatura di esempio di Document Intelligence.

Document Intelligence v2.1 supporta gli strumenti, le applicazioni e le librerie seguenti.

Funzionalità Risorse
Layout API Strumento di etichettatura
di Document Intelligence• API
REST• SDK
della libreria client• Contenitore Docker di Document Intelligence

Estrarre i 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 i 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
PDF Ogni pagina nel PDF = 1 unità di pagina. Totale pagine nel PDF
DIVERBIO Ogni immagine nell'unità di pagina TIFF = 1. Totale immagini nel TIFF
Word (DOCX) Fino a 3.000 caratteri = 1 unità di pagina. Le immagini incorporate o collegate non sono supportate. Totale pagine fino a 3.000 caratteri ciascuna
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. Diapositive totali
HTML Fino a 3.000 caratteri = 1 unità di pagina. Le immagini incorporate o collegate non sono 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 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 contente le coordinate di delimitazione polygon . Le span informazioni 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"
    }
]

Ruolo 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. Sono supportati i ruoli di paragrafo seguenti.

Ruolo stimato Description 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, Image, DOCX
pageFooter Il testo nel margine inferiore della pagina PDF, Image, DOCX, PPTX, HTML
pageNumber Numero 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 dello stile di scrittura manuale o meno, insieme a un punteggio di attendibilità. Per altre informazioni, vedere Supporto linguistico scritto 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à 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 raccolta pages per ogni pagina. Includono il polygon delimitatore, confidence e lo state di selezione (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 di tabella contiene l'indice di riga e di colonna e le coordinate del poligono delimitatore. Per il testo della cella, il modello restituisce le span informazioni che contengono l'indice iniziale (offset). Il modello restituisce anche length all'interno del contenuto di primo livello contenente 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?
  • 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 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, ad esempio controlli e incroci. 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 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 dell'ordine di lettura più descrittivo, come illustrato nell'esempio seguente. Questa funzionalità è supportata solo per le lingue latine.

Screenshot dell'elaborazione dell'ordine di lettura del modello di layout.

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).

Screenshot che mostra l'output delle pagine selezionate del modello di layout.

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 status con i valori possibili seguenti.

Campo TIPO Possibili valori
stato corda 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 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 di scrittura a mano per le righe di testo (solo lingue latine)

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. L'esempio seguente mostra la classificazione di scrittura a mano per il testo nell'immagine.

Screenshot che mostra il processo di classificazione della grafia del modello di layout.

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 l'output del layout di esempio di output strutturato.

L'output JSON ha due parti:

  • Il readResults nodo contiene tutto il testo riconosciuto e il segno di selezione. La gerarchia di presentazione del testo è pagina, quindi riga e quindi singole parole.
  • Il pageResults nodo contiene le tabelle e le celle estratte con i rettangoli delimitatori, l'attendibilità e un riferimento alle righe e alle parole nel readResults campo.

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, 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 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 insoliti.

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 delimitatore viene restituita insieme a informazioni sull'area riconosciuta o meno come parte di un'intestazione. Le celle di intestazione stimate 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 include anche il testo completo con riferimenti alle singole parole della readResults sezione.

Figura che mostra un esempio tables.

Segni di selezione (documenti)

L'API di 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


Risorse aggiuntive