

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

# 블루프린트 생성
<a name="bda-idp"></a>

## 사용자 지정 출력에 대한 블루프린트를 생성하는 방법
<a name="how-to-create-blueprints"></a>

Amazon Bedrock 데이터 자동화(BDA)를 사용하면 BDA가 추출할 수 있는 모든 파일 유형에 대한 사용자 지정 블루프린트를 생성할 수 있습니다. 블루프린트를 사용하여 입력 파일에 대해 원하는 출력 형식과 추출 로직을 정의할 수 있습니다. 사용자 지정 블루프린트를 생성하면 특정 요구 사항에 맞게 BDA의 출력을 조정할 수 있습니다.

한 프로젝트 내에서 다음을 적용할 수 있습니다.
+ 여러 문서 블루프린트, 최대 40개. 이를 통해 동일한 프로젝트 내에서 각각 고유한 사용자 지정 추출 로직이 있는 다양한 유형의 문서를 처리할 수 있습니다.
+ 이미지 블루프린트 1개. 이렇게 하면 프로젝트 내에서 이미지 처리의 일관성이 보장됩니다.
+ 오디오 블루프린트 1개.
+ 비디오 블루프린트 1개.

### 블루프린트 생성
<a name="creating-blueprints-methods"></a>

 BDA에서 블루프린트를 생성하는 방법에는 두 가지가 있습니다.
+ 블루프린트 프롬프트 사용
+ 수동 블루프린트 생성

#### 블루프린트 프롬프트 사용
<a name="creating-blueprints-methods-assistant"></a>

 블루프린트 프롬프트는 블루프린트를 생성하기 위한 안내식 자연어 기반 인터페이스를 제공합니다. 프롬프트를 사용하여 블루프린트를 생성하려면 다음을 수행하세요.

1.  BDA 콘솔에서 **블루프린트** 섹션으로 이동합니다.

1.  **블루프린트 생성**을 클릭하고 **블루프린트 프롬프트 사용**을 선택합니다.

1.  블루프린트의 데이터 유형(문서, 이미지, 오디오 또는 비디오)을 선택합니다.

1.  자연어로 추출하려는 필드와 데이터를 설명합니다. 예: "인보이스에서 인보이스 번호, 총 금액 및 공급업체 이름 추출."

1.  프롬프트는 설명을 기반으로 블루프린트를 생성합니다.

1.  생성된 블루프린트를 검토하고 필요한 경우 조정합니다. 블루프린트 프롬프트는 한 턴을 기반으로 합니다. 즉, 새 정보뿐만 아니라 프롬프트를 변경하려면 모든 정보를 다시 입력해야 합니다.

1.  블루프린트를 저장하고 이름을 지정합니다.

##### 블루프린트 프롬프트 예제
<a name="w2aac28b8c14c11b3b9b7b7"></a>

다음 섹션에서는 오디오 블루프린트에 대한 블루프린트 프롬프트의 예를 살펴봅니다. 이 사용 사례에서는 고객과 고객 서비스 담당자 간의 대화에서 정보를 추출하는 블루프린트를 만들고자 합니다. 아래 스크린샷은 콘솔의 프롬프트 창을 보여줍니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/images/bda/audio-bpa-prompt.png)


스크린샷 하단에서 상자의 입력을 기반으로 AI가 생성한 프롬프트를 볼 수 있습니다. 언급한 필드가 어떻게 처리되는지 확인할 수 있습니다. 다음으로 프롬프트에서 생성된 블루프린트를 살펴보겠습니다.

![\[alt text not found\]](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/images/bda/audio-bpa-example.png)


여기서는 대화에서 처리할 것으로 예상되는 정보를 살펴볼 수 있습니다. 필드에 만족하면 오디오 파일 처리를 즉시 시작할 수 있습니다. 블루프린트를 편집하려면 직접 편집하는 대신 복제본을 생성해야 합니다. 다른 결과에 맞게 프롬프트를 조정할 수도 있습니다.

#### 블루프린트 수동 생성
<a name="creating-blueprints-methods-id"></a>

 고급 사용자 또는 세분화된 제어가 필요한 사용자의 경우 블루프린트를 수동으로 생성할 수 있습니다.

1.  BDA 콘솔에서 **블루프린트** 섹션으로 이동합니다.

1.  **블루프린트 생성**을 클릭하고 **수동으로 생성**을 선택합니다.

1.  블루프린트의 데이터 유형(문서, 이미지, 오디오 또는 비디오)을 선택합니다.

1.  데이터 유형, 형식 및 검증 규칙을 지정하여 추출하려는 필드를 정의합니다.

1.  문서 분할 또는 레이아웃 처리와 같은 추가 설정을 구성합니다.

1.  블루프린트를 저장하고 이름을 지정합니다.

블루프린트 JSON 편집기를 사용하여 블루프린트를 생성하거나 수정할 수도 있습니다. 이렇게 하면 텍스트 편집기를 통해 블루프린트의 JSON을 직접 조정할 수 있습니다.

### 프로젝트에 블루프린트 추가
<a name="adding-blueprints-projects"></a>

프로젝트는 다중 모달 콘텐츠 처리 워크플로의 컨테이너 역할을 하는 반면, 블루프린트는 해당 워크플로에 대한 추출 로직을 정의합니다. 프로젝트에 블루프린트를 추가하여 해당 프로젝트로 처리하는 파일에 블루프린트를 적용합니다.

 프로젝트에 블루프린트를 추가하려면 다음을 수행합니다.

1.  BDA 콘솔에서 **프로젝트** 섹션으로 이동합니다.

1.  블루프린트를 추가할 프로젝트를 선택합니다.

