

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Bedrock Data Automation의 표준 출력
<a name="bda-standard-output"></a>

표준 출력은 Amazon Bedrock 데이터 자동화(BDA)와 상호 작용하는 기본 방법입니다. 설정된 블루프린트 또는 프로젝트 없이 문서를 BDA API에 전달하면 해당 파일 유형에 대한 기본 표준 출력이 반환됩니다. 표준 출력은 각 데이터 유형에 대한 구성 정보를 저장하는 프로젝트를 사용하여 수정할 수 있습니다. 각 프로젝트의 데이터 유형당 하나의 표준 출력 구성을 사용할 수 있습니다. BDA는 사용자 지정 출력 응답이 함께 있는 경우에도 항상 표준 출력 응답을 제공합니다.

각 데이터 유형에는 다양한 표준 출력 옵션이 있습니다. 이러한 옵션 중 일부는 기본 Bedrock Data Automation 응답에 속하는 반면, 일부는 프로젝트의 데이터 유형 작업을 위한 토글로만 존재합니다. 다음 섹션에서는 각 데이터 유형의 고유한 응답 옵션을 살펴보고 기본값과 선택 사항을 각각 확인합니다.

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

문서에 대한 표준 출력을 사용하면 관심 있는 응답의 세부 수준을 설정하고 출력 형식과 출력의 텍스트 형식을 설정할 수 있습니다. 다음은 활성화할 수 있는 출력 중 일부입니다.

**참고**  
BDA는 DOCX 파일을 처리할 수 있습니다. DOCX 파일을 처리하기 위해 PDF로 변환됩니다. 즉, DOCX 파일에는 페이지 번호 매핑이 작동하지 않습니다. JSON\$1 옵션과 페이지 세부 수준을 선택하면 변환된 PDF의 이미지가 출력 버킷에 업로드됩니다.

## 응답 세부 수준
<a name="document-granularity"></a>

응답 세분화는 문서 텍스트 추출에서 수신할 응답의 종류를 결정합니다. 각 세부 수준은 점점 더 분리된 응답을 제공합니다. 페이지는 함께 추출된 모든 텍스트를 제공하고 단어는 각 단어를 별도의 응답으로 제공합니다. 사용 가능한 세부 수준은 다음과 같습니다.
+ 페이지 수준 세부 수준 - 기본적으로 활성화됩니다. 페이지 수준 세부 수준은 문서의 각 페이지를 원하는 텍스트 출력 형식으로 제공합니다. PDF를 처리하는 경우이 수준의 세부 수준을 활성화하면 임베디드 하이퍼링크가 감지되고 반환됩니다.
+ 요소 수준 세부 수준(레이아웃) - 기본적으로 활성화됩니다. 문서의 텍스트를 선택한 출력 형식으로 다른 요소로 구분하여 제공합니다. 이러한 요소에는 그림, 테이블 또는 단락이 있습니다. 이는 문서 구조에 따라 논리적 읽기 순서로 반환됩니다. PDF를 처리하는 경우이 수준의 세부 수준을 활성화하면 임베디드 하이퍼링크가 감지되고 반환됩니다.
+ 단어 수준 세부 수준 - 광범위한 컨텍스트 분석을 사용하지 않고 개별 단어에 대한 정보를 제공합니다. 페이지에서 각 단어와 해당 위치를 제공합니다.

## 출력 설정
<a name="document-output-settings"></a>

