기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
봇 대화에 대한 이해
봇을 구축한 후에는 클라이언트 애플리케이션을 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 사용하여 봇과 사용자 간의 대화 컨텍스트 및 세션을 관리하는 방법을 알아보려면 다음 주제를 참조하십시오.