Documenti - Amazon Bedrock

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Documenti

L’output standard per i documenti consente di impostare la granularità della risposta desiderata, nonché di stabilire il formato di output e il formato di testo nell’output. Di seguito sono riportati alcuni degli output che è possibile abilitare.

Nota

BDA può elaborare file DOCX. Per elaborare i file DOCX, vengono convertiti in PDFs. Ciò significa che la mappatura dei numeri di pagina non funzionerà per i file DOCX. Le immagini dei file convertiti PDFs verranno caricate nel bucket di output se sono selezionate l'opzione JSON+ e la granularità della pagina.

Granularità della risposta

La granularità della risposta determina il tipo di risposta che si desidera ricevere dall'estrazione del testo del documento. Ogni livello di granularità offre risposte sempre più separate, con una pagina che fornisce tutto il testo estratto insieme e una parola che fornisce ogni parola come risposta separata. I livelli di granularità disponibili sono:

  • Granularità a livello di pagina: questo livello è abilitato per impostazione predefinita. La granularità a livello di pagina fornisce a ogni pagina del documento il formato di output del testo desiderato. Se viene elaborato un PDF, abilitando questo livello di granularità vengono rilevati e restituiti i collegamenti ipertestuali incorporati.

  • Granularità a livello di elemento (layout): questo livello è abilitato per impostazione predefinita. Fornisce il testo del documento nel formato di output desiderato, suddiviso in diversi elementi, come figure, tabelle o paragrafi, restituiti in ordine di lettura logico in base alla struttura del documento. Se viene elaborato un PDF, abilitando questo livello di granularità vengono rilevati e restituiti i collegamenti ipertestuali incorporati.

  • Granularità a livello di parola: fornisce informazioni sulle singole parole senza utilizzare un’analisi di contesto più ampia. Fornisce ogni parola e la relativa posizione nella pagina.

Impostazioni di output

Le impostazioni di output determinano il modo in cui verranno strutturati i risultati scaricati. È possibile definirle esclusivamente della console. Le opzioni per le impostazioni di output sono:

  • JSON: la struttura di output predefinita per l’analisi dei documenti. Fornisce un file di output JSON con le informazioni delle impostazioni di configurazione.

    • API asincrona: InvokeDataAutomationAsyncl'output JSON per l'API Async è solo S3.

    • InvokeDataAutomationAPI di sincronizzazione: l'output JSON può essere impostato su S3 o in linea sfruttando. outputconfiguration Se è selezionato S3, l'output JSON va solo a S3 (non in linea). Se S3 non è fornito, l'output dell'API Sync supporta solo JSON in linea.

  • JSON+files: disponibile solo per l'API Async. InvokeDataAutomationAsync L'utilizzo di questa impostazione genera sia un output JSON che file che corrispondono a output diversi. Ad esempio, questa impostazione offre un file di testo per l’estrazione generale del testo, un file markdown per il testo con markdown strutturale e file CSV per ogni tabella presente nel testo. Vengono salvate anche le figure che si trovano in un documento così come i ritagli di figure e le immagini rettificate. Inoltre, se si sta elaborando un file DOCX ed è selezionata questa opzione, il PDF convertito del file DOCX si troverà nella cartella di output. Questi output si trovano nel percorso standard_output/logical_doc_id/assets/ della cartella di output.

Nota
  • L'API di sincronizzazione non genera alcun file aggiuntivo oltre a JSON. L'output JSON contiene solo il formato di testo selezionato come parte del formato Standard Output Text. L'API di sincronizzazione non produrrà ritagli di figure o immagini rettificate.

  • DocX non è supportato dall'API Sync.

Formato del testo

Il formato del testo determina i diversi tipi di testo che verranno forniti tramite le varie operazioni di estrazione. È possibile selezionare una o più delle seguenti opzioni per il formato del testo.

  • Testo normale: questa impostazione fornisce un output di solo testo senza alcuna formattazione o altri elementi di markdown.

  • Testo con markdown: l’impostazione di output predefinita per l’output standard. Fornisce testo con elementi di markdown integrati.

  • Testo con HTML: fornisce testo con elementi HTML integrati nella risposta.

  • CSV: fornisce un output strutturato in formato CSV per le tabelle presenti nel documento. Questo formato darà una risposta solo per le tabelle e non per altri elementi del documento.

Riquadri di delimitazione e campi generativi

Per i documenti sono disponibili due opzioni di risposta che modificano l’output in base alla granularità selezionata: Riquadri di delimitazione e campi generativi. Se viene selezionato Riquadri di delimitazione, viene visualizzato un contorno visivo dell’elemento selezionato o della parola selezionata nel menu a discesa di risposta della console. In questo modo è possibile rintracciare più facilmente determinati elementi della risposta. I riquadri di delimitazione vengono restituiti nel codice JSON come coordinate dei quattro angoli del riquadro.