출력 설정은 다운로드한 결과를 구성하는 방법을 결정합니다. 이 설정은 콘솔에서만 사용할 수 있습니다. 출력 설정 옵션은 다음과 같습니다.
+ JSON - 문서 분석을 위한 기본 출력 구조입니다. 구성 설정의 정보가 포함된 JSON 출력 파일을 제공합니다.
  + Async [InvokeDataAutomationAsync](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_data-automation-runtime_InvokeDataAutomationAsync.html) API: Async API에 대한 JSON 출력은 S3 전용입니다.
  + Sync [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\$1파일 - Async [InvokeDataAutomationAsync](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_data-automation-runtime_InvokeDataAutomationAsync.html) API에만 사용할 수 있습니다. 이 설정을 사용하면 JSON 출력과 다른 출력에 해당하는 파일이 모두 생성됩니다. 예를 들어 이 설정은 전체 텍스트 추출을 위한 텍스트 파일, 구조적 마크다운이 있는 텍스트에 대한 마크다운 파일, 텍스트에 있는 각 테이블에 대한 CSV 파일을 제공합니다. 문서 내에 있는 그림과 그림 잘라내기 및 수정된 이미지가 저장됩니다. 또한 DOCX 파일을 처리하고 이 옵션을 선택하면 DOCX 파일의 변환된 PDF가 출력 폴더에 표시됩니다. 이러한 출력은 출력 폴더의 `standard_output/logical_doc_id/assets/`에 있습니다.

**참고**  
동기화 API는 JSON 이외의 추가 파일을 출력하지 않습니다. 출력 JSON에는 표준 출력 텍스트 형식의 일부로 선택된 텍스트 형식만 포함됩니다. 동기화 API는 그림 잘라내기 또는 수정된 이미지를 출력하지 않습니다.
동기화 API에서는 DocX가 지원되지 않습니다.

## 날짜 형식
<a name="document-text-format"></a>

텍스트 형식은 다양한 추출 작업을 통해 제공되는 다양한 종류의 텍스트를 결정합니다. 텍스트 형식에 대해 다음 옵션을 원하는 수만큼 선택할 수 있습니다.
+ 일반 텍스트 - 이 설정은 서식이나 기타 마크다운 요소가 기록되지 않은 텍스트 전용 출력을 제공합니다.
+ 마크다운이 있는 텍스트 - 표준 출력의 기본 출력 설정입니다. 마크다운 요소가 통합된 텍스트를 제공합니다.
+ HTML이 포함된 텍스트 - 응답에 통합된 HTML 요소가 포함된 텍스트를 제공합니다.
+ CSV - 문서 내 테이블을 CSV로 구조화한 출력을 제공합니다. 이렇게 하면 문서의 다른 요소가 아니라 테이블에 대한 응답만 제공됩니다.

## 경계 상자 및 생성 필드
<a name="additional-response-document"></a>

문서의 경우 선택한 세부 수준에 따라 두 가지 응답 옵션으로 출력을 변경할 수 있습니다. 옵션은 경계 상자와 생성형 필드입니다. 경계 상자를 선택하면 콘솔 응답 드롭다운에서 클릭한 요소 또는 단어의 시각적 개요가 제공됩니다. 이렇게 하면 응답의 특정 요소를 더 쉽게 추적할 수 있습니다. 경계 상자는 상자의 네 모서리에 대한 좌표로 JSON에 반환됩니다.

생성형 필드를 선택하면 10단어 및 250단어 버전의 문서 요약이 생성됩니다. 그런 다음 요소를 응답 세부 수준으로 선택하면 문서에서 감지된 각 그림에 대한 설명 캡션을 생성합니다. 그림에는 차트, 그래프, 이미지 등이 포함됩니다.

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

이 섹션에서는 문서 파일에서 API 작업 InvokeDataAutomationAsync를 실행하여 수신하는 다양한 응답 객체에 중점을 둡니다. 아래에서는 응답 객체의 각 섹션을 분류한 다음 예제 문서에 채워진 전체 응답을 확인합니다. 첫 번째 섹션은 `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
   }
},
```

위 섹션에서는 문서 수준 세부 정보를 제공합니다. 설명 및 요약 섹션은 문서를 기반으로 생성된 필드입니다. 표현 섹션은 문서의 실제 콘텐츠를 다양한 형식 지정 스타일로 제공합니다. 마지막으로, 통계에는 존재하는 의미 체계 요소 수, 그림, 단어, 줄 수 등 문서의 실제 콘텐츠에 대한 정보가 포함됩니다.

테이블 엔터티에 대한 정보입니다. InvokeDataAutomationAsync(비동기) 요청의 경우 위치 정보, 텍스트, 테이블 및 읽기 순서의 다양한 형식 외에도 특히 S3 버킷에 테이블의 csv 정보와 잘린 이미지를 반환합니다. CSV 정보에는 다양한 헤더, 바닥글 및 제목이 표시됩니다. 이미지는 InvokeDataAutomationAsync 요청에 설정된 접두사의 s3 버킷으로 라우팅됩니다. InvokeDataAutomation(동기화) 요청의 경우 S3 버킷에 있는 테이블의 csv 및 잘린 이미지는 지원되지 않습니다.

PDF를 처리할 때 응답의 통계 섹션에는 문서에 존재하는 하이퍼링크 수를 알려주는 `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` 줄로 표시됩니다. 다시 표현하면 텍스트가 다양한 형식으로 표시됩니다. `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 ]

이 섹션에서는 문서 파일에서 API 작업 InvokeDataAutomation을 실행하여 수신하는 다양한 응답 객체에 중점을 둡니다. 아래에서는 응답 객체의 각 섹션을 분류한 다음 예제 문서에 채워진 전체 응답을 확인합니다. 첫 번째 섹션은 `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
   }
},
```

위 섹션에서는 문서 수준 세부 정보를 제공합니다. 설명 및 요약 섹션은 문서를 기반으로 생성된 필드입니다. 표현 섹션은 문서의 실제 콘텐츠를 다양한 형식 지정 스타일로 제공합니다. 마지막으로, 통계에는 존재하는 의미 체계 요소 수, 그림, 단어, 줄 수 등 문서의 실제 콘텐츠에 대한 정보가 포함됩니다.

참고: 비동기식 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 줄로 표시됩니다. 다시 표현하면 텍스트가 다양한 형식으로 표시됩니다. read\$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 Data Automation(BDA) 기능이 제공하는 이미지 처리용 포괄적인 표준 출력 세트로 이미지에서 인사이트를 생성합니다. 이러한 인사이트를 사용하여 콘텐츠 검색, 컨텍스트 광고 배치 및 브랜드 안전과 같은 다양한 애플리케이션 및 사용 사례를 활성화할 수 있습니다. 다음은 이미지에 대한 표준 출력의 일부로 사용할 수 있는 각 작업 유형에 대한 개요입니다.

## 이미지 요약
<a name="image-summarization"></a>

이미지 요약은 이미지에 대한 설명 캡션을 생성합니다. 이 기능은 기본적으로 표준 출력 구성 내에서 활성화됩니다.

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

Interactive Advertising Bureau(IAB) 분류는 표준 광고 분류법을 적용하여 이미지 콘텐츠를 분류합니다. 미리보기의 경우 BDA는 24개의 최상위(L1) 범주와 85개의 2단계(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>

Interactive Advertising Bureau(IAB) 분류는 표준 광고 분류를 적용하여 시각적 요소와 오디오 요소를 기반으로 비디오 장면을 분류합니다. 미리보기의 경우 BDA는 24개의 최상위(L1) 범주와 85개의 2단계(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
      ]
    },
```

