

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

# 연습 1: 템플릿에서 챗봇 생성
<a name="exercise-1"></a>

이 연습에서는 첫 번째 Amazon Lex V2 챗봇을 생성하고 Amazon Lex V2 콘솔에서 테스트합니다. 이 연습에서는 전자 상거래에 대한 실용적인 실제 사용 사례를 보여주는 **OrderFlowers** 템플릿을 사용합니다.

## OrderFlowers 봇 예제
<a name="example-overview"></a>

**OrderFlowers** 템플릿을 사용하여 꽃 주문 요청을 처리할 수 있는 Amazon Lex V2 챗봇을 생성합니다. 이 예제는 기업이 지능형 챗봇을 사용하여 주문 접수를 자동화하는 방법을 보여줍니다. 구조에 대한 자세한 내용은 [Amazon Lex V2 핵심 개념](how-it-works.md) 단원을 참조하세요.
+ **의도 **- 봇에는 다음과 같은 하나의 주요 의도가 포함됩니다.
  + `OrderFlowers` - 꽃 유형, 픽업 날짜 및 픽업 시간을 수집하여 꽃 주문 요청을 처리합니다.
+ **슬롯 유형** - 봇은 일반적인 데이터 형식을 자동으로 인식하고 처리하는 기본 제공 슬롯 유형을 사용합니다.
  + [AMAZON.Date](built-in-slot-date.md) - "tomorrow", "next Friday" 또는 "March 15th"와 같은 날짜를 인식합니다.
  + [AMAZON.Time](built-in-slot-time.md) - "오후 2시", "정오" 또는 "지난 3분기"와 같은 시간을 인식합니다.
  + `FlowerTypes` (사용자 지정) - "roses", "tulips", "lilies"와 같은 특정 꽃 품종
+ **슬롯** - 봇이 꽃 주문을 이행하려면 OrderFlowers 의도에 다음 정보가 필요합니다.
  + `FlowerType` (FlowerTypes 사용자 지정 유형) - 주문할 꽃의 유형입니다.
  + `PickupDate` ([AMAZON.Date](built-in-slot-date.md) 유형) - 꽃을 픽업해야 하는 경우
  + `PickupTime` ([AMAZON.Time](built-in-slot-time.md) 유형) - 꽃을 픽업할 시간
+ **샘플 표현** - 다음 샘플 표현은 사용자가 꽃 주문을 요청할 수 있는 자연스러운 방법을 보여줍니다.
  + "I would like to pick up flowers"
  + “꽃을 주문하고 싶어요.”
  + “픽업을 위해 꽃을 받을 수 있나요?”
  + “꽃을 구입해야 합니다.”
+ **프롬프트** – 봇이 의도를 식별한 후에는 다음 프롬프트를 사용하여 슬롯을 채웁니다.
  + `FlowerType` 슬롯에 대한 프롬프트 – "어떤 꽃을 주문하고 싶으세요?"
  + `PickupDate` 슬롯에 대한 프롬프트 – "언제 \$1FlowerType\$1를 픽업하고 싶으세요?"
  + `PickupTime` 슬롯에 대한 프롬프트 – "\$1FlowerType\$1의 픽업 시간은 언제인가요?"
  + 확인 설명문 – "네, \$1FlowerType\$1을 \$1PickupDate\$1 날 \$1PickupTime\$1에 픽업할 수 있도록 준비할게요. 괜찮으신가요?"

## 봇 생성
<a name="create-bot-procedure"></a>

**Amazon Lex V2 봇을 만들려면(콘솔)**

1. AWS Management Console에 로그인하여 [https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/)에서 Amazon Lex 콘솔을 엽니다.

1. **봇 생성**을 선택합니다.

1. **생성 방법**으로는 **예제로 시작**을 선택합니다.

1. **예제 봇** 섹션의 목록에서 **OrderFlowers**를 선택합니다.

1. **봇 구성** 섹션에서 봇의 이름과 선택적 설명을 입력합니다. 이름은 계정에서 고유해야 합니다.

