

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Bedrock 数据自动化功能中的标准输出
<a name="bda-standard-output"></a>

标准输出是与 Amazon Bedrock 数据自动化 (BDA) 交互的默认方式。如果您在未建立蓝图或项目的情况下将文档传递给 BDA API，它会返回该文件类型的默认标准输出。使用项目可以修改标准输出，项目中存储了每种数据类型的配置信息。对于每个项目，每种数据类型可以有一个标准输出配置。即使另外提供了自定义输出响应，BDA 也始终会随之提供标准输出响应。

每个数据类型都有不同的标准输出选项。其中一些选项是 Bedrock 数据自动化功能默认响应的一部分，而一些选项仅作为切换开关存在，用于处理项目中的数据类型。以下部分介绍每种数据类型的独有响应选项，并会说明哪些是默认选项，哪些是可选选项。

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

您可以通过文档的标准输出，设置您想要实现的响应粒度，以及确定输出中的输出格式和文本格式。以下是您可以启用的一些输出。

**注意**  
BDA 可以处理 DOCX 文件。要处理 DOCX 文件，请将它们转换为 PDFs。这意味着页码映射不适用于 DOCX 文件。如果选择了 JSON\$1 选项和页面粒度，则转换后的图像 PDFs 将被上传到您的输出存储桶。

## 响应粒度
<a name="document-granularity"></a>

响应粒度决定了您希望从文档文本提取中接收哪种响应。粒度级别越细，就会提供越多的独立响应，使用页面级别粒度时，会将所有提取的文本一起提供，而单词级别粒度则将每个单词作为单独的响应提供。可用的粒度级别包括：
+ 页面级别粒度 – 此粒度默认启用。页面级别粒度按照您选择的文本输出格式，提供文档的每一页。如果您在处理 PDF 文件，则启用此粒度级别将检测并返回嵌入的超链接。
+ 元素级别粒度（布局）– 此粒度默认启用。按照您选择的输出格式提供文档的文本，并将文本划分为不同的元素。这些元素包括图、表格或段落等。它们根据文档的结构，按逻辑阅读顺序返回。如果您在处理 PDF 文件，则启用此粒度级别将检测并返回嵌入的超链接。
+ 单词级别粒度 – 提供有关单个单词的信息，不进行更全面的上下文分析。向您提供每个单词及其在页面上的位置。

## 输出设置
<a name="document-output-settings"></a>

输出设置决定了您下载的结果所采用的结构。此设置只能在控制台上使用。输出设置的选项包括：
+ JSON – 用于文档分析的默认输出结构。提供一个 JSON 输出文件，其中包含您的配置设置中的信息。
  + 异步 [InvokeDataAutomationAsync](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_data-automation-runtime_InvokeDataAutomationAsync.html)API：异步 API 的 JSON 输出仅限于 S3。
  + 同步 [InvokeDataAutomation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_data-automation-runtime_InvokeDataAutomation.html)API：可以通过利用将 JSON 输出设置为 S3 或内联`outputconfiguration`。如果选择了 S3，则输出 JSON 仅转到 S3（不是内联）。如果未提供 S3，则同步 API 输出仅支持内联 JSON。
+ json\$1Files — 仅适用于异步 API。[InvokeDataAutomationAsync](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_data-automation-runtime_InvokeDataAutomationAsync.html)使用此设置会生成 JSON 输出和与不同输出对应的文件。例如，此设置向您提供了一个文本文件（用于整体文本提取），一个 markdown 文件（用于带有结构 markdown 的文本）以及 CSV 文件（用于在文件中找到的每个表）。文档中的图以及裁剪图和校正图像都会保存。另外，如果您在处理 DOCX 文件并选择了此选项，则 DOCX 文件的转换后 PDF 将位于输出文件夹中。这些输出位于您的输出文件夹的 `standard_output/logical_doc_id/assets/` 中。

**注意**  
除了 JSON 之外，同步 API 不会输出任何其他文件。输出 JSON 仅包含选作标准输出文本格式一部分的文本格式。同步 API 不会输出人物裁剪或校正后的图像。
同步 API 不支持 DocX。

## 文本格式
<a name="document-text-format"></a>

文本格式决定了通过各种提取操作提供的不同类型的文本。您可以为文本格式选择以下任意数量的选项。
+ 纯文本 – 此设置提供纯文本输出，不注明格式设置或其他 markdown 元素。
+ 带有 markdown 的文本 – 标准输出的默认输出设置。提供集成了 markdown 元素的文本。
+ 带有 HTML 的文本 – 在响应中提供集成了 HTML 元素的文本。
+ CSV – 提供文档中表的 CSV 结构化输出。此选项只对表给出响应，而不会对文档的其他元素给出响应。

