기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
봇을 구축한 후에는 클라이언트 애플리케이션을 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 또는 RecognizeUtterance API 작업을 사용하여 직접 대화를 관리합니다. StartConversation API 작업을 사용하여 Amazon Lex V2가 자동으로 대화를 관리하도록 합니다.
대화를 관리하려면 대화가 논리적으로 끝날 때까지 봇에게 사용자 발화를 보내야 합니다. 현재 대화는 세션 상태로 캡처됩니다. 세션 상태는 각 사용자 발화 후에 업데이트됩니다. 세션 상태는 대화의 현재 상태를 포함하며 각 사용자 발화에 대한 응답으로 봇이 반환합니다.
대화는 다음 상태 중 하나일 수 있습니다.
-
ElicitIntent – 봇이 아직 사용자의 의도를 파악하지 못했음을 나타냅니다.
-
ElicitSlot – 봇이 사용자의 의도를 감지하고 의도를 이행하는 데 필요한 정보를 수집하고 있음을 나타냅니다.
-
ConfirmIntent – 봇이 사용자가 수집된 정보가 정확한지 확인할 때까지 기다리고 있음을 나타냅니다.
-
Closed – 사용자의 의도가 완전하고 봇과의 대화가 논리적으로 끝났음을 나타냅니다.
사용자는 첫 번째 의도가 완료된 후 새 의도를 지정할 수 있습니다. 자세한 내용은 Lex V2 봇과의 대화 컨텍스트 단원을 참조하세요.
의도에는 다음과 같은 상태 중 하나가 있을 수 있습니다.
-
InProgress – 봇이 의도를 완료하는 데 필요한 정보를 수집하고 있음을 나타냅니다. 이는
ElicitSlot
대화 상태와 관련이 있습니다. -
Waiting – 봇이 특정 슬롯에 대한 정보를 요청했을 때 사용자가 봇에게 대기하도록 요청했음을 나타냅니다.
-
Fulfilled – 의도와 연결된 Lambda 함수의 비즈니스 로직이 성공적으로 실행되었음을 나타냅니다.
-
ReadyForFulfillment – 봇이 의도를 이행하는 데 필요한 모든 정보를 수집했으며 클라이언트 애플리케이션이 이행 비즈니스 로직을 실행할 수 있음을 나타냅니다.
-
Failed – 의도가 실패했음을 나타냅니다.
Amazon Lex V2 API를 사용하여 봇과 사용자 간의 대화 컨텍스트와 세션을 관리하는 방법을 알아보려면 다음 주제를 참조하세요.