1.  **블루프린트 추가** 또는 **블루프린트 관리**를 클릭합니다.

1.  사용 가능한 블루프린트 목록에서 추가할 블루프린트를 선택합니다.

1.  블루프린트에 대한 프로젝트별 설정을 구성합니다.

1.  프로젝트에 대한 변경 사항을 저장합니다.

### 필드 정의
<a name="bda-images-defining-fields"></a>

시작하려면 product\$1type과 같이 추출하거나 생성하려는 정보를 식별하는 필드를 생성할 수 있습니다. 각 필드에 대해 설명, 데이터 유형 및 추론 유형을 제공해야 합니다.

필드를 정의하려면 다음 파라미터를 지정해야 합니다.
+ *설명:* 필드가 나타내는 내용에 대한 자연어 설명을 제공합니다. 이 설명은 필드의 컨텍스트와 목적을 이해하여 데이터를 정확하게 추출하는 데 도움이 됩니다.
+ *유형:* 필드의 값에 대한 데이터 유형을 지정합니다. BDA는 다음 유형을 지원합니다.
  + 문자열: 텍스트 기반 값
  + 숫자: 숫자 값
  + 부울: true 또는 false 값
  + 배열: 동일한 유형의 여러 값을 가질 수 있는 필드(예: 문자열 배열 또는 숫자 배열)
+ *추론 유형:* 필드 값의 응답 생성을 처리하는 방법을 BDA에 지시합니다. 이미지의 경우 BDA는 추론된 추론 유형만 지원합니다. 즉, BDA는 이미지에 있는 정보를 기반으로 필드 값을 유추합니다.

비디오의 경우 필드에는 세부 수준도 옵션으로 포함됩니다. 이 특성에 대한 자세한 내용은 비디오용 블루프린트 생성을 참조하세요.

다음 이미지는 콘솔의 "필드 추가" 모듈 Amazon Bedrock 과 다음 예제 필드 및 값을 보여줍니다.
+ 필드 이름: product\$1type
+ 유형: 문자열
+ 지침: 의류, 전자 제품, 식품 및 음료 등 광고되는 주요 제품 또는 서비스는 무엇입니까?
+ 추출 유형: 추론됨.

![\[Amazon Bedrock 이미지 필드를 지정하기 위한 드롭다운 메뉴와 텍스트 필드를 보여주는 UI입니다.\]](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/images/bda/bda-console-add-fields-new.png)


다음은 API에 대한 JSON 스키마에서 동일한 필드 정의의 예입니다.

```
"product_type":{
"type": "string",
"inferenceType": "inferred",
"description": "What is the primary product or service being advertised, e.g., Clothing, Electronics, Food & Beverage, etc.?"
}
```

이 예시는 다음과 같이 설정되어 있습니다.
+  유형은 문자열로 설정되어 product\$1type 필드의 값이 텍스트 기반이어야 함을 나타냅니다.
+ inferenceType은 추론으로 설정되어 BDA에 이미지에 있는 정보를 기반으로 값을 추론하도록 지시합니다.
+ 설명은 추가 컨텍스트를 제공하여 필드가 이미지의 제품 유형을 식별해야 함을 명확히 합니다. product\$1type 필드의 예제 값은 의류, 전자 제품, 음식 또는 음료입니다.

각 필드에 이러한 파라미터를 지정하면 이미지에서 인사이트를 정확하게 추출하고 생성하는 데 필요한 정보를 BDA에 제공할 수 있습니다.

### 프로젝트 버전 생성
<a name="blueprints-project-verions"></a>

프로젝트 작업 시 블루프린트 버전을 생성할 수 있습니다. 버전은 블루프린트의 변경 불가능한 스냅샷으로, 현재 구성과 추출 로직을 보존합니다. 이 블루프린트 버전은 데이터 처리를 시작하라는 요청에 전달될 수 있으므로 BDA는 버전이 생성될 때 블루프린트에 지정된 로직에 따라 문서를 처리합니다.

`CreateBlueprintVersion` 작업을 사용하여 버전을 생성할 수 있습니다.

Amazon Bedrock 콘솔을 사용하면 블루프린트를 생성하고 저장할 수도 있습니다. 블루프린트를 저장하면 해당 블루프린트에 ID가 할당됩니다. 그런 다음 블루프린트를 게시하여 편집할 수 없는 해당 블루프린트의 스냅샷 버전을 생성할 수 있습니다. 예를 들어 프로젝트에 연결된 블루프린트가 ‘DocBlueprint’인 경우 생성된 프로젝트 버전은 ‘DocBlueprint\$11’이 됩니다. ‘DocBlueprint\$11’을 더 이상 변경할 수 없지만 기본 블루프린트는 계속 편집할 수 있습니다. 블루프린트를 변경하고 다시 게시하면 ‘DocBlueprint\$12’와 같은 새 버전이 생성됩니다. 블루프린트 버전은 복제하여 새 블루프린트의 기반으로 사용할 수 있습니다.

# 블루프린트를 활용하여 다양한 IDP 태스크 달성
<a name="idp-cases"></a>

블루프린트는 문서 처리를 위한 매우 다재다능한 도구입니다. 다음 섹션에서는 다양한 IDP 목표를 염두에 두고 블루프린트를 생성하는 방법에 대해 설명합니다. 또한 이 섹션에서는 일반적으로 문서에 대한 블루프린트를 생성하는 세부적 방법에 대한 더 많은 인사이트를 제공합니다.

# 분류를 위한 블루프린트 생성
<a name="idp-cases-classification"></a>

