연습 1: 템플릿에서 챗봇 생성 - Amazon Lex

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

연습 1: 템플릿에서 챗봇 생성

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

OrderFlowers 봇 예제

OrderFlowers 템플릿을 사용하여 꽃 주문 요청을 처리할 수 있는 Amazon Lex V2 챗봇을 생성합니다. 이 예제는 기업이 지능형 챗봇을 사용하여 주문 접수를 자동화하는 방법을 보여줍니다. 구조에 대한 자세한 내용은 Amazon Lex V2 핵심 개념 단원을 참조하세요.

  • 의도 - 봇에는 다음과 같은 하나의 주요 의도가 포함됩니다.

    • OrderFlowers - 꽃 유형, 픽업 날짜 및 픽업 시간을 수집하여 꽃 주문 요청을 처리합니다.

  • 슬롯 유형 - 봇은 일반적인 데이터 형식을 자동으로 인식하고 처리하는 기본 제공 슬롯 유형을 사용합니다.

    • AMAZON.Date - "tomorrow", "next Friday" 또는 "March 15th"와 같은 날짜를 인식합니다.

    • AMAZON.Time - "오후 2시", "정오" 또는 "지난 3분기"와 같은 시간을 인식합니다.

    • FlowerTypes (사용자 지정) - "roses", "tulips", "lilies"와 같은 특정 꽃 품종

  • 슬롯 - 봇이 꽃 주문을 이행하려면 OrderFlowers 의도에 다음 정보가 필요합니다.

    • FlowerType (FlowerTypes 사용자 지정 유형) - 주문할 꽃의 유형입니다.

    • PickupDate (AMAZON.Date 유형) - 꽃을 픽업해야 하는 경우

    • PickupTime (AMAZON.Time 유형) - 꽃을 픽업할 시간

  • 샘플 표현 - 다음 샘플 표현은 사용자가 꽃 주문을 요청할 수 있는 자연스러운 방법을 보여줍니다.

    • "I would like to pick up flowers"

    • “꽃을 주문하고 싶어요.”

    • “픽업을 위해 꽃을 받을 수 있나요?”

    • “꽃을 구입해야 합니다.”

  • 프롬프트 – 봇이 의도를 식별한 후에는 다음 프롬프트를 사용하여 슬롯을 채웁니다.

    • FlowerType 슬롯에 대한 프롬프트 – "어떤 꽃을 주문하고 싶으세요?"

    • PickupDate 슬롯에 대한 프롬프트 – "언제 {FlowerType}를 픽업하고 싶으세요?"

    • PickupTime 슬롯에 대한 프롬프트 – "{FlowerType}의 픽업 시간은 언제인가요?"

    • 확인 설명문 – "네, {FlowerType}을 {PickupDate} 날 {PickupTime}에 픽업할 수 있도록 준비할게요. 괜찮으신가요?"

봇 생성

Amazon Lex V2 봇을 만들려면(콘솔)
  1. AWS Management Console에 로그인하여 https://console.aws.amazon.com/lex/에서 Amazon Lex 콘솔을 엽니다.

  2. 봇 생성을 선택합니다.

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

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

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

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

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

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

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

봇에 언어 추가

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

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

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

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

봇 테스트

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

OrderFlowers 봇을 테스트하려면
  1. 페이지 상단에서 빌드를 선택합니다. 봇이 빌드될 때까지 기다리세요.

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

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

NLU를 활성화하여 이해 개선

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

Assisted NLU를 활성화하려면
  1. Amazon Lex V2 콘솔에서 봇의 설정으로 이동합니다.

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

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

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

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

개선 테스트: 테스트 콘솔에서 이러한 변형을 시도하여 Assisted NLU가 다양한 구문을 처리하는 방법을 확인합니다.

  • “일부 장미를 구매하고 싶어요”( OrderFlowers 의도를 트리거하고 FlowerType을 캡처해야 함)

  • “내일 꽃을 배달받을 수 있나요?” ( OrderFlowers 의도를 트리거하고 PickupDate를 캡처해야 함)

  • “오후 3시에 픽업하려면 튜립이 필요합니다.”( OrderFlowers 의도를 트리거하고 FlowerType 및 PickupTime을 캡처해야 함)

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

다음 단계

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