RecognizeText - Amazon Lex

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

RecognizeText

Amazon Lex VVV로 사용자 입력을 전송합니다. 클라이언트 애플리케이션은 이 API를 사용하여 런타임에 Amazon Lex V2에 요청을 보냅니다. 그런 다음 Amazon Lex V2는 봇용으로 구축한 기계 학습 모델을 사용하여 사용자 입력을 해석합니다.

이에 대한 응답으로 Amazon Lex V2는 사용자에게 전달할 다음 메시지와 표시할 선택적 응답 카드를 반환합니다.

선택적 사후 처리 응답이 지정된 경우 메시지는 다음과 같이 반환됩니다. 자세한 내용을 알아보려면 다음 섹션을 참조하세요.PostFulfillmentStatusSpecification.

  • 성공 메시지- Lambda 함수가 성공적으로 완료되고 의도 상태가 충족되거나 이행 준비 (메시지가 있는 경우) 일 때 반환됩니다.

  • 실패 메시지- Lambda 함수에서 예외가 발생하거나 Lambda 함수가 메시지 없이 실패한 인텐트 상태를 반환하는 경우 실패한 메시지가 반환됩니다.

  • 제한 시간 메시지- 타임아웃 메시지와 타임아웃을 구성하지 않고 Lambda 함수가 30초 이내에 반환되지 않는 경우 타임아웃 메시지가 반환됩니다. 타임아웃을 구성한 경우 기간이 만료되면 타임아웃 메시지가 반환됩니다.

자세한 내용을 알아보려면 다음 섹션을 참조하세요.완료 메시지.

요청 구문

POST /bots/botId/botAliases/botAliasId/botLocales/localeId/sessions/sessionId/text HTTP/1.1 Content-type: application/json { "requestAttributes": { "string" : "string" }, "sessionState": { "activeContexts": [ { "contextAttributes": { "string" : "string" }, "name": "string", "timeToLive": { "timeToLiveInSeconds": number, "turnsToLive": number } } ], "dialogAction": { "slotElicitationStyle": "string", "slotToElicit": "string", "subSlotToElicit": { "name": "string", "subSlotToElicit": "ElicitSubSlot" }, "type": "string" }, "intent": { "confirmationState": "string", "name": "string", "slots": { "string" : { "shape": "string", "subSlots": { "string" : "Slot" }, "value": { "interpretedValue": "string", "originalValue": "string", "resolvedValues": [ "string" ] }, "values": [ "Slot" ] } }, "state": "string" }, "originatingRequestId": "string", "runtimeHints": { "slotHints": { "string" : { "string" : { "runtimeHintValues": [ { "phrase": "string" } ], "subSlotHints": { "string" : "RuntimeHintDetails" } } } } }, "sessionAttributes": { "string" : "string" } }, "text": "string" }

URI 요청 파라미터

요청은 다음의 URI 파라미터를 사용합니다.

botAliasId

요청을 처리하는 봇에 사용되는 별칭 식별자입니다.

필수: 예

botId

요청을 처리하는 봇의 식별자입니다.

길이 제약: 고정 길이는 10입니다.

패턴: ^[0-9a-zA-Z]+$

필수: 예

localeId

세션이 사용 중인 로케일.

길이 제약: 최소 길이는 1이고,

필수: 예

sessionId

대화를 진행 중인 사용자 세션의 식별자입니다.

길이 제약: 최소 길이는 2이고, 최대 길이는 100입니다.

Pattern: [0-9a-zA-Z._:-]+

필수: 예

요청 본문

요청은 JSON 형식의 다음 데이터를 받습니다.

requestAttributes

클라이언트 애플리케이션과 Amazon Lex V2 간에 전달되는 요청별 정보

네임스페이스x-amz-lex:특수 속성을 위한 용도로만 사용됩니다. 접두사로 요청 속성을 만들지 마세요.x-amz-lex:.

Type: String 간 맵

키 길이 제한: 최소 길이는 1이고,

필수: 아니요

sessionState

사용자와 봇 간의 현재 상태입니다.

유형: SessionState 객체

필수: 아니요

text

사용자가 입력한 텍스트입니다. Amazon Lex VVX VV에서 이 텍스트를 해석합니다