BDA를 사용하면 블루프린트를 생성할 때 문서 클래스를 할당하고 설명을 제공하여 문서를 분류할 수 있습니다. 문서 클래스는 문서 유형의 상위 수준 분류 역할을 하고, 설명은 해당 문서 클래스 내의 예상 콘텐츠 및 요소에 대한 자세한 세부 정보를 제공합니다. 설명에서는 문서에 있는 일반적인 데이터 유형을 문서 목적 및 예상되는 엔터티와 같은 기타 관련 정보와 함께 지정하는 것이 좋습니다.

문서 클래스 및 설명의 예는 다음과 같습니다.


| 문서 클래스 | 설명 | 
| --- | --- | 
|  Invoice  |  인보이스는 개인 또는 다른 회사가 제공한 서비스 또는 개인 또는 다른 회사가 한 회사로부터 구매한 항목의 목록이 포함된 문서입니다. 결제 기한 및 지급 금액과 같은 세부 정보가 포함되어 있습니다.  | 
|  Payslip  |  고용주가 직원에게 발행하는 이 문서에는 지정된 기간 동안 직원이 받은 급여가 포함되어 있습니다. 일반적으로 각 소득 및 세금 공제 항목의 세부 사항이 포함되어 있습니다.  | 
|  Receipts  |  상품의 판매 또는 기타 이전 또는 서비스 제공 후 개인이 결제로 돈이나 소유물을 수령했음을 확인하는 문서입니다. 모든 영수증에는 구매 날짜가 있어야 합니다.  | 
|  W2  |  회계 연도에 고용주로부터 받은 개인 소득을 제출하기 위한 세금 양식입니다.  | 

블루프린트 필드를 생성한 후 다음 단계를 따릅니다.

1. 블루프린트 생성 페이지에서 **블루프린트 프롬프트 저장 및 종료**를 선택합니다.

1. 블루프린트 이름에 블루프린트의 이름을 입력합니다.

1. 문서 클래스에 분류하려는 문서 유형을 나타내는 클래스 이름을 입력합니다.

1. 설명 필드에 문서 유형에 대한 자세한 설명을 입력합니다. 사람, 회사, 주소, 제품 세부 정보 또는 기타 관련 정보와 같이 이러한 문서에서 일반적으로 발견되는 데이터 및 요소의 유형에 대한 정보를 포함합니다.

1. 블루프린트 게시를 선택합니다.

블루프린트를 생성한 후 InvokeDataAutomationAsync API 요청에 하나 이상의 블루프린트 ID를 제공하여 추론 중에 문서를 분류하는 데 블루프린트를 사용할 수 있습니다.

BDA는 각 블루프린트에 제공된 문서 클래스와 설명을 사용하여 문서를 정확하게 분류하고 처리합니다. 처리를 위해 문서를 제출하면 BDA는 해당 콘텐츠를 분석하여 제공된 블루프린트 목록과 일치시킵니다. 그런 다음 블루프린트 필드 지침에 따라 문서를 분류하고 처리하여 원하는 구조로 출력을 생성합니다.

# 추출을 위한 블루프린트 생성
<a name="idp-cases-extraction"></a>

BDA를 사용하면 블루프린트를 생성할 때 문서에서 추출하려는 특정 데이터 필드를 정의할 수 있습니다. 이는 검색할 정보와 해석 방법을 BDA에 안내하는 일련의 지침 역할을 합니다.

**필드 정의**  
시작하려면 employee\$1id 또는 product\$1name과 같이 추출이 필요한 각 필드에 대한 속성을 생성할 수 있습니다. 각 필드에 대해 설명, 데이터 유형 및 추론 유형을 제공해야 합니다.

추출할 필드를 정의하려면 다음 파라미터를 지정해야 합니다.
+ Field Name: 필드가 나타내는 내용에 대한 설명을 사람이 읽을 수 있는 형식으로 제공합니다. 이 설명은 필드의 컨텍스트와 목적을 이해하여 데이터를 정확하게 추출하는 데 도움이 됩니다.
+ Instruction: 필드가 나타내는 내용에 대한 자연어 설명을 제공합니다. 이 설명은 필드의 컨텍스트와 목적을 이해하여 데이터를 정확하게 추출하는 데 도움이 됩니다.
+ 유형: 필드의 값에 대한 데이터 유형을 지정합니다. BDA는 다음 데이터 유형을 지원합니다.
  + 문자열: 텍스트 기반 값
  + 숫자: 숫자 값
  + 부울: true 또는 false 값
  + 배열: 동일한 유형의 여러 값을 가질 수 있는 필드의 경우(예: 문자열 배열 또는 숫자 배열)
+ Inference Type: 필드 값의 추출을 처리하는 방법을 BDA에 지시합니다. 지원되는 추론 유형은 다음과 같습니다.
  + Explicit: BDA가 문서에서 직접 값을 추출합니다.
  + Inferred: BDA가 문서에 있는 정보를 기반으로 값을 추론합니다.

다음은 모든 파라미터가 포함된 필드 정의의 예입니다.

------
#### [ Console ]

![\['Field name' 및 'Instruction'을 추가하는 방법을 보여주는 콘솔입니다. 'Type'은 'String'으로 설정되고 'Extraction type'은 'Explicit'으로 설정됩니다.\]](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/images/bda/bdaadd.png)


------
#### [ API ]

```
"product_name":{
   "type":"string",
   "inferenceType":"Explicit",
   "description":"The short name of the product without any extra details"
}
```

------

이 예시는 다음과 같이 설정되어 있습니다.
+ Type은 String으로 설정되어 있으며 이는 product\$1name 필드의 값이 텍스트 기반이어야 함을 나타냅니다.
+ inferenceType은 Explicit으로 설정되어 있으며 이는 변환 또는 검증 없이 문서에서 직접 값을 추출하도록 BDA에 지시합니다.
+ Instruction은 추가 컨텍스트를 제공하여 필드에 추가 세부 정보 없이 제품의 짧은 이름이 포함되어야 함을 명시합니다.

