봇 대화에 대한 이해 - Amazon Lex

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

봇 대화에 대한 이해

봇을 구축한 후에는 클라이언트 애플리케이션을 Amazon Lex V2 런타임 작업과 통합하여 봇과 대화를 진행합니다. 사용자가 봇과 대화를 시작하면 Amazon Lex V2는 세션을 생성합니다. 이 세션은 애플리케이션과 봇 간에 교환되는 정보를 캡슐화합니다. 자세한 내용은 Amazon Lex V2 봇 세션 이해 단원을 참조하십시오.

일반적인 대화에는 사용자와 봇 간의 오가는 흐름이 포함됩니다. 예:

User : I'd like to make an appointment Bot : What type of appointment would you like to schedule? User : dental Bot : When should I schedule your dental appointment? User : Tomorrow Bot : At what time do you want to schedule the dental appointment on 2021-01-01? User : 9 am Bot : 09:00 is available, should I go ahead and book your appointment? User : Yes Bot : Thank you. Your appointment has been set successfully.

RecognizeText또는 RecognizeUtteranceAPI작업을 사용하여 대화를 직접 관리하십시오. StartConversationAPI작업을 사용하면 Amazon Lex V2에서 대화를 관리하도록 할 수 있습니다.

대화를 관리하려면 대화가 논리적으로 끝날 때까지 봇에게 사용자 발화를 보내야 합니다. 현재 대화는 세션 상태로 캡처됩니다. 세션 상태는 각 사용자 발화 후에 업데이트됩니다. 세션 상태는 대화의 현재 상태를 포함하며 봇이 각 사용자 발화에 대한 응답으로 반환합니다.

대화는 다음 상태 중 하나일 수 있습니다.

  • ElicitIntent— 봇이 아직 사용자의 의도를 파악하지 못했음을 나타냅니다.

  • ElicitSlot— 봇이 사용자의 의도를 감지하고 의도를 이행하는 데 필요한 정보를 수집하고 있음을 나타냅니다.

  • ConfirmIntent— 봇이 사용자가 수집된 정보가 정확한지 확인할 때까지 기다리고 있음을 나타냅니다.

  • Closed – 사용자의 의도가 완전하고 봇과의 대화가 논리적으로 끝났음을 나타냅니다.

사용자는 첫 번째 의도가 완료된 후 새 의도를 지정할 수 있습니다. 자세한 내용은 Lex V2 봇과의 대화 컨텍스트 단원을 참조하십시오.

의도에는 다음과 같은 상태 중 하나가 있을 수 있습니다.

  • InProgress— 봇이 인텐트를 완료하는 데 필요한 정보를 수집하고 있음을 나타냅니다. 이는 ElicitSlot 대화 상태와 관련이 있습니다.

  • Waiting – 봇이 특정 슬롯에 대한 정보를 요청했을 때 사용자가 봇에게 대기하도록 요청했음을 나타냅니다.

  • Fulfilled – 의도와 연결된 Lambda 함수의 비즈니스 로직이 성공적으로 실행되었음을 나타냅니다.

  • ReadyForFulfillment— 봇이 의도를 이행하는 데 필요한 모든 정보를 수집했으며 클라이언트 애플리케이션이 이행 비즈니스 로직을 실행할 수 있음을 나타냅니다.

  • Failed – 의도가 실패했음을 나타냅니다.

Amazon Lex V2를 APIs 사용하여 봇과 사용자 간의 대화 컨텍스트 및 세션을 관리하는 방법을 알아보려면 다음 주제를 참조하십시오.