1. **권한** 섹션에서 **기본 Amazon Lex 권한을 사용하여 새 역할 생성**을 선택합니다. 그러면 Amazon Lex V2가 봇을 실행하는 데 필요한 권한이 있는 AWS Identity and Access Management(IAM) 역할이 생성됩니다.

1. **COPPA(Children's Online Privacy Protection Act, 어린이 온라인 사생활 보호법)** 섹션에서 적합한 응답을 선택하세요.

1. **세션 타임아웃** 및 **고급 설정** 섹션의 기본값은 그대로 두십시오.

1. **다음**을 선택합니다. Amazon Lex V2에서 봇을 생성합니다.

## 봇에 언어 추가
<a name="add-language-procedure"></a>

봇을 만든 후에는 봇에서 지원하는 하나 이상의 언어를 추가해야 합니다. 언어에는 봇이 사용자와 대화하는 데 사용하는 의도, 슬롯 유형, 슬롯이 포함됩니다.

**봇에 언어를 추가하려면**

1. **언어** 섹션에서 지원되는 언어를 선택하고 설명을 추가합니다.

1. **음성 상호작용** 및 **의도 분류 신뢰도 점수 임계값** 필드는 기본값 그대로 둡니다.

1. **완료**를 선택하여 봇에 언어를 추가합니다.

## 봇 테스트
<a name="test-bot-procedure"></a>

**완료**를 선택하면 콘솔에서 의도 편집기가 열립니다. 의도 편집기를 사용하여 봇이 사용한 의도를 검사할 수 있습니다. 봇 검사를 마치면 테스트할 수 있습니다.

**OrderFlowers 봇을 테스트하려면**

1. 페이지 상단에서 **빌드**를 선택합니다. 봇이 빌드될 때까지 기다리세요.

1. 빌드가 완료되면 **테스트**를 선택하여 테스트 창을 엽니다.

1. 봇 테스트. “꽃을 픽업하고 싶습니다.”와 같은 샘플 발화 중 하나로 대화를 시작하세요.

## NLU를 활성화하여 이해 개선
<a name="enable-assisted-nlu"></a>

이제 챗봇이 작동 중이므로 Assisted NLU로 챗봇을 개선하여 의도 인식 및 슬롯 해결을 개선해 보겠습니다. Assisted NLU는 대규모 언어 모델(LLMs)을 사용하여 사용자 요청이 훈련 예제와 다른 구문을 사용하는 경우에도 사용자 요청을 더 잘 이해합니다.

**Assisted NLU를 활성화하려면**

1. Amazon Lex V2 콘솔에서 봇의 설정으로 이동합니다.

1. 왼쪽 탐색 창에서 **봇 설정을** 선택합니다.

1. **지원되는 NLU**에서 **활성화**를 선택합니다.

1. **저장**을 선택하여 변경 사항을 적용합니다.

1. 봇을 다시 빌드하여 Assisted NLU 개선 사항을 적용합니다.

**개선 테스트:** 테스트 콘솔에서 이러한 변형을 시도하여 Assisted NLU가 다양한 구문을 처리하는 방법을 확인합니다.
+ “일부 장미를 구매하고 싶어요”( OrderFlowers 의도를 트리거하고 FlowerType을 캡처해야 함)
+ “내일 꽃을 배달받을 수 있나요?” ( OrderFlowers 의도를 트리거하고 PickupDate를 캡처해야 함)
+ “오후 3시에 픽업하려면 튜립이 필요합니다.”( OrderFlowers 의도를 트리거하고 FlowerType 및 PickupTime을 캡처해야 함)

챗봇이 이러한 자연 변형을 명시적 샘플 발화로 추가하지 않고도 어떻게 이해할 수 있는지 확인합니다. 이는 AI를 사용하여 자연어 이해를 개선하는 Assisted NLU로 구동됩니다.

## 다음 단계
<a name="getting-started-next-steps"></a>

템플릿을 사용하여 첫 번째 봇을 만들었으니 콘솔을 사용하여 자신만의 봇을 만들 수 있습니다. 사용자 지정 봇을 만드는 방법에 대한 지침 및 봇 만들기에 대한 자세한 내용은 [Amazon Lex V2 봇 작업](building-bots.md) 단원을 참조하세요.