다음은 응답의 샷 요소의 예입니다. 샷은 비디오의 작은 부분을 나타내며 일반적으로 비디오의 편집 또는 잘라내기와 연결됩니다. 샷에는 시작 및 종료 요소와 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는 챕터 내에 있는 샷을 알려줍니다. 마지막으로 요약 요소는 챕터의 내용에 대해 생성된 요약을 제공합니다.

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

마지막으로 통계는 지정된 비디오에 있는 샷, 화자 및 챕터 수와 같은 감지에 대한 정보를 분석합니다.

# 오디오
<a name="audio-processing"></a>

Amazon Bedrock Data Automation(BDA) 기능은 오디오 파일을 처리하고 인사이트를 생성하기 위한 표준 출력 세트를 제공합니다. 각 작업 유형에 대한 자세한 내용은 다음과 같습니다.

## 전체 오디오 요약
<a name="audio-audio-summarization"></a>

전체 오디오 요약은 전체 오디오 파일의 전체 요약을 생성합니다. 오디오 전체에 표시되는 주요 테마, 이벤트 및 정보를 간결한 요약으로 추출합니다.

## 전체 오디오 트랜스크립트
<a name="audio-audio-transcript"></a>

전체 오디오 트랜스크립트 기능은 오디오의 모든 음성 콘텐츠를 완벽하게 텍스트로 표현합니다. 고급 음성 인식 기술을 사용하여 대화, 내레이션 및 기타 오디오 요소를 정확하게 트랜스크립션합니다. 트랜스크립션에는 타임스탬프가 포함되어 있으므로 음성 단어를 기반으로 오디오 콘텐츠를 쉽게 탐색하고 검색할 수 있습니다.

