의도 컨텍스트 설정 - Amazon Lex V1

Amazon Lex V2를 사용하는 경우 Amazon Lex V2 가이드를 대신 참조하십시오.

 

Amazon Lex V1을 사용하는 경우 봇을 Amazon Lex V2로 업그레이드하는하는 것이 좋습니다. 더 이상 V1에 새로운 기능을 추가하지 않으므로 모든 새 봇에 V2를 사용할 것을 강력히 권장합니다.

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

의도 컨텍스트 설정

Amazon Lex가 컨텍스트 기반으로 의도를 트리거하도록 할 수 있습니다. 컨텍스트는 봇을 정의할 때 인텐트와 연결할 수 있는 상태 변수입니다.

콘솔이나 PutIntent 작업을 사용하여 의도를 만들 때 의도의 컨텍스트를 구성합니다. 영어 (미국) (en-US) 로케일의 컨텍스트만 사용할 수 있으며, PutBot 작업을 통해 봇을 만들때 enableModelImprovements 파라미터를 true로 설정한 경우에만 사용할 수 있습니다.

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

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

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

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

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

출력 컨텍스트

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

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

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

다음은 콘솔을 사용하여 의도에 출력 컨텍스트를 할당하는 방법입니다.

출력 태그에는 order_complete라는 라벨이 붙어 있으며, 유효 시간은 5턴 또는 90초입니다.

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

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

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

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

컨텍스트 입력

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

콘솔이나 PutIntent 작업을 사용하여 의도가 응답하는 입력 컨텍스트를 설정합니다. 의도에는 입력 컨텍스트가 둘 이상 있을 수 있습니다. 다음은 콘솔을 사용하여 의도에 입력 컨텍스트를 할당하는 방법을 보여줍니다.

order_complete라는 레이블이 붙은 입력 태그.

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

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