## 边界框和生成式字段
<a name="additional-response-document"></a>

对于文档，有两个响应选项可以根据所选粒度更改其输出。这两个选项是“边界框”和“生成式字段”。选择“边界框”将提供您在控制台的响应下拉列表中点击的元素或单词的可视化轮廓。这使您可以更轻松地跟踪响应中的特定元素。在 JSON 中，使用方框四个角的坐标来返回边界框。

当您选择“生成式字段”时，将生成文档的摘要，分别为 10 个词和 250 个词的版本。然后，如果您选择元素作为响应粒度，则会为在文档中检测到的每个图生成描述性标题。图包括图表、图形和图像等对象。

------
#### [ Async ]

本节重点介绍您在文档文件 InvokeDataAutomationAsync 上运行 API 操作时收到的不同响应对象。下面我们将分解响应对象的每个部分，然后查看示例文档的完整填充响应。我们将收到的第一部分是 `metadata`。

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

上面的第一部分概述了与文档关联的元数据。除了 S3 信息外，此部分还会告知您为响应选择了哪种模态。

```
"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
   }
},
```

上面的部分提供文档级别粒度的信息。description 和 summary 部分是基于文档生成的字段。representation 部分提供文档中各种格式样式的实际内容。最后，statistics 包含有关文档实际内容的信息，例如有多少语义元素，有多少图、单词、行等。

这是表实体的信息。对于 InvokeDataAutomationAsync （异步）请求，除了位置信息、不同格式的文本、表格和阅读顺序外，它们还专门返回 S3 存储桶中的 csv 信息和 S3 存储桶中表的裁剪图像。CSV 信息显示不同的页眉、页脚和标题。图像将被路由到 InvokeDataAutomationAsync 请求中设置的前缀的 s3 存储桶。对于 InvokeDataAutomation （同步）请求，不支持 S3 存储桶中表的 csv 和裁剪后的图像。

当您处理 PDF 时，响应的 statistics 部分还将包含 `hyperlinks_count`，告知您文档中存在多少个超链接。

```
{
   "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"
},
```

这是用于文档内文本的实体，由响应中的 `TYPE` 行表示。同样，representation 显示不同格式的文本。`reading_order` 显示读者按逻辑顺序查看文本的先后顺序。这是基于关联键和值的语义排序。例如，它按阅读顺序将段落标题与相应的段落相关联。`page_indices` 告诉您文本所在的页面。接下来是位置信息，如果在响应中启用了该信息，则会提供一个文本边界框。最后是实体子类型。此子类型提供有关检测到哪些类型的文本的更多详细信息。有关子类型的完整列表，请参阅“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"
},
```

这是表实体的信息。除了位置信息、不同格式的文本、表和阅读顺序外，它们还专门返回 S3 存储桶中表的 csv 信息和裁剪图像。CSV 信息显示不同的页眉、页脚和标题。图像将被路由到 InvokeDataAutomation 请求中设置的前缀的 s3 存储桶。

```
{

   "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

   ]

}
,
```

这是用于图的实体，例如文档图形和图表。与表类似，这些图将被裁剪并且图像将会发送到前缀中设置的 S3 存储桶。此外，对于标题文本还会收到 `sub_type` 和图标题响应，并且会指示它是哪种类型的图。

```
"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
      }
   }
],
```

我们通过标准输出提取的最后一个实体是页面。页面与文本实体相同，但额外包含页码，这是在页面上检测到的页码。

```
"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
         }
      }
   }
]
```

最后两个元素用于单独的文本部分。单词级别粒度会为每个单词返回响应，而默认输出仅报告文本行。

------
#### [ Sync ]

本节重点介绍您在文档文件 InvokeDataAutomation 上运行 API 操作时收到的不同响应对象。下面我们将分解响应对象的每个部分，然后查看示例文档的完整填充响应。我们将收到的第一部分是 `metadata`。

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

上面的第一部分概述了与文档关联的元数据。由于同步 InvokeDataAutomation API 当前不支持文档拆分，因此 logical\$1subdocument\$1id 始终等于 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
   }
},
```

上面的部分提供文档级别粒度的信息。description 和 summary 部分是基于文档生成的字段。representation 部分提供文档中各种格式样式的实际内容。最后，statistics 包含有关文档实际内容的信息，例如有多少语义元素，有多少图、单词、行等。