### 화자 및 채널 레이블 지정
<a name="w2aac28b8c11c13b5b3b7"></a>

생성된 트랜스크립트의 경우 채널 및/또는 화자 레이블 지정을 활성화할 수 있습니다. 이렇게 하면 각 채널 또는 화자에게 번호가 부여되고, 트랜스크립트 내에서 채널이 사용되고 특정 화자가 말하는 시기를 나타냅니다. 이 레이블은 응답 내에 'spk\$1'로 표시되고 각 화자의 고유 번호가 뒤따르며, 최대 30명의 화자가 표시됩니다. 첫 번째 화자는 'spk\$10', 'spk\$11' 식입니다. 오디오 채널은 'ch\$10' 레이블이 지정된 첫 번째 채널과 비슷하게 표시되지만, 두 채널로만 레이블이 지정될 수 있습니다.

## 주제 요약
<a name="audio-topic-summary"></a>

오디오 주제 요약은 오디오 파일을 주제라는 섹션으로 분리하고 요약하여 주요 정보를 제공합니다. 이러한 주제에는 오디오 파일 전체에 배치하는 데 도움이 되는 타임스탬프가 제공됩니다. 이 기능은 기본적으로 활성화되어 있지 않습니다.

## 콘텐츠 조정
<a name="audio-content-moderation"></a>

콘텐츠 조정은 오디오 및 텍스트 기반 신호를 사용하여 음성 기반 유해 콘텐츠를 식별하고 7가지 범주로 분류합니다.
+ ****욕설****: 무례하거나 저속하거나 불쾌감을 주는 단어, 문구 또는 두문자어가 포함된 말
+ ****혐오 표현:**** 정체성(예: 인종, 민족, 성별, 종교, 성적 취향, 능력, 출신 국가)을 근거로 개인이나 집단을 비판, 모욕, 비인간화하는 말
+  ****성적 표현: ****신체 부위, 신체적 특징 또는 성별을 직간접적으로 언급하여 성적 관심, 활동 또는 흥분을 나타내는 말
+ ****모욕:**** 비하하거나, 굴욕하거나, 조롱하거나, 모욕하거나, 얕보는 표현이 포함된 말. 이러한 유형의 표현은 괴롭힘으로도 분류됩니다.
+ ****폭력 또는 위협: ****개인이나 집단에 대해 고통, 부상 또는 적대감을 주려는 위협이 포함된 말
+ ****노골적인 표현:**** 시각적으로 묘사적이고 불쾌할 정도로 생생한 이미지를 사용하는 말 이러한 유형의 표현은 상대방의 불편함을 증폭시키기 위해 일부러 장황하게 말하는 경우가 많습니다.
+ ****괴롭힘 또는 학대:**** 상대방을 비하하고 객관화하는 표현을 포함하여 상대방의 심리적 안녕에 영향을 미치려는 의도를 가진 말 이러한 유형의 표현은 괴롭힘(harassment)으로도 분류됩니다.

## 오디오 표준 출력
<a name="audio-standard-output-example"></a>

이 섹션에서는 오디오 파일에서 API 작업 InvokeDataAutomation을 실행하여 수신하는 다양한 응답 객체에 중점을 둡니다. 아래에서는 응답 객체의 각 섹션을 분류한 다음 예제 문서에 채워진 전체 응답을 확인합니다. 첫 번째 섹션은 `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` 나타냅니다. "DEFAULT"로 설정하면 지배적 언어를 사용합니다.

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

콘텐츠 조정 섹션은 각 개별 세그먼트를 살펴보고 7가지 조정 범주 중 하나에 대해 분석하여 각 섹션에 대한 신뢰도 점수를 제공합니다. 다음 섹션은 주제입니다.

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

이 섹션에서는 오디오 파일에 대한 정보를 요약합니다. 여기에는 단어 수와 총 주제가 포함됩니다.