Condividi tramite


Modello di layout di Informazioni sui documenti

Questo contenuto si applica a: segno di spunta v4.0 (GA) | Versioni precedenti: blue-checkmark v3.1 (GA) v3.0 (GA) blue-checkmark v2.1 (GA)blue-checkmark 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.

Illustrazione dell'esempio di layout del documento.

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), HTML
    Lettura
    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 sono 2 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.

    Screenshot della posizione di chiavi ed endpoint nel portale di Azure.

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

Screenshot di Layout che elabora una pagina del giornale con Informazioni sui documenti di Studio.

  1. Nella home page di Document Intelligence Studio selezionare Layout.

  2. È possibile analizzare il documento di esempio o caricare i propri file.

  3. Selezionare il pulsante Esegui analisi e, se necessario, configurare Analizza opzioni:

    Screenshot dei pulsanti Esegui analisi e Analizza opzioni in Studio di Informazioni sui documenti.

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
PDF 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 comecontente 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: segno di spunta v3.1 (GA) | Versione più recente: purple-checkmark v4.0 (GA) | Versioni precedenti: blue-checkmark v3.0blue-checkmark v2.1

Questo contenuto si applica a: segno di spunta v3.0 (GA) | Versioni più recenti: purple-checkmark v4.0 (GA) purple-checkmarkv3.1 | Versione precedente: blue-checkmark v2.1

Questo contenuto si applica a: segno di spunta versione 2.1 | più recente: blue-checkmark 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.

Illustrazione dell'esempio di layout del documento.

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), HTML
    Lettura
    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 sono 2 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.

Screenshot della posizione di chiavi ed endpoint nel portale di Azure.

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

Screenshot di Layout che elabora una pagina del giornale con Informazioni sui documenti di Studio.

  1. Nella home page di Document Intelligence Studio selezionare Layout.

  2. È possibile analizzare il documento di esempio o caricare i propri file.

  3. Selezionare il pulsante Esegui analisi e, se necessario, configurare Analizza opzioni:

    Screenshot dei pulsanti Esegui analisi e Analizza opzioni in Studio di Informazioni sui documenti.

Strumento di etichettatura di esempio di Informazioni sui documenti

  1. Passare allo strumento di esempio di Informazioni sui documenti.

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

    Screenshot delle impostazioni di connessione per il processo di layout di Informazioni sui documenti.

  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 Informazioni sui documenti.

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

  6. Selezionare Esegui layout. Lo Strumento di etichettatura campioni di Informazioni sui documenti chiama l'API Analyze Layout e analizza il documento.

    Screenshot del menu a discesa layout.

  7. Visualizzare i risultati: vedere il testo evidenziato estratto, gli indicatori di selezione rilevati e le tabelle rilevate.

    Screenshot delle impostazioni di connessione per lo strumento di etichettatura di esempio di Informazioni sui documenti.

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
PDF 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 comecontente 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.

Screenshot dell'elaborazione dell'ordine di lettura del modello

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

Screenshot dell'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 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.

Screenshot del processo di classificazione della scrittura manuale del modello

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 .

Esempi di tabelle

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

Passaggi successivi