각 필드에 이러한 파라미터를 지정하면 문서에서 원하는 데이터를 정확하게 추출하고 해석하는 데 필요한 정보를 BDA에 제공할 수 있습니다.


| Field | Instruction | Extraction Type | Type | 
| --- | --- | --- | --- | 
|  ApplicantsName  |  신청자의 전체 이름  |  Explicit  |  문자열  | 
|  DateOfBirth  |  직원 생년월일  |  Explicit  |  문자열  | 
|  Sales  |  총 영수증 또는 매출  |  Explicit  |  number  | 
|  Statement\$1starting\$1balance  |  기간 시작 시 잔액  |  Explicit  |  number  | 

**다중 값 필드**  
필드에 여러 값이 포함될 수 있는 경우 배열 또는 테이블을 정의할 수 있습니다.

**필드 목록**  
값 목록이 포함된 필드의 경우 배열 데이터 유형을 정의할 수 있습니다.

이 예제에서 'OtherExpenses'는 문자열 배열로 정의되므로 BDA가 해당 필드에 대해 여러 비용 항목을 추출할 수 있습니다.

------
#### [ Console ]

![\['Field name' 및 'Instruction'을 추가하는 방법을 보여주는 콘솔입니다. 'Type'은 'Array of String'으로 설정되고 'Extraction type'은 'Explicit'으로 설정됩니다.\]](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/images/bda/bdaarray.png)


------
#### [ API ]

```
"OtherExpenses":{
   "type":"array",
   "inferenceType":"Explicit",
   "description":"Other business expenses not included in fields 8-26 or field 30",
   "items":{
      "type":"string"
   }
}
```

------

**테이블**  
문서에 테이블 형식 데이터가 포함된 경우 스키마 내에서 테이블 구조를 정의할 수 있습니다.

이 예제에서 'SERVICES\$1TABLE'은 제품 이름, 설명, 수량, 단가 및 금액과 같은 열 필드가 있는 테이블 유형으로 정의됩니다.

------
#### [ Console ]

![\['Field name' 및 'Instruction'을 추가하는 방법을 보여주는 콘솔입니다. 'Type'은 'Table'로 설정되고 'Extraction type'은 'Explicit'으로 설정되며 추가된 열별 필드를 표시합니다.\]](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/images/bda/bdatable.png)


------
#### [ API ]

```
"definitions":{
   "LINEITEM":{
      "properties":{
         "quantity":{
            "type":"number",
            "inferenceType":"Explicit"
         },
         "unit price":{
            "type":"number",
            "inferenceType":"Explicit"
         },
         "amount":{
            "type":"number",
            "inferenceType":"Explicit",
            "description":"Unit Price * Quantity"
         },
         "product name":{
            "type":"string",
            "inferenceType":"Explicit",
            "description":"The short name of the product without any extra details"
         },
         "product description":{
            "type":"string",
            "inferenceType":"Explicit",
            "description":"The full item list description text"
         }
      }
   }
},
"properties":{
   "SERVICES_TABLE":{
      "type":"array",
      "description":"Line items table listing all the items / services charged in the invoice including quantity, price, amount, product / service name and description.",
      "items":{
         "$ref":"#/definitions/LINEITEM"
      }
   },
   "...
        ..."
]
```

------

적절한 필드 설명, 데이터 형식 및 추론 유형을 사용하여 포괄적인 스키마를 정의하면 형식이나 표현의 차이에 관계없이 BDA가 문서에서 원하는 정보를 정확하게 추출할 수 있습니다.

# 정규화를 위한 블루프린트 생성
<a name="idp-cases-normalization"></a>

BDA는 특정 요구 사항에 따라 추출된 데이터를 변환하고 표준화할 수 있는 정규화 기능을 제공합니다. 이러한 정규화 태스크는 키 정규화 및 값 정규화로 분류할 수 있습니다.

**키 정규화**  
대부분의 경우 문서 필드는 표현되거나 레이블이 지정되는 방식에 차이가 있을 수 있습니다. 예를 들어 'Social Security Number' 필드는 'SSN', 'Tax ID', 'TIN' 또는 기타 유사한 변형으로 표시될 수 있습니다. 이 문제를 해결하기 위해 BDA는 키 정규화를 제공하여 사용자가 필드 정의 내에 변형에 대한 지침을 제공할 수 있도록 합니다.

키 정규화를 활용하면 BDA가 동일한 필드의 다양한 표현을 인식하고 표준화된 키에 매핑하도록 안내할 수 있습니다. 이 기능은 소스 문서에 있는 변형에 관계없이 데이터를 일관되게 추출하고 구성할 수 있도록 보장합니다.


| Field | Instruction | Extraction Type | Type | 
| --- | --- | --- | --- | 
|  LastName  |  사람의 성  |  Explicit  |  문자열  | 
|  BirthNum  |  출생 증명서의 문서 번호 또는 파일 번호  |  Explicit  |  문자열  | 
|  OtherIncome  |  연방 및 주 휘발유 또는 연료 세금 공제 또는 환급을 포함한 기타 소득  |  Explicit  |  숫자  | 
|  BusinessName  |  W9를 채우는 비즈니스, 계약자 또는 법인의 이름  |  Explicit  |  문자열  | 
|  power factor  |  이 사용량 항목에 사용되는 역률 또는 승수  |  Explicit  |  문자열  | 
|  BirthPlace  |  아이가 태어난 병원 또는 기관의 이름  |  Explicit  |  문자열  | 
|  Cause of Injury  |  관련 작동 방식을 포함한 부상 또는 직업병의 원인  |  Explicit  |  문자열  | 

