

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

# Output standard in Bedrock Data Automation
<a name="bda-standard-output"></a>

L'output standard è il modo predefinito di interagire con Amazon Bedrock Data Automation (BDA). Se si passa un documento all’API BDA senza un blueprint o un progetto stabilito, viene restituito l’output standard predefinito per quel tipo di file. L’output standard può essere modificato utilizzando i progetti, che memorizzano le informazioni di configurazione per ogni tipo di dati. È possibile avere una configurazione di output standard per tipo di dati per ogni progetto. BDA fornisce sempre una risposta di output standard anche se abbinata a una risposta di output personalizzata.

Ogni tipo di dati ha diverse opzioni di output standard. Alcune di queste opzioni fanno parte della risposta predefinita di Bedrock Data Automation, mentre altre esistono solo come opzioni per l’utilizzo di un determinato tipo di dati in un progetto. Le sezioni seguenti esaminano le opzioni di risposta uniche di ciascun tipo di dati, indicando quali sono predefinite e quali sono facoltative.

# Documenti
<a name="bda-output-documents"></a>

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\$1 e la granularità della pagina.

## Granularità della risposta
<a name="document-granularity"></a>

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
<a name="document-output-settings"></a>

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: [InvokeDataAutomationAsync](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_data-automation-runtime_InvokeDataAutomationAsync.html)l'output JSON per l'API Async è solo S3.
  + [InvokeDataAutomation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_data-automation-runtime_InvokeDataAutomation.html)API 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\$1files: disponibile solo per l'API Async. [InvokeDataAutomationAsync](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_data-automation-runtime_InvokeDataAutomationAsync.html) 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
<a name="document-text-format"></a>

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
<a name="additional-response-document"></a>

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\$1subdocument\$1id è 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\$1order 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\$1indices 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
<a name="output-json-plus"></a>

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

# Immagini
<a name="bda-ouput-image"></a>

La funzionalità Amazon Bedrock Data Automation (BDA) offre una serie completa di output standard per l’elaborazione delle immagini, al fine di generare approfondimenti dalle immagini stesse. Puoi utilizzare questi approfondimenti per abilitare un’ampia gamma di applicazioni e casi d’uso, come l’individuazione di contenuti, il posizionamento contestuale degli annunci pubblicitari e la sicurezza del marchio. Di seguito è riportata una panoramica di ciascun tipo di operazione disponibile come parte degli output standard per le immagini:

## Riepilogo dell’immagine
<a name="image-summarization"></a>

Il riepilogo dell’immagine genera una didascalia descrittiva per un’immagine. Questa funzionalità è abilitata per impostazione predefinita nella configurazione di output standard.

## Tassonomia IAB
<a name="iab-classification"></a>

La classificazione IAB (Interactive Advertising Bureau) applica una tassonomia pubblicitaria standard per classificare i contenuti delle immagini. Per l’anteprima, BDA supporta 24 categorie di primo livello (L1) e 85 categorie di secondo livello (L2). Per scaricare l’elenco delle categorie IAB supportate da BDA, fai clic [qui](samples/iab-taxonomy.zip).

## Rilevamento del logo
<a name="image-logo-detection"></a>

Questa funzionalità identifica i loghi presenti in un’immagine e fornisce informazioni sul riquadro di delimitazione, indicando le coordinate di ciascun logo rilevato all’interno dell’immagine e i punteggi di affidabilità. Questa funzionalità non è abilitata per impostazione predefinita.

## Rilevamento di testo nelle immagini
<a name="image-text-detection"></a>

Questa funzionalità rileva ed estrae il testo visibile in un’immagine e fornisce informazioni sul riquadro di delimitazione, indicando le coordinate di ciascun elemento di testo rilevato all’interno dell’immagine e i punteggi di affidabilità. Questa funzionalità è abilitata per impostazione predefinita nella configurazione di output standard.

## Moderazione dei contenuti
<a name="content-moderation"></a>

La moderazione dei contenuti rileva contenuti inappropriati, indesiderati oppure offensivi in un’immagine. Per l’anteprima, BDA supporterà 7 categorie di moderazione: Nudità esplicita e non esplicita delle parti intime e baci, Costumi da bagno o biancheria intima, Violenza, Droghe e tabacco, Alcol, Simboli di odio. Il testo esplicito nelle immagini non viene contrassegnato.

 I riquadri di delimitazione e i relativi punteggi di affidabilità possono essere abilitati o disabilitati per funzionalità pertinenti come il rilevamento del testo, per fornire coordinate di posizione nell’immagine. Il riepilogo dell’immagine e il rilevamento del testo dell’immagine sono abilitati per impostazione predefinita. 

