

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

# Estrai automaticamente i contenuti dai file PDF utilizzando Amazon Textract
<a name="automatically-extract-content-from-pdf-files-using-amazon-textract"></a>

*Tianxia Jia, Amazon Web Services*

## Riepilogo
<a name="automatically-extract-content-from-pdf-files-using-amazon-textract-summary"></a>

Molte organizzazioni devono estrarre informazioni dai file PDF caricati nelle loro applicazioni aziendali. Ad esempio, un'organizzazione potrebbe aver bisogno di estrarre con precisione le informazioni dai file PDF fiscali o medici per l'analisi fiscale o l'elaborazione delle richieste mediche.

Sul cloud Amazon Web Services (AWS), Amazon Textract estrae automaticamente le informazioni (ad esempio testo stampato, moduli e tabelle) dai file PDF e produce un file in formato JSON che contiene informazioni dal file PDF originale. Puoi utilizzare Amazon Textract nella Console di gestione AWS o implementando chiamate API. Ti consigliamo di utilizzare [chiamate API programmatiche](https://aws.amazon.com/textract/faqs/) per scalare ed elaborare automaticamente un gran numero di file PDF.

Quando Amazon Textract elabora un file, crea il seguente elenco di `Block` oggetti: pagine, righe e parole di testo, moduli (coppie chiave-valore), tabelle e celle ed elementi di selezione. Sono incluse anche altre informazioni sugli oggetti, ad esempio [riquadri di delimitazione](https://docs.aws.amazon.com/textract/latest/dg/API_BoundingBox.html), intervalli di confidenza e relazioni. IDs Amazon Textract estrae le informazioni sul contenuto sotto forma di stringhe. I valori dei dati correttamente identificati e trasformati sono necessari perché possono essere utilizzati più facilmente dalle applicazioni downstream. 

Questo modello descrive un step-by-step flusso di lavoro per l'utilizzo di Amazon Textract per estrarre automaticamente il contenuto dai file PDF ed elaborarlo in un output pulito. Il modello utilizza una tecnica di abbinamento dei modelli per identificare correttamente il campo, il nome chiave e le tabelle richiesti, quindi applica le correzioni post-elaborazione a ciascun tipo di dati. È possibile utilizzare questo modello per elaborare diversi tipi di file PDF e quindi ridimensionare e automatizzare questo flusso di lavoro per elaborare file PDF con un formato identico.   

## Prerequisiti e limitazioni
<a name="automatically-extract-content-from-pdf-files-using-amazon-textract-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo.
+ Un bucket Amazon Simple Storage Service (Amazon S3) esistente per archiviare i file PDF dopo la conversione in formato JPEG per l'elaborazione da parte di Amazon Textract. Per ulteriori informazioni sui bucket S3, consulta la [panoramica dei bucket nella documentazione](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingBucket.html) di Amazon S3.
+ Il notebook `Textract_PostProcessing.ipynb` Jupyter (allegato), installato e configurato. Per ulteriori informazioni sui notebook Jupyter, consulta [Creare un notebook Jupyter](https://docs.aws.amazon.com/sagemaker/latest/dg/ex1-prepare.html) nella documentazione di Amazon. SageMaker 
+ File PDF esistenti con un formato identico.
+ Una comprensione di Python.

**Limitazioni**
+ I tuoi file PDF devono essere di buona qualità e chiaramente leggibili. Si consigliano file PDF nativi, ma è possibile utilizzare documenti scansionati convertiti in formato PDF se tutte le singole parole sono chiare. Per ulteriori informazioni su questo argomento, consulta [Preelaborazione dei documenti PDF con Amazon Textract: rilevamento e rimozione di elementi visivi](https://aws.amazon.com/blogs/machine-learning/process-text-and-images-in-pdf-documents-with-amazon-textract/) sul blog di AWS Machine Learning.
+ Per i file multipagina, puoi utilizzare un'operazione asincrona o dividere i file PDF in un'unica pagina e utilizzare un'operazione sincrona. Per ulteriori informazioni su queste due opzioni, consulta [Rilevamento e analisi del testo in documenti multipagina e Rilevamento e analisi del testo in documenti](https://docs.aws.amazon.com/textract/latest/dg/async.html) [a pagina singola nella](https://docs.aws.amazon.com/textract/latest/dg/sync.html) documentazione di Amazon Textract.

## Architecture
<a name="automatically-extract-content-from-pdf-files-using-amazon-textract-architecture"></a>

Il flusso di lavoro di questo pattern esegue prima Amazon Textract su un file PDF di esempio (*prima esecuzione*) e poi lo esegue su file PDF con un formato identico al primo PDF (esecuzione *ripetuta*). Il diagramma seguente mostra il flusso di lavoro combinato *First-time run* e *Repeat run* che estrae automaticamente e ripetutamente il contenuto da file PDF con formati identici.

![Utilizzo di Amazon Textract per estrarre contenuti da file PDF](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/2d724523-2cab-42c9-a773-65857014d9ec/images/9e20070f-3e0c-46aa-aa98-a8b1eb3395dc.png)


 

Il diagramma mostra il seguente flusso di lavoro per questo modello:

1. Converti un file PDF in formato JPEG e archivialo in un bucket S3. 

1. Chiama l'API Amazon Textract e analizza il file JSON di risposta Amazon Textract. 

1. Modifica il file JSON aggiungendo la `KeyName:DataType` coppia corretta per ogni campo obbligatorio. Crea un `TemplateJSON` file per la fase *Repeat run*.

1. Definite le funzioni di correzione post-elaborazione per ogni tipo di dati (ad esempio, float, integer e date).

1. Prepara i file PDF con un formato identico al tuo primo file PDF.

1. Chiama l'API Amazon Textract e analizza il codice JSON di risposta Amazon Textract.

1. Abbina il file JSON analizzato al file. `TemplateJSON`

1. Implementa le correzioni successive all'elaborazione.

Il file di output JSON finale contiene i campi corretti `KeyName` e `Value` per ogni campo obbligatorio.

**Stack tecnologico Target**
+ Amazon SageMaker 
+ Simple Storage Service (Amazon S3) 
+ Amazon Textract

**Automazione e scalabilità**

Puoi automatizzare il flusso di lavoro *Repeat run* utilizzando una funzione AWS Lambda che avvia Amazon Textract quando viene aggiunto un nuovo file PDF ad Amazon S3. Amazon Textract esegue quindi gli script di elaborazione e l'output finale può essere salvato in una posizione di archiviazione. Per ulteriori informazioni su questo argomento, consulta [Usare un trigger di Amazon S3 per richiamare una funzione Lambda nella documentazione Lambda](https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html).

## Tools (Strumenti)
<a name="automatically-extract-content-from-pdf-files-using-amazon-textract-tools"></a>
+ [Amazon SageMaker](https://docs.aws.amazon.com/sagemaker/latest/dg/whatis.html) è un servizio di machine learning completamente gestito che ti aiuta a creare e addestrare modelli di machine learning in modo rapido e semplice, per poi distribuirli direttamente in un ambiente ospitato pronto per la produzione.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) è un servizio di archiviazione degli oggetti basato sul cloud che consente di archiviare, proteggere e recuperare qualsiasi quantità di dati.
+ [Amazon Textract](https://docs.aws.amazon.com/textract/latest/dg/what-is.html) semplifica l'aggiunta del rilevamento e dell'analisi del testo dei documenti alle tue applicazioni.

## Epiche
<a name="automatically-extract-content-from-pdf-files-using-amazon-textract-epics"></a>

### Prima corsa
<a name="first-time-run"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Convertire il file PDF. | [Prepara il file PDF per la prima esecuzione suddividendolo in un'unica pagina e convertendolo in formato JPEG per il funzionamento sincrono di Amazon Textract ().](https://docs.aws.amazon.com/textract/latest/dg/sync.html) `Syn API`Puoi anche utilizzare l'[operazione asincrona](https://docs.aws.amazon.com/textract/latest/dg/async.html) di Amazon Textract (`Asyn API`) per file PDF multipagina. | Scienziato dei dati, sviluppatore | 
| Analizza il codice JSON della risposta Amazon Textract. | Apri il notebook `Textract_PostProcessing.ipynb` Jupyter (allegato) e richiama l'API Amazon Textract utilizzando il seguente codice:<pre>response = textract.analyze_document(<br />Document={<br />        'S3Object': {<br />            'Bucket': BUCKET,<br />            'Name': '{}'.format(filename)<br />                    }<br />                },<br />        FeatureTypes=["TABLES", "FORMS"])</pre><br />Analizza la risposta JSON in un modulo e in una tabella utilizzando il codice seguente:<pre>parseformKV=form_kv_from_JSON(response)<br />parseformTables=get_tables_fromJSON(response)</pre> | Scienziato dei dati, sviluppatore | 
| Modifica il file TemplateJSON. | Modifica il codice JSON analizzato per tutte le intestazioni di tabella corrispondenti `DataType` (ad esempio, string, float, integer o date) `KeyName` e per le relative intestazioni di tabella (ad esempio e). `ColumnNames` `RowNames`<br />Questo modello viene utilizzato per ogni singolo tipo di file PDF, il che significa che può essere riutilizzato per file PDF con un formato identico. | Scienziato dei dati, sviluppatore | 
| Definire le funzioni di correzione post-elaborazione. | I valori nella risposta di Amazon Textract per il `TemplateJSON` file sono stringhe. Non vi è alcuna differenziazione per data, float, numero intero o valuta. Questi valori devono essere convertiti nel tipo di dati corretto per il caso d'uso a valle. <br />Correggi ogni tipo di dati in base al `TemplateJSON` file utilizzando il codice seguente:<pre>finalJSON=postprocessingCorrection(parsedJSON,templateJSON)</pre> | Scienziato dei dati, sviluppatore | 

### Ripeti la corsa
<a name="repeat-run"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Prepara i file PDF. | [Prepara i file PDF dividendoli in un'unica pagina e convertendoli in formato JPEG per il funzionamento sincrono di Amazon Textract ().](https://docs.aws.amazon.com/textract/latest/dg/sync.html) `Syn API`Puoi anche utilizzare l'[operazione asincrona](https://docs.aws.amazon.com/textract/latest/dg/async.html) di Amazon Textract (`Asyn API`) per file PDF multipagina. | Scienziato dei dati, sviluppatore | 
| Chiama l'API Amazon Textract. | Chiama l'API Amazon Textract utilizzando il seguente codice:<pre>response = textract.analyze_document(<br />        Document={<br />        'S3Object': {<br />            'Bucket': BUCKET,<br />            'Name': '{}'.format(filename)<br />                    }<br />                },<br />        FeatureTypes=["TABLES", "FORMS"])</pre> | Scienziato dei dati, sviluppatore | 
| Analizza il codice JSON della risposta Amazon Textract. | Analizza la risposta JSON in un modulo e in una tabella utilizzando il codice seguente:<pre>parseformKV=form_kv_from_JSON(response)<br />parseformTables=get_tables_fromJSON(response)</pre> | Scienziato dei dati, sviluppatore | 
| Carica il file TemplateJSON e abbinalo al JSON analizzato. | Utilizzate il `TemplateJSON` file per estrarre le coppie chiave-valore corrette e la tabella utilizzando i seguenti comandi:<pre>form_kv_corrected=form_kv_correction(parseformKV,templateJSON)<br />form_table_corrected=form_Table_correction(parseformTables, templateJSON)<br />form_kv_table_corrected_final={**form_kv_corrected , **form_table_corrected}</pre> | Scienziato dei dati, sviluppatore | 
| Correzioni successive all'elaborazione. | Utilizza `DataType` le funzioni di `TemplateJSON` file e post-elaborazione per correggere i dati utilizzando il codice seguente: <pre>finalJSON=postprocessingCorrection(form_kv_table_corrected_final,templateJSON)</pre> | Scienziato dei dati, sviluppatore | 

## Risorse correlate
<a name="automatically-extract-content-from-pdf-files-using-amazon-textract-resources"></a>
+ [Estrai automaticamente testo e dati strutturati dai documenti con Amazon Textract](https://aws.amazon.com/blogs/machine-learning/automatically-extract-text-and-structured-data-from-documents-with-amazon-textract/)
+ [Estrai testo e dati strutturati con Amazon Textract](https://aws.amazon.com/getting-started/hands-on/extract-text-with-amazon-textract/)
+ [Risorse Amazon Textract](https://aws.amazon.com/textract/resources/?blog-posts-cards.sort-by=item.additionalFields.createdDate&blog-posts-cards.sort-order=desc)

## Allegati
<a name="attachments-2d724523-2cab-42c9-a773-65857014d9ec"></a>

[Per accedere a contenuti aggiuntivi associati a questo documento, decomprimi il seguente file: attachment.zip](samples/p-attach/2d724523-2cab-42c9-a773-65857014d9ec/attachments/attachment.zip)