Se viene selezionato Campi generativi, viene generato un riepilogo del documento, sia una versione di 10 parole che una di 250 parole. Poi, se vengono selezionati elementi come granularità della risposta, viene generata una didascalia descrittiva di ogni figura rilevata nel documento. Le figure includono elementi come diagrammi, grafici e immagini.

Async

Questa sezione si concentra sui diversi oggetti di risposta ricevuti dall'esecuzione dell'operazione API InvokeDataAutomationAsync su un file di documento. Di seguito analizziamo ogni sezione dell’oggetto di risposta e poi vedremo una risposta completa e popolata per un documento di esempio. La prima sezione che riceviamo è metadata.

"metadata":{ "logical_subdocument_id":"XXXX-XXXX-XXXX-XXXX", "semantic_modality":"DOCUMENT", "s3_bucket":"bucket", "s3_prefix":"prefix" },

La prima sezione mostrata sopra fornisce una panoramica dei metadati associati al documento. Oltre alle informazioni su S3, questa sezione indica anche la modalità selezionata per la risposta.

"document":{ "representation":{ "text":"document text", "html":"document title document content", "markdown":"# text" }, "description":"document text", "summary":"summary text", "statistics":{ "element_count":5, "table_count":1, "figure_count":1, "word_count":1000, "line_count":32 } },

La sezione mostrata sopra fornisce informazioni sulla granularità a livello di documento. Le sezioni di descrizione e riepilogo sono i campi generati in base al documento. La sezione di rappresentazione fornisce il contenuto effettivo del documento con vari stili di formattazione. Infine, le statistiche contengono informazioni sul contenuto effettivo del documento, ad esempio il numero di elementi semantici, figure, parole, righe e così via.

Queste sono le informazioni per un’entità tabellare. Per la richiesta InvokeDataAutomationAsync (asincrona), oltre alle informazioni sulla posizione, i diversi formati del testo, delle tabelle e dell'ordine di lettura, restituiscono in particolare informazioni in formato csv e immagini ritagliate della tabella nei bucket S3. Le informazioni in formato CSV mostrano intestazioni, piè di pagina e titoli. Le immagini verranno indirizzate al bucket s3 del prefisso impostato nella richiesta. InvokeDataAutomationAsync Per la richiesta InvokeDataAutomation (sincronizzazione), il formato csv e l'immagine ritagliata della tabella nei bucket S3 non sono supportati.

Quando viene elaborato un PDF, la sezione delle statistiche della risposta contiene anche hyperlinks_count che indica il numero di collegamenti ipertestuali presenti nel documento.

{ "id":"entity_id", "type":"TEXT", "representation":{ "text":"document text", "html":"document title document content", "markdown":"# text" }, "reading_order":2, "page_indices":[ 0 ], "locations":[ { "page_index":0, "bounding_box":{ "left":0.0, "top":0.0, "width":0.05, "height":0.5 } } ], "sub_type":"TITLE/SECTION_TITLE/HEADER/FOOTER/PARAGRAPH/LIST/PAGE_NUMBER" },

Questa è l’entità utilizzata per il testo all’interno di un documento, indicata dalla riga TYPE nella risposta. Ancora una volta la rappresentazione mostra il testo in diversi formati. reading_order mostra quando un lettore vedrebbe logicamente il testo. Si tratta di un ordinamento semantico basato su chiavi e valori associati. Ad esempio, associa i titoli dei paragrafi ai rispettivi paragrafi in ordine di lettura. page_indices indica in quali pagine si trova il testo. Poi sono presenti le informazioni sulla posizione, con un riquadro di delimitazione del testo se abilitato in risposta. Infine, è presente il sottotipo dell’entità. Questo sottotipo fornisce informazioni più dettagliate sul tipo di testo rilevato. Per un elenco completo, consulta la Documentazione di riferimento dell’API.

{ "id":"entity_id", "type":"TABLE", "representation":{ "html":"table.../table", "markdown":"| header | ...", "text":"header \t header", "csv":"header, header, header\n..." }, "csv_s3_uri":"s3://", "headers":[ "date", "amount", "description", "total" ], "reading_order":3, "title":"Title of the table", "footers":[ "the footers of the table" ], "crop_images":[ "s3://bucket/prefix.png", "s3://bucket/prefix.png" ], "page_indices":[ 0, 1 ], "locations":[ { "page_index":0, "bounding_box":{ "left":0, "top":0, "width":1, "height":1 } }, { "page_index":1, "bounding_box":{ "left":0, "top":0, "width":1, "height":1 } } ], "sub_type":"TITLE/SECTION_TITLE/HEADER/FOOTER/PARAGRAPH/LIST/PAGE_NUMBER" },