## Output standard dell’immagine
<a name="image-standard-output-example"></a>

Di seguito è riportato un esempio di output standard per un’immagine elaborata tramite BDA: Ogni sezione è stata abbreviata e separata da una spiegazione.

```
{
"metadata": {
    "id": "image_123",
    "semantic_modality": "IMAGE",
    "s3_bucket": "my-s3-bucket",
    "s3_prefix": "images/",
    "image_width_pixels": 1920,
    "image_height_pixels": 1080,
    "color_depth": 24,
    "image_encoding": "JPEG"
},
```

La prima parte di una risposta è il metadato di un’immagine. Fornisce il nome del file, il tipo di codifica, la posizione del bucket s3 e ulteriori informazioni sul contenuto.

```
"image": {
    "summary": "Lively party scene with decorations and supplies",
```

All’inizio della risposta c’è il riepilogo generativo dell’immagine.

```
    "iab_categories": [
        {
            "id": "iab_12345",
            "type": "IAB",
            "category": "Party Supplies",
            "confidence": 0.9,
            "parent_name": "Events & Attractions",
            "taxonomy_level": 2
        },
        {
            "id": "iab_67890",
            "type": "IAB",
            "category": "Decorations",
            "confidence": 0.8,
            "parent_name": "Events & Attractions",
            "taxonomy_level": 1
        }
    ],
```

Di seguito, sono visibili le categorie IAB collegate a una risposta. Queste rappresentano diversi tipi di classificazioni pubblicitarie, utilizzando la tassonomia standard IAB. Ognuna ha un punteggio di affidabilità, taxonomy\$1level e parent\$1name per la categoria generale di alto livello.

```
    "content_moderation": [
        {
            "id": "mod_12345",
            "type": "MODERATION",
            "category": "Drugs & Tobacco Paraphernalia & Use",
            "confidence": 0.7,
            "parent_name": "Drugs & Tobacco",
            "taxonomy_level": 2
        }
    ], 
    ...
```

La moderazione dei contenuti contiene informazioni sui possibili contenuti espliciti presenti in un’immagine. Ciascuno di essi ha un punteggio di affidabilità e una categoria, in linea con le categorie di moderazione dei contenuti discusse in precedenza in questa sezione.

```
    "text_words": [
        {
            "id": "word_1",
            "text": "lively",
            "confidence": 0.9,
            "line_id": "line_1",
            "locations": [
                {
                    "bounding_box": {
                        "left": 100,
                        "top": 200,
                        "width": 50,
                        "height": 20
                    },
                    "polygon": [
                        {"x": 100, "y": 200},
                        {"x": 150, "y": 200},
                        {"x": 150, "y": 220},
                        {"x": 100, "y": 220}
                    ]
                }
            ]
        },
        ...
```

In questa sezione viene analizzata ogni parola rilevata all’interno di un’immagine, includendo il punteggio di affidabilità e la posizione sullo schermo all’interno dell’immagine. Indica inoltre in quale riga si trova la parola, utilizzando `line_id`.

```
    "text_lines": [
        {
            "id": "line_1",
            "text": "lively party",
            "confidence": 0.9,
            "locations": [
                {
                    "bounding_box": {
                        "left": 100,
                        "top": 200,
                        "width": 200,
                        "height": 20
                    },
                    "polygon": [
                        {"x": 100, "y": 200},
                        {"x": 300, "y": 200},
                        {"x": 300, "y": 220},
                        {"x": 100, "y": 220}
                    ]
                }
            ]
        }
    ]
},
```

Qui, le parole vengono rilevate nelle rispettive righe collettive, con punteggio di affidabilità e riquadro di delimitazione. 

```
"statistics": {
    "entity_count": 7,
    "object_count": 3,
    "line_count": 2,
    "word_count": 9
}
}
```

Infine, ci sono le statistiche. Queste suddividono tutti i contenuti all’interno di un’immagine, compreso l’oggetto

# Video
<a name="bda-ouput-video"></a>

BDA offre una serie di output standard per elaborare e generare approfondimenti per i video. Ecco una panoramica dettagliata di ogni tipo di operazione:

## Riepilogo completo del video
<a name="video-summarization"></a>

Il riepilogo completo del video genera un riepilogo generale di tutto il video. Distilla i temi, gli eventi e le informazioni chiave presentati nel video in un riepilogo conciso. Il riepilogo completo del video è ottimizzato per contenuti con dialoghi descrittivi come panoramiche dei prodotti, corsi di formazione, notiziari, talk show e documentari. BDA cercherà di fornire un nome per ogni singola persona che parla in base a segnali audio (ad esempio la persona si presenta) o segnali visivi (ad esempio una diapositiva di presentazione mostra il nome di una persona che parla) nei riepiloghi completi del video e nei riepiloghi delle scene. Quando il nome di una persona che parla non viene risolto, viene rappresentato da un numero univoco (ad esempio, speaker\$10).

## Riepiloghi dei capitoli
<a name="video-scene-summarization"></a>

Il riepilogo dei capitoli video fornisce riepiloghi descrittivi per le singole scene all’interno di un video. Un capitolo video è una sequenza di inquadrature che formano un’unità di azione o narrativa coerente all’interno del video. Questa funzionalità suddivide il video in segmenti significativi in base a segnali visivi e sonori, fornisce timestamp per tali segmenti e li riepiloga. 

## Tassonomia IAB
<a name="video-iab-classification"></a>

La classificazione IAB (Interactive Advertising Bureau) applica una tassonomia pubblicitaria standard per classificare le scene video sulla base di elementi visivi e audio. Per l’anteprima, BDA supporta 24 categorie di primo livello (L1) e 85 categorie di secondo livello (L2). Per scaricare l’elenco delle categorie IAB supportate da BDA, fai clic [qui](samples/iab-taxonomy.zip).

## Trascrizione completa dell’audio
<a name="full-audio-transcript"></a>

La funzionalità di trascrizione completa dell’audio fornisce una rappresentazione testuale completa di tutti i discorsi nel file audio. Utilizza una tecnologia avanzata di riconoscimento vocale per trascrivere con precisione dialoghi, narrazioni e altri elementi audio. La trascrizione include l’identificazione della persona che parla, il che semplifica la navigazione e la ricerca nei contenuti audio in base a chi parla.

## Testo in video
<a name="text-in-video"></a>

Questa funzionalità rileva ed estrae il testo che appare visivamente nel video. Può identificare sia testo statico (come titoli o didascalie) che testo dinamico (come testo in movimento nella grafica). Analogamente al rilevamento del testo nelle immagini, fornisce informazioni sul riquadro di delimitazione per ogni elemento di testo rilevato, permettendo una localizzazione precisa all’interno dei fotogrammi video.

## Rilevamento del logo
<a name="video-logo-detection"></a>

Questa funzionalità identifica i loghi in un video e fornisce informazioni sui riquadri di delimitazione, indicando le coordinate di ogni logo rilevato all’interno del fotogramma video e i punteggi di attendibilità. Questa funzionalità non è abilitata per impostazione predefinita.

## Moderazione dei contenuti
<a name="video-content-moderation"></a>

La moderazione dei contenuti rileva contenuti inappropriati, indesiderati oppure offensivi in un video. BDA supporta sette categorie di moderazione: Nudità esplicita e non esplicita delle parti intime e baci, Costumi da bagno o biancheria intima, Violenza, Droghe e tabacco, Alcol, Simboli di odio. Il testo esplicito nei video non viene contrassegnato.

I riquadri di delimitazione e i relativi punteggi di affidabilità possono essere abilitati o disabilitati per funzionalità pertinenti come il rilevamento del testo, per fornire coordinate di posizione e timestamp nel file video. Per impostazione predefinita, sono abilitati il riepilogo completo del video, il riepilogo delle scene e il rilevamento del testo nel video.

**Nota**  
 È supportata una sola traccia audio per video. I formati di file dei sottotitoli (ad esempio SRT, VTT, ecc.) non sono supportati. 

## Output standard per video
<a name="video-standard-output"></a>

Di seguito è riportato un esempio di output standard per un video elaborato tramite BDA:

```
{
"metadata": {
    "asset_id": "0",
    "semantic_modality": "VIDEO",
    "s3_bucket": "bedrock-data-automation-gamma-assets-us-east-1",
    "s3_key": "demo-assets/Video/MakingTheCut.mp4",
    "format": "QuickTime / MOV",
    "frame_rate": 30,
    "codec": "h264",
    "duration_millis": 378233,
    "frame_width": 852,
    "frame_height": 480
  },
```