注意：与异步 InvokeDataAutomationAsync 请求不同，同步 InvokeDataAutomation 请求不支持在 S3 存储桶中返回 csv 信息和表的裁剪图像。

```
{
"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"
},
```

 这是用于文档内文本的实体，由响应中的 TYPE 行指示。再说一遍，表示形式以不同的格式显示文本。reading\$1order 显示读者何时能在逻辑上看到文本。这是基于关联键和值的语义排序。例如，它按阅读顺序将段落标题与相应的段落相关联。page\$1indices 会告诉你文本在哪些页面上。接下来是位置信息，如果在响应中启用了该信息，则会提供一个文本边界框。最后是实体子类型。此子类型提供有关检测到哪些类型的文本的更多详细信息。有关子类型的完整列表，请参阅“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
        }
    }]
},
```

这是表实体的信息。CSV 信息显示不同的页眉、页脚和标题。

```
{

    "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
    ]
},
​
```

这是用于图的实体，例如文档图形和图表。您将收到标题文本的标题回复和图标题回复，并指示它是哪种图形。`sub_type`

```
"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
      }
   }
],
```

我们通过标准输出提取的最后一个实体是页面。页面与文本实体相同，但额外包含页码，这是在页面上检测到的页码。

```
"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
         }
      }
   }
]
```

最后两个元素用于单独的文本部分。单词级别粒度会为每个单词返回响应，而默认输出仅报告文本行。

------

## 其他文件格式元数据 JSON
<a name="output-json-plus"></a>

当您收到来自其他文件格式标志的其他文件时，您将获得一个包含已提取的所有已校正图像的 JSON 文件。BDA 使用单应性变换，将图像旋转到处于 90 度角来校正旋转的图像。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
                ]
            ]
        }
```

角代表检测到的图像边角，用于构成文档的单应性变换。这种单应性变换用来旋转图像，同时保持其他特性。

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

Amazon Bedrock 数据自动化（BDA）功能提供了一套全面的标准输出用于图像处理，以便从图像中生成见解。您可以利用这些见解来实现各种应用和使用案例，例如内容发现、情境广告投放和品牌安全。以下针对图像的标准输出，概述了可用的各种操作类型：

## 图像摘要
<a name="image-summarization"></a>

图像摘要为图像生成描述性标题。此功能在标准输出配置中默认启用。

## IAB 分类法
<a name="iab-classification"></a>

互动广告局（IAB）分类采用标准的广告分类法对图像内容进行分类。对于预览版，BDA 支持 24 个顶级（L1）类别和 85 个二级（L2）类别。要下载 BDA 支持的 IAB 类别列表，请单击[此处](samples/iab-taxonomy.zip)。

## 徽标检测
<a name="image-logo-detection"></a>

此功能可识别图像中的徽标并提供边界框信息，指示在图像中检测到的每个徽标的坐标以及置信度分数。该功能默认情况下不启用。

## 图像文本检测
<a name="image-text-detection"></a>

此功能检测和提取直观地显示在图像中的文本并提供边界框信息，指示在图像中检测到的每个文本元素的坐标以及置信度分数。此功能在标准输出配置中默认启用。

## 内容审核
<a name="content-moderation"></a>

内容审核可检测图像中的不当、不需要或冒犯性内容。在预览版中，BDA 支持 7 个审核类别：露骨内容、私密部位的非露骨裸露和接吻、泳装或内衣、暴力、毒品和烟草、酒精、仇恨符号。图像中的露骨文字不会被标记。

 对于文本检测（用于提供在图像中的位置坐标）等相关的功能，可以启用或禁用边界框和相关的置信度分数。默认情况下，图像摘要和图像文本检测功能已启用。

## 图像标准输出
<a name="image-standard-output-example"></a>

以下是通过 BDA 处理的图像的标准输出示例。每个部分的内容均有缩减并分隔，单独附有说明。

```
{
"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"
},
```

响应的第一部分是图像的元数据。其中提供了文件名、编码类型、S3 存储桶位置以及有关内容的更多信息。

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

响应的开头是图像的生成式摘要。

```
    "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
        }
    ],
```

接下来，我们将看到响应中附加的 IAB 类别。这些类别使用标准的 IAB 分类法，代表不同的广告分类类型。对于一般的高级类别，每个分类都有置信度分数、taxonomy\$1level 和 parent\$1name。

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

内容审核包含有关图像中可能存在的露骨内容的信息。这些信息都有一个置信度分数和类别，与本节前面讨论的内容审核类别一致。

```
    "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}
                    ]
                }
            ]
        },
        ...
```