Queste sono le informazioni per un’entità tabellare. Oltre alle informazioni sulla posizione, ai diversi formati di testo, tabelle e ordine di lettura, restituiscono in particolare informazioni in formato CSV e immagini ritagliate della tabella nei bucket S3. Le informazioni in formato CSV mostrano intestazioni, piè di pagina e titoli. Le immagini verranno indirizzate al bucket s3 del prefisso impostato nella richiesta. InvokeDataAutomation

{ "id":"entity_id", "type":"FIGURE", "summary":"", "representation":{ "text":"document text", "html":"document title document content", "markdown":"# text" }, "crop_images":[ "s3://bucket/prefix.png", "s3://bucket/prefix.png" ], "locations":[ { "page_index":0, "bounding_box":{ "left":0, "top":0, "width":1, "height":1 } } ], "sub_type":"CHART", "title":"figure title", "rai_flag":"APPROVED/REDACTED/REJECTED", "reading_order":1, "page_indices":[ 0 ] } ,

Questa è l’entità utilizzata per le figure, ad esempio nei grafici e nei diagrammi dei documenti. Analogamente alle tabelle, le figure vengono ritagliate e le immagini vengono inviate al bucket s3 impostato nel prefisso. Inoltre, vengono inviati un sub_type e un titolo della figura per il testo del titolo e un’indicazione del tipo di figura.

"pages":[ { "id":"page_id", "page_index":0, "detected_page_number":1, "representation":{ "text":"document text", "html":"document title document content", "markdown":"# text" }, "statistics":{ "element_count":5, "table_count":1, "figure_count":1, "word_count":1000, "line_count":32 }, "asset_metadata":{ "rectified_image":"s3://bucket/prefix.png", "rectified_image_width_pixels":1700, "rectified_image_height_pixels":2200 } } ],

Le pagine sono l’ultima delle entità estratta tramite l’output standard. Sono uguali alle entità di testo, ma contengono in più i numeri di pagina, che indicano su quale pagina è stato rilevato il numero.

"text_lines":[ { "id":"line_id", "text":"line text", "reading_order":1, "page_index":0, "locations":{ "page_index":0, "bounding_box":{ "left":0, "top":0, "width":1, "height":1 } } } ],
"text_words":[ { "id":"word_id", "text":"word text", "line_id":"line_id", "reading_order":1, "page_index":0, "locations":{ "page_index":0, "bounding_box":{ "left":0, "top":0, "width":1, "height":1 } } } ]

Questi ultimi due elementi sono per singole porzioni di testo. La granularità a livello di parola restituisce una risposta per ogni parola, mentre l’output predefinito riporta solo righe di testo.

Sync

Questa sezione si concentra sui diversi oggetti di risposta ricevuti dall'esecuzione dell'operazione API InvokeDataAutomation su un file di documento. Di seguito analizziamo ogni sezione dell’oggetto di risposta e poi vedremo una risposta completa e popolata per un documento di esempio. La prima sezione che riceviamo è metadata.

"metadata": { "logical_subdocument_id": "1", "semantic_modality": "DOCUMENT", "number_of_pages": X, "start_page_index": "1", "end_page_index": X, "file_type": "PDF" },

La prima sezione mostrata sopra fornisce una panoramica dei metadati associati al documento. Poiché l' InvokeDataAutomation API sincrona attualmente non supporta la suddivisione dei documenti, logical_subdocument_id è sempre uguale a 1.

"document":{ "representation":{ "text":"document text", "html":"document title document content", "markdown":"# text" }, "description":"document text", "summary":"summary text", "statistics":{ "element_count":5, "table_count":1, "figure_count":1, "word_count":1000, "line_count":32 } },

La sezione mostrata sopra fornisce informazioni sulla granularità a livello di documento. Le sezioni di descrizione e riepilogo sono i campi generati in base al documento. La sezione di rappresentazione fornisce il contenuto effettivo del documento con vari stili di formattazione. Infine, le statistiche contengono informazioni sul contenuto effettivo del documento, ad esempio il numero di elementi semantici, figure, parole, righe e così via.

Nota: a differenza della richiesta asincrona, la InvokeDataAutomationAsync InvokeDataAutomation richiesta sincrona non supporta la restituzione di informazioni in formato csv e di un'immagine ritagliata della tabella nei bucket S3.

