Lex V2 からの Amazon CloudWatch Logs でのテキストログの表示 - Amazon Lex

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Lex V2 からの Amazon CloudWatch Logs でのテキストログの表示

Amazon Lex V2 は、会話のテキストログを Amazon CloudWatch Logs に保存します。ログを表示するには、 CloudWatch ログコンソールまたは を使用しますAPI。詳細については、「Amazon Logs ユーザーガイド」の「フィルターパターンを使用したログデータの検索」およびCloudWatch 「Logs Insights クエリ構文」を参照してください。 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オペレーションを使用して確認できます。

ユーザー発話のログエントリは、複数のログストリームにあります。会話内の発話には、指定されたプレフィックスを持つログストリームの 1 つにエントリがあります。ログストリームのエントリには、次の情報が含まれます。

message-version

メッセージスキーマバージョン。

ボット

顧客がやり取りしているボットに関する詳細。

メッセージ

ボットがユーザーに返送した応答。

utteranceContext

この発話の処理に関する情報。

sessionState

ユーザーとボットの間の会話の現在の状態。詳細については、「ボットの会話について」を参照してください。

解釈

Amazon Lex V2 が判断したインテントのリストが、ユーザーの発話を満たしている可能性があります。信頼度スコアを使用して会話の精度を向上させる

interpretationSource

スロットを解決したのが Amazon Lex であるか、Amazon Bedrock であるかを示します。値: Lex | Bedrock

sessionId

会話が行われているユーザーセッションの識別子です。

inputTranscript

ユーザーからの入力の文字起こし。

  • テキスト入力の場合、これはユーザーが入力したテキストです。DTMF 入力の場合、これはユーザーが入力するキーです。

  • 音声入力の場合は、インテントを呼び出すか、スロットを埋めるために、Amazon Lex V2 がユーザーの発話を変換したテキストです。

rawInputTranscript

テキスト処理が適用される前のユーザー入力の未加工の文字起こし。注: テキスト処理は en-US および en-GB ロケールのみを対象としています。

文字起こし

ユーザー入力の書き起こし候補のリスト。詳細については、「音声文字起こし信頼スコアを使用して Lex V2 ボットとの会話を改善する」を参照してください。

rawTranscription

音声文字起こしの信頼度スコアを使用する。詳細については、「音声文字起こし信頼スコアを使用して Lex V2 ボットとの会話を改善する」を参照してください。

missedUtterance

Amazon Lex V2 がユーザーの発話を認識できたかどうかを示します。

requestId

Amazon Lex V2 はユーザー入力のリクエスト ID を生成しました。

timestamp

ユーザー入力のタイムスタンプ。

developerOverride

会話フローがダイアログコードフックを使用して更新されたかどうかを示します。ダイアログコードフックの使用方法の詳細については、の統合 AWS Lambda ボットへの 関数 を参照してください。

inputMode

入力のタイプを示します。オーディオ、DTMF、またはテキストを使用できます。

requestAttributes

ユーザーの入力を処理するときに使用されるリクエスト属性。

audioProperties

音声会話ログが有効で、ユーザー入力が音声形式だった場合、音声入力の合計時間、音声の再生時間、音声の無音時間が含まれます。また、オーディオファイルへのリンクも含まれています。

bargeIn

ユーザー入力によって前回のボットレスポンスが中断されたかどうかを示します。

responseReason

レスポンスが生成された理由。次のいずれかの値を指定できます。

  • UtteranceResponse — ユーザー入力へのレスポンス

  • StartTimeout — ユーザーが入力しなかったときにサーバーが生成するレスポンス

  • StillWaitingResponse — ユーザーがボットに待機をリクエストしたときにサーバーが生成するレスポンス

  • FulfillmentInitiated — フルフィルメントが開始されようとしているというサーバーが生成するレスポンス

  • FulfillmentStartedResponse — フルフィルメントが開始されたというサーバーが生成するレスポンス

  • FulfillmentUpdateResponse — フルフィルメントの進行中にサーバーが生成する定期的なレスポンス

  • FulfillmentCompletedResponse — フルフィルメントが完了したときにサーバーが生成するレスポンス。

operationName

ボットとやり取りするAPIために使用される 。これは、PutSessionRecognizeTextRecognizeUtterance、または 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" }

ログエントリの内容は、トランザクションの結果、およびボットとリクエストの設定によって異なります。

  • missedUtterance フィールドが true の場合、intentslots、および slotToElicit フィールドはエントリに表示されません。

  • オーディオログが無効になっている場合、または inputDialogMode フィールドが Text の場合、s3PathForAudio フィールドは表示されません。

  • responseCard フィールドは、ボットの応答カードを定義した場合にのみ表示されます。

  • requestAttributes マップは、リクエストでリクエスト属性を指定した場合にのみ表示されます。

  • この kendraResponse フィールドが存在するのは、AMAZON.KendraSearchIntent Amazon Kendra インデックスを検索するリクエストを作成したときのみです。

  • ボットの Lambda 関数で代替インテントが指定されている場合、この developerOverride フィールドは true です。

  • sessionAttributes マップは、リクエストでセッション属性を指定した場合にのみ表示されます。

  • sentimentResponse マップは、センチメント値を返すようにボットを設定した場合のみ表示されます。

注記

入力形式は変わる場合があり、この変更は対応する messageVersion に反映されないことがあります。新しいフィールドが追加されても、コードでエラーがスローされないようにします。