Lex V2의 Amazon Logs에서 텍스트 CloudWatch 로그 보기 - Amazon Lex

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

Lex V2의 Amazon Logs에서 텍스트 CloudWatch 로그 보기

Amazon Lex V2는 대화에 대한 텍스트 로그를 Amazon CloudWatch Logs에 저장합니다. 로그를 보려면 CloudWatch 로그 콘솔 또는 를 사용합니다API. 자세한 내용은 Amazon Logs 사용 설명서의 필터 패턴 및 Logs Insights 쿼리 구문을 사용하여 로그 데이터 검색을 참조하세요. CloudWatch CloudWatch

Amazon Lex V2 콘솔을 사용하여 로그를 보려면
  1. Amazon Lex V2 콘솔 https://console.aws.amazon.com/lexv2를 엽니다.

  2. 목록에서 봇을 선택합니다.

  3. 왼쪽 메뉴에서 분석을 선택한 다음 CloudWatch 지표를 선택합니다.

  4. 지표 페이지에서 봇의 CloudWatch 지표를 봅니다.

CloudWatch 콘솔 또는 를 사용하여 로그 항목을 API 볼 수도 있습니다. 로그 항목을 찾으려면 별칭에 대해 구성한 로그 그룹으로 이동합니다. Amazon Lex V2 콘솔에서 또는 DescribeBotAlias 작업을 사용하여 로그의 로그 스트림 접두사를 찾을 수 있습니다.

사용자 발화에 대한 로그 항목은 여러 로그 스트림에서 찾을 수 있습니다. 대화의 표현에는 지정된 접두사가 있는 로그 스트림 중 하나의 항목이 있습니다. 로그 스트림의 항목에는 다음 정보가 있습니다.

메시지 버전

메시지 스키마 버전입니다.

bot

고객이 상호 작용하는 봇에 대한 세부 정보입니다.

messages

봇이 사용자에게 다시 보낸 응답입니다.

utteranceContext

이 발화 처리에 관한 정보입니다.

sessionState

사용자와 봇 간의 현재 대화 상태입니다. 자세한 내용은 봇 대화에 대한 이해 단원을 참조하십시오.

해석

Amazon Lex V2에서 사용자의 의견을 만족시킬 수 있다고 판단한 의도 목록입니다. 신뢰도 점수를 사용하여 대화의 정확성 향상.

interpretationSource

슬롯이 Amazon Lex 또는 Amazon Bedrock에 의해 확인되는지 여부를 나타냅니다. 값: Lex | Bedrock

sessionId

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

inputTranscript

사용자의 입력 내용에 대한 트랜스크립션입니다.

  • 텍스트 입력의 경우 사용자가 입력한 텍스트입니다. DTMF 입력의 경우 사용자가 입력하는 키입니다.

  • 음성 입력의 경우, 이 텍스트는 의도를 호출하거나 슬롯을 채우기 위해 Amazon Lex V2가 사용자 표현을 변환하는 텍스트입니다.

rawInputTranscript

텍스트 처리가 적용되기 전 사용자 입력의 원본 대화 기록입니다. 참고: 텍스트 처리는 en-US 및 en-GB 로캘에만 해당됩니다.

transcriptions

사용자 입력의 잠재적 트랜스크립션 목록입니다. 자세한 내용은 음성 트랜스크립션 신뢰도 점수를 사용하여 Lex V2 봇과의 대화를 개선하세요 단원을 참조하십시오.

rawTranscription

음성 트랜스크립션 신뢰도 점수 사용. 자세한 내용은 음성 트랜스크립션 신뢰도 점수를 사용하여 Lex V2 봇과의 대화를 개선하세요 단원을 참조하십시오.

missedUtterance

Amazon Lex V2가 사용자의 발화를 인식할 수 있었는지 여부를 나타냅니다.

requestId

Amazon Lex V2는 사용자 입력을 위한 요청 ID를 생성했습니다.

타임스탬프

사용자 입력의 타임스탬프.

developerOverride

대화 코드 후크를 사용하여 대화 흐름을 업데이트했는지 여부를 나타냅니다. 대화 코드 후크 사용에 대한 자세한 내용은 통합 및 AWS Lambda 기능을 봇에 섹션을 참조하세요.

inputMode

입력 유형을 나타냅니다. 오디오, DTMF또는 텍스트일 수 있습니다.

requestAttributes

사용자 입력을 처리할 때 사용되는 요청 속성입니다.

audioProperties

오디오 대화 로그가 활성화되어 있고 사용자 입력이 오디오 형식인 경우 오디오 입력의 총 지속 시간, 음성 지속 시간 및 오디오의 무음 지속 시간이 포함됩니다. 오디오 파일에 대한 링크도 포함되어 있습니다.

bargeIn

사용자 입력으로 인해 이전 봇 응답이 중단되었는지 여부를 나타냅니다.

responseReason

응답이 생성된 이유입니다. 다음 중 하나일 수 있습니다.

  • UtteranceResponse – 사용자 입력에 대한 응답

  • StartTimeout – 사용자가 입력을 제공하지 않은 경우 서버에서 생성된 응답

  • StillWaitingResponse – 사용자가 봇 대기를 요청할 때 서버가 생성한 응답

  • FulfillmentInitiated – 이행이 시작되려 한다는 서버 생성 응답

  • FulfillmentStartedResponse – 이행이 시작되었다는 서버 생성 응답

  • FulfillmentUpdateResponse – 이행이 진행되는 동안 정기적으로 서버에서 생성되는 응답

  • FulfillmentCompletedResponse – 이행 완료 시 서버에서 생성된 응답.

operationName

봇과 상호 작용하는 데 API 사용되는 입니다. PutSession, RecognizeText, RecognizeUtterance 또는 StartConversation 중 하나일 수 있습니다.

