Intent 컨텍스트 설정 - Amazon Lex

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

Intent 컨텍스트 설정

Amazon Lex 가 컨텍스트 기반으로 intent를 트리거하도록 할 수 있습니다. 컨텍스트는 봇을 정의할 때 intent와 연결할 수 있는 상태 변수입니다. 콘솔이나 CreateIntent 작업을 사용하여 의도를 만들 때 intent의 컨텍스트를 구성합니다. 영어(미국)(en-US) 로캘에서만 컨텍스트를 사용할 수 있습니다.

컨텍스트에는 출력 컨텍스트와 입력 컨텍스트라는 두 가지 유형의 관계가 있습니다. 관련 intent가 이행되면 출력 컨텍스트가 활성화됩니다. 출력 컨텍스트는 RecognizeText 또는 RecognizeUtterance 작업의 응답으로 애플리케이션에 반환되며, 이 컨텍스트는 현재 세션에 맞게 설정됩니다. 컨텍스트가 활성화된 후에는 컨텍스트가 정의될 때 구성된 턴 수 또는 시간 제한 동안 활성 상태를 유지합니다.

입력 컨텍스트는 intent를 인식할 수 있는 조건을 지정합니다. intent는 모든 입력 컨텍스트가 활성화된 경우에만 대화 중에 인식될 수 있습니다. 입력 컨텍스트가 없는 intent는 항상 인식될 수 있습니다.

Amazon Lex 는 출력 컨텍스트로 intent를 수행하여 활성화되는 컨텍스트의 수명 주기를 자동으로 관리합니다. RecognizeText 또는 RecognizeUtterance 작업에 대한 호출에서 활성 컨텍스트를 설정할 수도 있습니다.

또한 intent에 대한 Lambda 함수를 사용하여 대화의 컨텍스트를 설정할 수 있습니다. Amazon Lex 의 출력 컨텍스트는 Lambda 함수 입력 이벤트로 전송됩니다. Lambda 함수 는 응답으로 컨텍스트를 전송할 수 있습니다. 자세한 내용은 AWS Lambda 함수를 사용하여 사용자 지정 로직 활성화 섹션을 참조하세요.

예를 들어, “book_car_fulfilled”라는 출력 컨텍스트를 반환하도록 구성된 렌터카를 예약하려는 intent가 있다고 가정해 보겠습니다. intent가 이행되면 Amazon Lex는 출력 컨텍스트 변수 “book_car_fulfilled”를 설정합니다. “book_car_fulfilled”는 활성 컨텍스트이므로 “book_car_fulfilled” 컨텍스트가 입력 컨텍스트로 설정된 intent는 이제 인식 대상으로 간주됩니다. 단, 사용자 발화가 해당 intent를 이끌어내려는 시도로 인식되어야 합니다. 영수증을 이메일로 보내거나 예약을 수정하는 등 차량 예약 이후에만 의미가 있는 의도에 이 방법을 사용할 수 있습니다.

출력 컨텍스트

Amazon Lex는 intent가 충족되면 intent의 출력 컨텍스트를 활성화합니다. 출력 컨텍스트를 사용하여 현재 intent를 추적할 수 있는 intent를 제어할 수 있습니다.

각 컨텍스트에는 세션에서 유지 관리되는 파라미터 목록이 있습니다. 파라미터는 이행된 intent의 슬롯 값입니다. 이 파라미터를 사용하여 다른 intent의 슬롯 값을 미리 채울 수 있습니다. 자세한 내용은 기본 슬롯 값 사용를 참조하세요.

콘솔이나 CreateIntent 작업을 사용하여 intent를 생성할 때 출력 컨텍스트를 구성합니다. 둘 이상의 출력 컨텍스트로 intent를 구성할 수 있습니다. intent가 이행되면 모든 출력 컨텍스트가 활성화되고 RecognizeText 또는 RecognizeUtterance 응답에 반환됩니다.

출력 컨텍스트를 정의할 때는 실행 시간, 컨텍스트가 Amazon Lex의 응답에 포함되는 시간의 길이 또는 턴 수 또한 정의합니다. 은 애플리케이션에서 Amazon Lex로 보내는 한 번의 요청입니다. 턴 수 또는 시간이 만료되면 컨텍스트는 더 이상 활성화되지 않습니다.

애플리케이션은 필요에 따라 출력 컨텍스트를 사용할 수 있습니다. 예를 들어, 애플리케이션은 출력 컨텍스트를 사용하여 다음을 수행할 수 있습니다.

  • 컨텍스트를 기반으로 애플리케이션의 동작을 변경하십시오. 예를 들어 여행 애플리케이션은 “book_car_fulfilled” 컨텍스트에서 “rental_hotel_fulfilled”와는 다른 작업을 수행할 수 있습니다.

  • 출력 컨텍스트를 Amazon Lex에 다음 발화의 입력 컨텍스트로 반환합니다. Amazon Lex는 발화를 intent를 이끌어내려는 시도로 인식하면 컨텍스트를 사용하여 지정된 컨텍스트의 intent로 반환될 수 있는 intent를 제한합니다.

컨텍스트 입력

대화에서 intent가 인식되는 지점을 제한하도록 입력 컨텍스트를 설정합니다. 입력 컨텍스트가 없는 intent는 항상 인식할 수 있습니다.

콘솔이나 CreateIntent 작업을 사용하여 intent가 응답하는 입력 컨텍스트를 설정합니다. intent에는 입력 컨텍스트가 둘 이상 있을 수 있습니다.

입력 컨텍스트가 두 개 이상인 intent의 경우 intent를 트리거하려면 모든 컨텍스트가 활성 상태여야 합니다. RecognizeText, RecognizeUtterance 또는 PutSession 작업을 호출할 때 입력 컨텍스트를 설정할 수 있습니다.

현재 활성 컨텍스트에서 기본값을 가져오도록 intent에서 슬롯을 구성할 수 있습니다. Amazon Lex가 새 intent를 인식하지만 슬롯 값을 받지 못할 때 기본값이 사용됩니다. 슬롯을 정의할 때 컨텍스트 이름과 슬롯 이름을 #context-name.parameter-name 양식으로 지정합니다. 자세한 내용은 기본 슬롯 값 사용 섹션을 참조하세요.