미리 정의된 값 세트 또는 열거형이 있는 필드의 경우 필드 명령 내에서 예상 값 또는 범위를 제공할 수 있습니다. 예제와 같이 인용 부호의 변형을 포함하는 것이 좋습니다.


| Field | Instruction | Extraction Type | Type | 
| --- | --- | --- | --- | 
|  LICENSE\$1CLASS  |  'A', 'B' 또는 'C' 중 하나인 단일 문자 클래스 코드  |  Explicit  |  문자열  | 
|  sex  |  성별. 'M' 또는 'F' 중 하나  |  Explicit  |  문자열  | 
|  InformantType  |  정보의 유형. 'Parent' 또는 'Other' 중 하나  |  Explicit  |  문자열  | 
|  INFORMATION COLLECTION CHANNEL  |  다음 중 하나: 'FACE TO FACE INTERVIEW', 'TELEPHONE INTERVIEW', 'FAX OR MAIL', 'EMAIL OR INTERNET'  |  Explicit  |  문자열  | 

**값 정규화**  
값 정규화는 추출된 데이터를 일관되고 표준화된 형식으로 변환해야 하는 데이터 처리 파이프라인의 주요 태스크입니다. 이 프로세스를 통해 다운스트림 시스템은 호환성 문제나 모호함 없이 데이터를 원활하게 사용하고 처리할 수 있습니다.

BDA에서 정규화 기능을 사용하면 형식을 표준화하고 측정 단위 및 캐스팅 값을 특정 데이터 유형으로 변환할 수 있습니다.

값 정규화 태스크의 경우 값이 정규화된 후 문서의 원시 텍스트 또는 OCR과 정확히 일치하지 않을 수 있으므로 추론된 추출 유형을 사용해야 합니다. 예를 들어 'YYYY-MM-DD' 형식으로 지정해야 하는 '06/25/2022'과 같은 날짜 값은 정규화 후 '2022-06-25'로 추출되므로 문서의 OCR 출력과 일치하지 않습니다.

형식 표준화: 값을 단축 코드, 번호 체계 또는 특정 날짜 형식과 같은 사전 정의된 형식으로 변환할 수 있습니다. 이를 통해 업계 표준 또는 조직 규칙을 준수하여 데이터 표현의 일관성을 보장할 수 있습니다.


| Field | Instruction | Extraction Type | Type | 
| --- | --- | --- | --- | 
|  ssn  |  SSN, XXX-XX-XXX 형식  |  Inferred  |  문자열  | 
|  STATE  |  상태의 두 문자 코드  |  Inferred  |  문자열  | 
|  EXPIRATION\$1DATE  |  YYYY-MM-DD 형식의 만료 날짜  |  Inferred  |  문자열  | 
|  DATE\$1OF\$1BIRTH  |  YYYY-MM-DD 형식의 드라이버 생년월일  |  Inferred  |  문자열  | 
|  CHECK\$1DATE  |  수표에 서명한 날짜. YYYY-MM-DD로 형식 변경  |  Inferred  |  문자열  | 
|  PurchaseDate  |  mm/dd/yy 형식의 차량 구매 날짜  |  Inferred  |  문자열  | 

해당 사항 없음과 같은 시나리오를 처리하여 값을 표준 측정 단위 또는 특정 데이터 유형으로 변환할 수도 있습니다.


| Field | Instruction | Extraction Type | Type | 
| --- | --- | --- | --- | 
|  WEIGHT  |  무게를 파운드로 변환  |  Inferred  |  숫자  | 
|  HEIGHT  |  높이를 인치로 변환  |  Inferred  |  숫자  | 
|  nonqualified\$1plans\$1income  |  필드 11의 값. 해당 사항이 없는 경우 0입니다.  |  Inferred  |  숫자  | 

# 변환을 위한 블루프린트 생성
<a name="idp-cases-transformation"></a>

BDA를 사용하면 특정 요구 사항에 따라 데이터 필드를 분할하고 재구성할 수 있습니다. 이 기능을 사용하면 추출된 데이터를 다운스트림 시스템 또는 분석 요구 사항에 더 적합한 형식으로 변환할 수 있습니다.

대부분의 경우 문서에는 여러 정보를 단일 필드로 결합하는 필드가 포함될 수 있습니다. BDA를 사용하면 이러한 필드를 별도의 개별 필드로 분할하여 데이터를 더 쉽게 조작하고 분석할 수 있습니다. 예를 들어 문서에 개인의 이름이 단일 필드로 포함된 경우 이름, 중간 이름, 성 및 접미사 필드로 각각 분할할 수 있습니다.

변환 태스크의 경우 값을 정규화해야 하는지 여부에 따라 추출 유형을 Explicit 또는 Inferred로 정의할 수 있습니다.


| Field | Instruction | Extraction Type | Type | 
| --- | --- | --- | --- | 
|  FIRST\$1NAME  |  성  |  Explicit  |  문자열  | 
|  MIDDLE\$1NAME  |  중간 이름 또는 이니셜  |  Explicit  |  문자열  | 
|  LAST\$1NAME  |  드라이버의 이름  |  Explicit  |  문자열  | 
|  SUFFIX  |  PhD, MSc 등의 접미사  |  Explicit  |  문자열  | 

또 다른 예에서는 단일 필드로 표시할 수 있는 주소 블록을 사용합니다.


| Field | Instruction | Extraction Type | Type | 
| --- | --- | --- | --- | 
|  Street  |  거리 주소  |  Explicit  |  문자열  | 
|  City  |  시  |  Explicit  |  문자열  | 
|  State  |  주  |  Explicit  |  문자열  | 
|  ZipCode  |  우편번호  |  Explicit  |  문자열  | 