{ "message-version": "2.0", "bot": { "id": "string", "name": "string", "aliasId": "string", "aliasName": "string", "localeId": "string", "version": "string" }, "messages": [ { "contentType": "PlainText | SSML | CustomPayload | ImageResponseCard", "content": "string", "imageResponseCard": { "title": "string", "subtitle": "string", "imageUrl": "string", "buttonsList": [ { "text": "string", "value": "string" } ] } } ], "utteranceContext": { "activeRuntimeHints": { "slotHints": { "string": { "string": { "runtimeHintValues": [ { "phrase": "string" }, { "phrase": "string" } ] } } } }, "slotElicitationStyle": "string" }, "sessionState": { "dialogAction": { "type": "Close | ConfirmIntent | Delegate | ElicitIntent | ElicitSlot", "slotToElicit": "string" }, "intent": { "name": "string", "slots": { "string": { "value": { "interpretedValue": "string", "originalValue": "string", "resolvedValues": [ "string" ] } }, "string": { "shape": "List", "value": { "originalValue": "string", "interpretedValue": "string", "resolvedValues": [ "string" ] }, "values": [ { "shape": "Scalar", "value": { "originalValue": "string", "interpretedValue": "string", "resolvedValues": [ "string" ] } }, { "shape": "Scalar", "value": { "originalValue": "string", "interpretedValue": "string", "resolvedValues": [ "string" ] } } ] } }, "kendraResponse": { // Only present when intent is KendraSearchIntent. For details, see // https://docs.aws.amazon.com/kendra/latest/dg/API_Query.html#API_Query_ResponseSyntax }, "state": "InProgress | ReadyForFulfillment | Fulfilled | Failed", "confirmationState": "Confirmed | Denied | None" }, "originatingRequestId": "string", "sessionAttributes": { "string": "string" }, "runtimeHints": { "slotHints": { "string": { "string": { "runtimeHintValues": [ { "phrase": "string" }, { "phrase": "string" } ] } } } } }, "dialogEventLogs": [ { // only for conditional "conditionalEvaluationResult":[ // all the branches until true { "conditionalBranchName": "string", "expressionString": "string", "evaluatedExpression": "string", "evaluationResult": "true | false" } ], "dialogCodeHookInvocationLabel": "string", "response": "string", "nextStep": { "dialogAction": { "type": "Close | ConfirmIntent | Delegate | ElicitIntent | ElicitSlot", "slotToElicit": "string" }, "intent": { "name": "string", "slots": { } } } ] "interpretations": [ { "interpretationSource": "Bedrock | Lex", "nluConfidence": "string", "intent": { "name": "string", "slots": { "string": { "value": { "originalValue": "string", "interpretedValue": "string", "resolvedValues": [ "string" ] } }, "string": { "shape": "List", "value": { "interpretedValue": "string", "originalValue": "string", "resolvedValues": [ "string" ] }, "values": [ { "shape": "Scalar", "value": { "interpretedValue": "string", "originalValue": "string", "resolvedValues": [ "string" ] } }, { "shape": "Scalar", "value": { "interpretedValue": "string", "originalValue": "string", "resolvedValues": [ "string" ] } } ] } }, "kendraResponse": { // Only present when intent is KendraSearchIntent. For details, see // https://docs.aws.amazon.com/kendra/latest/dg/API_Query.html#API_Query_ResponseSyntax }, "state": "InProgress | ReadyForFulfillment | Fulfilled | Failed", "confirmationState": "Confirmed | Denied | None" }, "sentimentResponse": { "sentiment": "string", "sentimentScore": { "positive": "string", "negative": "string", "neutral": "string", "mixed": "string" } } } ], "sessionId": "string", "inputTranscript": "string", "rawInputTranscript": "string", "transcriptions": [ { "transcription": "string", "rawTranscription": "string", "transcriptionConfidence": "number", }, "resolvedContext": { "intent": "string" }, "resolvedSlots": { "string": { "name": "slotName", "shape": "List", "value": { "originalValue": "string", "resolvedValues": [ "string" ] } } } } ], "missedUtterance": "bool", "requestId": "string", "timestamp": "string", "developerOverride": "bool", "inputMode": "DTMF | Speech | Text", "requestAttributes": { "string": "string" }, "audioProperties": { "contentType": "string", "s3Path": "string", "duration": { "total": "integer", "voice": "integer", "silence": "integer" } }, "bargeIn": "string", "responseReason": "string", "operationName": "string" }

로그 항목의 내용은 거래 결과와 봇 및 요청 구성에 따라 다릅니다.

  • intent, slots, slotToElicit 필드는 missedUtterance 필드가 true인 경우 항목에 나타나지 않습니다.

  • 오디오 로그가 비활성화되어 있거나 inputDialogMode 필드가 Text인 경우 s3PathForAudio 필드가 나타나지 않습니다.

  • responseCard 필드는 봇에 대한 응답 카드를 지정한 경우에만 나타납니다.

  • requestAttributes 맵은 요청에 지정된 속성이 있는 경우에만 나타납니다.

  • kendraResponse필드는 AMAZON.KendraSearchIntent가 Amazon Kendra 인덱스 검색을 요청할 때만 표시됩니다.

  • 봇의 Lambda 함수에 대체 의도가 지정된 경우 이 developerOverride 필드는 참입니다.

  • sessionAttributes 맵은 요청에 지정된 세션 속성이 있는 경우에만 나타납니다.

  • sentimentResponse 맵은 사용자가 봇을 구성해 감정 값을 반환할 경우에만 나타납니다.

참고

messageVersion에서 해당 내용을 변경하지 않아도 입력 형식을 변경할 수 있습니다. 새 필드가 있는 경우 코드에서 오류가 발생하면 안 됩니다.