Questa sezione iniziale illustra le informazioni sui metadati relative al video, tra cui la posizione del bucket, il formato, la frequenza dei fotogrammi e altre informazioni chiave.

```
"shots": [ ...

    {
      "shot_index": 3,
      "start_timecode_smpte": "00:00:08:19",
      "end_timecode_smpte": "00:00:09:25",
      "start_timestamp_millis": 8633,
      "end_timestamp_millis": 9833,
      "start_frame_index": 259,
      "end_frame_index": 295,
      "duration_smpte": "00:00:01:06",
      "duration_millis": 1200,
      "duration_frames": 36,
      "confidence": 0.9956437242589935,
      "chapter_indices": [
        1
      ]
    },
```

Questo è un esempio di elemento shot in una risposta. Gli shot rappresentano piccole parti di un video, in genere associate a una modifica o a un taglio nel video. Gli shot contengono elementi iniziali e finali e anche un elemento chapter\$1indicies. Questo elemento indica a quale sezione più ampia del video, chiamata capitolo, fa parte lo shot.

```
"chapters": [
    {
      "start_timecode_smpte": "00:00:00:00",
      "end_timecode_smpte": "00:00:08:18",
      "start_timestamp_millis": 0,
      "end_timestamp_millis": 8600,
      "start_frame_index": 0,
      "end_frame_index": 258,
      "duration_millis": 8600,
      "shot_indices": [
        0,
        1,
        2
      ],
      "summary": "At an elegant outdoor venue, a man in a suit and a woman in a patterned dress stand on a raised platform overlooking a reflective pool. The setting is adorned with palm trees and lush greenery, creating a tropical atmosphere. The man initiates the event by asking if they should begin, to which the woman responds affirmatively. As the scene progresses, the focus shifts to a woman wearing a distinctive black and white patterned coat, her hair styled in a bun. She stands alone in a dimly lit room, facing away from the camera. The narrative then moves to a formal setting where a man in a dark suit stands before a curtain backdrop, suggesting he may be about to address an audience or perform. The scene concludes with a view of the entire venue, showcasing its tropical charm with a swimming pool surrounded by palm trees and decorative lighting, indicating it's prepared for a special occasion.",
```

I capitoli sono parti più grandi di un video. Contengono informazioni di inizio e fine come gli shot e un elemento shot\$1indicies, che indica quali shot sono inclusi in un capitolo. Infine, l’elemento di riepilogo fornisce un riepilogo generato dei contenuti del capitolo.

```
 "frames": [...
         {
          "timecode_smpte": "00:00:03:15",
          "timestamp_millis": 3500,
          "frame_index": 105,
          "content_moderation": [],
          "text_words": [
            {
              "id": "266db64a-a7dc-463c-b710-7a178a2cc4cc",
              "type": "TEXT_WORD",
              "confidence": 0.99844897,
              "text": "ANDREA",
              "locations": [
                {
                  "bounding_box": {
                    "left": 0.1056338,
                    "top": 0.7363281,
                    "width": 0.19806337,
                    "height": 0.068359375
                  },
                  "polygon": [
                    {
                      "x": 0.1056338,
                      "y": 0.7363281
                    },
                    {
                      "x": 0.30369717,
                      "y": 0.7363281
                    },
                    {
                      "x": 0.30369717,
                      "y": 0.8046875
                    },
                    {
                      "x": 0.1056338,
                      "y": 0.8046875
                    }
                  ]
                }
              ],
              "line_id": "57b760fc-c410-418e-aee3-7c7ba58a71c2"
            },
```

La granularità minima di un video è un fotogramma, che rappresenta una singola immagine all’interno di un video. I fotogrammi contengono due elementi di risposta di particolare rilievo: content\$1moderation e text\$1words. Il primo, content\$1moderation, fornisce informazioni basate sulle categorie di moderazione dei contenuti relative al contenuto del fotogramma, se ne viene rilevata una. Il secondo, text\$1words, fornisce una posizione e informazioni su qualsiasi testo che appare in un video, come i sottotitoli codificati.

```
    "statistics": {
    "shot_count": 148,
    "chapter_count": 11,
    "speaker_count": 11
  }
}
```