이러한 필드를 완전히 개별 필드로 정의하거나 사용자 지정 유형을 생성할 수 있습니다. 사용자 지정 유형은 다른 필드에 재사용할 수 있습니다. 아래 예제에서는 'EmployeeName' 및 'ManagerName'에 사용할 사용자 지정 유형인 'NameInfo'를 생성합니다.

![\[사용자 지정 유형의 세부 정보를 추가하는 방법을 보여주는 콘솔입니다. 또한 사용자 지정 유형에 추가된 하위 속성도 보여줍니다.\]](http://docs.aws.amazon.com/ko_kr/bedrock/latest/userguide/images/bda/bdacustomtype.png)


# 검증을 위한 블루프린트 생성
<a name="idp-cases-validation"></a>

BDA를 사용하면 추출된 데이터의 정확성을 보장하기 위해 검증 규칙을 정의할 수 있습니다. 이러한 검증 규칙을 블루프린트에 통합하면 BDA가 추출된 데이터에 대해 다양한 검사를 수행할 수 있습니다. BDA를 사용하면 특정 비즈니스 또는 업계 요구 사항에 맞는 사용자 지정 검증을 생성할 수 있습니다. 아래에서는 몇 가지 검증 예제를 통해 이 기능의 범위를 설명합니다.

**숫자 검증**  
숫자 검증은 추출된 숫자 데이터가 지정된 값 범위 내에 속하는지 또는 특정 기준을 충족하는지 확인하는 데 사용됩니다. 이러한 검증은 양, 수량 또는 기타 숫자 데이터와 같은 필드에 적용할 수 있습니다.


| Field | Instruction | Extraction Type | Type | 
| --- | --- | --- | --- | 
|  BalanceGreaterCheck  |  이전 잔액이 \$11,000보다 큰지 여부  |  Inferred  |  부울  | 
|  총이익은 매출과 매출원가의 차이와 같습니까?  |  검증 질문  |  Inferred  |  부울  | 
|  is\$1gross\$1pay\$1valid  |  YTD 총 지불액이 급여 명세서에서 가장 큰 달러 금액인지 여부  |  Inferred  |  부울  | 

**날짜/시간 검증**  
날짜/시간 검증은 추출된 날짜 또는 시간 데이터가 특정 범위에 속하는지 또는 특정 기준을 충족하는지 확인하는 데 사용됩니다. 이러한 검증은 기한, 만료 날짜 또는 기타 날짜/시간 관련 데이터와 같은 필드에 적용할 수 있습니다.


| Field | Instruction | Extraction Type | Type | 
| --- | --- | --- | --- | 
|  was\$1injury\$1reported\$1after\$11\$1month  |  부상 날짜로부터 1개월이 지난 후 고용주에게 부상이 보고되었는지 여부  |  Inferred  |  부울  | 
|  is\$1overdue  |  입출금 내역서 기한이 지났는지 여부 또는 잔액 기한이 만료되었는지 여부  |  Inferred  |  부울  | 
|  is\$1delivery\$1date\$1valid  |  전달 날짜가 향후 30일 이내인지 여부  |  Inferred  |  부울  | 

**문자열/형식 검증**  
문자열/형식 검증은 추출된 데이터가 특정 형식을 준수하는지 또는 사전 정의된 패턴과 일치하는지 확인하는 데 사용됩니다. 이러한 검증은 이름, 주소 또는 형식 검증이 필요한 기타 텍스트 데이터와 같은 필드에 적용할 수 있습니다.


| Field | Instruction | Extraction Type | Type | 
| --- | --- | --- | --- | 
|  routing\$1number\$1valid  |  은행 라우팅 번호가 9자리인 경우 True  |  Inferred  |  부울  | 
|  Is\$1NumMeterIDsListed  |  청구서에 5개 이상의 계량기 ID가 나열되어 있는지 여부  |  Inferred  |  부울  | 

BDA의 사용자 지정 검증 기능을 사용하면 여러 조건, 계산 또는 논리적 작업을 결합하는 복잡한 검증 규칙을 생성하여 추출된 데이터가 원하는 기준을 충족하는지 확인할 수 있습니다. 이러한 검증에는 교차 필드 검사, 계산 또는 비즈니스 프로세스 또는 규제 요구 사항과 관련된 기타 사용자 지정 로직이 포함될 수 있습니다.

이러한 검증 규칙을 블루프린트에 통합하면 BDA가 추출된 데이터를 자동으로 검증하여 정확도와 특정 요구 사항 준수를 보장할 수 있습니다. 이 기능을 사용하면 검증이 실패한 경우 인적 검토를 트리거할 수 있습니다.

# 이미지에 대한 블루프린트 생성
<a name="bda-idp-images"></a>

Amazon Bedrock Data Automation(BDA)을 사용하면 이미지 모달리티에 대한 사용자 지정 블루프린트를 생성할 수 있습니다. 블루프린트를 사용하여 입력 파일에 대해 원하는 출력 형식과 추출 로직을 정의할 수 있습니다. 사용자 지정 블루프린트를 생성하면 특정 요구 사항에 맞게 BDA의 출력을 조정할 수 있습니다. 한 프로젝트 내에서 단일 이미지 블루프린트를 적용할 수 있습니다.

## 이미지의 데이터 필드 정의
<a name="bda-images-defining-data-fields"></a>

BDA를 사용하면 블루프린트를 생성하여 이미지에서 식별할 특정 필드를 정의할 수 있습니다. 이는 이미지에서 추출하고 생성할 정보를 BDA에 안내하는 일련의 지침 역할을 합니다.

### 광고 이미지에 대한 블루프린트 필드 예제
<a name="w2aac28b8c14c11b9b5b5"></a>

다음은 광고 이미지를 분석하기 위한 블루프린트 필드의 몇 가지 예입니다.




|  |  |  |  | 
| --- |--- |--- |--- |
| Field | Instruction | Extraction Type | Type | 
| product\$1type | What is the primary product or service being advertised? Ex: Clothing, Electronics, Food & Beverage | inferred | string | 
| product\$1placement | How is the product placed in the advertisement image, e.g., centered, in the background, held by a person, etc.? | inferred | string | 
| product\$1size | Product size is small if size is less than 30% of the image, medium if it is between 30 to 60%, and large if it is larger than 60% of the image | inferred | string | 
| image\$1style | Classify the image style of the ad. For example, product image, lifestyle, portrait, retro, infographic, none of the above. | inferred | string | 
| image\$1background | Background can be" solid color, natural landscape, indoor, outdoor, or abstract.  | inferred | string | 
| promotional\$1offer | Does the advertisement include any discounts, offers, or promotional messages? | inferred | boolean | 

### 미디어 검색을 위한 블루프린트 필드의 예
<a name="w2aac28b8c14c11b9b5b7"></a>

다음은 미디어 검색을 위해 이미지에서 메타데이터를 생성하는 블루프린트 필드의 몇 가지 예입니다.




|  |  |  |  | 
| --- |--- |--- |--- |
| Field | Instruction | Extraction Type | Type | 
| person\$1counting | How many people are in the image? | inferred | number | 
| indoor\$1outdoor\$1classification | Is the image indoor or outdoor? | inferred | string | 
| scene\$1classification | Classify the setting or environment of the image. Ex: Urban, Rural, Natural, Historical, Residential, Commercial, Recreational, Public Spaces | inferred | string | 
| animal\$1identification | Does the image contain any animals? | inferred | boolean | 
| animal\$1type | What type of animals are present in the image? | inferred | string | 
| color\$1identification | Is the image in color or black and white? | inferred | string | 
| vehicle\$1identification | Is there any vehicle visible in the image? | inferred | string | 
| vehicle\$1type | What type of vehicle is present in the image? | inferred | string | 
| watermark\$1identification | Is there any watermark visible in the image? | inferred | boolean | 

# 오디오용 블루프린트 생성
<a name="creating-blueprint-audio"></a>

이미지 블루프린트와 마찬가지로 프로젝트당 하나의 오디오 블루프린트만 가질 수 있습니다.

다음은 오디오 처리를 위한 몇 가지 예제 필드입니다.

## 오디오 파일에 대한 블루프린트 필드 예제
<a name="example-audio-fields"></a>


|  |  |  |  | 
| --- |--- |--- |--- |
| 필드 | 지침 | 추출 유형 | 유형 | 
| transcript\$1summary | Generate a concise abstractive summary of the conversation, focusing on the main topics and key themes. Ensure accuracy by summarizing only what is explicitly discussed, without adding specific details not present in the conversation. Keeping the response within 100 words. | inferred | string | 
| topics | The main topics of the audio transcript, listed as single words. | inferred | [string] (Array of strings) | 
| category | The category of the audio (not the topic). Choose from General conversation, Media, Hospitality, Speeches, Meetings, Education, Financial, Public sector, Healthcare, Sales, Audiobooks, Podcasts, 911 calls, Other. | inferred | string | 
| spoken\$1named\$1entities | Any named entities (typically proper nouns) explicitly mentioned in the audio transcript including locations, brand names, company names, product names, services, events, organizations, etc. Do not include names of people, email addresses or common nouns.  | extractive | [string] (Array of strings) | 

## 대화형 분석을 위한 블루프린트 필드 예제
<a name="example-audio-analytics"></a>


|  |  |  |  | 
| --- |--- |--- |--- |
| 필드 | 지침 | 추출 유형 | 유형 | 
| call\$1summary | Summarize the caller-agent conversation in under 100 words. Start with the caller's request, then the agent's response and actions, ending with outcomes or follow-ups. Include key details like emails, links, or callbacks. For multiple issues, summarize each with its outcome and next steps. | inferred | string | 
| call\$1categories | The category (or categories) of the call. Choose one or more from Billing, Tech support, Customer service, Account support, Sales, Complaints, Product issues, Service issues, General inquiries, Other. | inferred | [string] (Array of strings) | 
| spoken\$1locations | Locations explicitly mentioned in the conversation, including cities, states, and countries. | extractive | [string] | 
| call\$1opening | Did the agent greet the caller and introduce themselves at the beginning of the call?  | extractive | boolean | 

# 비디오용 블루프린트 생성
<a name="creating-blueprint-video"></a>

비디오 파일의 블루프린트는 특히 필드 생성 시 다른 블루프린트에 비해 몇 가지 고유한 품질을 갖습니다. 비디오 블루프린트에는 세분화라는 파라미터가 있어 필드를 비디오 또는 장으로 설정할 수 있습니다. 필드가 비디오로 설정되면 전체 비디오에서 감지됩니다. 예를 들어 전체 클립의 요약을 원하는 경우 해당 필드의 세부 수준을 비디오로 설정하려고 합니다.

세분화가 장으로 설정된 필드는 대신 비디오의 각 장에 대한 응답을 반환합니다. 필드는 각 비디오 장의 값을 반환합니다. 이전 예제부터 비디오의 각 부분에 대한 요약을 원하는 경우 세부 수준을 장으로 설정합니다.

장 세분화 필드를 생성할 때 고유한 데이터 유형인 개체 배열을 설정할 수 있습니다. 예를 들어 비디오에서 시각적으로 눈에 띄는 객체를 감지하려는 경우 `key-visual-objects`라는 필드를 생성하고 유형을 개체의 배열로 설정할 수 있습니다. 그러면 이 필드는 배열 객체에 있는 개체의 이름을 반환합니다.

다음은 비디오 처리를 위한 몇 가지 예제 필드입니다. 비디오 블루프린트의 모든 필드는 엔터티 및 엔터티 배열을 제외하고 추론된 것으로 간주됩니다.

## 미디어 검색을 위한 블루프린트 필드 예제
<a name="example-video-fields-search"></a>


|  |  |  |  |  | 
| --- |--- |--- |--- |--- |
| 필드 | 지침 | 추출 유형 | 유형 | Granularity | 
| key-visual-objects | Please detect all the visually prominent objects in the video | extractive | Array of entities | [ "chapter" ] | 
| keywords | Searchable terms that capture key themes, cast, plot elements, and notable aspects of TV shows and movies to enhance content discovery. | inferred | Array of strings | ["video"] | 
| genre | The genre of the content. | inferred | string | ["video"] | 
| video-type | Identify the type of video content | inferred | enums: ["Movie", "TV series", "News", "Others"] | [ "video" ] | 

## 기조연설 하이라이트에 대한 블루프린트 필드 예제
<a name="example-video-fields-keynote"></a>


|  |  |  |  |  | 
| --- |--- |--- |--- |--- |
| 필드 | 지침 | 추출 유형 | 유형 | Granularity | 
| broadcast-setting | The physical setting or environment where the broadcast or training session is taking place. | inferred | enums["conference hall", "classroom", "outdoor venue", "Others", "Not applicable to the video"] | [ "video" ] | 
| broadcast-audience-engagement | The level of engagement or interaction between the speakers and the audience. | inferred | enums["interactive", "passive", "Not applicable to the video"] | ["video"] | 
| broadcast-visual-aids | A list of notable visual aids or materials used during the presentation, such as slides, diagrams, or demonstrations. | inferred | Array of strings | ["video"] | 
| broadcast-audience-size | The size of the audience present at the event. | inferred | enums["large crowd", "medium crowd", "small group", "Not applicable to this video"] | [ "chapter" ] | 
| broadcast-presentation-topics | A list of key topics, subjects, or themes covered in the presentation or training session. | inferred | enums: ["Movie", "TV series", "News", "Others"] | [ "video" ] | 

## 광고 분석을 위한 블루프린트 필드 예제
<a name="example-video-fields-ad"></a>


|  |  |  |  |  | 
| --- |--- |--- |--- |--- |
| 필드 | 지침 | 추출 유형 | 유형 | Granularity | 
| ads-video-ad-categories | The ad categories for the video | inferred | enums["Health and Beauty", "Weight Loss", "Food and Beverage", "Restaurants", "Political", "Cryptocurrencies and NFT", "Money Lending and Finance", "Tobacco", "Other", "Video is not an advertisement"] | [ "video" ] | 
| ads-video-language | The primary language of the advertisement | inferred | string | ["video"] | 
| ads-video-primary-brand | The main brand or company being advertised in the video. | inferred | string | ["video"] | 
| ads-video-main-message | The primary message or tagline conveyed in the advertisement | inferred | string | [ "video" ] | 
| ads-video-message-clarity | How clear and understandable the main message of the advertisement is | inferred | enums: ["clear", "ambiguous", "Not applicable to the video"] | [ "video" ] | 
| ads-video-target-audience-interests | Specific interests or hobbies that the target audience is likely to have | inferred | Array of strings | [ "video" ] | 
| ads-video-product-type | The category or type of product being advertised | inferred | enums: ["electronics", "apparel", "food\$1and\$1beverage", "automotive", "home\$1appliances", "other", "Not applicable to the video"] | [ "video" ] | 
| ads-video-product-placement | The way the product is positioned or showcased in the advertisement | inferred | enums: ["front\$1and\$1center", "background", "held\$1by\$1person", "other", "Not applicable to the video"] | [ "video" ] | 
| ads-video-product-features | The key features or specifications of the advertised product highlighted in the video | inferred | Array of strings | [ "video" ] | 
| ads-video-number-of-products | The number of distinct products or variations featured in the advertisement | inferred | number | [ "video" ] | 

비디오는 비디오 콘텐츠 내에서 특정 엔터티를 식별하고 찾는 데 도움이 되는 엔터티 유형의 배열도 지원합니다. 이 기능은 감지된 엔터티의 배열을 반환합니다. 다음은 고객 블루프린트에 있는 엔터티 배열의 예입니다.

```
  "field_name": {
        "items": {
            "$ref": "bedrock-data-automation#/definitions/Entity"
        },
        "type": "array",
        "instruction": "Please detect all the visually prominent objects in the video",
        "granularity": [
            "chapter"
        ]
    }
```

**참고**  
`bedrock-data-automation#/definitions/Entity`는 BDA 소유 서비스 유형입니다. 다음 스키마를 사용하여 결과를 구문 분석할 수 있습니다.

```
       {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "$id": "bedrock-data-automation",
        "type": "object",
        "definitions": {
            "BoundingBox": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "left": {
                        "type": "number"
                    },
                    "top": {
                        "type": "number"
                    },
                    "width": {
                        "type": "number"
                    },
                    "height": {
                        "type": "number"
                    }
                }
            },
            "Entity": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                    "label": {
                        "type": "string"
                    },
                    "bounding_box": {
                        "$ref": "bedrock-data-automation#/definitions/BoundingBox"
                    },
                    "confidence": {
                        "type": "number"
                    }
                }
            }
        },
        "properties": {}
    }
```