{ "id":"entity_id", "type":"TEXT", "representation":{ "text":"document text", "html":"document title document content", "markdown":"# text" }, "reading_order":2, "page_indices":[ 0 ], "locations":[ { "page_index":0, "bounding_box":{ "left":0.0, "top":0.0, "width":0.05, "height":0.5 } } ], "sub_type":"TITLE/SECTION_TITLE/HEADER/FOOTER/PARAGRAPH/LIST/PAGE_NUMBER" },

Questa è l'entità utilizzata per il testo all'interno di un documento, indicata dalla riga TYPE nella risposta. Ancora una volta la rappresentazione mostra il testo in diversi formati. reading_order mostra quando un lettore vedrebbe logicamente il testo. Si tratta di un ordinamento semantico basato su chiavi e valori associati. Ad esempio, associa i titoli dei paragrafi ai rispettivi paragrafi in ordine di lettura. page_indices indica in quali pagine si trova il testo. Poi sono presenti le informazioni sulla posizione, con un riquadro di delimitazione del testo se abilitato in risposta. Infine, è presente il sottotipo dell’entità. Questo sottotipo fornisce informazioni più dettagliate sul tipo di testo rilevato. Per un elenco completo, consulta la Documentazione di riferimento dell’API.

{ "id": "entity_id", "type": "TABLE", "representation": { "html": "table.../table", "markdown": "| header | ...", "text": "header \t header", "csv": "header, header, header\n..." }, "headers": ["date", "amount", "description", "total"], "reading_order": 3, "title": "Title of the table", "footers": ["the footers of the table"], "page_indices": [0, 1], "locations": [{ "page_index": 0, "bounding_box": { "left": 0, "top": 0, "width": 1, "height": 1 } }, { "page_index": 1, "bounding_box": { "left": 0, "top": 0, "width": 1, "height": 1 } }] },

Queste sono le informazioni per un’entità tabellare. Le informazioni in formato CSV mostrano intestazioni, piè di pagina e titoli.

{ "id": "entity_id", "type": "FIGURE", "summary": "", "representation": { "text": "document text", "html": "document title document content", "markdown": "# text" }, "locations": [ { "page_index": 0, "bounding_box": { "left": 0, "top": 0, "width": 1, "height": 1 } } ], "sub_type": "CHART", "title": "figure title", "reading_order": 1, "page_indices": [ 0 ] }, ​

Questa è l’entità utilizzata per le figure, ad esempio nei grafici e nei diagrammi dei documenti. Riceverai una risposta al titolo sub_type e una figura per il testo del titolo e un'indicazione sul tipo di figura.

"pages":[ "pages":[ { "id":"page_id", "page_index":0, "detected_page_number":1, "representation":{ "text":"document text", "html":"document title document content", "markdown":"# text" }, "statistics":{ "element_count":5, "table_count":1, "figure_count":1, "word_count":1000, "line_count":32 }, "asset_metadata":{ "rectified_image":"s3://bucket/prefix.png", "rectified_image_width_pixels":1700, "rectified_image_height_pixels":2200 } } ],

Le pagine sono l’ultima delle entità estratta tramite l’output standard. Sono uguali alle entità di testo, ma contengono in più i numeri di pagina, che indicano su quale pagina è stato rilevato il numero.

"text_lines":[ { "id":"line_id", "text":"line text", "reading_order":1, "page_index":0, "locations":{ "page_index":0, "bounding_box":{ "left":0, "top":0, "width":1, "height":1 } } } ],
"text_words":[ { "id":"word_id", "text":"word text", "line_id":"line_id", "reading_order":1, "page_index":0, "locations":{ "page_index":0, "bounding_box":{ "left":0, "top":0, "width":1, "height":1 } } } ]

Questi ultimi due elementi sono per singole porzioni di testo. La granularità a livello di parola restituisce una risposta per ogni parola, mentre l’output predefinito riporta solo righe di testo.

JSON dei metadati per formati di file aggiuntivi

Quando riceverai i file aggiuntivi dal flag dei formati di file aggiuntivi, otterrai un file JSON per tutte le immagini rettificate che vengono estratte. BDA rettifica le immagini ruotate utilizzando un’omografia per ruotare l’immagine con un angolo di 90 gradi. Di seguito è riportato un esempio di JSON:

"asset_metadata": { "rectified_image": "s3://bucket/prefix.png", "rectified_image_width_pixels": 1700, "rectified_image_height_pixels": 2200, "corners": [ [ 0.006980135689736235, -0.061692718505859376 ], [ 1.10847711439684, 0.00673927116394043 ], [ 0.994479346419327, 1.050548828125 ], [ -0.11249661383904497, 0.9942819010416667 ] ] }

Gli angoli rappresentano gli angoli rilevati di un’immagine, utilizzati per formare un’omografia del documento. Questa omografia viene utilizzata per ruotare l’immagine mantenendo le altre proprietà.