Infine, le statistiche forniscono una suddivisione delle informazioni sul rilevamento, ad esempio il numero di shot, persone che parlano e capitoli presenti in un determinato video.

# Audio
<a name="audio-processing"></a>

La funzionalità Amazon Bedrock Data Automation (BDA) offre un set di output standard per elaborare e generare approfondimenti per i file audio. Ecco una panoramica dettagliata di ogni tipo di operazione:

## Riepilogo completo dell’audio
<a name="audio-audio-summarization"></a>

Il riepilogo completo dell’audio genera un riepilogo generale di tutto il file audio. Distilla i temi, gli eventi e le informazioni chiave presentati nel video in un riepilogo conciso.

## Trascrizione completa dell’audio
<a name="audio-audio-transcript"></a>

La funzionalità di trascrizione completa dell’audio fornisce una rappresentazione testuale completa di tutto il testo parlato nel file audio. Utilizza una tecnologia avanzata di riconoscimento vocale per trascrivere con precisione dialoghi, narrazioni e altri elementi audio. La trascrizione include i timestamp, il che semplifica la navigazione e la ricerca nei contenuti audio in base al testo parlato.

### Etichettatura di persone che parlano e canali
<a name="w2aac28b8c11c13b5b3b7"></a>

Per la trascrizione generata, puoi abilitare l'etichettatura and/or degli altoparlanti del canale. In questo modo a ogni canale o persona che parla viene assegnato un numero e la trascrizione indicherà quando un canale è attivo e chi sta parlando in quel momento. Questa etichetta appare nella risposta come “spk\$1” seguito da un numero univoco per ogni persona che parla, fino a 30. La prima persona che parla sarebbe “spk\$10”,”spk\$11” e così via. I canali audio sono indicati in modo analogo con il primo canale etichettato come “ch\$10”, ma è possibile etichettare solo due canali al massimo.

## Riepilogo degli argomenti
<a name="audio-topic-summary"></a>

Il riepilogo degli argomenti audio suddivide il file audio in sezioni denominate argomenti e le riepiloga per fornire informazioni chiave. A questi argomenti vengono assegnati timestamp per facilitarne l’individuazione all’interno del file audio. Questa funzionalità non è abilitata per impostazione predefinita.

## Moderazione dei contenuti
<a name="audio-content-moderation"></a>

La moderazione dei contenuti sfrutta segnali audio e testuali per identificare e classificare i contenuti tossici vocali in sette diverse categorie: 
+ ****Volgarità****: linguaggio che contiene parole, frasi o acronimi maleducati, volgari o offensivi.
+ ****Incitamento all’odio****: linguaggio che critica, insulta, denuncia o disumanizza una persona o un gruppo sulla base di un’identità (come razza, etnia, genere, religione, orientamento sessuale, abilità e origine nazionale).
+  ****Sessuale****: linguaggio che indica interesse, attività o eccitazione sessuale utilizzando riferimenti diretti o indiretti a parti del corpo, tratti fisici o sesso.
+ ****Insulti****: linguaggio che include parole umilianti, derisorie, offensive o sminuenti. Questo tipo di linguaggio è anche etichettato come bullismo.
+ ****Violenza o minaccia****: linguaggio che include minacce volte a infliggere dolore, lesioni o ostilità verso una persona o un gruppo.
+ ****Discorso grafico****: linguaggio che utilizza un immaginario visivamente descrittivo e sgradevolmente vivido. Questo tipo di linguaggio è spesso intenzionalmente prolisso per amplificare il disagio del destinatario.
+ ****Molestie o abusi****: linguaggio inteso a influire sul benessere psicologico del destinatario, compresi termini umilianti e oggettivanti. Questo tipo di linguaggio è anche etichettato come molestia.

## Output standard per audio
<a name="audio-standard-output-example"></a>

Questa sezione si concentra sui diversi oggetti di risposta ricevuti dall'esecuzione dell'operazione API InvokeDataAutomation su un file audio. 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": {
    "asset_id": "0",
    "semantic_modality": "AUDIO",
    "s3_bucket": "bedrock-data-automation-gamma-assets-us-east-1",
    "s3_key": "demo-assets/Audio/AWS_TCA-Call-Recording-2.wav",
    "sample_rate": 8000,
    "bitrate": 256000,
    "number_of_channels": 2,
    "codec": "pcm_s16le",
    "duration_millis": 237560,
    "format": "wav",
    "dominant_asset_language": "EN",
    "generative_output_language": "DEFAULT/EN"
  }