此部分细分了在图像中检测到的每个单词，包括置信度和图像中的屏幕位置。它还使用 `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}
                    ]
                }
            ]
        }
    ]
},
```

在这里，单词按照共同行进行检测，带有置信度分数和边界框。

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

最后还提供了统计数据。这些数据细分图像中的所有内容，包括物体

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

BDA 提供了一组标准输出，用于处理视频和生成见解。下面是每种操作类型的详细介绍：

## 完整视频摘要
<a name="video-summarization"></a>

完整视频摘要生成整个视频文件的整体摘要。它将整个视频中呈现的关键主题、事件和信息提炼成简明摘要。完整视频摘要针对内容进行了优化，并提供描述性对话，例如产品概述、培训、新闻广播、脱口秀和纪录片。BDA 将尝试根据完整视频摘要和场景摘要中的音频信号（例如，发言人自我介绍）或视觉信号（例如，演示幻灯片中显示的发言人的姓名），提供每位独特发言人的姓名。如果系统无法解析某个独特发言人的姓名，将使用一个唯一的数字（例如 speaker\$10）表示发言人。

## 章节摘要
<a name="video-scene-summarization"></a>

视频章节汇总为视频中的各个场景提供描述性摘要。视频章节是一系列镜头，在视频中构成连贯的动作单元或叙事单元。此功能根据视觉线索和听觉线索将视频拆分为有意义的片段，提供这些片段的时间戳，并对每个片段进行总结。

## IAB 分类法
<a name="video-iab-classification"></a>

互动广告局（IAB）分类采用标准广告分类法，根据视觉和音频元素对视频场景进行分类。对于预览版，BDA 支持 24 个顶级（L1）类别和 85 个二级（L2）类别。要下载 BDA 支持的 IAB 类别列表，请单击[此处](samples/iab-taxonomy.zip)。

## 完整音频转录
<a name="full-audio-transcript"></a>

完整音频转录功能提供了音频中所有语音内容的完整文本表示。它使用先进的语音识别技术来准确转录对话、旁白和其他音频元素。转录内容包括发言人身份，这样就可以轻松地根据发言人浏览和搜索音频内容。

## 视频中的文本
<a name="text-in-video"></a>

此功能检测和提取在视频中直观显示的文本。它可以识别静态文本（如标题或字幕）和动态文本（例如在图像中移动文本）。与图像文本检测类似，此功能为检测到的每个文本元素提供边界框信息，这样就可以在视频帧中进行精确定位。

## 徽标检测
<a name="video-logo-detection"></a>

此功能可识别视频中的徽标并提供边界框信息，指示在视频帧中检测到的每个徽标的坐标以及置信度分数。该功能默认情况下不启用。

## 内容审核
<a name="video-content-moderation"></a>

内容审核可检测视频中的不当、不需要或冒犯性内容。BDA 支持 7 个审核类别：露骨内容、私密部位的非露骨裸露和接吻、泳装或内衣、暴力、毒品和烟草、酒精、仇恨符号。视频中的露骨文字不会被标记。

对于文本检测（用于提供在视频文件中的位置坐标和时间戳）等相关的功能，可以启用或禁用边界框和相关的置信度分数。默认情况下，完整视频汇总、场景汇总和视频文本检测功能均启用。

**注意**  
 对于每个视频只支持一条音轨。不支持字幕文件格式（例如 SRT、VTT 等）。

## 视频标准输出
<a name="video-standard-output"></a>

以下是通过 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
  },
```

这个初始部分介绍有关视频的元数据信息。包括存储桶位置、格式、帧率和其他关键信息。

```
"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
      ]
    },
```

这是响应中提供的 shot 元素示例。镜头代表视频的一小部分，通常与视频中的编辑或剪辑有关。镜头包含 start 和 end 元素，还包括一个 chapter\$1indicies 元素。此元素表示该镜头属于视频中哪个较大部分（称为章节）。

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

章节是视频中较大的片段。其内容与镜头一样，包含开始和结束信息，以及 shot\$1indicies 元素。shot\$1indicies 说明章节中有哪些镜头。最后是 summary 元素，提供对本章内容生成的摘要。

```
 "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"
            },