Type: 문자열

길이 제약: 최소 길이는 1이고, 최대 길이는 1,024입니다.

필수: 예

응답 구문

HTTP/1.1 200 Content-type: application/json { "interpretations": [ { "intent": { "confirmationState": "string", "name": "string", "slots": { "string" : { "shape": "string", "subSlots": { "string" : "Slot" }, "value": { "interpretedValue": "string", "originalValue": "string", "resolvedValues": [ "string" ] }, "values": [ "Slot" ] } }, "state": "string" }, "nluConfidence": { "score": number }, "sentimentResponse": { "sentiment": "string", "sentimentScore": { "mixed": number, "negative": number, "neutral": number, "positive": number } } } ], "messages": [ { "content": "string", "contentType": "string", "imageResponseCard": { "buttons": [ { "text": "string", "value": "string" } ], "imageUrl": "string", "subtitle": "string", "title": "string" } } ], "requestAttributes": { "string" : "string" }, "sessionId": "string", "sessionState": { "activeContexts": [ { "contextAttributes": { "string" : "string" }, "name": "string", "timeToLive": { "timeToLiveInSeconds": number, "turnsToLive": number } } ], "dialogAction": { "slotElicitationStyle": "string", "slotToElicit": "string", "subSlotToElicit": { "name": "string", "subSlotToElicit": "ElicitSubSlot" }, "type": "string" }, "intent": { "confirmationState": "string", "name": "string", "slots": { "string" : { "shape": "string", "subSlots": { "string" : "Slot" }, "value": { "interpretedValue": "string", "originalValue": "string", "resolvedValues": [ "string" ] }, "values": [ "Slot" ] } }, "state": "string" }, "originatingRequestId": "string", "runtimeHints": { "slotHints": { "string" : { "string" : { "runtimeHintValues": [ { "phrase": "string" } ], "subSlotHints": { "string" : "RuntimeHintDetails" } } } } }, "sessionAttributes": { "string" : "string" } } }

응답 요소

작업이 성공하면 서비스가 HTTP 200 응답을 다시 전송합니다.

다음 데이터는 서비스에 의해 JSON 형식으로 반환됩니다.

interpretations

Amazon Lex V2에서 사용자의 발언을 만족시킬 수 있다고 판단한 인텐트 목록입니다.

각 해석에는 의도, 이제 Amazon Lex V2가 해석이 정확하다는 확신을 나타내는 점수, 발언에 표현된 감정을 나타내는 선택적 감성 응답이 포함됩니다.

Type: 배열Interpretation사물

배열 멤버: 최대 항목 수는 5개입니다.

messages

사용자에게 마지막으로 전송된 목록. 메시지는 Lambda 함수에서 메시지를 반환한 순서 또는 봇에 정의된 메시지 순서에 따라 정렬됩니다.

Type: 배열Message사물

배열 멤버: 최대 항목 수는 10개입니다.

requestAttributes

요청에서 전송된 속성.

Type: String 간 맵

키 길이 제한: 최소 길이는 1이고,

sessionId

사용 중인 세션의 식별자입니다.

Type: 문자열

길이 제약: 최소 길이는 2이고, 최대 길이는 100입니다.

Pattern: [0-9a-zA-Z._:-]+

sessionState

사용자와 봇 간의 대화의 현재 상태를 나타냅니다.

이를 사용하여 대화의 진행 상황과 다음 조치를 결정할 수 있습니다.

유형: SessionState 객체

오류

모든 작업에 공통적인 오류에 대한 자세한 내용은 을 참조하십시오.일반적인 오류.

AccessDeniedException

HTTP 상태 코드: 403

BadGatewayException

HTTP 상태 코드: 502

ConflictException

HTTP 상태 코드: 409

DependencyFailedException

HTTP 상태 코드: 424

InternalServerException

HTTP 상태 코드: 500

ResourceNotFoundException

HTTP 상태 코드: 404

ThrottlingException

HTTP 상태 코드: 429

ValidationException

HTTP 상태 코드: 400

참고 항목

이 API를 언어별 AWS SDK 중 하나로 사용하는 방법에 대한 자세한 내용은 다음을 참조하세요.