```

Questa sezione analizza le informazioni sul file come la posizione s3, il bitrate, i canali audio e il formato. Poi esaminiamo la sezione `audio_items`.

`dominant_asset_language`indica qual è la lingua più presente in un brano audio in base alla lunghezza in secondi. `generative_output_language`indica in quale lingua verrà visualizzato l'output della risposta. Se impostato su «DEFAULT», utilizzerà la lingua dominante.

```
"audio_items": [
    {
      "item_index": 0,
      "audio_segment_index": 0,
      "content": "Auto",
      "start_timestamp_millis": 9,
      "end_timestamp_millis": 119
    },
    ...
]
```

La sezione items include una suddivisione del file audio suono per suono. Di solito ogni elemento riguarda la lunghezza delle parole. L’item\$1index indica la posizione dell’elemento negli indici audio\$1items e l’audio\$1segment\$1index indica dove si trova negli indici dei segmenti di cui parleremo in seguito.

```
"audio_segments": [
    {
      "start_timestamp_millis": 0,
      "end_timestamp_millis": 1970,
      "segment_index": 0,
      "type": "TRANSCRIPT",
      "text": "Auto sales, Cherry speaking. How can I help you?",
      "speaker": {
        "speaker_label": "spk_0"
      },
      "channel": {
        "channel_label": "ch_0"
      },
      "audio_item_indices": [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10,
        11
      ],
      "language": "EN"
    },
    ...
]
```

Qui otteniamo una suddivisione del file in base a periodi di tempo più lunghi, con ogni segmento uguale a circa una frase. Ci dice quali elementi audio sono inclusi nel segmento e il testo del segmento stesso. Ora diamo un’occhiata alla sezione sulla moderazione dei contenuti.

Con l’etichettatura delle persone che parlano e dei canali abilitata, è possibile visualizzare le sezioni `speaker_label` e `channel_label` che indicano quale persona che parla e quale canale sono presenti in questo segmento.

```
"content_moderation": [
      {
        "id": "93068e72-290d-4aad-8717-a2cd0e02b0d0",
        "type": "AUDIO_MODERATION",
        "confidence": 0.0476,
        "start_timestamp_millis": 0,
        "end_timestamp_millis": 1970,
        "moderation_categories": [
          {
            "category": "profanity",
            "confidence": 0.1582
          },
          ...
        ]
      },
      ...
]
```

La sezione sulla moderazione dei contenuti analizza ogni singolo segmento per ognuna delle sette categorie di moderazione, fornendo punteggi di attendibilità per ciascuna sezione. La sezione successiva è topics.

```
"topics": [
    {
      "topic_index": 0,
      "start_timestamp_millis": 0,
      "end_timestamp_millis": 36790,
      "summary": "As follows:\n\nSuzanne, a customer, recently had her Hyundai serviced at the auto sales shop where Carrie works. Suzanne had a 3 p.m. appointment and got her car serviced, which included an oil change and filter changes. However, when Suzanne left the shop, her oil light was still on, which she found concerning. Carrie acknowledged that this sometimes happens, even after a service visit, and assured Suzanne that she would look into the issue further.",
      "transcript": {
        "representation": {
          "text": "Auto sales, Cherry speaking. How can I help you? Yeah, hi Carrie, um, my name is Suzanne. I literally just left your shop. Um, I just went in and got my Hyundai service. Um, it just was, it just needed like filter error changes oil change and all that kind of stuff, um, but. When I left and my oil light is still on and I don't know why. Got it. You just got it serviced here, but when you drove off the light was still on. Is that what happened? Yeah, yeah, yeah, like I literally like I had a 3 p.m. appointment and I just got it, you know, believe it or not, this, this happens."
        }
      },
      "audio_segment_indices": [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10
      ]
    },
    ...
]
```

Le sezioni topic rappresentano il livello di granularità successivo ai segmenti. Si tratta di raggruppamenti di segmenti suddivisi approssimativamente per concetti. Ogni argomento viene fornito con un riepilogo generato dell’argomento e il test esatto dell’argomento. La sezione finale di una risposta è statistics,

```
 "statistics": {
    "word_count": 749,
    "topic_count": 4
  }
```

che riassume le informazioni sul file audio, tra cui il conteggio delle parole e il totale degli argomenti.