```

视频的最小粒度是帧，表示视频中的单个图像。帧有两个需要加以注意的响应元素，content\$1moderation 和 text\$1words。第一个元素 content\$1moderation 基于内容审核类别，向您提供有关帧内容的信息（如果检测到对应内容）。第二个元素 text\$1words 向您提供视频中出现的任何文本的位置和信息，例如隐藏字幕。

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

最后，statistics 提供有关检测内容的信息细分，例如给定视频中有多少个镜头、发言人和章节。

# 音频
<a name="audio-processing"></a>

Amazon Bedrock 数据自动化（BDA）功能提供了一组标准输出，用于处理和生成音频文件的洞察。下面是每种操作类型的详细介绍：

## 完整音频摘要
<a name="audio-audio-summarization"></a>

完整音频摘要生成整个音频文件的整体摘要。它将整个音频中呈现的关键主题、事件和信息提炼成简明摘要。

## 完整音频转录
<a name="audio-audio-transcript"></a>

完整音频转录功能提供了音频中所有语音内容的完整文本表示形式。它使用先进的语音识别技术来准确转录对话、旁白和其他音频元素。转录包括时间戳，便于根据口语单词浏览和搜索音频内容。

### 发言者和通道标注
<a name="w2aac28b8c11c13b5b3b7"></a>

对于生成的脚本，您可以启用频道 and/or 扬声器标签。这将为每个通道或发言者提供一个数字，然后在转录中指明何时正在使用某个通道，何时有特定的发言者在讲话。此标签在响应中显示为“spk\$1”，后面是代表每个发言者的唯一数字，最多可以添加 30 个发言者。第一个发言者将为“spk\$10”、第二个为“spk\$11”，以此类推。音频通道的表示方式类似于将第一个声道标注为“ch\$10”，但只能标注两个声道。

## 主题摘要
<a name="audio-topic-summary"></a>

音频主题摘要将音频文件分成各个主题部分，并对其进行汇总以提供关键信息。为这些主题提供了时间戳，以帮助将它们作为一个整体放置在音频文件中。该功能默认情况下不启用。

## 内容审核
<a name="audio-content-moderation"></a>

内容审核使用基于音频和文本的线索，对基于语音的毒性内容进行识别和分类，并划分为七个不同的类别：
+ ****亵渎：****包含不礼貌、粗俗或令人反感的单词、短语或首字母缩略词的言论。
+ ****仇恨言论：****基于身份（例如种族、民族、性别、宗教、性取向、能力和国籍）批评、侮辱、谴责或非人性化的言论。
+  ****性：****通过直接或间接提及身体部位、身体特征或性别来表示性兴趣、活动或性唤起的言论。
+ ****侮辱：****包括贬低、羞辱、嘲笑、侮辱或贬低语言的言论。这种语言也被标记为欺凌。
+ ****暴力或威胁：****包括企图对个人或群体造成痛苦、伤害或敌意的威胁的言论。
+ ****图形性言论：****使用视觉描述和令人不快的生动形象来表达的言论。这种语言通常故意过于详细，以加剧接受者的不适感。
+ ****骚扰或虐待：****旨在影响接受者心理健康的言论，包括贬低和物化用语。这种语言也被标记为骚扰。

## 音频标准输出
<a name="audio-standard-output-example"></a>

本节重点介绍您在音频文件 InvokeDataAutomation 上运行 API 操作时收到的不同响应对象。下面我们将分解响应对象的每个部分，然后查看示例文档的完整填充响应。我们将收到的第一部分是 `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"
  }
```

本部分分解介绍有关文件的信息，例如其 s3 位置、比特率、音频通道和格式。接下来看看 `audio_items`。

`dominant_asset_language`根据以秒为单位的长度，表示一段音频中最常使用的语言。 `generative_output_language`表示响应输出将使用哪种语言。当设置为 “默认” 时，它将使用主导语言。

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

项目部分包括按声音对音频文件进行细分。每个项目通常与字长有关。item\$1index 表示该项目在 audio\$1items 索引中的位置，audio\$1segment\$1index 表示它在我们接下来要讨论的分段索引中的位置。

```
"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"
    },
    ...
]
```

在这里，我们根据较长的时间跨度对文件进行了细分，每个分段大约等于一句话。分段告诉我们其中包含哪些音频项目以及分段本身的文本。接下来看看内容审核。

启用发言者和通道标注后，您可以看到 `speaker_label` 和 `channel_label` 部分，这两个部分指示该分段中存在哪些发言者和通道。

```
"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
          },
          ...
        ]
      },
      ...
]
```

内容审核部分仔细分析每个分段，并针对七个审核类别中的任何一个进行分析，为每个部分提供置信度分数。我们的下一部分讲解主题。

```
"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
      ]
    },
    ...
]
```

主题部分是分段中的下一个粒度级别。这些是按概念大致细分的几组分段。每个主题都附有生成的主题摘要以及该主题的确切测试。我们响应的最后一部分是统计数据。

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

本部分总结了有关音频文件的信息，其中包括字数和主题总数。