

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

# Amazon Connect Contact Lens 会話分析を使用して会話を分析する
<a name="analyze-conversations"></a>

Contact Lens 会話分析を使用すると、自然言語処理を使用して、音声、チャット、E メール全体で、顧客とエージェントまたは顧客間の会話と会話 AI を分析できます。会話分析は感情分析と問題の検出を実行し、コンタクトを自動的に分類できます。

**音声分析サポート**
+ **リアルタイム通話分析**: 通話中に顧客の問題をより積極的に発見し、解決するために使用します。例えば、エージェントが複雑な問題を解決できないために顧客が不満に感じていることを[分析して、アラート](add-rules-for-alerts.md)を送信できます。これにより、より迅速に支援できるようになります。
+ **通話後分析**: を使用して、顧客との会話、セルフサービスでのやり取り、エージェントのコンプライアンスの傾向を理解します。これにより、会話 AI を改善し、通話後にエージェントを指導する機会を特定できます。

**チャット分析サポート**
+ **リアルタイムチャット分析**: リアルタイム通話分析と同様に、チャットの進行中に[アラートを受け取](add-rules-for-alerts-chat.md)り、顧客の問題をさらに積極的に検出して解決できます。例えば、チャットのコンタクトに対する顧客感情がマイナスになった場合、マネージャーはリアルタイムでメールアラートを受け取り、進行中のコンタクトに加わって、顧客の問題の解決を支援することができます。
+ **チャット後分析**: ボットとエージェントの両方と顧客との会話の傾向を把握するために使用します。エージェントの挨拶の時間、エージェントと顧客の応答時間など、チャットでの会話に特有の情報を提供します。応答時間と感情から、ボットとエージェントによるカスタマーエクスペリエンスを調査し、改善すべき点を特定するのに役立ちます。
+ 処理された各チャットメッセージは同じ方法で請求されます。すべてのメッセージにすべての機能が適用されているわけではありませんが (例えば、要約は `text/plain` メッセージにのみ適用されます)、Contact Lens 会話分析がコンタクトに適用されている場合、そのメッセージは請求対象としてカウントされます。料金の詳細については、「[Amazon Connect の料金](https://aws.amazon.com/connect/pricing/)」を参照してください。

**E メール分析のサポート**
+ **E メール分析**: を使用して、顧客とエージェント間の E メールの会話を分析します。 は、E メールの連絡先Contact Lensを自動的に分類し、E メールのトランスクリプトから機密データを編集し、問い合わせの概要を生成します。これにより、E メールの会話の傾向を理解し、E メールチャネル全体でコンプライアンスを確保できます。
+ E メールコンタクトは非同期であるため、一度に 1 人の参加者が動作するため、音声とチャットに適用されるリアルタイムとコンタクト後の区別は E メールには適用されません。E メール分析は、E メールコンタクトが受信または送信されたときに [Amazon Connect のフローブロック: 記録、分析、処理の動作を設定する](set-recording-analytics-processing-behavior.md) が使用されるとすぐに開始されます。

トランスクリプトと音声記録から、名前、住所、クレジットカード情報などの機密データを秘匿化することで、顧客のプライバシーを保護することができます。

## 通話のコンタクトの詳細ページの例
<a name="sample-contactdetails-call"></a>

次の画像は、音声通話の概要と会話分析を示しています。**通話時間**のメトリクスが含まれていることに注意してください。

![\[通話時間のメトリクスを含むサンプルのコンタクトの詳細ページ。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contactlens-contactdetails-call1b.png)


1. **顧客感情の傾向**: このグラフは、コンタクトが進むにつれて顧客の感情がどのように変化するかを示しています。詳細については、「[感情スコアの調査](sentiment-scores.md)」を参照してください。

1. **顧客感情**: このグラフは、通話全体における顧客感情の分布を示しています。これは、顧客が肯定的、中立的、否定的な感情を示した会話のターン数またはチャットメッセージ数の合計を数えることで計算されます。

1. **通話時間**: このグラフは、通話全体における通話時間と非通話時間の分布を示しています。通話時間はさらに、エージェントの通話時間と顧客の通話時間に分けられます。

次の図では、音声通話の**[コンタクトの詳細]**ページの次のセクション (音声分析とトランスクリプト) を示しています。個人を特定できる情報 (PII) が[トランスクリプトから秘匿化されている](sensitive-data-redaction.md)ことに注意してください。

![\[コンタクトの音声分析とトランスクリプト。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contactlens-contactdetails-call2b.png)


## リアルタイムチャット分析のためのコンタクトの詳細ページの例
<a name="sample-contactdetails-chat"></a>

次の画像は、リアルタイムチャットの会話分析を示しています。主なハイライトと顧客感情が含まれていることに注意が必要です。

![\[次の画像は、リアルタイムチャットの会話分析を示しています。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contactlens-realtime-chat.png)


## チャット後分析のためのコンタクトの詳細ページの例
<a name="sample-contactdetails-chat"></a>

次の画像は、チャット後分析を示しています。**エージェントの挨拶時間** (エージェントがチャットに参加してから最初の応答を送信するまでの時間)、**顧客の応答時間**、**エージェントの応答時間**などのチャット応答メトリクスが含まれていることに注意してください。

![\[チャットの概要と会話分析を示すコンタクトの詳細ページ。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contactlens-contactdetails-chat1b.png)


次の図では、チャットの**[コンタクトの詳細]**ページの次のセクション (会話分析とトランスクリプト) を示しています。注目すべきは、顧客とボットとのやり取りをエージェントと比較して調査できる点です。

![\[コンタクトの詳細ページ。インタラクション分析、チャットのトランスクリプト。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contactlens-contactdetails-chat2b.png)


## E メール分析のサンプル連絡先の詳細ページ
<a name="sample-contactdetails-email"></a>

次の図は、E メールコンタクトの会話分析を示しています。E メール分析には、分類、機密データの秘匿化、問い合わせの概要が含まれます。E メールコンタクトは非同期であるため、リアルタイム分析や感情スコアはありません。

![\[E メールコンタクトの会話分析を含むコンタクト詳細ページの例。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contactlens-contactdetails-email.png)


# Amazon Connect Contact Lens 会話分析を有効にする
<a name="enable-analytics"></a>

いくつかのステップで Contact Lens 会話分析を有効にすることができます。

1. インスタンスに対して Amazon Connect Wisdom を有効にする

1. フローに[記録と分析の動作の設定](set-recording-behavior.md)ブロックを追加し、音声、チャット、E メール、またはチャネルの組み合わせの会話分析を有効にするように設定します。

次の図は、通話録音と音声分析用に設定されたブロックを示しています。**[通話記録]** オプションは **[エージェントおよび顧客]** に設定されています。**分析**セクションでは、自動インタラクションとエージェントインタラクションのオプションが選択されます。

![\[記録と分析の動作の設定ブロックのプロパティページ。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/set-recording-and-analytics-behavior.png)


このトピックの手順では、通話、チャット、または E メールの会話分析を有効にする手順について説明します。

**Topics**
+ [重要事項](#important-set-behaviorblock)
+ [Amazon Connect インスタンス用にContact Lensを有効にします。](#enable-cl)
+ [通話録音と音声分析を有効にする](#enable-callrecording-speechanalytics)
+ [チャット分析を有効にする](#enable-chatanalytics)
+ [E メール分析を有効にする](#enable-emailanalytics)
+ [秘匿化を有効にする](#enable-redaction)
+ [秘匿化の正確性を確認する](#review-sensitive-data-redaction)
+ [感情分析を無効にする](#disable-sentiment-analysis-voice-and-chat)
+ [顧客の言語に基づいた秘匿化を動的に有効にする](#dynamically-enable-analytics-contact-flow)
+ [主なハイライトのフローを設計する](#call-summarization-agent)
+ [フローブロックが会話分析の有効化に失敗した場合はどうなりますか?](#troubleshoot-contactlens-enablement)
+ [マルチパーティーコール](#multiparty-calls-contactlens)

## 重要事項
<a name="important-set-behaviorblock"></a>
+ **コンタクト転送後のデータ収集**: コンタクトを別のエージェントまたはキューに転送した後も、会話分析を使用してデータの収集を継続する場合は、フローに対して **[分析の有効化]** がオンになっている別の [記録と分析の動作の設定](set-recording-behavior.md) ブロックを追加する必要があります。これは、転送によって 2 番目のコンタクト ID とコンタクトレコードが生成されるためです。会話分析は、そのコンタクトレコードでも実行する必要があります。
**注記**  
[キューからキューへの転送](queue-to-queue-transfer.md)の場合、会話分析の設定情報が転送されたコンタクトにコピーされます。
+ 感情分析でサポートされている言語を選択し、 [記録と分析の動作の設定](set-recording-behavior.md) ブロックで**Contact Lens音声分析の有効化**、**チャット分析の有効化**、または **E メール分析**の有効化を選択すると、感情分析はデフォルトで有効になります。[感情分析を無効にする](#disable-sentiment-analysis-voice-and-chat)ことができます。
+ [記録と分析の動作の設定](set-recording-behavior.md) ブロックを配置するフローの位置は、主なハイライトに関するエージェントのエクスペリエンスに影響します。詳細については、「[主なハイライトのフローを設計する](#call-summarization-agent)」を参照してください。

## Amazon Connect インスタンス用にContact Lensを有効にします。
<a name="enable-cl"></a>

会話分析を有効にする前に、まずインスタンスの Contact Lens を有効にする必要があります。

1. Amazon Connect コンソール ([https://console.aws.amazon.com/connect/](https://console.aws.amazon.com/connect/)) を開きます。

1. インスタンスページで、インスタンスエイリアスを選択します。インスタンスエイリアスは、**インスタンス名**として Amazon Connect URL にも表示されます。次の画像は、**[Amazon Connect 仮想コンタクトセンターのインスタンス]** ページを示しています。インスタンスエイリアスがボックスで囲まれています。  
![\[[Amazon Connect 仮想コンタクトセンターのインスタンス] ページ、インスタンスのエイリアス。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/instance.png)

1. ナビゲーションペインの Amazon Connect コンソールで、**[分析ツール]** を選択し、**[Contact Lens を有効にする]** を選択します。

1. **[保存]** を選択します。

## 通話録音と音声分析を有効にする
<a name="enable-callrecording-speechanalytics"></a>

インスタンスで Contact Lens を有効にすると、フローに [記録と分析の動作の設定](set-recording-behavior.md) ブロックを追加できます。次に、**記録と分析の動作を設定**ブロックを設定するときに会話分析を有効にします。

1. フローデザイナーで、フローに [記録と分析の動作の設定](set-recording-behavior.md) ブロックを追加します。

   このブロックで使用できるフロータイプやその他のヒントについては、「[記録と分析の動作の設定](set-recording-behavior.md)」を参照してください。

1. **[記録と分析の動作を設定]** プロパティページを開きます。**[通話記録]** で、**[オン]**、**[エージェントおよび顧客]** を選択します。

   音声コンタクトに会話分析を使用するには、エージェントと顧客の両方の通話記録が必要です。

1. **[分析]** で、**[Contact Lens の会話分析を有効にする] **、または**[音声分析を有効にする]** を選択します。

   このオプションが表示されない場合は、Amazon Connect Contact Lens がインスタンスに対して有効になっていません。有効にする手順については、「[Amazon Connect インスタンス用にContact Lensを有効にします。](#enable-cl)」を参照してください。

1. 次のいずれかを選択します。

   1. **通話後の分析**: Contact Lens は、通話が終了し、通話後作業 (ACW) が完了した後に通話記録を分析します。このオプションでは、トランスクリプションの精度が最も高くなります。

   1. **リアルタイム分析**: Contact Lens は、通話中のリアルタイムインサイトと、会話が終了し通話後作業 (ACW) が完了した後の通話後分析の両方を提供します。

      このオプションを選択した場合は、顧客が通話中に発するキーワードとフレーズに基づいてアラートを設定することをお勧めします。Contact Lensは、会話をリアルタイムで分析して指定されたキーワードやフレーズを検出し、スーパーバイザーにアラートを送信します。スーパーバイザは生の通話を聞き、問題の解決を迅速化するためのガイダンスを、エージェントに提供することができます。

      アラートの設定の詳細については、「[リアルタイムでスーパーバイザーに通話のアラートを送信する](add-rules-for-alerts.md)」を参照してください。

      インスタンスが 2018 年 10 月より前に作成されている場合、リアルタイム音声分析にアクセスするには追加の設定が必要です。詳細については、「[サービスにリンクされたロールのアクセス許可](connect-slr.md#slr-permissions)」を参照してください。

1. [使用可能な言語のリスト](supported-languages.md#supported-languages-contact-lens)から選択します。

   言語を動的に指定する手順については、「[顧客の言語に基づいた秘匿化を動的に有効にする](#dynamically-enable-analytics-contact-flow)」を参照してください。

1. オプションで、機密データの秘匿化を有効にします。詳細については、次のセクション「[秘匿化を有効にする](#enable-redaction)」を参照してください。

1. **[保存]** を選択します。

1. コンタクトを別のエージェントやキューに転送する場合は、以上の手順を繰り返して **[Contact Lens の会話分析を有効にする]** を有効にしながら、別のブロックを追加します。

## チャット分析を有効にする
<a name="enable-chatanalytics"></a>

1. [記録と分析の動作の設定](set-recording-behavior.md) ブロックの **[分析]** で、**[Contact Lens の会話分析を有効にする] **および **[チャット分析を有効にする]** を選択します。
**注記**  
このオプションを選択すると、リアルタイム分析とチャット後分析の両方を受け取ります。

   このオプションが表示されない場合は、Amazon Connect Contact Lens がインスタンスに対して有効になっていません。有効にする手順については、「[Amazon Connect インスタンス用にContact Lensを有効にします。](#enable-cl)」を参照してください。

1. [使用可能な言語のリスト](supported-languages.md#supported-languages-contact-lens)から選択します。

   言語と秘匿化を動的に選択する方法については、「[顧客の言語に基づいた秘匿化を動的に有効にする](#dynamically-enable-analytics-contact-flow)」を参照してください。

1. オプションで、機密データの秘匿化を有効にします。詳細については、次のセクション「[秘匿化を有効にする](#enable-redaction)」を参照してください。

1. **[保存]** を選択します。

1. コンタクトを別のエージェントやキューに転送する場合は、以上の手順を繰り返して **[Contact Lens の会話分析を有効にする]** を有効にしながら、別のブロックを追加します。

## E メール分析を有効にする
<a name="enable-emailanalytics"></a>

E メールコンタクトのContact Lens会話分析を有効にして、E メールを自動的に分類し、機密データを編集して、コンタクト概要を生成できます。

1. フローデザイナーで、インバウンド E メールフローに[記録、分析、処理の動作を設定する](set-recording-analytics-processing-behavior.md)ブロックを追加します。E メールコンタクトがキューまたはエージェントにルーティングされる前に、 ブロックを配置します。

1. ブロックプロパティを開きます。**アクション** で、**記録と分析の動作の設定** を選択します。

1. **チャネル** で、**E メール**を選択します。

1. **「分析**」で、**Contact Lens「会話分析を有効にする**」と「E **メール分析を有効にする**」を選択します。

   このオプションが表示されない場合は、Amazon Connect Contact Lens がインスタンスに対して有効になっていません。有効にする手順については、「[Amazon Connect インスタンス用にContact Lensを有効にします。](#enable-cl)」を参照してください。

1. [使用可能な言語のリスト](supported-languages.md#supported-languages-contact-lens)から選択します。

1. オプションで、機密データの秘匿化を有効にします。詳細については、「[秘匿化を有効にする](#enable-redaction)」を参照してください。

1. 必要に応じて、**Contact Lens Generative AI 機能**で、**Contact summary** を有効にして E メールコンタクトの概要を生成します。

1. **[保存]** を選択します。

1. E メールコンタクトを別のエージェントまたはキューに転送する場合は、次のステップを繰り返して、**会話分析Contact Lensを有効に**して別の[記録、分析、処理の動作を設定する](set-recording-analytics-processing-behavior.md)ブロックを追加します。

## 機密データの秘匿化を有効にする
<a name="enable-redaction"></a>

会話分析用に [記録と分析の動作の設定](set-recording-behavior.md) ブロックを設定する場合、フロー内の機密データの秘匿化を有効にするオプションもあります。秘匿化が有効の場合は、以下のオプションから選択できます。
+ すべての個人を特定できる情報 (PII) データ (すべての PII をサポート) を秘匿化済みの状態にします。
+ サポートされているエンティティのリストから、どの PII エンティティを秘匿化するかを選択します。

デフォルトの設定を受け入れると、Contact Lens 会話分析は特定したすべての個人を特定できる情報 (PII) を秘匿化し、トランスクリプトで **[PII]** に置き換えます。次の画像では、デフォルトの設定が示されています。**[機密データを秘匿化]**、**[すべての PII データをマスキング]**、および **[プレースホルダー PII に置き換える]** オプションが選択されています。

![\[機密データの秘匿化のためのデフォルト設定。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-enable-redaction-default.png)


### 秘匿化する PII エンティティを選択
<a name="select-pii-entities-redact"></a>

**[データのマスキング]** セクションで、秘匿化する特定の PII エンティティを選択できます。次の画像は、**[クレジット/デビットカード番号]** が秘匿化されることを示しています。

![\[データのマスキングセクション。秘匿化できるエンティティのリスト。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-select-entities-to-redact.png)


### データの秘匿化の置換を選択する
<a name="mask-pii"></a>

**[データのマスキング置換]** セクションで、データのマスキング置換として使用するマスクを選択できます。例えば、次の画像では、**[プレースホルダー PII に置き換える]** オプションは、データが **[PII]** に置き換えられることを示しています。

![\[データを PII に置き換えるオプション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-dataredactionreplacement.png)


秘匿化機能の使用方法については、「[機密データの秘匿化を行う](sensitive-data-redaction.md)」を参照してください。

## 機密データの秘匿化機能の正確度合を確認する
<a name="review-sensitive-data-redaction"></a>

秘匿化機能は、機密データを識別して削除するように設計されています。ただし、機械学習が持つ予測的な性質の関係上、Contact Lens によって生成されたトランスクリプトに含まれる機密データの存在を、すべて特定して削除することはできません。出力が要求通りに秘匿化されていることを、自分自身で再確認することをお勧めします。

**重要**  
秘匿化機能は、1996 年に米国で制定された、医療保険の相互運用性と説明責任に関する法律 (HIPAA) のような、医療プライバシー法に基づく匿名性の要件を満たしていません。このため、秘匿化処理後も、引き続き保護の対象となる医療情報として扱うことをお勧めします。

秘匿化されたファイルの例とその保存場所については、「[ファイルを出力する場所](example-contact-lens-output-locations.md)」を参照してください。

## 感情分析を無効にする
<a name="disable-sentiment-analysis-voice-and-chat"></a>

感情分析でサポートされている言語を選択し、**音声分析を有効にする** または**チャット分析を有効にする **を選択すると、すべてのエージェントと顧客に対して感情分析がデフォルトで有効になります。感情分析でサポートされている言語のリストについては、「」を参照してください[AI 機能](supported-languages.md#supported-languages-contact-lens)。

次の図は、**記録と分析の動作の設定**ブロックで感情分析オプションが有効になっていることを示しています。

![\[感情分析オプションが有効になっている場合。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/sentiment-analysis-enabled.png)


次の図は、感情分析でサポートされていない言語を示しています。**[感情]** セクションを開いて、有効か無効かを確認することをお勧めします。

![\[言語がサポートされていないため、感情分析オプションが無効になっている場合。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/sentiment-analysis-verify.png)


すべてのエージェントと顧客の感情分析を無効にするには、次の図に示すように、**[感情分析を有効にする]** オプションの選択を解除します。

![\[感情分析オプションが無効になっている場合。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/sentiment-analysis-disabled.png)


## 顧客の言語に基づいた秘匿化を動的に有効にする
<a name="dynamically-enable-analytics-contact-flow"></a>

顧客の言語に基づいて、出力ファイルの秘匿化を動的に有効にできます。例えば、en-US を使用している顧客については、秘匿化済みのファイルだけが必要で、en-GB を使用している顧客については、オリジナルの出力ファイルと秘匿化済み出力ファイルの両方が必要だ、というようなことがあります。
+ 秘匿化: 次のいずれかを選択します (大文字と小文字が区別されます)。
  + なし
  + RedactedOnly
  + RedactedAndOriginal
+ 言語:[使用可能な言語のリスト](supported-languages.md#supported-languages-contact-lens)から選択します。

これらの属性は、以下の方法で設定できます。
+ ユーザー定義: **[コンタクト属性の設定]** ブロックを使用します。このブロックの使用に関する一般的な手順については、「[問い合わせ属性を参照する方法](how-to-reference-attributes.md)」を参照してください。必要に応じて、**[宛先キー]** および **[値]** で秘匿化と言語の定義を行います。

  次の画像は、秘匿化のためにコンタクト属性を使用するように **[コンタクト属性の設定]** ブロックを設定する方法の例を示しています。**[テキストを使用]** オプションを選択し、**[宛先キー]** を **[redaction\$1option]** に設定し、**[値]** を **[RedactedAndOriginal]** に設定します。
**注記**  
 **[値]** では、大文字と小文字が区別されます。  
![\[[コンタクト属性の設定] ブロック、[テキストを使用] オプション、値は大文字と小文字が区別されます。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-contact-attributes-enable-redaction1.png)

  次の画像は、言語に関するコンタクト属性の使用方法を示しています。[テキストを使用] オプションを選択し、[宛先キー] を [言語] に設定し、**[値]** を **[en-US]** に設定します。  
![\[[コンタクト属性の設定] ブロック、[テキストを使用] オプション、値は大文字と小文字が区別されます。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-contact-attributes-enable-redaction2.png)
+ [Lambda 関数 を使用する。](attribs-with-lambda.md)これは、ユーザー定義のコンタクト属性を設定する方法と似ています。 AWS Lambda 関数は、Lambda が応答を返す言語に応じたキーと値のペアで、結果を返すことができます。以下は JSON による Lambda の応答例です。

  ```
  {
     'redaction_option': 'RedactedOnly',
     'language': 'en-US'
  }
  ```

## 主なハイライトのフローを設計する
<a name="call-summarization-agent"></a>

トランスクリプトは、インバウンドフロー、および/または転送フローの [記録と分析の動作の設定](set-recording-behavior.md) で会話分析が有効になっているかどうかに応じて、コンタクトコントロールパネル (CCP) を使用してエージェントに表示されます。

このセクションでは、[記録と分析の動作の設定](set-recording-behavior.md) ブロックで会話分析を有効にする 3 種類のユースケースを紹介し、これらのユースケースが主要なハイライトでエージェントのエクスペリエンスにどのように影響するかを説明します。

### ユースケース 1: 会話分析がインバウンドフローのみで有効になっている
<a name="call-summarization-inbound-notransfer"></a>
+ 問い合わせがインバウンドフローに入り、通話転送は行われません。エージェントエクスペリエンスは次のとおりです。

  エージェントは、コンタクト後作業 (ACW) 中に完全なトランスクリプトを受け取ります。トランスクリプトには、次の図に示すように、エージェントが最初の呼び出しを受け付けた瞬間から通話が終了するまでの、エージェントとお客様が話した内容がすべて含まれています。  
![\[コンタクトコントロールパネル、会話のトランスクリプト。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/call-summarization-use1.png)
+ コンタクトがインバウンドフローに入り、通話転送が行われます。エージェントエクスペリエンスは次のとおりです。
  + エージェント 1 は、ACW 中に会議/ウォーム転送を終了した後に通話トランスクリプトを受け取ります。

    トランスクリプトには、エージェント 1 が最初の呼び出しを受け付けた瞬間から、エージェント 1 が会議/通話のウォーム転送部分を終了するまで、エージェント 1 とお客様が話した内容がすべて含まれます。トランスクリプトには、次の図に示すように、フロー (転送/キューフロー) プロンプトメッセージが含まれています。  
![\[トランスクリプトのフロー転送プロンプト。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/call-summarization-use2.png)
  + エージェント 2 は、エージェント 1 からの会議/ウォーム転送通話を受け入れるときに、通話トランスクリプトを受け取ります。

    トランスクリプトには、エージェント 1 が最初の呼び出しを受け付けた瞬間から、エージェント 1 が会議/通話のウォーム転送部分を終了するまで、エージェント 1 とお客様が話した内容がすべて含まれます。トランスクリプトには、次の図に示すように、フロー (転送/キューフロー) プロンプトメッセージとウォーム転送の会話が含まれています。  
![\[トランスクリプト、フロー転送プロンプト、2 人のエージェント間のウォーム転送。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/call-summarization-use2b.png)

    会話分析は転送フローで有効になっていないため、通話が終了して ACW に入っても、エージェント 2 には残りのトランスクリプトが表示されません。エージェント 2 の ACW の次の画像は、トランスクリプトが空であることを示しています。  
![\[空のトランスクリプト。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/call-summarization-use2c.png)

### ユースケース 2: 会話分析がインバウンドフローと転送フローで有効になっている (クイック接続)
<a name="call-summarization-inbound-transfer2"></a>
+ 問い合わせがインバウンドフローに入り、通話転送は行われません。エージェントエクスペリエンスは次のとおりです。
  + エージェント 1 は、ACW 中に完全な通話トランスクリプト (編集なし) を受け取ります。

    トランスクリプトには、エージェント 1 が呼び出しを受け付けた瞬間から通話が終了するまで、エージェント 1 とお客様が話した内容がすべて含まれます。これは、エージェント 1 の CCP の次の画像に示されています。  
![\[エージェント 1 の CCP、完全な通話トランスクリプト。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/call-summarization-use3.png)
+ コンタクトがインバウンドフローに入り、通話転送が行われます。エージェントエクスペリエンスは次のとおりです。
  + エージェント 1 は、ACW 中に会議/ウォーム転送を終了した後に通話トランスクリプトを受け取ります。

    トランスクリプトには、エージェント 1 が呼び出しを受け付けた瞬間から、エージェント 1 が会議/通話のウォーム転送部分を終了するまで、エージェント 1 とお客様が話した内容がすべて含まれます。トランスクリプトには、フロー (転送/キューフロー) プロンプトメッセージが含まれます。

    次の画像には、ウォーム転送までの完全な通話トランスクリプトが示されています。  
![\[エージェント 1 が会議から退出するまでの完全な通話トランスクリプト。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/call-summarization-use2b.png)
  + エージェント 2 は、エージェント 1 からの会議/ウォーム転送通話を受け入れるときに、通話トランスクリプトを受け取ります。

    トランスクリプトには、エージェント 1 が呼び出しを受け付けた瞬間から、エージェント 1 が会議/通話のウォーム転送部分を終了するまで、エージェント 1 とお客様が話した内容がすべて含まれます。トランスクリプトには、フロー (転送/キューフロー) プロンプトメッセージが含まれます。
  + 会話分析が転送フローで有効になっているため、エージェント 2 は通話完了後、ACW 中に通話スクリプトを受け取ります。

    トランスクリプトには、エージェント 1 がコールを終了した後の、エージェント 2 とお客様との間の通話の残りの部分のみが含まれます。トランスクリプトには、エージェント 2 とお客様が、会議/ウォーム転送された瞬間から、通話が終了するまでに話した内容がすべて含まれています。トランスクリプトの例を次の画像に示します。  
![\[エージェント 2 とお客様との通話のトランスクリプト。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/call-summarization-use3b.png)

## フローブロックが会話分析の有効化に失敗した場合はどうなりますか?
<a name="troubleshoot-contactlens-enablement"></a>

[記録と分析の動作の設定](set-recording-behavior.md) ブロックがコンタクトの会話分析を有効にできない可能性があります。会話分析がコンタクトに対して有効になっていない場合は、[フローログ](search-contact-flow-logs.md)でエラーを確認してください。

## マルチパーティーコールと会話分析
<a name="multiparty-calls-contactlens"></a>

Contact Lens 会話分析は最大 2 人の参加者との通話をサポートします。例えば、コールに複数の当事者 (エージェントと顧客) がいる場合、またはコールがサードパーティに転送されている場合は、感情、リダクション、カテゴリなどの文字起こしと分析の質が低下します。2 名 (エージェントと顧客) 以上の関係者がいる場合、マルチパーティーまたはサードパーティーコールの会話分析は無効にすることを推奨します。これを行うには、フローに別の [記録と分析の動作の設定](set-recording-behavior.md) ブロックを追加し、会話分析を無効にします。フローブロックの動作の詳細については、「[設定のヒント](set-recording-behavior.md#set-recording-behavior-tips)」を参照してください。

# Amazon Connect で Contact Lens 会話分析を使用するアクセス許可を割り当てる
<a name="permissions-for-contact-lens"></a>

顧客データを安全に保つために、セキュリティプロファイルのアクセス許可を設定し、Contact Lens 会話分析によって生成された情報にアクセスできるユーザーを決定します。

以下は、必須のセキュリティプロファイルのアクセス許可と、 あれば便利だが必須ではないアクセス許可についての説明になります。これらの中には、分析したいコンタクトを見つけるために必要な [検索アクセス許可] があります。これらの許可は Contact Lens の会話分析に固有のものではありません。

## 会話分析のアクセス許可
<a name="ca-permissions-cl"></a>
+ **Contact Lens会話分析**
  + **[コンタクトの詳細]** ページでは、会話分析 (音声コンタクトでの顧客の感情、通話時間) のほか、トランスクリプトと録音における会話の各ターンの感情の色とインジケーターの概要を示すグラフを表示できます。次の図の例では、音声コンタクトの **[コンタクトの詳細]** ページで、この情報がどのように表示されるかを示しています。

    **Contact Lens - 会話分析 - [ビュー]** アクセス許可は、会話の録音とトランスクリプトで感情インジケーターを表示するために必要です。  
![\[[コンタクトの詳細] ページのグラフ。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contactlens-conversationalanalytics-permission.png)  
![\[[コンタクトの詳細] ページのグラフ。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contactlens-conversationalanalytics-permission-2.png)
+ **通話録音 (編集なし)**

  **[コンタクトの詳細]** と **[コンタクトの検索]** ページで、編集されていない音声録音を再生します。
+ **通話録音 (編集済み)**

  **[コンタクトの詳細]** および **[コンタクトの検索]** ページで、機密データが削除された通話記録ファイルを聴き、通話トランスクリプトを表示します。
+ **コンタクトのトランスクリプト (編集なし)**

  **[コンタクトの詳細]** ページおよび **[連絡先の検索]**ページで、編集されていないチャット、E メール会話、音声トランスクリプトを表示しますContact Lens。
+ **コンタクトのトランスクリプト (編集済み)**

  **[コンタクトの詳細]** ページと **[コンタクトの検索]** ページに、機密データがマスキングされたチャットおよび音声のトランスクリプトを表示します。

**重要**  
次のアクセス許可がある場合:  
**コンタクトのトランスクリプト (未編集) - アクセス**と**コンタクトのトランスクリプト (編集済み) - アクセスの両方**
- または -  
**通話録音 (編集なし) - アクセス**と**通話録音 (編集済み) - アクセス**の両方
次の動作に注意してください。  
フローまたはコンタクトで編集が有効になっている場合、編集済みコンテンツが **[コンタクトの詳細]** ページおよび **[コンタクトの検索]** ページに表示されます。
フローまたはコンタクトで編集が無効になっている場合Contact Lens、編集なしのコンテンツが**[コンタクトの詳細]** ページおよび**[コンタクトの検索]** ページに表示されます。
編集済みの会話と編集なしの会話の両方に、同時にアクセスすることはできません。

## 検索アクセス許可
<a name="search-permissions-cl"></a>
+ **[Contact search]** (問い合わせの検索)

  このアクセス許可は、分析済みの記録とトランスクリプトを確認するためのコンタクトの検索ができる **[コンタクトの検索]** ページへのアクセスに必要です。さらに、通話トランスクリプトに対する高速なフルテキスト検索や、感情スコアと非通話時間による検索を実行できます。
+ **コンタクトを表示**

  このアクセス許可は、**[コンタクトの検索]** ページにアクセスする場合や自分で処理したコンタクトのみを確認する場合、また分析した記録とトランスクリプトを確認する場合に必要です。
**重要**  
**[コンタクトの検索]** と **[コンタクトを表示]** の両方のアクセス許可が付与されている場合、ユーザーはすべてのコンタクトにアクセスできます。
+ **会話特性でコンタクトを検索する**

  このアクセス許可は Contact Lens の会話分析では必要ありませんが、より多くの検索オプションを提供するので便利です。

  **[コンタクトの検索]** ページで:
  + 音声コンタクトの場合、追加のフィルターにアクセスして、感情スコアと非通話時間によって結果を返すことができます。
  + チャットのコンタクトの場合は、追加のフィルターにアクセスして、応答時間でコンタクトを検索できます。
  + 音声とチャットの両方で、特定のコンタクトカテゴリに該当する会話を検索できます。

  詳細については[感情スコア/感情シフトの検索](search-conversations.md#sentiment-search)、[非通話時間の検索](search-conversations.md#nontalk-time-search)、および[問い合わせカテゴリを検索する](search-conversations.md#contact-category-search)を参照してください。

  次の画像は、**[コンタクトの検索]** ページの **[フィルター]** セクションと **[フィルター]** ドロップダウンメニューを示しています。横に **[CL]** が付いているフィルターは、このセキュリティプロファイルのアクセス許可を持つユーザーのみが使用できます。  
![\[[フィルターを追加] ドロップダウンメニュー、横に CL が付いたフィルター。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-search-contact-category-3.png)
+ **[キーワードでコンタクト先を検索]**

  このアクセス許可は Contact Lens の会話分析では必要ありませんが、より多くの検索オプションを提供するので便利です。
  + **[コンタクトの検索]** ページでは、追加のフィルターを使用しながら、**単語やフレーズ** (例えば「*ご利用いただき、ありがとうございます*」など) でコンタクトを検索できます。詳細については、「[単語やフレーズを検索する](search-conversations.md#keyword-search)」を参照してください。  
![\[[フィルターを追加] ドロップダウンメニュー、[語句] CL フィルター。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-search-words-phrases.png)

# Amazon Connect の会話分析メトリクス
<a name="contact-lens-metrics"></a>

以下のメトリクスは、Contact Lens 会話分析から派生したものです。これらのメトリクスは、[Contact Lensインスタンスで有効になっていて](enable-analytics.md#enable-cl)、かつコンタクトで[会話分析](enable-analytics.md#enable-callrecording-speechanalytics)が有効になっている場合にのみ使用できます。

これらのメトリクスは、リアルタイムレポートと履歴メトリクスレポートに表示されます。これらのメトリクスをレポートに追加する方法については、「[履歴メトリクスレポートを作成する方法](create-historical-metrics-report.md#historical-reports-howto-create)」を参照してください。

また、コンタクト要因の経時的な傾向に関するデータの視覚化については、[Contact Lens 会話分析ダッシュボード](contact-lens-conversational-analytics-dashboard.md)も確認してください。

## エージェントの通話時間 (%)
<a name="ttagent-hmetric"></a>

音声会話におけるエージェントの通話時間 (合計会話時間の割合) です。

**メトリクスタイプ**: パーセント

**メトリクスカテゴリ**: 会話分析主導型メトリクス

**Amazon Connect API を使用してアクセスする方法**: 
+ [GetMetricDataV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) API メトリクス識別子: `PERCENT_TALK_TIME_AGENT`

**管理ウェブサイトを使用して Amazon Connect にアクセスする方法**: 
+ 履歴メトリクスレポート: エージェント通話時間の割合

**計算ロジック**
+ エージェントが会話中であったすべての間隔 (通話時間エージェント) を合計します。
+ 合計を会話時間の合計で割ります。

**注意**:
+ このメトリクスは、Contact Lens 会話分析で分析されたコンタクトにのみ使用できます。

## エージェントの平均挨拶時間
<a name="average-greeting-time-agent-hmetric"></a>

このメトリクスは、チャットでのエージェントの初回応答時間の平均を表し、チャットに参加してからどれだけ早く顧客と関わったかを示します。

**メトリクスタイプ**: 文字列 (*hh:mm:ss*)

**メトリクスカテゴリ**: 会話分析主導型メトリクス

**Amazon Connect API を使用してアクセスする方法**: 
+ [GetMetricDataV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) API メトリクス識別子: `AVG_GREETING_TIME_AGENT`

**管理ウェブサイトを使用して Amazon Connect にアクセスする方法**: 
+ 履歴メトリクスレポート: エージェントの平均挨拶時間

**計算ロジック**
+ これは、エージェントが最初の応答を開始するまでの合計時間をチャットコンタクト数で割って計算されます。

**注意**:
+ このメトリクスは、Contact Lens 会話分析で分析されたコンタクトにのみ使用できます。

## エージェントの平均中断回数
<a name="average-interruptions-agent-hmetric"></a>

このメトリクスは、顧客とのやりとり中のエージェントの中断の平均頻度を定量化します。

**メトリクスタイプ**: 文字列 (*hh:mm:ss*)

**メトリクスカテゴリ**: 会話分析主導型メトリクス

**Amazon Connect API を使用してアクセスする方法**: 
+ [GetMetricDataV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) API メトリクス識別子: `AVG_INTERRUPTIONS_AGENT`

**管理ウェブサイトを使用して Amazon Connect にアクセスする方法**: 
+ 履歴メトリクスレポート: エージェントの平均中断

**計算ロジック**
+ このメトリクスは、エージェントの中断の合計数をコンタクトの合計数で割って計算されます。

**注意**:
+ このメトリクスは、Contact Lens 会話分析で分析されたコンタクトにのみ使用できます。

## エージェントの平均中断時間
<a name="average-interruption-time-agent-hmetric"></a>

連絡先との会話中のエージェントによる合計中断時間の平均。

**メトリクスタイプ**: 文字列 (*hh:mm:ss*)

**メトリクスカテゴリ**: 会話分析主導型メトリクス

**Amazon Connect API を使用してアクセスする方法**: 
+ [GetMetricDataV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) API メトリクス識別子: `AVG_INTERRUPTION_TIME_AGENT`

**管理ウェブサイトを使用して Amazon Connect にアクセスする方法**: 
+ 履歴メトリクスレポート: エージェントの平均中断時間

**計算ロジック**
+ 各会話の中断間隔を合計します。
+ 少なくとも 1 回の中断が発生した会話の数の合計を割ります。

**注意**:
+ このメトリクスは、Contact Lens 会話分析で分析されたコンタクトにのみ使用できます。

## エージェントの平均通話時間
<a name="average-talk-time-agent-hmetric"></a>

エージェントが会話に費やした平均時間。

**メトリクスタイプ**: 文字列 (*hh:mm:ss*)

**メトリクスカテゴリ**: 会話分析主導型メトリクス

**Amazon Connect API を使用してアクセスする方法**: 
+ [GetMetricDataV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) API メトリクス識別子: `AVG_TALK_TIME_AGENT`

**管理ウェブサイトを使用して Amazon Connect にアクセスする方法**: 
+ 履歴メトリクスレポート: エージェントの平均通話時間

**計算ロジック**
+ エージェントが話していたすべての間隔の期間を合計します。
+ 合計をコンタクトの合計数で割ります。

**注意**:
+ このメトリクスは、Contact Lens 会話分析で分析されたコンタクトにのみ使用できます。

## 平均会話時間
<a name="average-conversation-duration-hmetric"></a>

このメトリクスは、エージェントとの音声コンタクトの平均会話時間を測定します。

**メトリクスタイプ**: 文字列 (*hh:mm:ss*)

**メトリクスカテゴリ**: 会話分析主導型メトリクス

**Amazon Connect API を使用してアクセスする方法**: 
+ [GetMetricDataV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) API メトリクス識別子: `AVG_CONVERSATION_DURATION`

**管理ウェブサイトを使用して Amazon Connect にアクセスする方法**: 
+ 履歴メトリクスレポート: 平均会話時間

**計算ロジック**
+ 会話の開始から、エージェントまたは顧客が最後に発話した単語までの合計時間。
+ 次に、この値をコンタクトの総数で割って、通話で費やされた会話時間の平均値を求めます。

**注意**:
+ このメトリクスは、Contact Lens 会話分析で分析されたコンタクトにのみ使用できます。

## 顧客の平均通話時間
<a name="average-talk-time-customer-hmetric"></a>

このメトリクスは、会話の中で顧客が話していた平均時間を測定します。

**メトリクスタイプ**: 文字列 (*hh:mm:ss*)

**メトリクスカテゴリ**: 会話分析主導型メトリクス

**Amazon Connect API を使用してアクセスする方法**: 
+ [GetMetricDataV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) API メトリクス識別子: `AVG_TALK_TIME_CUSTOMER`

**管理ウェブサイトを使用して Amazon Connect にアクセスする方法**: 
+ 履歴メトリクスレポート: 平均顧客通話時間

**計算ロジック**
+ 顧客が話していたすべての間隔の期間を合計します。
+ 合計をコンタクトの合計数で割ります。

**注意**:
+ このメトリクスは、Contact Lens 会話分析で分析されたコンタクトにのみ使用できます。

## 平均非通話時間
<a name="average-non-talk-time-hmetric"></a>

1 回の音声会話における非通話時間の平均。非通話時間とは、保留時間と 3 秒を超える無音時間を合わせた時間であり、エージェントも顧客も会話をしていない時間を指します。

**メトリクスタイプ**: 文字列 (*hh:mm:ss*)

**メトリクスカテゴリ**: 会話分析主導型メトリクス

**Amazon Connect API を使用してアクセスする方法**: 
+ [GetMetricDataV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) API メトリクス識別子: `AVG_NON_TALK_TIME`

**管理ウェブサイトを使用して Amazon Connect にアクセスする方法**: 
+ 履歴メトリクスレポート: 平均非通話時間

**計算ロジック**
+ 両方の参加者が沈黙していたすべての間隔を合計します。
+ 合計をコンタクト数で割ります。

**注意**:
+ このメトリクスは、Contact Lens 会話分析で分析されたコンタクトにのみ使用できます。

## 平均通話時間
<a name="average-talk-time-hmetric"></a>

このメトリクスは、音声コンタクトにおいて顧客またはエージェントが話していた平均時間を測定します。

**メトリクスタイプ**: 文字列 (*hh:mm:ss*)

**メトリクスカテゴリ**: 会話分析主導型メトリクス

**Amazon Connect API を使用してアクセスする方法**: 
+ [GetMetricDataV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) API メトリクス識別子: `AVG_TALK_TIME`

**管理ウェブサイトを使用して Amazon Connect にアクセスする方法**: 
+ 履歴メトリクスレポート: 平均通話時間

**計算ロジック**
+ エージェント、顧客、またはその両方が会話を行ったすべての間隔を合計します。
+ 合計をコンタクトの合計数で割ります。

**注意**:
+ このメトリクスは、Contact Lens 会話分析で分析されたコンタクトにのみ使用できます。

## 顧客の通話時間 (%)
<a name="ttcustomer-hmetric"></a>

音声会話における顧客の通話時間 (合計会話時間の割合) です。

**メトリクスタイプ**: パーセント

**メトリクスカテゴリ**: 会話分析主導型メトリクス

**Amazon Connect API を使用してアクセスする方法**: 
+ [GetMetricDataV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) API メトリクス識別子: `PERCENT_TALK_TIME_CUSTOMER`

**管理ウェブサイトを使用して Amazon Connect にアクセスする方法**: 
+ 履歴メトリクスレポート: Customer talk time percent

**計算ロジック**
+ 顧客が会話を行ったすべての間隔を合計します。
+ 合計を会話時間の合計で割ります。

**注意**:
+ このメトリクスは、Contact Lens 会話分析で分析されたコンタクトにのみ使用できます。

## 非通話時間の割合
<a name="ntt-hmetric"></a>

会話時間の合計に対する音声会話の非通話時間の割合。

**メトリクスタイプ**: パーセント

**メトリクスカテゴリ**: 会話分析主導型メトリクス

**Amazon Connect API を使用してアクセスする方法**: 
+ [GetMetricDataV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) API メトリクス識別子: `PERCENT_NON_TALK_TIME`

**管理ウェブサイトを使用して Amazon Connect にアクセスする方法**: 
+ 履歴メトリクスレポート: 非通話時間の割合

**計算ロジック**
+ 参加者が沈黙していたすべての間隔 (非通話時間) を合計します。
+ 合計を会話時間の合計で割ります。

**注意**:
+ このメトリクスは、Contact Lens 会話分析で分析されたコンタクトにのみ使用できます。

## 通話時間の割合 (%)
<a name="tt-hmetric"></a>

会話時間の合計に対する音声会話の通話時間の割合。

**メトリクスタイプ**: パーセント

**メトリクスカテゴリ**: 会話分析主導型メトリクス

**Amazon Connect API を使用してアクセスする方法**: 
+ [GetMetricDataV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) API メトリクス識別子: `PERCENT_TALK_TIME`

**管理ウェブサイトを使用して Amazon Connect にアクセスする方法**: 
+ 履歴メトリクスレポート: 通話時間の割合

**計算ロジック**
+ エージェント、顧客、またはその両方が会話を行ったすべての間隔 (通話時間) を合計します。
+ 合計を会話時間の合計で割ります。

**注意**:
+ このメトリクスは、Contact Lens 会話分析で分析されたコンタクトにのみ使用できます。

# Amazon Connect Contact Lens 通知タイプ
<a name="rules-notification-types"></a>

Contact Lens には、以下の通知タイプが用意されています。
+ Contact Lens の通話/チャット後ルールの一致: Contact Lens のルールが一致し、EventBridge ルールアクションがトリガーされるたびに、EventBridge イベントが配信されます。

  このイベントには、割り当てられたカテゴリ、エージェント、コンタクト内容、キューの詳細など、トリガーされた Contact Lens ルールに関する有用な情報が含まれます。
+ Contact Lens のリアルタイム通話ルールまたはチャットルールの一致: Contact Lens ルールが一致してリアルタイムでトリガーされる都度、EventBridge イベントが配信されます。

  このイベントには、割り当てられたカテゴリ、エージェント、コンタクト内容、キューの詳細など、トリガーされた Contact Lens ルールに関する有用な情報が含まれます。
+ Contact Lens 分析の状態が変化: Contact Lens がコンタクト記録を分析できない場合、EventBridge イベントが配信されます。このイベントには、記録を処理できなかったことの詳細な理由を示すイベント理由コードが含まれています。

これらの通知タイプは、さまざまなシナリオで使用できます。例えば、Contact Lens 分析の状態遷移イベントを使用して、コンタクトファイルの処理で発生した予期しないエラーを通知します。この通知により、EventBridge イベントの詳細を CloudWatch ログに事後保存して追加のレビューを行ったり、追加のワークフローをトリガーしたりできます。さらに、関連するサポートチームに詳細な調査を依頼することにも利用できます。

通話やチャット分析のための Contact Lens イベントにより、追加のインサイトの表示や可視化など、多くの新しいユースケースが利用できます。その例としては、以下のものがあります。
+ すべての通話とチャットの会話にわたる顧客感情の低下に関するアラートをリアルタイムで生成する
+ 繰り返し発生する問題やトピックの集計と報告
+ 最新のマーケティングキャンペーンの影響を、通話中にこのキャンペーンを取り上げた顧客の人数を検出することにより測定します
+ リージョンおよび業務科目ごとに、エージェントコンプライアンスに関する基準をカスタマイズし、必要に応じてエージェントを追加的なトレーニングに参加させます。

# Amazon Connect 管理ウェブサイトを使用して、カスタム語彙を Contact Lens に追加する
<a name="add-custom-vocabulary"></a>

Contact Lens のテキスト読み上げエンジンの語彙を拡張および調整することで、製品名、ブランド名、およびドメイン固有の用語に対する音声認識の精度を向上させることができます。

このトピックでは、 Amazon Connect 管理ウェブサイトを使用してカスタム語彙を追加する方法について説明します。また、[CreateVocabulary](https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateVocabulary.html) および [AssociateDefaultVocabulary](https://docs.aws.amazon.com/connect/latest/APIReference/API_AssociateDefaultVocabulary.html) API を使用して、それらの語彙を追加することもできます。

## カスタム語彙について知っておくべきこと
<a name="things-to-know-about-cust-vocab"></a>
+ トランスクリプト生成のための分析に適用するために、語彙を**デフォルト**として設定する必要があります。次の画像は、**[カスタム語彙]** ページを示しています。省略記号を選択し、**[デフォルトとして設定]** を選択します。  
![\[[カスタム語彙] ページ、省略記号の位置、[デフォルトとして設定] オプション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-custom-vocab-default.png)
+ 分析に適用できる語彙は、1 言語につき 1 個です。つまり、**準備完了 (デフォルト)** のステータスになるファイルは、1 言語につき 1 個だけです。
+ 最大 20 個の語彙ファイルをアップロードして有効化できます。20 個すべてのファイルを同時に有効化できます。
+ 文字起こしは 1 回限りのイベントです。新しくアップロードされた語彙が、既存の文字起こしに対して遡及的に適用されることはありません。
+ テキストファイルは LF 形式である必要があります。CRLF 形式など、他の形式を使用した場合、カスタム語彙は Amazon Transcribe では受け入れられません。
+ サンプルの語彙ファイルは、英語の設定を選択した場合にのみダウンロードできます。
+ 語彙ファイルのサイズの制限やその他の要件については、「*Amazon Transcribe デベロッパーガイド*」の「[カスタム語彙](https://docs.aws.amazon.com/transcribe/latest/dg/custom-vocabulary.html)」を参照してください。
+ カスタム語彙は音声分析にのみ適用されます。トランスクリプトは既に存在するため、チャットの会話には適用されません。

## 必要なアクセス許可
<a name="add-custom-vocabulary-permissions"></a>

Amazon Connect にカスタム語彙を追加する前に、**[分析と最適]** 、**Contact Lens[カスタム語彙]** のアクセス許可がセキュリティプロファイルに割り当てられている必要があります。

Amazon Connect の新しいインスタンスでは、デフォルトで、このアクセス許可が**管理者** および **CallCenterManager** セキュリティプロファイルに付与されています。

既存のセキュリティプロファイルにアクセス許可を追加する方法については、「[Amazon Connect でセキュリティプロファイルを更新する](update-security-profiles.md)」を参照してください。

## カスタム語彙の追加
<a name="how-to-add-custom-vocabulary"></a>

1. カスタム語彙を追加するために必要なアクセス許可を持つユーザーアカウントを使用して、Amazon Connect にログインします。

1. **[分析と最適化]** 、**[カスタム語彙]** に移動します。

1. **[カスタム語彙を追加]** を選択します。

1. **[カスタム語彙の追加]** ページで、語彙の名前を入力し、英語を選択してから、**[サンプルファイルをダウンロード]** を選択します。
**注記**  
サンプルの語彙ファイルは、英語の設定を選択した場合にのみダウンロードできます。それ以外の場合は、次の画像に示すとおり、エラーメッセージが表示されます。  

![\[語彙ファイルの処理が失敗したことを示すエラーメッセージ。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-custom-vocab-sample-error.png)


   次の画像は、サンプルの語彙ファイルがどのようなものかを示しています。ヘッダーには `Phrase`、`IPA`、`SoundsLike`、`DisplayAs` が含まれています。 ヘッダーは必須です。  
![\[サンプルの語彙ファイル、ヘッダー。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-custom-vocab-header.png)

1. ファイル内の情報は、エントリごとに 1 つの [TAB] で区切られています。語彙ファイルに単語や頭字語を追加する方法の詳細については、「*Amazon Transcribe Developer Guide*」の「[Creating a custom vocabulary using a table](https://docs.aws.amazon.com/transcribe/latest/dg/custom-vocabulary-create-table.html)」 を参照してください。

   次の画像は、サンプルの語彙ファイル内の単語を示しています。[フレーズ] 列の単語は必須です。`IPA`、`SoundsLike`、および `DisplayAs` 列の単語はオプションです。  
![\[サンプルの語彙ファイル、[フレーズ] 列の単語は必須です。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-custom-vocab-phrase-column.png)

   **[フレーズ]** 列に複数の単語を入力するには、各単語をハイフン (-) で区切ります。スペースは使用しないでください。

## 語彙のステータス
<a name="about-cust-vocab-states"></a>
+ **準備完了 (デフォルト)**: 語彙をトランスクリプト生成のための分析に適用しています。これは、リアルタイム分析と通話後分析の両方に適用されます。
+ **準備完了**: 語彙を分析に適用していませんが、有効なファイルであり、使用可能です。語彙を分析に適用するには、デフォルトに設定します。
+ **処理中**: Amazon Connect が、アップロードされた語彙を検証し、それを分析に適用してトランスクリプトを生成しようとしています。
+ **削除中**: 語彙の**削除**を選択したため、現在 Amazon Connect が語彙を削除しています。

  Amazon Connect が語彙を削除するのに約 90 分かかります。

検証されていない語彙をアップロードしようとすると、**[失敗]** 状態になります。例えば、複数の単語を**[フレーズ]** 列に追加する場合、ハイフンの代わりにスペースで区切ると、失敗状態になります。

## カスタム語彙のダウンロードおよび表示
<a name="view-custom-vocabulary"></a>

アップロードされたカスタム語彙を表示するには、ファイルをダウンロードして開きます。**準備完了**ステータスにあるファイルのみ、ダウンロードおよび表示が可能です。

1. **[分析と最適化]** 、**[カスタム語彙]** に移動します。

1. **[More]** (詳細)、**[ダウンロード]** を順番に選択します。**[ダウンロード]** の位置を次の画像に示します。  
![\[[カスタム語彙] ページ、語彙のリスト、[その他] ドロップダウンメニュー、[ダウンロード] オプション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-custom-vocab-download.png)

1. ダウンロードしたファイルを開き、内容を表示します。

1. 内容を変更した場合は、**[保存してアップロード]** を選択します。

# Amazon Connect 管理ウェブサイトを使用して Contact Lens ルールを作成する
<a name="build-rules-for-contact-lens"></a>

Contact Lens ルールを使用すると、通話、チャット、または E メール中に使用されるキーワード、感情スコア、顧客属性、およびその他の基準に基づいて、問い合わせを自動的に分類したり、アラートを受信したり、タスクを生成したりできます。

このトピックでは、 Amazon Connect 管理ウェブサイトを使用してルールを作成する方法について説明します。ルールをプログラムで作成および管理するには、*Amazon Connect API リファレンスガイド*の「[ルールアクション](https://docs.aws.amazon.com/connect/latest/APIReference/rules-api.html)」と「[Amazon Connect ルール関数の言語](https://docs.aws.amazon.com/connect/latest/APIReference/connect-rules-language.html)」を参照してください。

**ヒント**  
ルールの機能の仕様 (作成できるルールの数など) のリストについては、「[Amazon Connect ルール機能の仕様](feature-limits.md#rules-feature-specs)」を参照してください。

## ステップ 1: 会話分析のルール条件を定義する
<a name="rule-conditions"></a>

1. ナビゲーションメニューで、**[分析と最適化]**、**[ルール]** の順に選択します。

1. **[ルールの作成]**、**[会話分析]** を選択します。

1. **When **で、ドロップダウンリストを使用して、**通話後分析**、**リアルタイム分析**、**チャット後分析**、または **E** メール分析を選択します。  
![\[[新しいルール] ページ、[次の場合] ドロップダウンメニュー。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-rule-define-conditions.png)

1. **[条件を追加]** を選択します。

   多数の条件セットの組み合わせにより基準を作成して、特定の目的に絞った Contact Lens ルールを作成できます。利用可能な条件は次のとおりです。
   + **単語またはフレーズ**: [完全一致、パターン一致、またはセマンティック一致](exact-match-pattern-match-semantic-match.md)のいずれかを選択し、対象のキーワードが言及された際に、アラートまたはタスクをトリガーするよう設定します。
   + **自然言語 – セマンティック一致**: 生成 AI を使用して会話のトランスクリプトと照合するための自然言語ステートメント (例: アカウントをキャンセルするために を呼び出す) を提供し、アクションを実行する (タスクのトリガー、評価の実行など) 詳細については、[[生成 AI] を活用したセマンティックマッチ](natural-language-semantic-match.md)を参照してください。
   + **問い合わせ後作業 (ACW)**: 問い合わせ後作業の完了におけるエージェントの効率を測定するルールを構築します。
   + **エージェント階層**: 特定のエージェント階層で実行されるルールを構築します。エージェント階層は、地理的な場所、部門、製品、またはチームを表すことができます。

     エージェント階層のリストを表示してルールに追加するには、セキュリティプロファイルで **エージェント階層 - アクセス**許可を表示する必要があります。
   + **エージェント**: エージェントのサブセットで実行するルールを作成します。例えば、新しく採用されたエージェントが、会社の基準に従っていることを確認するルールを作成します。

     ルールに追加するためにエージェント名を表示するには、セキュリティプロファイル内に [**ユーザー – 表示**] でのアクセス許可が必要です。
   + **AI エージェント**: 特定の Connect AI エージェントがセルフサービスまたはエージェント支援を実行した問い合わせを特定します。複数の AI エージェントを選択するか、特定のバージョンのエージェントを選択できます。

     AI エージェント名を表示してルールに追加するには、**AI エージェント - セキュリティプロファイルで**アクセス許可を表示する必要があります。
   + **AI エージェント - エスカレーション**: 顧客のセルフサービスに使用した Connect AI エージェントを人間にエスカレーションした問い合わせを特定します。

     AI エージェント名を表示してルールに追加するには、**AI エージェント - セキュリティプロファイルで**アクセス許可を表示する必要があります。
   + **エージェントとのやり取りの期間**: エージェントインタラクションが予想よりも長いか短いコンタクトを識別するルールを構築します。この機能は通話にのみ適用されます。
   + **コンタクトセグメント属性**: カスタムコンタクトセグメント属性と他のシステムから入力された値、またはカスタムロジックを使用して、ルール内のコンタクトを識別できます。[属性を定義し、](predefined-attributes.md#predefined-attributes-create-web-admin)その値をフローで設定できます。カスタムセグメント属性は、問い合わせチェーン全体ではなく、その特定の問い合わせ ID にのみ存在します。例えば、エージェントに接続する前に、コンタクトが IVR で事前認証されたことを識別するルールを構築できます。

     ルールに追加する問い合わせセグメント属性のリストを表示するには、**事前定義された属性 - アクセス**許可を表示する必要があります。
   + **切断理由**: 問い合わせが切断された理由を確認するルールを構築します。たとえば、エージェントが顧客より前に切断された場合や、問い合わせが転送された場合などです。
   + **最高ラウドネススコア**: エージェントまたは顧客の会話中にピークラウドネススコア (デシベル単位) をチェックするルールを構築します。高いラウドネス (70Db 以上など) は興奮や怒りに関連している可能性がありますが、特定のラウドネススコア (30Db 以下など) を下回る音声はわかりにくい場合があります。
   + **保留時間**: 異常な保留時間を持つ問い合わせを特定するためのルールを構築し、問い合わせをより効率的に処理する機会を特定します。最長の保留時間、合計保留時間、および保留数を使用してルールを設定できます。顧客がエージェントに接続した合計時間 (顧客保留時間をエージェントインタラクション時間と顧客保留時間で割ったもの) に対する保留時間の割合を確認することもできます。
   + **開始方法: **問い合わせがインバウンド、アウトバウンド、転送されたかどうかをチェックするルールを構築します。
   + **コンタクト属性**: カスタムの[コンタクト属性](what-is-a-contact-attribute.md)値について実行するルールを作成します。例えば、メンバーシップレベル、現在の居住国、または未処理の注文があるかどうかなど、特定の業務科目または特定の顧客のために専用のルールを作成できます。

     1 つのルールには最大 5 つのコンタクト属性を追加できます。
   + **感情 – 期間**: 一定以上の期間にわたるセンチメントの分析結果 (肯定的、否定的、中立) に対して実行するルールを作成します。

     例えば、一定期間、顧客の感情が否定的なままで持続した場合のルールを作成できます。後で参加者がコンタクトに参加した場合、ここで設定した期間は参加者が参加した際に適用されます。

     感情データを持たない問い合わせにルールが適用されると、中立的な感情が使用されます。
   + **感情 – コンタクト全体**: コンタクト全体の感情スコアの値に対して実行するルールを作成します。例えば、コンタクト全体で顧客の感情スコアが低い場合のルールを構築し、カスタマーエクスペリエンスの分析担当者に、通話記録を確認しフォローアップさせるためのタスクを作成できます。

     感情データを持たないコンタクトにルールが適用されると、中立的な感情が使用されます。
   + **中断**: エージェントが顧客の発言を X 回以上中断したことを検出するルールを作成します。この機能は通話にのみ適用されます。
   + **非通話時間**: 音声が検出されないことを確認するルールを構築します。これには、顧客が保留されている期間が含まれる場合があります。非通話時間の合計、会話内の最長非通話時間、または会話中の非通話時間の割合を確認できます。非通話時間が会話の 50% を超える割合など、非通話時間が長いことは、プロセスやエージェントのコーチングの機会を改善する機会を示している可能性があります。この機能は通話にのみ適用されます。
   + **応答時間**: 参加者の応答時間が予想よりも長い、または短いコンタクト (平均または最大) を特定するルールを作成します。

     例えば、**エージェントの挨拶時間** (**初回応答時間とも呼ばれます**) に関するルールを設定できます。これは、エージェントがチャットに参加してから最初の挨拶のメッセージを送信するまでの時間です。これにより、エージェントが顧客とのやり取りに時間がかかりすぎた場合、それを特定しやすくなります。
   + **切断の潜在的な問題**: 技術的な問題 (ネットワーク接続、デバイスの問題など) をチェックするルールを構築します。これを使用して、接続の問題が発生した自動エージェントパフォーマンス評価から問い合わせを除外できます。
   + **キュー**: キューのサブセットで実行されるルールを構築するか、問い合わせがキューに入れられていないかどうかを確認します。しばしば組織では、業務科目、トピック、またはドメインを示すためにキューを使用します。たとえば、販売キュー専用のルールを作成したり、最近のマーケティングキャンペーンの影響を追跡したり、カスタマーサポートキューのルールを作成したり、全体的な感情を追跡したりできます。セルフサービスインタラクションでは、問い合わせがキューに入れられたことがないかどうかを確認できます。これは、AI エージェントによるセルフサービスが成功したことを示している可能性があります。

     キュー名を表示してルールに追加するには、**キュー - セキュリティプロファイルで**アクセス許可を表示します。
   + **ルーティングプロファイル**: 特定のルーティングプロファイルにマッピングされたエージェントが処理した問い合わせを特定します。ルーティングプロファイルは、エージェントの部門またはスキルの習熟度を示している場合があります。例えば、ルーティングプロファイルを使用してエージェントの自動評価を実行できます。新規採用者は、さまざまな評価基準と在任中のマルチスキルエージェントを使用した基本的なトラブルシューティングについてトレーニングされます。

     ルーティングプロファイルを表示してルールに追加するには、**ルーティングプロファイル - セキュリティプロファイルで**アクセス許可を表示する必要があります。
   + **通話時間**: エージェントまたは顧客が通話に費やした絶対時間のしきい値を使用してルールを構築します。これは、顧客がまったく話さなかった場所、エージェントを切断させた場所、またはエージェントが電話に出た後に話さないなどの通話回避動作を示した場所を特定するために使用できます。
   + **エージェントとのやり取りの期間**: エージェントインタラクションが予想よりも長いか短いコンタクトを識別するルールを構築します。この機能は通話にのみ適用されます。

   次の図は、音声コンタクトに対して複数の条件を含むサンプルルールを示しています。  
![\[音声コンタクトについて複数の条件を含むサンプルのルール。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-rules-conditions.png)

   次の図は、チャットコンタクトに対して複数の条件を含むサンプルルールを示しています。このルールは、**初回**応答時間が 1 分以上で、初回応答でエージェントがリストにある挨拶の言葉やフレーズにまったく言及しなかった場合にトリガーされます。

   **初回応答時間** = エージェントがチャットに参加した後、顧客に最初のメッセージを送信するまでの時間。  
![\[チャットコンタクトについて複数の条件を含むサンプルのルール。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-rules-conditions-chat.png)

1. **[次へ]** を選択します。

## ステップ 2: ルールのアクションを定義する
<a name="rule-actions"></a>

1. **[アクションを追加]** を選択します。以下のアクションを選択できます。
   + [タスクの作成](contact-lens-rules-create-task.md): このオプションはリアルタイムチャットでは利用できません
   + [E メール通知を送信](contact-lens-rules-email.md)
   + [EventBridge イベントを生成](contact-lens-rules-eventbridge-event.md)  
![\[[アクションを追加] ドロップダウンメニュー、アクションのリスト。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-add-action-no-wisdom.png)

1. [**次へ**] を選択します。

1. 確認の後で必要な編集を行い、[**保存**] をクリックします。

1. 追加されたルールは、その後に発生する新しい通話に対して適用されます。ルールは、Amazon Connect 会話分析が会話を分析するときに適用されます。

   過去に保存された会話にルールを適用することはできません。

# 会話を自然言語ステートメント、または特定の単語やフレーズと照合して、コンタクトを自動的に分類する
<a name="rules"></a>

Contact Lens 会話分析を使用すると、コンタクトを自動的に分類して、コンタクトの主な推進要因、カスタマーエクスペリエンス、エージェントの行動を特定できます。チャット用の **[コンタクトの詳細]** ページでは、次の図に示すように、トランスクリプトの上にカテゴリが表示されます。

![\[[コンタクトの詳細] ページ、[カテゴリ] セクション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-category-overview-chat2.png)


以下は、コンタクトを分類するときに実行できる重要な操作の一部です。
+ 生成 AI を活用したコンタクトの分類では、コンタクトを自然言語で分類するための基準を提供できます (例えば、顧客は残高の支払いを試みましたか?)。
+ エージェントまたは顧客が話した特定の単語やフレーズを会話に合わせて指定できます。Contact Lensその後、 は一致基準を満たすコンタクトに自動的にラベルを付け、会話に関連するポイントを提供します。
+ アラートを受信し、分類されたコンタクトでタスクを生成するアクションを定義できます。
+ 顧客感情スコア、キュー、顧客ロイヤルティ情報など、コンタクトに追加したカスタム属性など、コンタクトを分類するための追加の条件を指定できます。

## 単語やフレーズを使用するタイミング
<a name="when-use-words-phrases"></a>

特定の単語やフレーズを使用することは、エージェントスクリプトの遵守状況のモニタリングや製品に対する顧客の関心の評価など、明確に定義された単語やフレーズのリストを検出したい場合に便利です。

## 自然言語を使用するタイミング
<a name="when-use-natural-language"></a>

自然言語ステートメントを使用してコンタクトと照合することは、考えられる単語やフレーズが多すぎる場合や、「顧客はサブスクリプションプランを変更したいと考えています」、「エージェントが顧客のすべての問題を解決しました」など、コンテキスト固有の基準と照合する場合に便利です。

## コンタクトを分類するためのルールを追加する
<a name="add-category-rules"></a>

このセクションの内容:
+ [ステップ 1: 条件を定義する](#add-category-rules-define-conditions)
+ [ステップ 2: アクションを定義する](#add-category-rules-define-actions)

### ステップ 1: 条件を定義する
<a name="add-category-rules-define-conditions"></a>

1. **[CallCenterManager]** セキュリティプロファイルが割り当てられたユーザーアカウント、または **[ルール]** のアクセス許可が有効になっているユーザーアカウントを使用して、Amazon Connect にログインします。

1. ナビゲーションメニューで、**[分析と最適化]**、**[ルール]** の順に選択します。

1. **[ルールの作成]**、**[対話分析]** を選択します。

1. ルールに名前を割り当てます。

1. **When **で、ドロップダウンリストを使用して、**通話後分析**、**リアルタイム分析**、**チャット後分析**、**リアルタイムチャット分析**、または **E** メール分析を選択します。  
![\[[新しいルール] ページ、[次の場合] ドロップダウンリスト。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-rule-define-conditions.png)

1. **[条件の追加]** をクリックし、一致するタイプを選択します。
   + **単語またはフレーズ - 完全一致**: 正確な単語またはフレーズに一致する連絡先を検索します。キーワードまたはフレーズをカンマで区切って入力します。
   + **単語またはフレーズパターン一致**: 単語またはフレーズのパターンを検索してコンタクトを検索します。単語間の距離を指定することもできます。例えば、「クレジット」という単語が言及された通話を探している際、「クレジットカード」という単語を除外したい場合には、パターン一致のカテゴリを定義することで、「カード」から 1 ワードの範囲より離れた「クレジット」という単語を検索できます。
   + **自然言語 – セマンティック一致**: 生成 AI を使用して、提供された自然言語ステートメントに一致する連絡先を検索します。ステートメントは「はい」または「いいえ」で回答可能である必要があります。[自然言語 – セマンティック一致] は、コンタクトをコンテキスト固有の基準と一致させたい場合、または一致する可能性のある単語やフレーズが多すぎる場合に使用されます。次に例を示します。
     + 「顧客はサブスクリプションプランを変更したいと考えています。」
     + 「顧客は現在のサービスを終了することを希望しました」
     + 「エージェントは複数の支払いオプションを提供しました」
     + エージェントは、通話が重要であることをお客様に保証し、追加の待機時間をリクエストしまし
     + 「エージェントは顧客のすべての問題を解決しました。」
**注記**  
[自然言語 – セマンティック一致] の条件は、リアルタイム分析には使用できません。
生成 AI を使用するルールを作成するには、**ルール - 生成 AI **という追加のアクセス許可が必要です。

     **プロのヒント**: 以前に **[単語またはフレーズ – セマンティック一致]** を使用していた場合は、生成 AI を活用した **[自然言語 – セマンティック一致]** を使用します。
   + **単語またはフレーズ – セマンティック一致**: 同義語となる可能性がある単語を検出します。例えば、「upset (立腹)」と入力すると「not happy (嬉しくない)」を、「hardly acceptable (受け入れがたい)」は「unacceptable (承服できない)」を、また「unsubscribe (サブスクライブを止める)」には「cancel subscription (サブスクリプションのキャンセル)」などを一致させることができます。同様に、意味を基にしたフレーズの一致もできます。例えば、「サポートをありがとう」、「とても役に立ちました、本当にありがとう」、「良い助言がもらえたのでとても嬉しく思います」などを一致させられます。

     これにより、カテゴリを作成する際にキーワードの完全なリストを定義する必要がなくなる上に、より広い網を張って、重要性のある類似フレーズを検索できるようになります。セマンティック一致の最良の結果を得るには、セマンティック一致カード内で、類似した意味を持つキーワードまたはフレーズを指定します。現在、セマンティック一致カードごとに最大 4 つのキーワードとフレーズを指定できます。

1. 例として、[完全一致] で、指定したい単語または語句をカンマで区切って入力します。カンマで区切られた各単語またはフレーズは、カード内では独自の行に割り振られます。  
![\[[新しいルール] ページ、[単語またはフレーズ - 完全一致] セクション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-add-category-rules-script.png)  
![\[[新しいルール] ページ、[単語またはフレーズ - 完全一致] セクション、[追加] ボタン。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-add-category-rules-script2.png)

   Contact Lens がこれらのフレーズを読み取る際に使用するロジックは次のとおりです。(Hello AND thank AND you AND for AND calling AND Example AND Corp)OR (we AND value AND your AND business)OR (how AND may AND I AND assist AND you)

   または、**[自然言語 – セマンティック一致]** 条件を使用して、テキストボックスに自然言語ステートメントを入力します。生成 AI は True または False として評価できます。  
![\[[新しいルール] ページの [自然言語 – セマンティック一致] セクション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-add-category-rules-natural-language-semantic.png)

1. さらに単語や語句を追加するには、**[単語またはフレーズのグループを追加する]** をクリックします。次の図では、最初の単語またはフレーズのグループはエージェントが言及する可能性のあるもので、2 番目のグループは顧客が言及する可能性のあるものとして示されています。  
![\[エージェントの [単語またはフレーズ - 完全一致]、単語「AND」、顧客の [単語またはフレーズ] セクション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-add-category-rules-script3.png)

   1. Contact Lens がこれらのフレーズを読み取る際に使用するロジックは次のとおりです。(Hello AND thank AND you AND for AND calling AND Example AND Corp)OR (we AND value AND your AND business)OR (how AND may AND I AND assist AND you)

   1. 2 枚のカードは、AND で結合されます。つまり、最初のカードにある行の 1 つが言及された上に、2 番目のカードにある語句の 1 つが言及される必要があります。

   Contact Lens は、(カード 1) AND (カード 2) のロジックを使用して、これら 2 枚のカードから単語または語句を読み取ります。

1. **[条件を追加]** をクリックして、以下のようなルールを適用します。
   + 特定のキュー
   + 通話が特定の値の属性を持つ場合
   + 感情スコアが特定の値である場合

   例えば、次の図は、シアトルのエージェントが、自動車保険の顧客のために、BasicQueue または Billing and Payments キューを処理している場合に適用されるルールを示しています。  
![\[複数の条件を使用するルール。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-add-category-rules-3.png)

### ステップ 2: アクションを定義する
<a name="add-category-rules-define-actions"></a>

コンタクトの分類に加えて、Amazon Connect に実行させるアクションを定義することもできます。

1. [EventBridge イベントの生成](contact-lens-rules-eventbridge-event.md)

1. [タスクの作成](contact-lens-rules-create-task.md)

1. [ケースを作成](contact-lens-rules-create-case.md)

1. [E メール通知を送信](contact-lens-rules-email.md)

1. [自動評価を送信するルールを作成する](contact-lens-rules-submit-automated-evaluation.md)

### ステップ 3: 確認して保存する
<a name="add-category-rules-review-save"></a>

1. 終了したら、**[保存]** を選択します。

1. 追加されたルールは、その後に発生する新しい通話に対して適用されます。ルールは、Amazon Connect 会話分析が会話を分析するときに適用されます。

   過去に保存された会話にルールを適用することはできません。

# Amazon Connect Contact Lens によってルールまたはカテゴリが評価されない場合
<a name="failed-categories"></a>

音声またはチャットのコンタクトに対するコンタクト後分析で、Amazon Connect Contact Lensがルールまたはカテゴリを評価する際、そのルールまたはカテゴリが評価に失敗する可能性があります。

コンタクト分析でルールまたはカテゴリが評価された場合のカテゴリ結果

1. **正常に一致し、コンタクトに適用されました**。カテゴリが **[コンタクトの詳細]** ページに表示される場合、カテゴリが正常に一致してコンタクトに適用されたことを示します。

1. **正常に評価されましたが、コンタクトには適用されません**。カテゴリが**[コンタクトの詳細]** ページに表示されない場合、カテゴリはコンタクトに適用されませんが、Contact Lensルールによって正常に評価されたことを示します。

1. **コンタクト分析は完了しましたが、特定のカテゴリは評価されませんでした**。カテゴリが評価に失敗した場合でも、そのカテゴリが基準に基づいてコンタクトに適用されないことを意味するのではなく、Contact Lensがこの特定のカテゴリを評価しないままコンタクトの分析を完了したことを示します。

次の図は、評価に失敗したカテゴリが破線の境界線、透明背景、エラーアイコン、および失敗プレフィックスで示されます。評価に失敗したカテゴリにカーソルを合わせると、カテゴリが評価に失敗した理由の詳細が表示されます。

![\[[コンタクトの詳細] ページの失敗したカテゴリ。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/failed-categories1.png)


これらの評価に失敗したカテゴリは、セマンティック一致条件を持つルールからのみ生成されます。考えられる 2 つの理由は次のとおりです。

1. **クォータ超過**: その期間に Gen AI アクションの制限を超えました。 AWS サポートを通じてクォータの引き上げをリクエストできます。

1. **失敗の安全ガイドライン**: セキュリティと品質のガードレールを満たさなかったため、カテゴリ処理に失敗しました。

セマンティック一致ルールに条件を追加して、適用できるコンタクトの数を絞り込むことをお勧めします。これにより、クォータの超過による失敗を回避できます。

## Contact Lens コンタクト後分析出力の顧客 S3 ファイル
<a name="failed-categories-output-file"></a>

評価に失敗したカテゴリは、JobDetails > Skipped Analysis の下にある分析ファイルに表示されます。

`SkippedAnalysis` セクションには、そのコンタクト分析が完了したにもかかわらず、「Skipped」とマークされたコンタクト分析が表示されます。プロパティ「Feature」とReasonCode」が含まれています。 `POST_CONTACT_SUMMARY`は既存の機能の 1 つです。

`CATEGORIZATION` は、スキップされた分析の新機能として追加されました。`SkippedAnalysis` 配列には、分類に`ReasonCode`失敗した一意の ごとに 1 つの一意の分類要素があります。一意の要素ごとに新しい`SkippedEntities`プロパティが導入され、関連する理由コードのために失敗したすべてのカテゴリ名 (および関連するルール IDs) のリストが含まれます。

次の例は、`JobDetails`内の評価に失敗したカテゴリを示します。

```
"JobDetails": {
    "SkippedAnalysis": [
        {
            "Feature": "CATEGORIZATION",
            "ReasonCode": "QUOTA_EXCEEDED", 
            "SkippedEntities": [
                {
                    "CategoryName": "PotentialFraud"
                    "RuleId": "a1130485-9529-4249-a1d4-5738b4883748"
                },
                {
                    "CategoryName": "Refund"
                    "RuleId": "bbbbbbb-9529-4249-a1d4-5738b4883748"
                }
            ]
        },
        {
            "Feature": "CATEGORIZATION",
            "ReasonCode": "FAILED_SAFETY_GUIDELINES", 
            "SkippedEntities": [
                {
                    "CategoryName": "ManagerEscalation"
                    "RuleId": "cccccccc-9529-4249-a1d4-5738b4883748"
                },
            ]
        },
        {
            "Feature": "POST_CONTACT_SUMMARY",
            "ReasonCode": "INSUFFICIENT_CONVERSATION_CONTENT"
        }
    ]
},
```

詳細については、「[通話の Contact Lens 会話分析出力ファイルの例](contact-lens-example-output-files.md)」を参照してください。

# 通話のキーワードとフレーズに基づいて、スーパーバイザーの Contact Lens にリアルタイムアラートを追加する
<a name="add-rules-for-alerts"></a>

フローの[リアルタイム分析を有効にする](enable-analytics.md)と、カスタマーエクスペリエンス上の問題が発生した場合に、自動的にスーパーバイザにアラートを送るためのルールを追加できるようになります。

例えば、Contact Lens は、チャット中に特定のキーワードまたはフレーズが言及された場合、またはその他の条件が検出された場合に、自動的にアラートを送信できます。スーパーバイザは、リアルタイムメトリクス用ダッシュボードの上にアラートを表示します。その後、スーパーバイザは生の通話を聞き取った上で、エージェントにチャット経由でガイダンスを提供することにより問題解決の迅速化を図ります。

次の図は、スーパーバイザがアラートを受け取った際に、リアルタイムメトリクスのレポートに表示される内容の例を示しています。この場合、Contact Lens は、顧客が憤慨しているという状況を検出しています。

![\[[リアルタイムメトリクス] ページ、怒っている顧客のアラート。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-real-time-metrics-alert2.png)


スーパーバイザがライブコールを聞き取る際には、リアルタイムのトランスクリプトに加えて顧客の感情における傾向が Contact Lens から提供され、状況を理解し、適切なアクションを評価する助けになります。このトランスクリプトを使用すると、通話が別のエージェントに転送された場合に、顧客が同じ内容を繰り返し伝える必要もなくなります。

次の画像は、サンプルのリアルタイムトランスクリプトを示しています。

![\[サンプルのリアルタイムトランスクリプト。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-real-time-transcript.png)


## 通話のリアルタイムアラートのためのルールを追加する
<a name="add-category-rules-real-time"></a>

1. **[CallCenterManager]** セキュリティプロファイルが割り当てられたユーザーアカウント、または **[ルール]** のアクセス許可が有効になっているユーザーアカウントを使用して、Amazon Connect にログインします。

1. ナビゲーションメニューで、**[分析と最適化]**、**[ルール]** の順に選択します。

1. **[ルールの作成]**、**[対話分析]** を選択します。

1. ルールに名前を割り当てます。

1. [**実行タイミング**] のドロップダウンリストから、[**リアルタイム分析**] を選択します。

1. [**条件を追加**] をクリックし、一致するタイプを選択します。
   + **完全一致**: 正確に、同じ単語または語句のみを検索します。
   + **パターン一致**: 一致の割合が 100% 未満のものも含めて検索します。単語間の距離を指定することもできます。例えば、「クレジット」という言葉が言及されたコンタクトを検索中に、「クレジットカード」という言葉は除外したいとします。パターン一致カテゴリを定義することで、単語「カード」から 1 ワードの距離より外にある単語「クレジット」を検索できます。
**ヒント**  
セマンティック一致は、リアルタイム分析では使用できません。

1. 指定したい単語または語句をコンマで区切って入力します。リアルタイムルールでは、**言及された**キーワードもしくはフレーズのみをサポートします。  
![\[語句ルール。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-add-alert-rules-1.png)

1. **[追加]** を選択します。カンマで区切られた各単語またはフレーズには、それぞれ独自の行が割り振られます。  
![\[複数のフレーズを持つ語句ルール、1 行に 1 つずつ。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-add-alert-rules-2.png)

   Contact Lens では、これらの単語やフレーズを、(あなたの OR 管理者と OR 話して OR ください) OR (これでは OR まったく OR 役に OR 立ちません) OR (あなたの OR 上司と OR 話して OR ください) などのロジックで読み取ります。

1. さらに単語や語句を追加するには、[**単語および語句のグループを追加**] をクリックします。次の図の最初のグループでは、エージェントが言及する可能性のある単語またはフレーズを示しています。2 番目のグループは、顧客が言及することが想定されるフレーズを示します。  
![\[顧客とエージェントについて複数のフレーズを持つ語句ルール。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-add-category-rules-script3.png)

   1. この最初のカードでは、Contact Lens は各行を OR 条件で読み取ります。例: (はい) OR (Example OR 株式会社に OR コンタクト OR いただき OR ありがとう OR ございます) OR (当社では OR 皆様の OR ビジネスを OR 大切にしています)。

   1. 2 枚のカードは、AND で結合されます。つまり、最初のカードにある行の 1 つが言及された上に、2 番目のカードにある語句の 1 つが言及される必要があります。

   Contact Lens は、(カード 1) AND (カード 2) のロジックを使用して、これら 2 枚のカードから単語または語句を読み取ります。

1. **[条件を追加]** をクリックして、以下のようなルールを適用します。
   + 特定のキュー
   + 通話が特定の値の属性を持つ場合
   + 感情スコアが特定の値である場合

   例えば、次の図は、シアトルのエージェントが、自動車保険の顧客のために、BasicQueue または Billing and Payments キューを処理している場合に適用されるルールを示しています。  
![\[複数の条件を持つ語句ルール。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-add-category-rules-3.png)

1. 終了したら、**[次へ]** を選択します。

1. **[コンタクトカテゴリの割り当て]** ボックスで、カテゴリの名前を追加します。例: **[準拠]** または **[非準拠]** 。

1. **[次へ]** を選択し、**[保存して公開]** を選択します。

# チャットのキーワードとフレーズに基づいて、スーパーバイザーの Contact Lens にリアルタイムアラートを追加する
<a name="add-rules-for-alerts-chat"></a>

フローの[リアルタイム分析を有効にする](enable-analytics.md)と、カスタマーエクスペリエンス上の問題が発生した場合に、自動的にスーパーバイザにアラートを送るためのルールを追加できるようになります。

例えば、Contact Lens は、チャット中に特定のキーワードまたはフレーズが言及された場合、またはその他の条件が検出された場合に、自動的にアラートを送信できます。その後、スーパーバイザーは **[コンタクトの詳細]** ページを表示して、問題を確認するためにリアルタイムチャットを行うことができます。このページで、スーパーバイザーはチャットに参加し、チャットを介してエージェントにガイダンスを提供し、問題をより迅速に解決できます。

次の画像は、アラートを受け取った際に、スーパーバイザーの **[コンタクトの詳細]** ページに表示される内容の例を示しています。この場合、Contact Lens は、顧客が憤慨しているという状況を検出しています。

![\[コンタクトの詳細ページ、リアルタイムチャットの顧客が立腹している場合のアラート\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-realtime-alert-chat.png)


スーパーバイザーがチャットをモニタリングする際、Contact Lens は、リアルタイムのトランスクリプトと顧客感情の傾向を提供して、スーパーバイザーが状況を把握し、適切なアクションを評価するうえでの支援を提供します。このトランスクリプトを使用すると、通話が別のエージェントに転送された場合に、顧客が同じ内容を繰り返し伝える必要もなくなります。

## チャットのリアルタイムアラートのためのルールを追加する
<a name="add-category-rules-real-time"></a>

1. **[CallCenterManager]** セキュリティプロファイルが割り当てられたユーザーアカウント、または **[ルール]** のアクセス許可が有効になっているユーザーアカウントを使用して、Amazon Connect にログインします。

1. ナビゲーションメニューで、**[分析と最適化]**、**[ルール]** の順に選択します。

1. **[ルールの作成]**、**[対話分析]** を選択します。

1. ルールに名前を割り当てます。

1. **[実行タイミング]** のドロップダウンリストから、[**リアルタイム分析**] を選択します。

1. **[条件の追加]** をクリックして、一致タイプを選択します。次の画像は、**[感情 - 期間]** 条件に設定されたルールを示しています。  
![\[リアルタイムチャット分析ルールの条件\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-realtime-chat-rule2.png)

   次のオプションから選択します。
   + **完全一致**: 正確に、同じ単語または語句のみを検索します。
   + **パターン一致**: 一致の割合が 100% 未満のものも含めて検索します。単語間の距離を指定することもできます。例えば、「クレジット」という言葉が言及されたコンタクトを検索中に、「クレジットカード」という言葉は除外したいとします。パターン一致カテゴリを定義することで、単語「カード」から 1 ワードの距離より外にある単語「クレジット」を検索できます。
**ヒント**  
セマンティック一致は、リアルタイム分析では使用できません。

1. 指定したい単語または語句をコンマで区切って入力します。リアルタイムルールでは、**言及された**キーワードもしくはフレーズのみをサポートします。  
![\[語句ルール。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-add-alert-rules-1.png)

1. **[追加]** を選択します。カンマで区切られた各単語またはフレーズには、それぞれ独自の行が割り振られます。  
![\[複数のフレーズを持つ語句ルール、1 行に 1 つずつ。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-add-alert-rules-2.png)

   Contact Lens では、これらの単語やフレーズを、(あなたの OR 管理者と OR 話して OR ください) OR (これでは OR まったく OR 役に OR 立ちません) OR (あなたの OR 上司と OR 話して OR ください) などのロジックで読み取ります。

1. さらに単語や語句を追加するには、**[単語および語句のグループを追加]** をクリックします。次の画像の最初のグループは、エージェントが言及する可能性のある単語またはフレーズを示しています。2 番目のグループは、顧客が言及することが想定されるフレーズを示しています。  
![\[顧客とエージェントについて複数のフレーズを持つ語句ルール。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-add-category-rules-script3.png)

   1. この最初のカードでは、Contact Lens は各行を OR 条件で読み取ります。例: (はい) OR (Example OR 株式会社に OR コンタクト OR いただき OR ありがとう OR ございます) OR (当社では OR 皆様の OR ビジネスを OR 大切にしています)。

   1. 2 枚のカードは、AND で結合されます。つまり、最初のカードのいずれかの行、さらに 2 番目のカードのいずれかのフレーズが言及される必要があることを意味します。

   Contact Lens は、(カード 1) AND (カード 2) のロジックを使用して、これら 2 枚のカードから単語または語句を読み取ります。

1. **[条件を追加]** をクリックして、以下のようなルールを適用します。
   + 特定のキュー
   + 通話が特定の値の属性を持つ場合
   + 感情スコアが特定の値である場合

   例えば、次の図は、シアトルのエージェントが、自動車保険の顧客のために、BasicQueue または Billing and Payments キューを処理している場合に適用されるルールを示しています。  
![\[複数の条件を持つ語句ルール。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-add-category-rules-3.png)

1. 終了したら、**[次へ]** を選択します。

1. **[コンタクトカテゴリの割り当て]** ボックスで、カテゴリの名前を追加します。例: **[準拠]** または **[非準拠]** 。

1. **[アクションを追加]** をクリックして、条件が満たされた場合に Amazon Connect が実行すべきアクションを指定します。スーパーバイザーのアラートの設定については、メール通知を使用するか、EventBridge とのカスタム統合を開発できます。  
![\[[EventBridge イベントを生成] と [E メール通知を送信]\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-realtime-chat-rule3.png)

1. **[E メール通知を送信]** を選択する場合は、ページを完了する方法と E メールの制限の詳細について、「[E メール通知を送信するルールを作成する](contact-lens-rules-email.md)」を参照してください。

   **[EventBridge イベントを生成]** を選択する場合は、ページを完了する方法と EventBridge イベントタイプへのサブスクリプションの詳細について、「[EventBridge イベントを生成するルールを作成する](contact-lens-rules-eventbridge-event.md)」を参照してください。

# E メール通知を送信するルールを作成する
<a name="contact-lens-rules-email"></a>

組織内の人に E メール通知を送信する ルールを作成できます。これにより、コンタクトセンターで発生する可能性のある問題に、より迅速に対応できるようになります。例えば、以下のものを通知するルールを作成できます。
+ アカウントのエスカレーションまたはキャンセルがあった場合のチームスーパーバイザー。
+ 通話中に特定の単語が言及された場合のコンタクトセンター内のグループ。
+ コンタクトセンターで、通話中に意見の相違が生じた場合に指定される担当者。
+ Amazon Connect 会話分析で分析または評価された問い合わせを処理したエージェント。

**重要**  
すべての E メールは `no-reply@amazonconnect.com` から送信されます。
SAML ユーザーにはプライマリ E メールアドレスがなく、ユーザー名ログインがあります。ユーザー名ログインは通常 E メールアドレスですが、必須ではありません。これらのユーザーの場合、Amazon Connect 内のフィールドラベル **[E メールアドレス] **は空です。SAML ユーザーに通知メールを送信する場合、セカンダリメールアドレスを設定しておく必要があります。設定されていない場合、そのユーザーにはメール通知が届きません。セカンダリ E メールが設定されていない場合、ユーザーは E メールを受信しません。

**E メール通知を送信する ルールを作成するには**

1. ルールを作成するために[必要なアクセス許可](permissions-for-rules.md)を持つユーザーアカウントを使用して、Amazon Connect にログインします。

1. **[分析と最適化]** 、**[ルール]** に移動します。

1. [ルール] ページで、[ルールを作成] を選択し、ドロップダウンリストから [会話分析] または [評価フォーム] を選択します。  
![\[[ルール] ページ、[ルールを作成] ドロップダウンリスト、[Contact Lens] オプション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-create-rule.png)

1. **[新しいルール]** ページで、ルールの条件を定義します。詳細については、以下を参照してください。
   + [会話分析のルール条件を定義する](build-rules-for-contact-lens.md#rule-conditions)
   + [評価フォームのルール条件を定義します](create-evaluation-rules.md#rule-conditions-eval)。

1. ルールのアクションを定義する場合は、アクションの **[E メール通知を送信]** を選択します。  
![\[[新しいルール] ページ、[アクションを追加] ドロップダウンリスト、[E メール通知を送信] アクション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-rules-email-action.png)

1. **[E メール通知の送信]** セクションで、次のいずれかのオプションを使用して E メールを受信するユーザーを選択します。
   + **ログインによる受信者の選択: 指定したユーザーに E メールをルーティングします。**
**重要**  
SAML ユーザーを取得するには、セカンダリ E メールを設定する必要があります。セカンダリ E メールが設定されていない場合、ユーザーは E メールを受信しません。
   + **タグによる受信者の選択**。エージェントのタグ値に基づいて、E メールを動的にルーティングします。
   + **連絡先を処理したエージェントを選択してください**。コンタクトを処理したエージェントに E メールをルーティングします。

   次の図では、ルールはコンタクトを処理したエージェントに通知メールを送信します。  
![\[E メール通知の送信セクション、「連絡先を処理したエージェントを選択してください」オプション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-rules-email-tag.png)

1. **[件名]** に、E メールの件名を追加します。**[本文]** に、E メール通知の内容を追加します。

   **@ を使用して、ルールの実行中に入力される動的変数を追加します**。会話分析ルールと評価フォームルールでは、ルールに一致する問い合わせのルール**名、インスタンス URL、連絡先、エージェント**、**キュー**情報を追加できます。評価フォームルールでは、評価 **ID** を挿入することもできます。  
![\[E メールの本文、使用可能な変数のリスト。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/rules-send-email-dynamic-variables.png)
**注記**  
他のルールタイプでは、さまざまな変数がサポートされています。  
リアルタイムメトリクスルールを使用すると、アラートをトリガーするためにしきい値を超えた**エージェント、キュー、フロー、またはルーティングプロファイル**の**ルール名、インスタンス URL**、リストを入力できます。
ケースのルールでは、**ルール名、インスタンス URL、****ケース ID** を挿入できます。

1. [**次へ**] を選択します。選択を確認して、**[保存]** を選択します。

1. 追加されたルールは、その後に発生する新しい通話に対して適用されます。ルールは、Amazon Connect 会話分析が会話を分析するときに適用されます。

   過去に保存された会話にルールを適用することはできません。

## E メールの制限
<a name="email-notification-limits"></a>
+ Amazon Connect には、デフォルトで 1 日あたり 500 通という上限があります。この上限を超えると、Amazon Connect インスタンスは 24 時間ブロックされ、それ以上の E メールが送信できなくなります。これは、E メールにバウンス制限とクレーム制限が適用されるためです。詳細については、「[Amazon SES における E メールの配信性能の概要](https://docs.aws.amazon.com/ses/latest/dg/send-email-concepts-deliverability.html)」の「**バウンス**」と「**苦情**」セクションを参照してください。
+ すべての E メールは `no-reply@amazonconnect.com` から送信されており、カスタマイズすることはできません。
+ SAML ユーザーにはプライマリ E メールアドレスがなく、ユーザー名ログインがあります。ユーザー名ログインは通常 E メールアドレスですが、必須ではありません。これらのユーザーの場合、Amazon Connect 内のフィールドラベル **[E メールアドレス] **は空です。SAML ユーザーに通知メールを送信する場合、セカンダリメールアドレスを設定しておく必要があります。設定されていない場合、そのユーザーにはメール通知が届きません。セカンダリ E メールが設定されていない場合、ユーザーは E メールを受信しません。

E メールを送信するためのデフォルトのオプションが要件を満たしていない場合は、テクニカルアカウントマネージャーまたは に連絡して サポート 、Amazon Connect サービスチームと相談してください。

# EventBridge イベントを生成するルールを作成する
<a name="contact-lens-rules-eventbridge-event"></a>

リアルタイムまたは通話後/チャット後にイベントを受け取り、それを使用して事後の通知やアラートをトリガーしたり、Amazon Connect 以外のレポートを集約したりできます。このデータは多くのことに利用できます。例: 
+ QuickSight ダッシュボードでのリアルタイムアラートの取得。
+ Amazon Connect の外部で集計したレポートの作成。
+ CRM によるデータの結合。
+ 通知ソリューションを EventBridge に接続し、特定の種類のすべてのイベントが、一日の終了時点で、それぞれ対応する受信トレイに確実に送られるようにします。ペイロードからは、コンタクト、エージェント、およびキューを知ることができます。

**注記**  
 リアルタイムメトリクスルールの場合、ルールをトリガーするリソースは**リソース**の下に一覧表示されます。たとえば、平均キュー応答時間などのキューメトリクスをアラートするルールを作成すると、しきい値を超えたキューのリストがリソースに表示されます。

**EventBridge イベントを生成するルールを作成する**

1. ルールの作成時、アクションとして [**EventBridge イベントの生成**] を選択します。  
![\[[新しいルール] ページ、[これらのアクションを実行] セクション、[アクションを追加] ドロップダウンリスト、[EventBridge イベントを生成] アクション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-rules-events-example1.png)

1. [**アクション名**]に、イベントペイロードの名前を入力します。
**注記**  
[**アクション名**] に割り当てた値は、EventBridge ペイロードに表示されます。イベントの集約時、このアクション名によって、イベントを処理するための追加のディメンションが提供されます。例えば、カテゴリ名が 200 個あり、その中で特定のアクション名 (NOTIFY\$1CUSTOMER\$1RETENTION など) を持つものが 50 個しかないということがあります。  
![\[[これらのアクションを実行] セクション、[コンタクトカテゴリの割り当て] セクション、[EventBridge イベントを生成] セクション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-rules-add-eb-action.png)

1. **[次へ]** を選択します。確認後、[**保存**] をクリックします。

1. 追加されたルールは、その後に発生する新しい通話に対して適用されます。ルールは、Amazon Connect 会話分析が会話を分析するときに適用されます。

   過去に保存された会話にルールを適用することはできません。

1. EventBridge データの活用のために、EventBridge イベントタイプにサブスクライブします。下記の手順を参照してください。

## EventBridge イベントタイプにサブスクライブする
<a name="subscribe-eb-eventtype"></a>

EventBridge イベントタイプにサブスクライブするには、次の条件を満たすカスタム EventBridge ルールを作成します。
+ "source" = "aws.connect"
+ "detail-type" = "Contact LensPost Call Rules Matched" または次のいずれか:
  + **Contact Lens 一致するリアルタイムルール**
  + **Contact Lens 一致するリアルタイムチャットルール**
  + **Contact Lens チャット後のルールが一致**
  +  **Contact Lens 一致する評価ルール**
  + **メトリクスルールが一致**

次の画像は、[新しいルール] ページの [イベントパターン] セクションにあるこれらの設定を示しています。

![\[[新しい EventBridge ルール] ページの [イベントパターン] セクション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-eb-rules-events.png)


### EventBridge ペイロードの例
<a name="eb-payload"></a>

以下は、**Contact Lens[Post Call Rules Matched]** が選択されている場合の、EventBridge ペイロードの表示例です。

```
{
 "version": "0", // set by EventBridge
 "id": "aaaaaaaa-bbbb-cccc-dddd-bf3703467718", // set by EventBridge
 "source": "aws.connect",
 "detail-type": "Contact Lens Post Call Rules Matched", 
 "account": "your AWS account ID",
 "time": "2020-04-27T18:43:48Z",
 "region": "us-east-1", // set by EventBridge
 "resources": ["arn:aws:connect:us-east-1:your AWS account ID:instance/instance-ARN"],
 "detail": {
    "version": "1.0",
    "ruleName": "ACCOUNT_CANCELLATION", // Rule name
    "actionName": "NOTIFY_CUSTOMER_RETENTION",  
    "instanceArn": "arn:aws:connect:us-east-1:your AWS account ID:instance/instance-ARN",
    "contactArn": "arn:aws:connect:us-east-1:your AWS account ID:instance/instance-ARN/contact/contact-ARN",
    "agentArn": "arn:aws:connect:us-east-1:your AWS account ID:instance/instance-ARN/agent/agent-ARN",
    "queueArn": "arn:aws:connect:us-east-1:your AWS account ID:instance/instance-ARN/queue/queue-ARN",
    }
}
```

以下は、**[Contact Lens Realtime Rules Matched]** が選択されている場合のペイロードの表示例です。

```
{
 "version": "0", // set by EventBridge
 "id": "aaaaaaaa-bbbb-cccc-dddd-bf3703467718", // set by EventBridge
 "source": "aws.connect",
 "detail-type": "Contact Lens Realtime Rules Matched", 
 "account": "your AWS account ID",
 "time": "2020-04-27T18:43:48Z",
 "region": "us-east-1", // set by EventBridge
 "resources": ["arn:aws:connect:us-east-1:your AWS account ID:instance/instance-ARN"],
 "detail": {
     "version": "1.0",
     "ruleName": "ACCOUNT_CANCELLATION", // Rule name
     "actionName": "NOTIFY_CUSTOMER_RETENTION",
      "instanceArn": "arn:aws:connect:us-east-1:your AWS account ID:instance/instance-ARN",
     "contactArn": "arn:aws:connect:us-east-1:your AWS account ID:instance/instance-ARN/contact/contact-ARN",
     "agentArn": "arn:aws:connect:us-east-1:your AWS account ID:instance/instance-ARN/agent/agent-ARN",
     "queueArn": "arn:aws:connect:us-east-1:your AWS account ID:instance/instance-ARN/queue/queue-ARN",
      }
}
```

# タスクを生成するルールを作成する
<a name="contact-lens-rules-create-task"></a>

Amazon Connect ルールを使用すると、タスクを生成できます。これにより、所有者と追跡可能なアクションを作成し、タスクの完了と生産性をすぐに可視化できます。

以下にいくつかの例を示します。
+ 顧客が不正である場合は、問い合わせを確認します。例えば、顧客が不正行為を示唆するような単語やフレーズを言及した場合のための、フォローアップタスクを作成できます。
+ 顧客が、より高い製品や追加のサポートに関する提案につながるような、特定のトピックについて言及した場合は、フォローアップを行います。
+ 会話中に顧客の感情が非常に低く、顧客が不満を表明したなど、特定のシナリオでエージェントのパフォーマンスを評価します。
+ 平均キュー応答時間が過去 1 時間の許容しきい値を超えたキューに追加のエージェントを割り当てるなど、運用上のアクションを実行します。

**タスクを作成するルールを作成する**

1. ルールの作成時に、アクションとして **[タスクを作成]** を選択します。  
![\[[新しいルール] ページ、[アクションを追加] ドロップダウンメニュー、[タスクを作成] オプション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-rules-add-task-example1.png)

1. タスクフィールドには以下のように入力します。  
![\[[新しいルール] ページ、[コンタクトカテゴリの割り当て] セクション、[タスクを作成] セクション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-rules-add-tasks-example2.png)

   1. **カテゴリ名**: カテゴリ名はコンタクトレコード内に記載されます。最大長: 200 文字。

   1. **名前**: 名前は、エージェントのコンタクトコントロールパネル (CCP) に表示されます。最大長: 512 文字。

   1. **説明**: 説明は、エージェントのコンタクトコントロールパネル (CCP) に表示されます。最大長: 4096 文字。
**注記**  
 名前と説明で、**@ を使用して、ルールの実行中に入力される動的変数を追加します**。会話分析ルールと評価フォームルールでは、ルールに一致する問い合わせのルール**名、インスタンス URL、連絡先、エージェント**、**キュー**情報を追加できます。評価フォームルールでは、評価 **ID** を挿入することもできます。  

![\[動的変数を含むタスクアクション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/rules-create-task-dynamic-variables.png)

その他のルールタイプでは、さまざまな変数がサポートされています。  
リアルタイムメトリクスルールを使用すると**、アラートをトリガーするためにしきい値を超えたエージェント、キュー、フロー、またはルーティングプロファイルのルール名、インスタンス URL、リスト**を入力できます。
ケースのルールでは、**ルール名、インスタンス URL、****ケース ID** を挿入できます。

   1. **タスクリファレンス名**: これは、エージェントの CCP に自動的に表示されるデフォルトの参照です。
      + リアルタイムルールの場合、タスク参照はリアルタイムの詳細ページにリンクします。
      + 通話後/チャット後ルールの場合、タスク参照は **[コンタクトの詳細]** ページにリンクします。

   1. **追加のリファレンス名**: 最大長:4096 文字で指定します。参照は最大 25 個まで追加できます。

   1. **フローを選択**: タスクの適切な所有者にタスクをルーティングするように設計された、コンタクトフローを選択します。フローを、ドロップダウンのオプションリストに表示するには、保存して公開する必要があります。

1. 次の画像は、この情報がエージェントの CCP にどのように表示されるかを示しています。  
![\[エージェントのコンタクトコントロールパネルのタスク。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-rules-add-tasks-ccp.png)

   この例では、エージェントは [**名前**]、[**説明**]、および **[タスクリファレンス名]**の値を見ることができます。

   1. **[Name]** (名前) = **Action-Required-Contact Lens- ba2cf8fe....** 

   1. **説明** = **Test**

   1. **タスクリファレンス名**= taskRef 、およびリアルタイム詳細ページへの URL

1. **[Next]** (次へ) を選択します。確認後、タスク の [**保存**] をクリックします。

1. 追加されたルールは、その後に発生する新しい通話に対して適用されます。ルールは、Amazon Connect 会話分析が会話を分析するときに適用されます。

   過去に保存された会話にルールを適用することはできません。

## 音声とタスクコンタクトレコードはリンクされています
<a name="rules-voice-task-ctrs"></a>

ルールによってタスクが作成されると、そのタスク用のコンタクトレコードが自動的に生成されます。これは、タスクを作成するためのルールの基準を満たした音声通話またはチャットのコンタクトレコードにリンクされています。

例えば、コンタクトセンターに着信があった場合に、CTR1 を生成します。

![\[電話がかかってきたときの最初のコンタクト記録に関する情報。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-rules-attributes-example1.png)


ルールエンジンによってタスクが生成されます。タスクの問い合わせレコードの中で、この音声での問い合わせレコードは、[**過去のコンタクト ID**] () とともに表示されています。加えて、タスクのコンタクトレコードでは、音声でのコンタクトレコードからコンタクト属性を継承します (下の図を参照)。

![\[タスクのコンタクト記録 2。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-rules-attributes-example2.png)


## ContactId、AgentId、QueueId、RuleName の動的な値
<a name="rules-task-attributes"></a>

括弧 [] 内の動的な値は、[コンタクト属性](what-is-a-contact-attribute.md)と呼ばれます。コンタクト属性を使用すると、コンタクトに関する一時的な情報を保存して、フロー内で使用できます。

ContactId、AgentId、QueueId、RuleName など、括弧 [ ] で囲まれたコンタクト属性を追加している場合、それらの値は、異なる問い合わせレコード間での受け渡しが可能です。フローの問い合わせ属性を使用して、それに応じてコンタクトの分岐やルーティングができます。

詳細については、「[問い合わせ属性の使用](connect-contact-attributes.md)」を参照してください。

# Contact Lens でケースの関連タスクを終了させるルールを作成する
<a name="contact-lens-rules-ends-tasks"></a>

**関連タスクを終了させるルールを作成するには**

1. ルールを作成したら、イベントソースとして **[新しいケースが更新されました]** を選択します。  
![\[[新しいルール] ページ、[アクションを追加] ドロップダウンメニュー、[ケースが追加されました] オプション\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-rules-update-case-1.png)

1. ルールの作成時に、アクションとして **[タスクの終了]** を選択します。  
![\[[新しいルール] ページ、[アクションを追加] ドロップダウンメニュー、[タスクの終了] オプション\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-rules-ends-tasks-2.png)  
![\[[タスクの終了] オプション\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-rules-ends-tasks-3.png)

1. [**次へ**] を選択します。確認後、**[保存]** をクリックします。

1. 追加されたルールは、その後に発生する新しい通話に対して適用されます。ルールは、Amazon Connect 会話分析が会話を分析するときに適用されます。

   過去に保存された会話にルールを適用することはできません。

# ケースを作成するルールを作成する
<a name="contact-lens-rules-create-case"></a>

**ケースを作成するルールを作成するには**

1. ルールを作成するときは、**通話後分析が利用可能か**、**チャット後分析が利用可能か**、E **メール分析がイベントソースとして利用可能**かを選択します。  
![\[条件の定義ページ、通話後分析が利用可能、チャット後分析が利用可能、または E メール分析がイベントソースとして利用可能を選択します。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-rules-create-case-1.png)

1. **[次へ]** を選択します。

1. [アクション] ページで、アクションの **[ケースを作成]** をクリックします。  
![\[[新しいルール] ページ、[アクションを追加] ドロップダウンメニュー、[ケースを作成] オプション\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-rules-create-case-2.png)

1. **[ケースを作成]** カードで、**[ケーステンプレート]** を選択します。  
![\[[ケースを作成] カードで、[ケーステンプレート] を選択します。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-rules-create-case-3.png)

1. **[必須フィールド]** に入力し、**[オプションのケースフィールド]** を追加して、ケースデータにデータを入力します。
**注記**  
このアクションを実行するには、顧客プロフィールがコンタクトに関連付けられている必要があります。詳細については、「[Cases を有効にする](enable-cases.md)」を参照してください。  
![\[[必須フィールド] に入力し、[オプションのケースフィールド] を追加して、ケースデータにデータを入力します。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-rules-create-case-4.png)

1. [**次へ**] を選択します。確認後、**[保存]** をクリックします。

1. 追加されたルールは、その後に発生する新しい通話に対して適用されます。ルールは、Amazon Connect 会話分析が会話を分析するときに適用されます。

   過去に保存された会話にルールを適用することはできません。

# ケースを更新するルールを作成する
<a name="contact-lens-rules-update-case"></a>

**ケースを更新するルールを作成するには**

1. ルールを作成する際、イベントソースとして **[ケースが更新されました]** を選択し、**[次へ]** を選択します。  
![\[新しいルールページ、アクションを追加ドロップダウンメニュー、ケース更新済オプション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-rules-update-case-1.png)

1. ルールの作成時に、アクションとして **[ケースを更新]** を選択します。  
![\[[新しいルール] ページ、[アクションを追加] ドロップダウンメニュー、[ケースを更新] オプション\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-rules-update-case-2.png)

1. 更新する任意のケースフィールドをドロップダウンから選択して、新しい値を定義します。  
![\[更新する任意のケースフィールドをドロップダウンから選択して、新しい値を定義します。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-rules-update-case-3.png)  
![\[更新する任意のケースフィールドをドロップダウンから選択して、新しい値を定義します。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-rules-update-case-4.png)

1. [**次へ**] を選択します。確認後、**[保存]** をクリックします。

1. 追加されたルールは、その後に発生する新しい通話に対して適用されます。ルールは、Amazon Connect 会話分析が会話を分析するときに適用されます。

   過去に保存された会話にルールを適用することはできません。

# Contact Lens で自動評価を送信するルールを作成する
<a name="contact-lens-rules-submit-automated-evaluation"></a>

Contact Lens では、会話分析から得られるインサイトとメトリクスを使用して、評価を自動的に入力して送信できます。

## ステップ 1: 評価フォームのオートメーションを設定する
<a name="auto-eval-prereq-1"></a>

自動評価を送信するルールを作成する前に、評価フォームのオートメーションを設定する必要があります。詳細な手順については、[評価フォームを作成する](create-evaluation-forms.md) の「[ステップ 6: 自動評価を有効にする](create-evaluation-forms.md#step-automate)」を参照してください。

以下が手順の概要になります。

1.  評価フォームのすべての質問に対してオートメーションを設定します。

1.  評価フォームを有効にする前に、**[評価の自動送信を有効にする]** をオンにします。

1.  オートメーションが設定されている評価フォームを有効にする際、次の図に示すように、ルールを作成するためのプロンプトが表示されます。  
![\[ルール作成用のプロンプト。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/create-a-rule-to-submit-automated-evaluations-1.png)

1.  [**ルールの作成**] を選択します。

1. **[ルール]**ページで、選択した評価フォームを使用して自動的に評価されるコンタクトを指定するルールを定義します。次の手順で説明します。

## ステップ 2: 自動的に評価されるコンタクトを指定するルールを定義する
<a name="auto-eval-prereq-2"></a>

次の 2 種類のルールを使用して自動評価をトリガーできます。
+ Contact Lens が分析を完了した後にコンタクトを自動的に評価する**会話分析**ルール。
+ **一般的な評価フォーム**の結果として状況固有の評価フォームをトリガーするために使用できる評価フォームルール。例えば、評価の質問に対する回答が*「製品の購入に関心のある顧客が**は*い」だった場合、*エージェントの売上パフォーマンス*を測定する別の評価フォームをトリガーできます。

### 会話分析ルールを使用して自動評価をトリガーする
<a name="conversational-analytics-rule"></a>

これは、フォームのアクティブ化中に自動評価を送信するルールを作成するときに選択されるデフォルトのルールタイプです。ルールページの**ルールの作成**、**会話分析**を選択して、このような**ルール**を作成することもできます。

1. ルールを作成する際は、イベントソースとして **[Contact Lens 通話後分析が利用可能]** または **[Contact Lens チャット後分析が利用可能]** を選択します。これら 2 つのオプションは、次の画像にハイライト表示されています。  
![\[通話後分析とチャット後分析のオプション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/defined-conditions-evaluations.png)

1. 自動的に評価されるコンタクトを識別するための条件を定義し、次**へ**を選択します。

   評価フォームが適用される特定のエージェントまたは連絡先のセットを識別するために使用できる条件の例は次のとおりです。
   + エージェント
   + [エージェント階層]
   + AI エージェント
   + [キュー]
   + 開始メソッド

   さらに、次のような条件を使用して、接続やその他の問題が原因で早期に終了した可能性のある問い合わせを除外できます。
   + インタラクション期間 (30 秒以上など)
   + 通話時間 (例えば、顧客が 10 秒以上話しているなど)
   + 問題が存在しない場合、または会話中に既知の接続やデバイスの問題がない場合に発生する可能性のある切断の問題

1. **アクションの定義**ページで、ルールを識別するためのカテゴリ名を指定します。

1. **[アクションの追加]** を選んで、**[自動評価の送信]** を選択し、評価の自動送信に使用するフォームを選択します。(フォームをアクティブ化するときにルールを作成した場合、このアクションはページで既に選択されています。)

1. [**次へ**] を選択します。確認後、**[保存して公開]** をクリックします。

追加されたルールは、その後に発生する新しい通話に対して適用されます。ルールは、Amazon Connect 会話分析が会話を分析するときに適用されます。

**重要**  
過去に保存された会話にルールを適用することはできません。

### 評価フォームルールを使用して自動評価をトリガーする
<a name="conversational-analytics-rule-2"></a>

1. **[ユーザー]** ページに移動します。**[ルールを作成]**、**[評価フォーム]** を選択します。

1. **[次の場合]** で、**Contact Lens評価結果が利用可能**になったときにイベントソースを選択します。

1. **[条件を追加]** を選択して、状況固有の評価をトリガーします。例えば、次のようになります。
   + 次の図に示す、別の評価に対する具体的な回答。  
![\[別の評価に対する特定の回答。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/add-condition-1.png)
   + 次の図に示す別の評価フォームのスコア。  
![\[別の評価フォームのスコア。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/add-condition-2.png)

1. **[アクションの追加]** を選んで、**[自動評価の送信]** を選択し、評価の自動送信に使用するフォームを選択します。

1. [**次へ**] を選択します。確認後、**[保存して公開]** をクリックします。

## よくある質問 (FAQ)
<a name="auto-eval-faq"></a>

1.  **自動評価が、手動で提出された評価よりも優先されることはありますか?**

    いいえ。手動で提出された評価よりも自動評価が優先されることはありません。評価が既に存在する場合、そのコンタクトに対する自動評価は失敗し、アカウント管理者はこうした失敗通知を CloudWatch 内で確認できます。

1.  **自動評価をどのように特定できますか?**

    評価が自動的に送信されると、**[コンタクトの詳細]** ページに「Contact Lens オートメーションによる送信」と表示されます。評価者が自動評価を編集して再送信した場合、「送信者」は評価者の名前になります。

1.  **複数の評価フォームを使用して 1 件のコンタクトを自動評価することはできますか?**

    はい。複数の評価フォームを使用して、1 件のコンタクトの評価を自動送信できます。異なる評価フォームを使用して自動評価を送信するための、複数のルールを作成する必要があります。

# Contact Lens のルールで単語条件またはフレーズ条件を使用する
<a name="exact-match-pattern-match-semantic-match"></a>

Contact Lens **会話分析**ルールでは、単語またはフレーズの条件を指定できます。単語またはフレーズの完全一致、セマンティック一致、パターン一致を選択できます。このトピックでは、各タイプの一致について説明します。

**注記**  
3 つの一致タイプはすべて大文字と小文字が区別されません。例えば、単語を「請求」と指定した場合は、「請求」という単語を含むトランスクリプトとも一致します。

## 完全一致の使用方法
<a name="exact-match"></a>

**[完全一致]** は単数形または複数形も含めた完全な一致です。

次のいずれかの方法で、キーワードまたはフレーズを追加できます。
+ **[キーワードまたはフレーズを入力]** を選択して、テキストボックスに値を手入力します。複数の値はコンマで区切って入力できます。  
![\[UI の [キーワードまたはフレーズを入力] オプション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/exact-match-1.png)
+ **[ワードコレクションからインポート]** を選択して、定義済みの単語やフレーズをワードコレクションからインポートします。  
![\[UI の [ワードコレクションからインポート] オプション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/exact-match-2.png)

ワードコレクションは、ユーザーワードコレクションとシステムワードコレクションの 2 種類に分類されます。システムワードコレクションは Amazon Connect によって事前定義されており、ユーザーが編集することはできません。ユーザーワードコレクションは、ユーザーが作成、読み取り、更新、削除 (CRUD) できます。詳細については、「[Contact Lens に会話分析ルールを作成する際にワードコレクションを管理する](manage-word-collections.md)」を参照してください。

## パターン一致の使い方
<a name="pattern-match"></a>

関連する単語を一致させたい場合は、検索条件にアスタリスク (\$1) を追加します。例えば、「近所」のすべてのバリエーション (近所の人、家の近所) を一致させるには、**[近隣]\$1** とタイプします。

**パターン一致**では、以下を指定することができます。
+ **値のリスト**: これは、交換可能な値を持つ表現を作成する場合に便利です。この表現は、次の例のようになります。

  *["北京" または "ロンドン" または "ニューヨーク" または "パリ" または "東京"] の停電についてのコンタクトです*

  次に、値のリストに、北京、ロンドン、ニューヨーク、パリ、東京の都市名を追加します。

  値を使用する利点は、複数の式を作成する必要はなく、1 つの式ですむことです。これにより、作成する必要があるカードの数が減ります。
+ **数値**: このオプションは、コンプライアンススクリプトで最も頻繁に使用されます。または、数値が表れる位置が既知であるコンテキストを探している場合にも使用します。この手法により、複数ではなく 1 つの式の中に、すべての条件を記述することができます。例えば、エージェントのコンプライアンススクリプトは、次のように記述します。

  *私はこの業界で [num] 年間働いていて、この件に関して、顧客を担当させていただきます。*

  または、顧客は次のように言うこともあり得ます。

  *私は [num] 年間、会員です。*
**注記**  
チャットまたは音声トランスクリプトから数字を抽出する場合、数字 (0～9) のみが認識されます。
音声コンタクトの場合、一部の言語では、番号の文字[起こ](https://docs.aws.amazon.com/transcribe/latest/dg/how-numbers.html)し中に音声をデジタル形式に変換できない場合があります。つまり、このような場合、数値パターンマッチングは機能しない可能性があります。数値文字起こしをサポートする言語のリストについては、*Amazon Transcribe デベロッパーガイド*[」の「サポートされている言語と言語固有の機能](https://docs.aws.amazon.com/transcribe/latest/dg/supported-languages.html)」を参照してください。
+ **近接の定義**: 100% 未満の割合で一致していると思われる語句を検索します。単語間の距離を指定することもできます。例えば、「クレジット」という単語が言及された通話を探している際、「クレジットカード」という単語を除外したい場合には、パターン一致のカテゴリを定義することで、「カード」から 1 ワードの範囲より離れた「クレジット」という単語を検索できます。

  例えば、近接の定義は次のようになります。

  カード [から 1 語以上離れている] クレジット**

**ヒント**  
パターン一致でサポートされている言語のリストについては、「[AI 機能](supported-languages.md#supported-languages-contact-lens)」を参照してください。

## セマンティック一致の使用方法
<a name="semantic-match"></a>

セマンティック一致は、通話後/チャット後分析でのみサポートされます。
+ 「インテント」は、言及の一例です。これは、フレーズと文章、両方の場合があります。
+ 1 つのカード (グループ) に、最大 4 つのインテントを入力できます。
+ 最良の結果を得るには、1 つのカード内で意味的に類似したインテントを使用することをお勧めします。例えば、「礼儀正しさ」というカテゴリがあるとします。ここには、「歓迎」と「さようなら」の 2 つのインテントが含まれています。これらのインテントでは、以下のようにカードを 2 つに分けることをお勧めします。
  + カード1：「ご機嫌はいかがですか」と「調子はいかがですか」。これらは意味的に類似の挨拶です。
  + カード 2：「お問い合わせいただきありがとうございました」と「当社をご利用いただきありがとうございました」 これらは意味的に類似な、終わりの挨拶です。

  インテントを 2 つのカードに分けると、それらをすべて 1 つのカードに入れるよりも精度が高くなります。

# [生成 AI] を使用して、コンタクトを自然言語ステートメントと意味的に一致させる
<a name="natural-language-semantic-match"></a>

Contact Lens **会話分析**ルールでは、生成 AI を使用してコンタクトを検索する **[自然言語 – セマンティック一致]** 条件を指定できます。[自然言語 – セマンティック一致] は、コンテキスト固有の基準とコンタクトを一致させたい場合、または**[単語またはフレーズ]** 条件が使用しきれないほど候補が多い場合に使用してください。

プロのヒント: 以前に [単語またはフレーズ – セマンティック一致] を使用していた場合は、生成 AI を活用した [自然言語 – セマンティック一致] を使用します。

## [自然言語 – セマンティック一致] の使用方法
<a name="use-natural-language-semantic-match"></a>

****

1. ルールと**ルール** - 生成 AI アクセス許可を持つユーザーを使用して Amazon Connect にログインします。 ****

1. ナビゲーションメニューで、**[分析と最適化]**、**[ルール]** の順に選択します。

1. **[ルールの作成]**、**[会話分析]** を選択します。  
![\[UI の [ワードコレクションからインポート] オプション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/create-natural-semantic-match-rule.png)

1. 「Contact Lens通話後分析が利用可能」または「Contact Lensチャット後分析が利用可能」を選択します。

1. **条件を追加**を選択し、**[自然言語 – セマンティック一致]** を選択します。  
![\[UI の [ワードコレクションからインポート] オプション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/choose-natural-semantic-match.png)

1. 生成 AI が会話のトランスクリプトと一致させることで true または false として評価できる自然言語ステートメントを入力します。  
![\[UI の [ワードコレクションからインポート] オプション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/enter-natural-language-statement.png)

1. キュー、カスタムコンタクト属性など、追加の条件を追加します。

1. **[次へ]** を選択し、**CustomerAddressChange** など、自然言語ステートメントで連絡先にラベルを付けるために使用されるカテゴリ名 (スペースなし) を指定します。

1. [タスクの生成](contact-lens-rules-create-task.md)、[E メール通知の送信](contact-lens-rules-email.md)、[評価の自動送信](contact-lens-rules-submit-automated-evaluation.md)など、追加のアクションを指定できます。

1. **[次へ]** を選択して、**[保存して公開]**する前にルールを確認します。ルールを発行する準備ができていない場合は、**ドラフトとして保存**することもできます。

## セマンティックマッチを使用するためのガイドライン
<a name="guidelines-semantic-match"></a>

次のリストでは、semantic-match を最適に使用する方法について詳しく説明します。
+ ステートメントは、true または false として評価できるものでなければなりません。
+ [自然言語 – セマンティック一致] は、会話のトランスクリプトのみを使用します。一致基準で他のコンタクト属性 (キューなど) を使用する場合は、ルール内で個別の条件として指定する必要があります。
+ 可能であれば、「同僚」、「従業員」、「代表者」、「代理人」、「提携者」などの用語の代わりに「エージェント」を使用します。同様に、「メンバー」、「発信者」、「ゲスト」、「サブスクライバー」などの用語ではなく、「顧客」という用語を使用します。
+ エージェントまたは顧客によって話された単語そのままを正確に確認したい場合にのみ、指示に二重引用符を使用します。例えば、エージェントが「」と言っているか確認するよう指示がある場合、生成 AI は「良い午後をお過ごしください」という文は検出しません。代わりに、自然言語ステートメントに「エージェントはお客様に良い日を望んでいました」と記載する必要があります。

**semantic-match で使用するステートメントの例 **
+ 顧客はサブスクリプションプランを変更したいと考えています。
+ 顧客は、エージェントのサポートに感謝を伝えました。
+ 顧客は現在のサービスを終了することを希望しました。
+ 顧客が後続のやり取りをリクエストしました。
+ 顧客はエージェントに情報を繰り返すように依頼し、理解できないことを示しています。
+ 顧客はエージェントのマネージャーと話すように依頼しました。
+ エージェントは、最終的な回答を提供する前に、顧客に追加情報または検証を求めました。
+ エージェントは複数の支払いオプションを提供しました
+ エージェントは、通話が重要であることをお客様に保証し、追加の待機時間をリクエストしました。
+ エージェントは、顧客のすべての問題を解決しました。

# Contact Lens に会話分析ルールを作成する際にワードコレクションを管理する
<a name="manage-word-collections"></a>

*[ワードコレクション]* とは、会話分析ルールを作成する際に完全一致条件を定義するために使用できる、事前構築済みの単語とフレーズのセットです。ルールに完全一致条件を追加する際、ドロップダウンメニューから単語とフレーズのリストを選択できます。

## 必要なアクセス許可
<a name="word-collections-permissions"></a>

Contact Lens ルール - ワードコレクションでは、Contact Lens ルールと同じセキュリティプロファイルのアクセス許可を使用します。詳細については、「[モジュールのセキュリティプロファイルの許可](permissions-for-rules.md)」を参照してください。

## ワードコレクション管理ページへのアクセス方法
<a name="word-collections-how-to-access"></a>

1. 会話分析ルールを作成または更新するときは、次の図に示すように、**[完全一致]** 条件カードの右上にある歯車アイコンを選択します。  
![\[UI の [キーワードまたはフレーズを入力] オプション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/word-collections-permissions-how-to-access-1.png)

1. **[ワードコレクション]** 管理ページで、既存のワードコレクションを表示したり、新しいワードコレクションを作成することができます。  
![\[UI の [キーワードまたはフレーズを入力] オプション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/word-collections-permissions-how-to-access-2.png)

## ユーザーワードコレクションの作成方法
<a name="create-user-word-collections"></a>

****

1. **[ワードコレクション]** 管理ページで、**[ワードコレクションを作成]** を選択します。  
![\[UI の [キーワードまたはフレーズを入力] オプション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/create-user-word-collections-1.png)

1. ワードコレクション名を入力し、単語やフレーズを追加して、**[保存]** を選択します。  
![\[UI の [キーワードまたはフレーズを入力] オプション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/create-user-word-collections-2.png)

## ワードコレクションの制限
<a name="word-collections-limits"></a>
+ Amazon Connect では、各インスタンスごとのユーザーワードコレクションがデフォルトで 100 個に制限されています。
+ 各ワードコレクションには最大 100 個の単語またはフレーズを含めることができます。
+ 各単語またはフレーズは 512 文字以下に制限されています。
+ ユーザーワードコレクションのみを管理できます。システムワードコレクションを管理または編集することはできません。

# エージェントが従うスクリプトを Contact Lens ルールに入力する
<a name="enter-script-rule"></a>

顧客との通話でエージェントが正確な表現を使用する必要がある場合は、Contact Lens ルールにスクリプトを入力します。

ルールにスクリプトを入力するには、フレーズを入力します。例えば、エージェントが、*ご入会いただきありがとうございます、そして、顧客のご利用に感謝します*、と言及したことをハイライトしたい場合は、以下の 2 つのフレーズを入力します。
+ ご入会いただきありがとうございます
+ 顧客のご利用に感謝します

特定の事業部門にルールを適用するには、ルールが適用されるキューの条件、またはコンタクト属性を追加します。例えば、次の図は、シアトルのエージェントが、自動車保険の顧客のために、BasicQueue または Billing and Payments キューを処理している場合に適用されるルールを示しています。

![\[[新しいルール] ページ、[単語またはフレーズ] の [語句 - 完全一致] セクション、複数の条件。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-add-category-rules-3.png)


# モジュールのセキュリティプロファイルの許可
<a name="permissions-for-rules"></a>

自動分類のルールを表示、編集、または追加するユーザーは、**[分析と最適化: ルール]** の許可を持つセキュリティプロファイルに割り当てられる必要があります。

**[自然言語 – セマンティック一致]** 条件を使用する生成 AI ルールを表示、編集、または追加するには、セキュリティプロファイルに **[分析と最適化: ルール - 生成 AI]** アクセス許可が割り当てられている必要があります。

エージェント名を表示してルールに追加するには、セキュリティプロファイルの **[ユーザーとアクセス権限:ユーザー - 表示]** のアクセス許可が必要です。

キュー名を表示してルールに追加するには、セキュリティプロファイルの [**ルーティング:キュー - 表示**] のアクセス許可が必要です。

詳細については、「[Amazon Connect で Contact Lens 会話分析を使用するアクセス許可を割り当てる](permissions-for-contact-lens.md)」を参照してください。

# Contact Lens のルールでコンタクト属性を使用するためにフローを設計する
<a name="rules-task-contact-attributes"></a>

ルールには最大 5 つのコンタクト属性を含めることができます。

コンタクト属性はリアルタイムコンタクト分析セッションの開始時に取得され、その時点で取得されたものはセッション全体のルール評価に使用されます。セッション開始後のコンタクト属性の更新は取得されません。

ルールで指定したコンタクト属性を使用するようにフローを設計し、それに応じてタスクをルーティングできます。例えば、コンタクトセンターで通話またはチャットがあった場合を考えます。Contact Lens がこの通話またはチャットを分析したところ、**[コンプライアンス]** のルールにヒットしました。通話に対して作成されるコンタクト記録には、例えば、次の画像のような情報が含まれます。**[カテゴリ]** = **[コンプライアンス]** であることが示され、**[CustomerType]** = **[VIP]**、**[AgentLocation]** = **[NYC]** という 2 つのカスタムコンタクト属性があります。

![\[[コンプライアンス] ルールがトリガーされたときのコンタクト記録。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-rules-attributes-example1.png)


ルールエンジンによってタスクが生成されます。次の画像に示すように、このタスクのコンタクト記録は、音声コンタクト記録からコンタクト属性を継承しています。

![\[タスクのコンタクト記録、カスタムコンタクト属性。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-rules-attributes-example2.png)


音声コンタクトレコードは **[過去のコンタクト ID]** とともに表示されます。

ルールで指定するフローは、コンタクト属性を使用し、タスクを適切な担当者にルーティングするように設計する必要があります。例えば、**[CustomerType = VIP]** が割り当てられた特定のエージェントに、タスクをルーティングすることができます。

詳細については、「[問い合わせ属性の使用](connect-contact-attributes.md)」を参照してください。

# これらのルールは、Contact Lens が会話を分析する際に使用されます。
<a name="rules-applied-to-new-contacts"></a>

追加されたルールは、その後に発生する新しい通話に対して適用されます。ルールは、Amazon Connect 会話分析が会話を分析するときに適用されます。

過去に保存された会話にルールを適用することはできません。

# エラー通知: Contact Lens がコンタクトを分析できない場合
<a name="contact-lens-error-notifications"></a>

フローで解析が有効になっていても、Contact Lens がコンタクトファイルを解析できない場合があります。この場合、Contact Lens は Amazon EventBridge イベントを使用してエラー通知を送信します。

イベントは、[ベストエフォート](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html)ベースで出力されます。

## EventBridge 通知へのサブスクライブ
<a name="contact-lens-error-notifications-subscribe"></a>

これらの通知を受け取るには、以下の条件を満たすカスタム EventBridge ルールを作成します。
+ "source" = "aws.connect"
+ "detail-type" = "Contact Lens Analysis State Change"

また、このパターンに追加して、特定のイベントコードが発生したときに通知されるようにすることもできます。詳細については、「Amazon EventBridge ユーザーガイド**」の「[Event Patterns](https://docs.aws.amazon.com/eventbridge/latest/userguide/filtering-examples-structure.html)」を参照してください。

通知は、以下の例のような形式になります。

```
{
    "version": "0", // set by CloudWatch Events
    "id": "55555555-1111-1111-1111-111111111111", // set by CloudWatch Events
    "source": "aws.connect",
    "detail-type": "Contact Lens Analysis State Change",
    "account": "111122223333",
    "time": "2020-04-27T18:43:48Z",
    "region": "us-east-1", // set by CloudWatch Events
    "resources": [
        "arn:aws:connect:us-east-1:111122223333:instance/abcd1234-defg-5678-h9j0-7c822889931e",
        "arn:aws:connect:us-east-1:111122223333:instance/abcd1234-defg-5678-h9j0-7c822889931e/contact/efgh4567-pqrs-5678-t9c0-111111111111"
    ],
    "detail": {
        "instance": "arn:aws:connect:us-east-1:111122223333:instance/abcd1234-defg-5678-h9j0-7c822889931e",
        "contact": "arn:aws:connect:us-east-1:111122223333:instance/abcd1234-defg-5678-h9j0-7c822889931e/contact/efgh4567-pqrs-5678-t9c0-111111111111",
        "channel": "VOICE",
        "state": "FAILED",
        "reasonCode": "RECORDING_FILE_CANNOT_BE_READ"
    }
}
```

## イベントコード
<a name="contact-lens-event-codes-listed"></a>

 次の表に、Contact Lens がコンタクトを分析できない場合に発生するイベントコードを示します。


| イベント理由コード | 説明 | 
| --- | --- | 
| INVALID\$1ANALYSIS\$1CONFIGURATION  | Contact Lens はフローの開始時に、サポート外もしくは無効な言語コード、秘匿化機能でサポートされていない値など、無効な値を受け取りました。  | 
| RECORDING\$1FILE\$1CANNOT\$1BE\$1READ  | Contact Lens は録音ファイルを取得できません。これは、ファイルが S3 バケットに存在しないか、アクセス許可に問題があることが原因です。  | 
| RECORDING\$1FILE\$1TOO\$1SMALL  |  録音ファイルが小さすぎる (105 ミリ秒未満) ため、分析できません。 想定されていないファイル形式の場合は INVALID エラーが発生します。空の JSON も想定されていないオブジェクトです。  | 
|  RECORDING\$1FILE\$1TOO\$1LARGE  | 録音ファイルが分析の所要時間制限を超えています。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/contact-lens-error-notifications.html)  | 
|  RECORDING\$1FILE\$1INVALID  | 録音ファイルが無効です。  | 
|  RECORDING\$1FILE\$1CANNOT\$1BE\$1READ  | Contact Lens が録音ファイルを読み込もうとしたところエラーが発生しました。  | 
|  RECORDING\$1FILE\$1EMPTY  | 録音ファイルが空です。  | 
|  RECORDING\$1SAMPLE\$1RATE\$1NOT\$1SUPPORTED  | オーディオファイルのサンプルレートはサポートされていません。 Contact Lens は現在、8kHz サンプルレートのオーディオファイルをサポートしています。これは Amazon Connect で録音に使用するサンプルレートです。  | 

# Amazon Connect ルールが実行に失敗した場合のエラー通知
<a name="error-notifications-rule-fails-to-run"></a>

実稼働環境で特定のルールアクションが失敗したタイミングと、失敗の原因を理解することは重要です。それにより、今後、このような失敗を未然に防止できます。

実行に失敗したアクションをリアルタイムで把握するには、Amazon Connect ルールを Amazon EventBridge イベントと統合します。これにより、例えば、**インスタンスあたりの同時アクティブタスク**の最大数がサービスクォータに達したために「タスクの作成」アクションの実行に失敗した場合、通知を受け取ることができます。この場合、Amazon Connect は Amazon EventBridge イベントを使用してエラー通知を送信します。

イベントは、[ベストエフォート](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html)ベースで出力されます。

## EventBridge 通知へのサブスクライブ
<a name="rule-error-notifications-subscribe"></a>

これらの通知を受け取るには、以下の条件を満たすカスタム EventBridge ルールを作成します。
+ "source" = "aws.connect"
+ "detail-type" = "Contact Lens Rules Action Execution Failed"（Contact Lens ルールアクションの実行に失敗しました）

また、このパターンに追加して、特定のイベントコードが発生したときに通知されるようにすることもできます。詳細については、「Amazon EventBridge ユーザーガイド**」の「[Event Patterns](https://docs.aws.amazon.com/eventbridge/latest/userguide/filtering-examples-structure.html)」を参照してください。

通知は、以下の例のような形式になります。

```
{
  "version": "0",
  "id": "8d122163-6c07-f8cb-06e7-373a1bcf8fc6",
  "source": "aws.connect",
  "detail-type": "Amazon Connect Rules Action Execution Failed",
  "account": "123456789012",
  "time": "2022-01-05T01:30:42Z",
  "region": "us-east-1",
  "resources": ["arn:aws:connect:us-east-1:123456789012:instance/cb54730f-5aac-4376-b2f4-7c822889931e"],
  "detail": {
    "ruleId": "7410c94b-21c2-4db0-a707-c6d751edbe8f",
    "actionType": "CREATE_TASK",
    "triggerEvent": "THIRD_PARTY",
    "instanceArn": "arn:aws:connect:us-east-1:123456789012:instance/cb54730f-5aac-4376-b2f4-7c822889931e",
    "reasonCode": "ResourceNotFoundException",
    "error": "ContactFlowId provided does not belong to connect instance",
    "additionalInfo": "{\n  \"message\": \"Not Found\",\n  \"code\": \"ResourceNotFoundException\",\n  \"statusCode\": 404,\n  \"time\": \"2022-01-03T20:23:07.073Z\",\n  \"requestId\": \"048e4403-71c1-47d6-96fc-825744f518e7\",\n  \"retryable\": false,\n  \"retryDelay\": 28.217537834500316\n}"
  }
}
```

## サポートされているアクションタイプ
<a name="supported-action-types-rules"></a>
+ `CREATE_TASK`
+ `GENERATE_EVENTBRIDGE_EVENT`
+ `SEND_NOTIFICATION`

`ASSIGN_CONTACT_CATEGORY` の詳細については「[エラー通知: Contact Lens がコンタクトを分析できない場合 トラブルシューティング](contact-lens-error-notifications.md)」を参照してください。

## サポートされているトリガーイベント
<a name="supported-trigger-events"></a>
+ `REAL_TIME_CALL`
+ `REAL_TIME_CHAT`
+ `POST_CALL`
+ `POST_CHAT`
+ `THIRD_PARTY`

## 失敗したアクションの理由コード
<a name="reason-codes-failed-actions"></a>

アクションが失敗した場合、エラー通知サービスはサポートされているアクションから理由コードを収集します。タスクおよび EventBridge アクション失敗の理由コードの詳細については、次のトピックを参照してください。
+ タスクアクション失敗の理由コードについては、*Amazon Connect API リファレンスガイド*の「**StartTaskContact** API」トピックの「[エラー](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartTaskContact.html#API_StartTaskContact_Errors)」を参照してください。
+ EventBridge アクション失敗の理由コードについては、*Amazon EventBridge API リファレンスガイド*の「**PutEvents** API」トピックの「[エラー](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html#API_PutEvents_Errors)」を参照してください。

# Amazon Connect APIs を使用してルールを作成または管理するときに、特定のパラメータの変数を指定する
<a name="contact-lens-variable-injection"></a>

Amazon Connect API ([CreateRule](https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateRule.html) や [UpdateRule](https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateRule.html) など) を使用してプログラムでルールを作成または管理する場合、特定のパラメータに変数を指定できます。変数は、アクションがトリガーされたときに [EventSourceName](https://docs.aws.amazon.com/connect/latest/APIReference/API_RuleTriggerEventSource.html) パラメータの値に基づいて、実行時に解決されます。

例えば、タスクアクションを設定し、さらにコンテキストを追加するとします。以下は、変数インジェクションを使用してコンタクトの ID とエージェントの ID をタスクの `Description` フィールドに含める方法の例です。
+ お客様は電話について不満を持っています。コンタクト `$.ContactLens.PostCall.Agent.AgentId` で、エージェント `$.ContactLens.PostCall.ContactId` との会話中に、汚い言葉遣いが検出されました

アクションがトリガーされると、この文字列は「お客様は電話について不満を持っています。」と解決されます。エージェント 12345678-1234-1234-1234-EXAMPLEID012 のコンタクト 87654321-1234-1234-1234-EXAMPLEID345 の会話中に、汚い言葉遣いが検出されました。

次の表は、各イベントソースと、変数インジェクションをサポートするフィールドに使用する JSONPath を示しています。


| EventSourceName | JSONPath 参照 | 
| --- | --- | 
|  OnPostCallAnalysisAvailable  |  \$1.ContactLens.PostCall.ContactId \$1.ContactLens.PostCall.Agent.AgentId \$1.ContactLens.PostCall.Queue.QueueId  | 
|  OnRealTimeCallAnalysisAvailable  |  \$1.ContactLens.RealTimeCall.ContactId \$1.ContactLens.RealTimeCall.Agent.AgentId \$1.ContactLens.RealTimeCall.Queue.QueueId  | 
|  OnPostChatAnalysisAvailable  |  \$1.ContactLens.PostChat.ContactId \$1.ContactLens.PostChat.Agent.AgentId \$1.ContactLens.PostChat.Queue.QueueId  | 
|  OnSalesforceCaseCreate  |  \$1.ThirdParty.Salesforce.CaseCreate.CaseNumber \$1.ThirdParty.Salesforce.CaseCreate.Name \$1.ThirdParty.Salesforce.CaseCreate.Email \$1.ThirdParty.Salesforce.CaseCreate.Phone \$1.ThirdParty.Salesforce.CaseCreate.Company \$1.ThirdParty.Salesforce.CaseCreate.Type \$1.ThirdParty.Salesforce.CaseCreate.Reason \$1.ThirdParty.Salesforce.CaseCreate.Origin \$1.ThirdParty.Salesforce.CaseCreate.Subject \$1.ThirdParty.Salesforce.CaseCreate.Priority \$1.ThirdParty.Salesforce.CaseCreate.CreatedDate \$1.ThirdParty.Salesforce.CaseCreate.Description  | 
|  OnZendeskTicketCreate  |  \$1.ThirdParty.Zendesk.TicketCreate.Id \$1.ThirdParty.Zendesk.TicketCreate.Priority \$1.ThirdParty.Zendesk.TicketCreate.CreatedAt  | 
|  OnZendeskTicketStatusUpdate  |  \$1.ThirdParty.Zendesk.TicketStatusUpdate.Id \$1.ThirdParty.Zendesk.TicketStatusUpdate.Priority \$1.ThirdParty.Zendesk.TicketStatusUpdate.CreatedAt  | 

# Contact Lens で分析された会話の検索
<a name="search-conversations"></a>

分析および書き起こしが行われた記録は、次の基準に基づいて検索できます。
+ スピーカー (エージェントまたは顧客)
+ キーワード
+ 感情スコア
+ 非通話時間 (通話のみ)
+ 応答時間 (チャットのみ)

また、特定のコンタクトカテゴリに属する会話を検索することもできます (つまり、会話は言及されたキーワードやフレーズに基づいて分類されている必要があります)。

次のセクションで、これらの検索条件について説明します。

**重要**  
あるコンタクトに対して Contact Lens が有効な場合、通話またはチャットが終了し、**さらに** エージェントがコンタクト後作業 (ACW) を完了した後、Contact Lens は顧客とエージェントの会話の記録を分析 (通話の場合はトランスクリプト) します。エージェントは、最初に **[連絡先を閉じる]** を選択する必要があります。  
Contact Lens が有効な場合、チャット記録は検索用にインデックス化されます。Contact Lens が有効ではない場合はインデックス化されません。

## 会話を検索するために必要なアクセス許可
<a name="security-profile-permissions-for-search"></a>

会話を検索するには、セキュリティプロファイルに次のアクセス許可が付与されている必要があります。これにより、必要な種類の検索を実行できます。
+ **[コンタクトの検索]** ページにアクセスするには、次のアクセス許可のいずれかを有効にします。
  + **[コンタクトの検索]**。すべてのコンタクトを検索できます。
  + **コンタクトを表示**: 自分がエージェントとして処理した連絡先のみを検索できます。
+ **[会話特性でコンタクトを検索する]** これには、非通話時間、感情スコア、コンタクトカテゴリが含まれます。
+ **[キーワードでコンタクト先を検索]**

詳細については、「[アクセス許可の割り当て](permissions-for-contact-lens.md)」を参照してください。

## 単語やフレーズを検索する
<a name="keyword-search"></a>

キーワード検索のために、Contact Lens が Amazon OpenSearch Service の `standard` アナライザーを使用します。この分析機能は、大文字と小文字を区別しません。例えば、「thank you for your business 2 CANCELLED Flights**」と入力した場合、次のように検索されます。

 [thank, you, for, your, business, 2, cancelled, flights]

「thank you for your business」、two、「CANCELLED Flights」**と入力した場合、次のように検索されます。

 [thank you for your business, two, cancelled flights]

**会話で単語またはフレーズを検索するには**

1. **[CallCenterManager]** セキュリティプロファイルが割り当てられたユーザーアカウント、または **[キーワードでコンタクトを検索]** のアクセス許可が有効になっているユーザーアカウントを使用して、Amazon Connect にログインします。

1. **[分析と最適化]** 、**[コンタクトの検索]** の順に選択します。

1. **[フィルター]** セクションで、検索する期間とチャネルを指定します。
**ヒント**  
日付で検索する場合、一度に 8 週間分まで検索できます。

1. **[フィルタを追加するには、ここをクリックしてください]** を選択し、ドロップダウンメニューで **[単語またはフレーズ]** を選択します。  
![\[コンタクトの検索ページ、フィルターセクション、フィルター追加のドロップダウン、語句オプション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-search-words-phrases.png)

1. **[使用者]** セクションで、会話のどの部分を検索するかを選択します。次の点に注意してください。
   + **[システム]** は、参加者が Lex ボットまたはプロンプトである可能性があるチャットに適用されます。
   + 参加者全員が使用する単語またはフレーズを検索するには、**[エージェント]** 、**[顧客]** 、**[システム]** を選択します。
   + ボックスが選択されていない場合は、参加者のいずれかが使用した単語やフレーズを検索することになります。

1. **[論理]** セクションで、以下のオプションから選択します。
   + トランスクリプトにいずれかの単語が含まれているコンタクトを返すには、**[いずれかに一致]** を選択します。

     例えば、次のクエリは一致を意味します (hello または cancellation または「example airline」)。また、**[使用者]** ボックスは選択されていないため、「いずれかの参加者がこれらの単語のうちのいずれかを使ったコンタクトを検索する」ことになります。  
![\[[単語またはフレーズ] ダイアログボックス、[いずれかに一致] オプション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/match-any.png)
   + トランスクリプトにすべての単語が含まれているコンタクトを返すには、**[すべて一致]** を選択します。

     例えば、次のクエリは一致を意味します (「thank you for your business」および cancellation および「example airline」)。また、参加者ボックスがすべて選択されているため、「参加者全員がこれらの単語やフレーズをすべて使用したコンタクトを検索する」ことになります。  
![\[[単語またはフレーズ] ダイアログボックス、[すべてに一致] オプション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/match-all.png)

1. **[単語またはフレーズ]** セクションで、検索する語をカンマで区切って入力します。フレーズを入力する場合は、引用符で囲みます。

   128 文字まで入力できます。

## 感情スコアの検索または感情シフトの評価
<a name="sentiment-search"></a>

Contact Lens を使用すると、-5 (最も否定的) から \$15 (最も肯定的) までの感情スコアまたは感情シフトのスケールで、会話内容を検索できます。これにより、通話がうまくいく、またはうまくいかない理由のパターンおよび要因を特定することができます。

![\[[コンタクトの検索] ページ、[感情スコア] フィルター。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-sentiment-score-shift.png)


例えば、顧客の感情が否定的に終了したすべてのコンタクトを特定して調査するとします。感情スコアが **<=** -1 (-1 以下) であるすべてのコンタクトを検索できます。

詳細については、「[感情スコアの調査](sentiment-scores.md)」を参照してください。

**感情スコアを検索するか、感情シフトを評価する**

1. **[CallCenterManager]** セキュリティプロファイルが割り当てられたユーザーアカウント、または **[会話の特性でコンタクトを検索]** のアクセス許可が有効になっているユーザーアカウントを使用して、Amazon Connect にログインします。

1. [**コンタクトの検索**] ページで、顧客またはエージェントが話す単語またはフレーズに、感情スコアが必要かどうかを指定します。

1. [**スコア分析のタイプ**] で、返されるスコアのタイプを指定します。
   + **感情スコア** : 顧客またはエージェントの会話の、ある部分全体に関する平均スコアを返します。

     エージェントまたは顧客がコンタクトの状態にあるときの感情スコアを検索するほか、顧客が次のような場合に検索をフィルタリングできます。
     + **チャット中のエージェントとの場合**
     + **チャット中でエージェントがいない場合**: これは、顧客がボットとチャットしている時間、プロンプト、待機時間です。  
![\[感情スコアフィルター、参加者ドロップダウン、チャットでエージェントがいない顧客オプション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-search-sentiment-participant.png)
   + **感情シフト** : 通話中に顧客またはエージェントの感情が変化した箇所を特定します。

     例えば、次の画像は、顧客の感情スコアが、開始時点で -1 以下で、終了時点では \$11 以上になっているコンタクトを検索する例を示しています。さらに、顧客はエージェントとチャット中です。  
![\[[感情スコア] フィルター、[感情シフト] オプション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-search-sentiment-score.png)

## 非通話時間の検索
<a name="nontalk-time-search"></a>

調査する通話を特定するために、非通話時間を検索することができます。例えば、非通話時間が 20% を超えるすべての通話を検索し、それらの通話を調査できます。

非通話時間には、保留時間と、両方の参加者の無言が 3 秒を超えた無音が含まれます。この時間はカスタマイズできません。

ドロップダウン矢印を使用して、会話を非通話時間の期間または割合で検索するかどうかを指定します。これらのオプションを次の画像に示します。

 このメトリクスの使用方法については、「[非通話時間の調査](non-talk-time.md)」を参照してください。

![\[[非通話時間] フィルター、[継続時間] オプション、[パーセンテージ] オプション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/non-talk-time.png)


## チャットの会話に対する応答時間で検索
<a name="response-time-search"></a>

次の方法で検索できます。
+ チャット時のエージェントまたは顧客の平均応答時間
+ チャット時のエージェントまたは顧客の最大応答時間

期間を特定の時間より短くするか、長くするか、等しくするかを指定します。このメトリクスの使用方法については、「[チャット中の応答時間の調査](response-time.md)」を参照してください。

サポートされている最小応答時間と最大応答時間については、「[Amazon Connect ルール機能の仕様](feature-limits.md#rules-feature-specs)」を参照してください。

次の図では、エージェントの平均応答時間が 1 分以上のコンタクトを検索したものを示しています。

![\[[応答時間] フィルター。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/response-time.png)


## 問い合わせカテゴリを検索する
<a name="contact-category-search"></a>

1. **[コンタクトの検索]** ページで、**[フィルタの追加]**、**[コンタクトカテゴリ]** の順にクリックします。

1. **[コンタクトカテゴリ]** ボックスで、ドロップダウンボックスを使用して、検索可能な現在のカテゴリをすべて一覧表示します。また、入力を開始すると、入力は既存のカテゴリとの一致や、一致しないカテゴリのフィルタリングに使用されます。
   + **いずれかに一致**: 選択したカテゴリのいずれかに一致するコンタクトを検索します。
   + **すべてに一致**: 選択したカテゴリのすべてに一致するコンタクトを検索します。
   + **一致なし**: 選択したカテゴリのいずれにも一致しないコンタクトを検索します。この場合、Contact Lens 会話分析で分析されたコンタクトのみが返されることに注意してください。

   次の図では、現在のすべてのカテゴリが一覧表示されたドロップダウンメニューを示しています。  
![\[[コンタクトカテゴリ] フィルター、[すべて一致] オプション、コンタクトりカテゴリ。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-search-contact-category2.png)

# Contact Lens を使用して分析した会話を確認する
<a name="review-transcripts"></a>

Amazon Connect Contact Lens を使用すると、トランスクリプトを確認し、コンタクトのどの部分に関心を向けるべきかを判断できます。通話を全体的に聞き取ったり、チャットのトランスクリプト全体を読んだりして、何が問題点なのかを調べる必要はありません。音声またはトランスクリプトの特定の部分に焦点を当てることができます。どちらの場合でも、関心を向けるべきポイントがハイライトされて示されます。

例えば、コンタクトのトランスクリプトをスキャンすると、顧客側の発言に感情を表す赤い絵文字が表示されることがあります。これは、顧客が否定的な感情を表していることを意味します。そのタイムスタンプをクリックすることで、音声録音またはチャットのやり取りの対象の部分にジャンプできます。

次の図は、音声コンタクトの例を示しています。

![\[音声コンタクトの分析。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-category-hit.png)


次の図は、チャットコンタクトの例を示しています。**[システムメッセージ]** は、参加者が Lex ボットまたはプロンプトである可能性があるチャットに適用されます。

![\[チャットコンタクトの分析。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-category-hit-chat.png)


**分析された会話を確認する**

1. **[コンタクトの検索]** および **Contact Lens[会話分析]** のアクセス許可がセキュリティプロファイルに設定されているユーザーアカウントで Amazon Connect にログインします。

1. Amazon Connect で、**[分析と最適化]** 、**[コンタクトの検索]** の順に選択します。

1. ページのフィルターを使用して、コンタクトの検索を絞り込みます。日付については、一度に最大 14 日間検索できます。コンタクトの検索の詳細については、「[完了したコンタクトと進行中のコンタクトを検索する](contact-search.md)」を参照してください。

1. コンタクト ID をクリックして、確認したいコンタクトの詳細を表示します。

1. **[コンタクトの詳細]** ページの **[録音]** と **[トランスクリプト]** セクションで、会話または書かれた内容、タイミング、その際の感情を確認します。

1. 通話では、必要に応じて、再生プロンプトをクリックして録音を聞きます。または、録音の該当箇所をクリックして、興味のある部分を聞きます。

1. チャットでは、必要に応じてグラフを使用して、トランスクリプトの興味のある部分に移動します。

# Amazon Connect Contact Lensでトランスクリプトと音声を処理する
<a name="turn-by-turn-transcript"></a>

スーパーバイザーには、品質保証の目的で、多くのエージェントのコンタクトを確認する必要が生じることがよくあります。立場ごとに分けられ記述されたトランスクリプトと感情データが、記録の中で関心を向けるべき部分をすばやく特定して、その間を移動する際の役に立ちます。

次のコンタクト記録の画像は、トランスクリプトと音声をすばやくナビゲートして、注意が必要な領域を見つけるための機能を示しています。図には音声コンタクトが表示されていますが、チャットコンタクトにも同じ機能が適用されます。

![\[音声コンタクトの分析。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-navigate-transcripts2.png)


1. 問題、結果、および/またはアクション項目のみを確認するには、「[主要なハイライトを表示](#contact-lens-contact-summarization)」を使用します。

1. 音声コンタクトで [[自動スクロール]](#autoscroll) を使用すると、音声とトランスクリプトをジャンプすることができます。この 2 つは常に同期しています。

1. [感情絵文字](#sentiment-emojis)をスキャンすることで、トランスクリプトを読む (聞く) 対象の部分をすばやく特定できます。

1. タイムスタンプを選択すると、音声録音またはトランスクリプトの該当部分にジャンプします。タイムスタンプは、コンタクト内のお客様とのやりとりの開始から計算されます。

## 主要なハイライトを表示
<a name="contact-lens-contact-summarization"></a>

長さが何百行にも至るコンタクトトランスクリプトをレビューするには時間がかかることがあります。このプロセスを迅速かつ効率的に実行するために、Contact Lens はトランスクリプトのハイライトを表示するオプションを提供しています。ハイライトには、Contact Lens がトランスクリプト内の問題、結果、またはアクション項目を特定した行のみが表示されます。
+ **[問題]** は、コールの理由を表します。例えば、「オンラインサブスクリプションプランへのアップグレードを考えています」などです。
+ **Outcome** (結果) は問い合わせの結論または結果を表します。例えば、「現在のプランより、弊社でご用意しているオンラインの基礎プランをお勧めします」などです。
+ **Action item** (アクション項目) はエージェントが実行するアクション項目を表します。例えば、「価格の見積もりメールをお送りしますので、そちらをご参照ください」などです。

各コンタクトには、複数の課題、1 つの結果、1 つのアクション項目があります。すべてのコンタクトに 3 つすべてがあるわけではありません。

**注記**  
Contact Lens に **[There is no summary information for this transcript]** というメッセージが表示された場合は、問題、結果、またはアクション項目が特定されなかったことを意味します。

主なハイライトについての設定の必要はありません。これは、機械学習モデルのトレーニングなしですぐに機能します。

## 自動スクロールをオンにしてトランスクリプトと音声を同期させる
<a name="autoscroll"></a>

音声コンタクトで **[自動スクロール]** を使用すると、音声またはトランスクリプトをジャンプすることができ、この 2 つを常に同期させることが可能です。例えば、次のようになります。
+ 会話内容を聞く場合には、トランスクリプトもそのポイントに自動的に移動し、感情を表す絵文字と検出された任意の問題を表示します。
+ トランスクリプトをスクロールし、発言のタイムスタンプをクリックすることで、録音内のその特定のポイントを聞くことができます。

音声とトランスクリプトが揃っているため、エージェントと顧客が何について会話しているのかを理解するのに役立ちます。これは、以下の場合に特に便利です。
+ 接続の問題などが原因で、音声が不良な場合。発言の内容を理解するのに、トランスクリプトが役立ちます。
+ 方言もしくは変形した言葉が使われている場合。このモデルはさまざまなアクセントで訓練されています。つまりこのような場合でも、トランスクリプトを話されている内容の理解に役立てられます。

## 感情絵文字をスキャンする
<a name="sentiment-emojis"></a>

感情絵文字を使用すると、トランスクリプトをすばやくスキャンして、会話のその部分を聴くことができます。

例えば、顧客側の発言に赤い絵文字が表示され、次に緑色の絵文字が表示される場合は、タイムスタンプを選択し、その会話の特定のポイントにジャンプして、エージェントが顧客をどのように支援したかを確認できます。

## カテゴリタグをタップまたはクリックして、トランスクリプト内を移動します
<a name="category-navigation"></a>

カテゴリタグをタップまたはクリックすると、Contact Lens はトランスクリプト内の対応するポイントに自動的に移動します。また、やり取りの可視化機能には、録音ファイルのどの部分にカテゴリに関連する発話があるかを示す、カテゴリマーカーも備わっています。

次の図では、チャットの **[コンタクトの詳細]** ページの一部が示されています。

![\[チャットのトランスクリプト、カテゴリ、トランスクリプトの関連セクション。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-category-tag-navigation.png)


# 生成 AI を活用したコンタクト後の要約を Amazon Connect で表示する
<a name="view-generative-ai-contact-summaries"></a>

**注記**  
**Amazon Bedrock を利用**: [自動不正検出](https://docs.aws.amazon.com//bedrock/latest/userguide/abuse-detection.html) AWS を実装します。生成 AI を活用したコンタクト後の要約は Amazon Bedrock を基盤に構築されているため、ユーザーは Amazon Bedrock に実装されている制御を最大限に活用して、安全性、セキュリティを強制し、人工知能 (AI) の責任ある使用ができます。

生成 AI を活用したコンタクト後の要約では、顧客との会話からの重要な情報が構造化された簡潔かつ読みやすい形式で提供されるため、貴重な時間の節約につながります。トランスクリプトを読んだり、通話をモニタリングしたりする代わりに、概要を手早く確認してコンテキストを把握できます。

生成 AI を活用したコンタクト後の要約には、複数の方法でアクセスできます。
+ **エージェント**は、問い合わせコントロールパネル (CCP) で音声および E メール問い合わせの問い合わせ後の概要にアクセスできます。要約を使用して、コンタクト後作業 (ACW) をすばやく完了できます。エージェントのエクスペリエンスについては、「[CCP でコンタクト後の要約を表示する](#summaries-on-agentws)」をご覧ください。
+ **マネージャーとスーパーバイザー**は、管理者ウェブサイト、連絡先**の詳細**、連絡先の検索ページで、音声、チャット、E Amazon Connect メールの連絡先の概要にアクセスできます。 ****要約を使用することで、確認しているコンタクトの問題と結果をすばやく把握できます。マネージャーエクスペリエンスの詳細については、「[Amazon Connect 管理者ウェブサイトでコンタクト後の概要を表示する](#summaries-on-website)」をご覧ください。
+ **デベロッパー**は、[API](contact-lens-api.md) からサードパーティーシステムに直接要約を取り込むことができます。また、ストリーミング用に [ Amazon Kinesis Data Streams と統合](contact-analysis-segment-streams.md)することもできます。この後者のオプションは、負荷が高く、TPS をスロットリングしないようにする場合に役立ちます。

**Topics**
+ [コンタクト後の要約を有効にする](#gen-ai-getstarted)
+ [E メールの問い合わせ概要を有効にする](#enable-email-summaries)
+ [CCP でコンタクト後の要約を表示する](#summaries-on-agentws)
+ [Amazon Connect 管理者ウェブサイトでコンタクト後の概要を表示する](#summaries-on-website)
+ [概要が生成されない理由](#summary-not-generated)

## コンタクト後の要約を有効にする
<a name="gen-ai-getstarted"></a>

**音声コンタクトのエージェントの CCP でコンタクト後の要約を有効にするには**

1. [記録と分析の動作の設定](set-recording-behavior.md) ブロックをフローに追加します。

1.  ブロックの **[プロパティ]** ページで次のとおり設定します。

   1. **[通話録音]** を **[オン]** に設定します。次の画像に示すように、**[エージェントおよび顧客]** を選択します。  
![\[[記録と分析の動作を設定] ブロックの [プロパティ] ページが通話録音用に設定されています。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/call-recording-summaries.png)

   1. **[分析]** を **[オン]** に設定します。

   1. **[音声分析を有効にする]** を選択します。

   1. **[リアルタイムおよび通話後の分析]** を選択します。

   1. **[Contact Lens 生成 AI 機能]** で、**[コンタクト後の概要]** を選択します。

   次の図は、エージェントの CCP でコンタクト後の要約を有効にするように設定された **[プロパティ]** ページの **[分析]** セクションを示しています。  
![\[[記録と分析の動作の設定] ブロックの [プロパティ] ページ。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/set-block-post-contact-summaries-ccp.png)

1. エージェントのセキュリティプロファイルに次の許可を割り当てます。
   + **[コンタクトコントロールパネル (CCP)] - [Contact Lens データ] - アクセス**
   + **[分析と最適化] - [Contact Lens - コンタクト後の概要] - [表示]**
   + **分析と最適化 - 録音された会話 (秘匿化)**、**録音された会話の表示 (秘匿化されていない)**、**すべて**または**アクセス** (推奨される**アクセス**は最小特権)
   + **[分析と最適化] - [自分のコンタクトを表示]** または **[コンタクトの検索]**

**Amazon Connect 管理者ウェブサイトでコンタクト後の概要を有効にするには**

1. [記録と分析の動作の設定](set-recording-behavior.md) の **[プロパティ]** ページを次のとおり設定します。

   1. **[分析]** を **[オン]** に設定します。

   1. **[音声分析を有効にする]**、**[チャット分析を有効にする]** のいずれか、または両方を選択します。

      音声分析を選択した場合は、次のいずれかを選択します。
      + **通話後分析**
      + **リアルタイムおよび通話後の分析**: ユーザーが進行中のコンタクトのコンタクト後の要約を表示したい場合 (つまり、エージェントは ACW のままで通話は終了している場合）、このオプションを選択します。

   1. 詳細な秘匿化は、コンタクト後の概要ではサポートされていません。詳細な秘匿化を選択すると、コンタクト後の概要によってテキストで識別されるすべての PII が秘匿化され、[PII] タグに置き換えられます。

   1. **[Contact Lens 生成 AI 機能]** で、**[コンタクト後の概要]** を選択します。

1. ユーザーのセキュリティプロファイルに次の許可を割り当てます。
   + **[分析と最適化] - [コンタクトの検索]** または **[自分のコンタクトを表示]**
   + **[分析と最適化] - [Contact Lens - コンタクト後の概要] - [表示]**
   + **分析と最適化 - 録音された会話 (秘匿化)**、**録音された会話の表示 (秘匿化されていない)**、**すべて**または**アクセス** (推奨される**アクセス**は最小特権)

## E メールの問い合わせ概要を有効にする
<a name="enable-email-summaries"></a>

**E メールコンタクトのコンタクト概要を有効にするには**

1. インバウンド E メールフローに[記録、分析、処理の動作を設定する](set-recording-analytics-processing-behavior.md)ブロックを追加します。

1. ブロックの **[プロパティ]** ページで次のとおり設定します。

   1. **チャネル** で、**E メール**を選択します。

   1. **[分析]** を **[オン]** に設定します。

   1. E **メール分析を有効にする**を選択します。

   1. **Contact Lens 生成 AI 機能**で、**問い合わせの概要**を選択します。

1. **[保存]** を選択します。

## CCP でコンタクト後の要約を表示する
<a name="summaries-on-agentws"></a>

エージェントがコンタクト後作業 (ACW) を行うのを支援するため、Amazon Connect は音声コンタクトの CCP に生成 AI を活用したコンタクト後の要約を表示します。次の画像は要約の例を示しています。

![\[コンタクト後作業 (ACW) 中に生成 AI を活用したコンタクト後の概要を示すコンタクトコントロールパネル。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/genai-summary-ccp1.png)


1. エージェントは ACW を行っています。ページの上部に「要約の生成」バナーが表示されている間、トランスクリプトを閲覧することができます。

1. エージェントがブラウジングしている間、要約が使用可能であるというメッセージが表示されます。エージェントがバナーをクリックすると、要約が表示される際に、CCP がページの上部にスクロールします。

1. バナーは、エージェントがクリックすると消えます。

**注記**  
生成 AI を活用したコンタクト後の概要は、CCP での音声、チャット、E メールコンタクトをサポートします。

## Amazon Connect 管理者ウェブサイトでコンタクト後の概要を表示する
<a name="summaries-on-website"></a>

マネージャーと他のユーザーが問い合わせを確認できるように、 Amazon Connect 管理者ウェブサイトで問い合わせ後の概要を表示できます。以下の画像は、**[コンタクトの詳細]** ページの生成 AI を活用したコンタクト後の要約の例を示しています。

![\[顧客との会話に関する構造化された情報を含む、生成 AI を活用したコンタクト後の概要を示すコンタクトの詳細ページ。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/genai-summary2.png)


以下の画像は、**[コンタクトの検索]** ページの生成 AI を活用したコンタクト後の要約の例を示しています。

![\[複数のカスタマーインタラクションの生成 AI を活用したコンタクト後の概要をリストビュー形式で表示するコンタクト検索ページ。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/genai-summary-contactsearch2.png)


コンタクトごとに複数の概要が生成されることはありません。すべてのコンタクトで概要が生成されるわけではありません。「[概要が生成されない理由](#summary-not-generated)」を参照してください。

## 概要が生成されない理由
<a name="summary-not-generated"></a>

概要が生成されない場合、**[コンタクトの詳細]** ページと **[コンタクトの検索]** ページにエラーメッセージが表示されます。さらに、以下の例のように、Contact Lens 出力ファイルの `ContactSummary` オブジェクトにエラーの ReasonCode が表示されます。

```
"JobDetails": {
    "SkippedAnalysis": [
      {
        "Feature": "POST_CONTACT_SUMMARY",
        "ReasonCode": "INSUFFICIENT_CONVERSATION_CONTENT"
      }
    ]
  },
```

以下は、概要が生成されない場合、[コンタクトの詳細] ページまたは [コンタクトの検索] ページに表示される可能性のあるエラーメッセージの一覧です。また、Contact Lens 出力ファイルに表示される関連する理由コードも記載されています。
+ **同時実行の概要数がクォータを超えているため、概要を生成できませんでした**。ReasonCode: `QUOTA_EXCEEDED`。

  このメッセージが表示された場合は、[コンタクト後の要約ジョブの同時実行数](amazon-connect-service-limits.md#contactlens-quotas)のクォータを引き上げる[チケットを送信する](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-connect)ことをお勧めします。
+ **対象となる会話が不十分なため、概要を作成できませんでした**。ReasonCode: `INSUFFICIENT_CONVERSATION_CONTENT`。

  音声の場合、各参加者からの発話が 1 つずつ必要です。チャットの場合、各参加者からサポートされているタイプのメッセージが 1 つずつ必要です。サポートされているメッセージのタイプは「`text/plain`」と「`text/markdown`」です。「`application/json`」のような他のタイプのメッセージは、要約には使用されません。
+ **サポートされていない言語コードや無効な言語コードなど、コンタクトフローにコンタクト後の要約の無効な Contact Lens 設定がありました**。ReasonCode: `INVALID_ANALYSIS_CONFIGURATION`。

  このエラーは、有効化された概要が他の Contact Lens 設定に対応しない場合、特にサポートされていないロケールで有効になっている場合に返されます。
+ **セキュリティと品質の基準を満たしていないため、概要は提供できません**。ReasonCode: `FAILED_SAFETY_GUIDELINES`。

  このエラーは、Amazon Connect for Concurrent コンタクト後サマリージョブで発生する可能性があります。Amazon Connect は、コンタクトデータを Amazon Bedrock に渡して概要を生成します。コンタクトデータに秘匿化されていない個人を特定できる情報 (PII) が含まれている場合、Amazon Bedrock の安全ガイドラインがトリガーされます。その結果、Amazon Bedrock は機密情報を保護するために概要の生成を拒否し、Amazon Connect でエラーが発生します。
+ 内部システムエラー。ReasonCode: `INTERNAL_ERROR`

# コンタクトコントロールパネル (CCP) で顧客との会話の主なハイライトを表示する
<a name="key-highlights"></a>

長さが何百行にも至るコンタクトトランスクリプトをレビューするには時間がかかることがあります。このプロセスの実行を高速化し、効率性を向上するために、Contact Lens は顧客との会話の重要な部分を自動的に特定してラベル付けし、会話のハイライトを表示します。マネージャーはこのようなハイライトを **[コンタクトの詳細]** ページで確認できます。エージェントは、コンタクトコントロールパネル (CCP) でハイライトを確認できます。

**ヒント**  
サポートされている言語のリストについては、[[Amazon Connect Contact Lens でサポートされている言語]](supported-languages.md#supported-languages-contact-lens) トピックの *[主なハイライト]* 列を参照してください。

Contact Lens を有効にすると、 が顧客との会話の重要な部分を特定し、ラベル（問題、結果、アクション項目など）を割り当てて、顧客との会話のハイライトを表示します。ハイライトを展開すると、トランスクリプトの全文を表示できます。

次の例は、**[コンタクトの詳細]** ページの主なハイライトを示しています。

![\[[コンタクトの詳細] ページの主なハイライト\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-key-highlights.png)


1. 必要に応じて、**[主要なハイライトを表示]** のオンとオフを切り替えます。

1. **[問題]** は、コンタクトの動機を表しています。例えば、「オンラインサブスクリプションプランへのアップグレードを考えています」などです。

1. **Action item** (アクション項目) はエージェントが実行するアクション項目を表します。例えば、「価格の見積もりメールをお送りしますので、そちらをご参照ください」などです。

1. **Outcome** (結果) は問い合わせの結論または結果を表します。例えば、「現在のプランより、オンラインの Essentials プランがお勧めです」などです。

コンタクトごとに、問題、結果、アクション項目がそれぞれ 1 つのみ提供されます。コンタクトによっては、3 つすべてがない場合もあります。

**注記**  
Contact Lens が、問題、結果、またはアクション項目を特定できない場合は、**[There are no key highlights for this transcript]** というメッセージが表示されます。

コンタクトコントロールパネル (CCP) にトランスクリプトのどの部分が表示されるかなどのエージェントのエクスペリエンスの詳細については、「[主なハイライトのフローを設計する](enable-analytics.md#call-summarization-agent)」を参照してください。

# Contact Lens でテーマ検出を使用してコンタクトの問題を検出する
<a name="use-theme-detection"></a>

テーマ検出機能を使用すると、何千件ものカスタマーとのやり取りから、これまで知られていなかったコンタクトや新しいテーマを発見できます。例えば、「予約のキャンセル」や「注文の遅延」など、カスタマーに連絡する一般的な理由を特定できます。その後、問題解決を早め、IVR オプション、ナレッジベースの記事、エージェントトレーニングを改善することで、カスタマーエクスペリエンスを向上させるための適切な措置を講じることができます。

## 重要事項
<a name="important-td"></a>
+ テーマ検出は、 でサポートされている次の言語で使用できますAmazon Connect Contact Lens。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/use-theme-detection.html)
+ テーマの検出は、2023 年 1 月 30 日以降に作成されたコンタクトでサポートされます。
+ **[テーマレポートを生成]** ボタンは、保存した検索条件に Contact Lens で問題が検出されたコンタクトが 1,000 件以上含まれている場合にのみ有効になります。
+ テーマ検出レポートは、最近 3,000 件のコンタクトについて生成されます。
+ テーマ検出レポートは、作成から 30 日間利用できます。30 日が経過すると、レポートはデータベースから削除され、取得できなくなります。
+ 以下の画像に示すように、保存された検索用の最新の 20 件のテーマレポートが **[テーマレポートを表示]** ドロップダウンメニューに表示されます。  
![\[[コンタクトの検索] ページ、[テーマレポートを表示] ドロップダウンメニュー。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-view-theme-reports.png)

## テーマレポートの生成方法
<a name="generate-theme-report"></a>

1. 以下のセキュリティプロファイル権限を持つアカウントを使用して Amazon Connect にログインします。
   + **コンタクトの検索 - アクセス**
   + **Contact Lens - テーマ検出 - 作成**
   + **Contact Lens - テーマ検出 - 表示**

1. Amazon Connect で、**[分析と最適化]**、**[コンタクトの検索]** の順に選択します。

1. **[コンタクトの検索]** ページで、フィルターを適用して、Contact Lens によって分析されたコンタクトのグループを選択します。
**重要**  
検索クエリでは、Contact Lens で問題が検出されたコンタクトが 1,000 件以上返される必要があります。そうしないと、**[テーマレポートを生成]** ボタンは有効になりません。

1. **[検索を保存]** を選択して結果を保存します。検索に名前を割り当てます。

1. **[テーマレポートを生成]** を選択します。

   Contact Lens は機械学習を適用して、同じような問題を抱えているコンタクトを自動的にグループ化します。レポートが生成されると、バナーにテーマレポートへのリンクが表示されます。バナーの例を次の画像に示します。  
![\[[コンタクトの検索] ページ、テーマ検出バナー\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-theme-detection-banner.png)

1. テーマレポートのリンクをクリックまたはタップします。

   テーマレポートが表示されます。次の図に示すように、テーマのラベルとコンタクトのリストが含まれています。  
![\[複数のテーマラベルを含むテーマレポート。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-theme-detection-drilldown.png)

1. テーマのラベルをクリックまたはタップして、関連するコンタクトを表示し、特定の録音を聞くことができます。またトランスクリプトを読んでより深く分析することができます

# Contact Lens を使用したコンタクトの会話中に感情スコアを調査する
<a name="sentiment-scores"></a>

## 感情スコアとは
<a name="what-are-sentiment-scores"></a>

感情スコアは、テキストの分析であり、主に肯定的、否定的、中立的な言葉が含まれているかどうかを評価します。スーパーバイザーは、感情スコアを使用して会話を検索し、さまざまな程度 (肯定的または否定的な) のカスタマーエクスペリエンスについて、関連を持つコンタクト内容を特定することができます。これは、スーパーバイザーが調査すべきコンタクトを迅速に識別するのに役立ちます。

会話全体の感情スコアの表示や、コンタクト全体の感情の傾向を把握できます。

## 感情スコアの調査方法
<a name="how-to-use-sentiment-scores"></a>

コンタクトセンターの改善に取り組んでいる場合は、次のような点に注目してください。
+ 肯定的な感情スコアで開始し、否定的なスコアで終了するコンタクト。

  例えば、品質保証の目的でサンプリングした、限られた問い合わせのセットに対し焦点を当てている場合は、最初に肯定的な感情を持っていた顧客が、最終的に否定的な感情に変わったことがわかっているコンタクトを調べます。そういった通話は、彼らが何かについて不愉快な会話をしたことを示しています。
+ 否定的な感情スコアで開始し、肯定的なスコアで終了するコンタクト。

  これらのコンタクトを分析することで、コンタクトセンターで再構築すべきエクスペリエンスを特定できます。q成功したテクニックを、エージェント間で共有できます。

感情の進展状況を確認する別の方法として、感情の傾向ラインをチェックすることがあります。コンタクトが進行するにつれて起きる、顧客の感情の変化を確認できます。例えば、次の画像では、会話の開始時は感情スコアが非常に低く、その後上昇し、会話の終わりにかけて再び低下していることがわかります。

![\[顧客感情の傾向。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-sentiment-trend.png)


詳細については、「[感情スコアの検索または感情シフトの評価](search-conversations.md#sentiment-search)」を参照してください。

## 感情スコアの決定方法
<a name="how-sentiment-scores-are-determined"></a>

Amazon Connect Contact Lens は、会話中に話者が話すたびに、その感情を肯定的、否定的、または中立的として分析します。次に、各参加者が話すたびに 2 つの要素を検討して、通話の各期間に -5～\$15 の範囲のスコアを割り当てます。
+ 頻度。感情が肯定的、否定的、または中立的であった回数。
+ 感情の筋。毎回同じ感情。

全体的な感情スコアは、通話の各部分に割り当てられたスコアの平均です。

# Amazon Connect Contact Lens を使用して通話中の非通話時間を調査する
<a name="non-talk-time"></a>

## 非通話時間とは
<a name="what-is-non-talk-time"></a>

Amazon Connect Contact Lens では、通話の *[非通話時間]******* の長さも特定します。非通話時間とは、保留時間 に、両方の通話者が無言で音の無い状態が 3 秒を超えた時間を足したものです。この時間はカスタマイズできません。

次の画像は、**[コンタクトの詳細]** ページの非通話時間データの位置を示しています。

![\[[コンタクトの詳細] ページ、[通話時間] セクション、非通話時間データ。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-nontalk-time-overview.png)


## 非通話時間の調査方法
<a name="how-to-investigate-non-talk-time"></a>

非通話時間は、質の低い対話の特定に役立ちます。これは、以下のような場合に発生します。
+ 今までにない質問を、顧客がコンタクトセンターにしていた場合。
+ エージェントは対応するのに長い時間をかけていますが、この場合、彼らが受けたトレーニングには不足はありません。これは、エージェントが使用しているツールに問題がある可能性を示唆しています。例えば、ツールの反応が遅いか、操作性が良くないということが考えられます。
+ 加わったばかりの新人のエージェントが、返すべき答えを用意できていない場合。これは、さらにトレーニングが必要であることを示しています。

コンタクトセンターを改善するために、これらのコンタクトに焦点を当てるべきかどうかを決定します。例えば、音声のセクションに移動しトランスクリプトを見ながら、そこで発生している事態を確認できます。

 次の例では、エージェントが発信者のトリップ ID を検索しているときに、非通話時間が発生しています。これは、エージェントのツールに問題があることを示唆しています。または、エージェントが新人の場合は、より多くのトレーニングが必要です。

![\[コンタクトの音声記録とトランスクリプト、非通話時間の位置。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-non-talk-time-transcript.png)


詳細については、「[非通話時間の検索](search-conversations.md#nontalk-time-search)」を参照してください。

# チャット中の応答時間の調査
<a name="response-time"></a>

応答時間メトリクスを使用して、チャット連絡中のエージェントまたは顧客の応答性を把握します。

Contact Lens では、以下のメトリクスを計算します。
+ **エージェントの挨拶時間**。これはエージェントの初回応答時間で、エージェントがチャットに参加した後、どれだけ早くエージェントが顧客とやり取りしたかを示します。例えば、顧客が会話の最初に否定的な感情を抱いた場合は、初回応答時間が長いことが原因と考えられます。
+ **エージェントの平均応答時間**と**顧客の平均応答時間**。エージェントの応答時間は、組織のベースラインに対するエージェントのパフォーマンスを確認するのに役立ちます。
+ **エージェントの最大応答時間**と**顧客の最大応答時間**。

  顧客の最大応答時間によって、エージェントの応答時間が説明できる場合があります。例えば、顧客から 5 分間返信がなく、その後メッセージを送信した場合、エージェントでは他のチャットを同時に処理していたため、通常より応答に時間がかかった可能性があります。

応答時間のメトリクスは、会話や参加者の感情のギャップを示すやり取りのグラフと併せて検討することをお勧めします。

グラフで最も長い応答時間の値をクリックまたはタップすると、トランスクリプト内の関連するメッセージに移動できます。

次の **[コンタクトの詳細]** ページの画像は、チャット会話のメトリクスを示しています。**[エージェントの挨拶時間]** = エージェントがチャットに参加した後、最初の応答を送信するまでの時間であることに注目してください。

![\[[コンタクトの詳細] ページ、チャットメトリクス。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contactlens-contactdetails-chat1b.png)


詳細については、「[チャットの会話に対する応答時間で検索](search-conversations.md#response-time-search)」を参照してください。

# Contact Lens を使用して、エージェントと顧客の通話時の声の大きさを調査する
<a name="contact-lens-loudness"></a>

ラウドネススコアは、通話中に顧客またはエージェントがどの程度の大きさで話しているかを測定します。このビューでは会話の分析が表示され、顧客またはエージェントが大声で話している箇所や、否定的な感情を示している箇所を特定できます。

## ラウドネススコアの使い方
<a name="investigate-loudness-scores"></a>

ラウドネススコアは、感情スコアと一緒に使用することをお勧めします。会話のラウドネススコアが高く、感情スコアが低い領域を探します。次に、トランスクリプトで対象の部分を読むか、通話でのセクションを聞きます。

例えば、以下は録音およびトランスクリプト分析の画像です。スパイク状の縦棒は、顧客が大声で話している位置を示します。赤い横棒は、顧客の感情が否定的であることを示します。

![\[[コンタクトの詳細] ページ、声量スコア。\]](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/contact-lens-amplitude.png)


# Contact Lens を使用して顧客のプライバシーを保護するために、機密データの秘匿化を行う
<a name="sensitive-data-redaction"></a>

Contact Lens 会話分析を使用すると、顧客のプライバシーを保護するために、会話のトランスクリプト、オーディオファイル、E メールのトランスクリプトから機密データを自動的に編集できます。自然言語理解を使用して、名前、住所、クレジットカード情報などの機密データを秘匿化します。

**記録と分析の動作を設定**ブロックで会話分析を有効にすると、秘匿化を有効にするオプションがあります。詳細については、「[機密データの秘匿化を有効にする](enable-analytics.md#enable-redaction)」を参照してください。

音声コンタクトの場合、通話が切断された後に機密データの秘匿化が適用されます。E メールコンタクトの場合、秘匿化は E メールコンタクトの終了後に適用されます。

**重要**  
秘匿化機能は、機密データを識別して削除するように設計されています。ただし、機械学習が持つ予測的な性質の関係上、Contact Lens によって生成されたトランスクリプトに含まれる機密データの存在を、すべて特定して削除することはできません。出力が要求通りに秘匿化されていることを、自分自身で再確認することをお勧めします。  
秘匿化機能は、1996 年に米国で制定された、医療保険の相互運用性と説明責任に関する法律 (HIPAA) のような、医療プライバシー法に基づく匿名性の要件を満たしていません。このため、秘匿化処理後も、引き続き保護の対象となる医療情報として扱うことをお勧めします。

Contact Lens の秘匿化機能がサポートしている言語の一覧については、[Amazon Connect の機能でサポートされている言語](supported-languages.md) を参照してください。

## 秘匿化済みのファイルについて
<a name="about-redacted-files"></a>

秘匿化済みの音声ファイルは、Amazon S3 バケット内 (例: connect-*instanceARN*/Analysis) に保存されます。

編集されたチャットファイルは、チャット Amazon S3 バケットに保存されます。例: connect-*instanceARN*/Analysis/Chat

秘匿化された E メールファイルは、connect-*instanceARN*/Analysis/Email などの E メール Amazon S3 バケットに保存されます。

Amazon S3 コンソールを使用して、 AWS コンソールからすべてのファイル (秘匿化済み、秘匿化なし、生データなど) にアクセスできます。

以下は、適切な[セキュリティプロファイルのアクセス許可](permissions-for-contact-lens.md)があると仮定して Amazon Connect 、管理者ウェブサイト (**連絡先の詳細**ページなど) を使用してアクセスできる内容のリストです。
+ 秘匿化された音声、チャット、E メールファイルにアクセスします。
+ 秘匿化済み音声録音をダウンロードします。

**注記**  
現在、秘匿化済みチャットファイルと音声トランスクリプトをダウンロードすることはできません。

秘匿化が有効化されると、Contact Lens は以下のファイルを生成します。
+ 秘匿化済みファイル。このファイルは、[秘匿化] が有効化されている場合デフォルトで生成されます。これは、機密データが秘匿化された出力スキーマです。ファイル例については、「[Contact Lens 会話分析で分析された通話の秘匿化済みファイルの例](contact-lens-example-output-files.md#example-redacted-file)」を参照してください。
+ オリジナル (未加工) で、分析済みのファイル。このファイルは、[記録と分析の動作の設定](set-recording-behavior.md) ブロックの、**[秘匿化済み音声のために、秘匿化済みおよびオリジナルのトランスクリプトを取得する]** が選択されている場合にのみ生成されます。ファイル例については、「[Contact Lens 会話分析で分析された通話の元のファイルの例](contact-lens-example-output-files.md#example-original-output-file)」を参照してください。
**重要**  
音声コンタクトでは、オリジナルの分析済みファイルは、完全な会話が保存される唯一の場所です。これを削除すると、秘匿化された機密データの記録は残りません。
+ 音声コンタクトの秘匿化済み音声ファイル (wav)。音声ファイル内の機密データは、無音として編集されます。これらのサイレント時間は、 Amazon Connect 管理者ウェブサイトや他の場所で非通話時間としてフラグ付けされません。

これらのファイルを保持する期間を決定するには、ファイル保持ポリシーを使用します。

# チャット分析に Contact Lens API を使用する
<a name="contact-lens-api"></a>

Contact Lens は、会話分析をサポートする 2 種類の API を提供しています。このような API を使用して、コンタクトセンターの効率を向上するソリューションを構築できます。
+ [ListRealtimeContactAnalysisSegments](https://docs.aws.amazon.com/contact-lens/latest/APIReference/API_ListRealtimeContactAnalysisSegments.html): 音声のコンタクトに使用します。
+ [ListRealtimeContactAnalysisSegmentsV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_ListRealtimeContactAnalysisSegmentsV2.html): チャットのコンタクトに使用します。

このような会話分析 API は、標準的なリクエスト/応答を行うポーリング API であり、その他のサービスと統合する必要はありません。ただし、[レート制限](amazon-connect-service-limits.md#connect-contactlens-api-quotas)があります。必要な場合は、[ストリーミング API](contact-analysis-segment-streams.md) を使用することで、これらの制限をなくすことができます。Amazon Kinesis Data Streams との統合が必要です。

通話分析とチャット分析の API の 2 種類のユースケースは次のとおりです。

## コンタクト転送の向上
<a name="contact-lens-api-transfers"></a>

コンタクトをエージェントから別のエージェントに転送する際、次のエージェントに会話のトランスクリプトを転送できます。新人エージェントには、コンタクト理由についてのコンテキストが提供されるため、顧客は既に提供した情報を最初から繰り返す必要はありません。音声のコンタクトには [ListRealtimeContactAnalysisSegments](https://docs.aws.amazon.com/contact-lens/latest/APIReference/API_ListRealtimeContactAnalysisSegments.html) API、チャットには [ListRealtimeContactAnalysisSegmentsV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_ListRealtimeContactAnalysisSegmentsV2.html) API を使用して、特定の時点までの会話のトランスクリプト全体を取得して、新人エージェントと共有できます。

## ラベル、問題、アクション項目、結果など、会話の主要な部分のハイライトを取得できます。
<a name="contact-lens-api-call-summary"></a>

エージェントは主なハイライトを使用して、コンタクトの終了後迅速にメモを取り、スーパーバイザーはコンタクトを迅速に特定して品質管理やエージェントのパフォーマンスを管理できます。これにより、エージェントとスーパーバイザーの業務の生産性が向上します。

# Amazon Kinesis Data Streams を使用して音声およびチャットコンタクトの Contact Lens 分析にアクセスする
<a name="contact-analysis-segment-streams"></a>

コンタクト分析セグメントストリームを使用すると、音声コンタクトとチャットコンタクトの Contact Lens 分析にアクセスできます。ストリーミングは、既存の[通話とチャット分析 API](contact-lens-api.md) のスケーリング制限を克服しています。音声コンタクトでは、部分的なトランスクリプトにアクセスできる、`Utterance` と呼ばれるデータセグメントにもアクセスできます。これにより、ライブコールでエージェントを支援するための超低レイテンシー要件を満たすことができます。

このセクションでは、ストリーミングのために Amazon Kinesis Data Streams と統合する方法について説明します。

ストリーミングを通して、以下のイベントタイプを受信できます。
+ コンタクト分析セッションの開始時に公開された STARTED イベント。
+ コンタクト分析セッション中に公開された SEGMENTS イベント。これらのイベントには、分析された情報を含むセグメントのリストが含まれます。
+ コンタクト分析セッションの終了時に公開された COMPLETED イベントまたは FAILED イベント。

**Topics**
+ [コンタクト分析セグメントストリームを有効にする](enable-contact-analysis-segment-streams.md)
+ [音声: 会話分析セグメントストリームのデータモデル](real-time-contact-analysis-segment-streams-data-model.md)
+ [チャット: 会話分析セグメントストリームのデータモデル](chat-real-time-contact-analysis-segment-streams-data-model.md)
+ [音声: 会話分析セグメントストリームのサンプル](sample-real-time-contact-analysis-segment-stream.md)
+ [チャット: 会話分析セグメントストリームのサンプル](chat-sample-real-time-contact-analysis-segment-stream.md)

# Contact Lens の会話を分析するためにコンタクト分析セグメントストリームを有効にする
<a name="enable-contact-analysis-segment-streams"></a>

問い合わせ分析セグメントストリームは、デフォルトでは有効になっていません。このトピックでは、有効にする方法について説明します。

## ステップ 1: Kinesis ストリームを作成する
<a name="enable-segment-streams-step1"></a>

Amazon Connect インスタンスが存在するのと同じアカウントとリージョンにデータストリームを作成します。詳細については、『*Amazon Kinesis Data Streams デベロッパーガイド*』の「[ステップ 1: データストリームの作成](https://docs.aws.amazon.com/streams/latest/dev/tutorial-stock-data-kplkcl-create-stream.html)」を参照してください。

**ヒント**  
データのタイプごとに個別のストリームを作成することをお勧めします。コンタクト分析セグメントストリーム、エージェントイベント、およびコンタクトレコードに同じストリームを使用することは可能ですが、それぞれ個別のストリームを使用した方が、ストリームの管理とデータの取得がはるかに容易になります。詳細については、「[Amazon Kinesis Data Streams デベロッパーガイド](https://docs.aws.amazon.com/streams/latest/dev/introduction.html)」を参照してください。

## ステップ 2: Kinesis ストリームのサーバー側暗号化を設定する (オプションですが、推奨)
<a name="enable-segment-streams-step2"></a>

これを行うには、いくつかの方法があります。
+ オプション 1: Kinesis AWS マネージドキー (`aws/kinesis`) を使用します。追加の設定なしで機能します。
+ オプション 2: Amazon Connect インスタンスの通話録音、チャットのトランスクリプト、またはエクスポートされたレポートで同じ顧客管理キーを使用します。

  オプション 2: Amazon Connect インスタンスの通話録音、チャットのトランスクリプト、またはエクスポートされたレポートで同じ顧客管理キーを使用します。その場合、Kinesis データストリームに同じ KMS キーを選択します。このキーには、使用に必要な許可 (付与) が既にあります。
+ オプション 3: 別の顧客管理キーを使用します。

  既存の顧客管理キーを使用するか、新しい顧客管理キーを作成して、Amazon Connect ロールがキーを使用するために必要な許可を追加します。 AWS KMS 付与を使用して許可を追加するには、次の例を参照してください。

  ```
  aws kms create-grant \
      --key-id your key ID \
      --grantee-principal arn:aws:iam::your AWS account ID:role/aws-service-role/connect.amazonaws.com/AWSServiceRoleForAmazonConnect_11111111111111111111 \
      --operations GenerateDataKey \
      --retiring-principal arn:aws:iam::your AWS account ID:role/adminRole
  ```

  `grantee-principal` は、Amazon Connect インスタンスに関連付けられているサービスにリンクされたロールの ARN です。サービスにリンクされたロールの ARN を確認するには、Amazon Connect コンソールで、**[Overview]** (概要)、**[Distribution settings]** (ディストリビューションの設定)、**[Service-linked role]** (サービスにリンクされたロール) に移動します。

## ステップ 3: Kinesis ストリームを関連付ける
<a name="enable-segment-streams-step3"></a>

Amazon Connect [AssociateInstanceStorageConfig](https://docs.aws.amazon.com/connect/latest/APIReference/API_AssociateInstanceStorageConfig.html) API を使用して、以下のリソースタイプを関連付けます。
+ 音声コンタクトでは `REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS` を使用します。
+ チャットコンタクトでは `REAL_TIME_CONTACT_ANALYSIS_CHAT_SEGMENTS` を使用します。

**注記**  
`REAL_TIME_CONTACT_ANALYSIS_SEGMENTS` は廃止されましたが、まだサポートされており、音声コンタクトのみに適用されます。今後の音声コンタクトでは `REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS` を使用してください。  
以前ストリームを `REAL_TIME_CONTACT_ANALYSIS_SEGMENTS` に関連付けたことがある場合は、ストリームを `REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS` に更新するためのアクションは必要ありません。

リアルタイムコンタクト分析セグメントの公開先の Kinesis ストリームを指定します。インスタンス ID と Kinesis ストリーム ARN が必要です。コードの例を以下に示します。

```
// Build request
  const request: Connect.Types.AssociateInstanceStorageConfigRequest = {
    InstanceId: 'your Amazon Connect instance ID',
    ResourceType: 'REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS or REAL_TIME_CONTACT_ANALYSIS_CHAT_SEGMENTS',
    StorageConfig: {
      StorageType: 'KINESIS_STREAM',
      KinesisStreamConfig: {
        StreamArn: 'the ARN of your Kinesis stream',
      },
    }
  };
```

### AWS CLI
<a name="step3-cli"></a>

以下はチャットコンタクトの例です。

**ヒント**  
 AWS リージョン (`--region`) を含めない場合、CLI プロファイルに基づいてデフォルトのリージョンが使用されます。  
`--storage-config` パラメータ値は一重引用符 (') 内に含めないでください。そうしないと、エラーが発生します。

```
aws connect associate-instance-storage-config \
--region "us-west-2" \
--instance-id your Amazon Connect instance ID \
--resource-type REAL_TIME_CONTACT_ANALYSIS_CHAT_SEGMENTS \
--storage-config StorageType=KINESIS_STREAM,KinesisStreamConfig={StreamArn=the ARN of your Kinesis stream}
```

### AWS SDK
<a name="step3-sdk"></a>

以下は音声コンタクトの例です。

```
import { Connect } from 'aws-sdk';

async function associate (): Promise <void> {
  const clientConfig: Connect.ClientConfiguration = {
    region: 'the Region of your Amazon Connect instance',
  };

  const connect = new Connect(clientConfig);

  // Build request
  const request: Connect.Types.AssociateInstanceStorageConfigRequest = {
    InstanceId: 'your Amazon Connect instance ID',
    ResourceType: 'REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS',
    StorageConfig: {
      StorageType: 'KINESIS_STREAM',
      KinesisStreamConfig: {
        StreamArn: 'the ARN of your Kinesis stream',
      },
    }
  };

  try {
    // Execute request
    const response: Connect.Types.AssociateInstanceStorageConfigResponse = await connect.associateInstanceStorageConfig(request).promise();

    // Process response
    console.log('raw response: ${JSON.stringify(response, null, 2)}');
  } catch (err) {
    console.error('Error calling associateInstanceStorageConfig. err.code: ${err.code},' +
      'err.message: ${err.message}, err.statusCode: ${err.statusCode}, err.retryable: ${err.retryable}');
  }
}

associate().then(r => console.log('Done'));
```

## ステップ 4: Amazon Connect インスタンスの Contact Lens を有効にする
<a name="enable-segment-streams-step4"></a>

手順については、「[Amazon Connect Contact Lens 会話分析を有効にする](enable-analytics.md)」を参照してください。

## ステップ 5 (オプション): サンプルセグメントストリームを確認する
<a name="enable-segment-streams-step5"></a>

[音声](sample-real-time-contact-analysis-segment-stream.md)または[チャット](chat-sample-real-time-contact-analysis-segment-stream.md)のサンプルセグメントストリームを確認して、それぞれどのようなものかを把握しておくことをお勧めします。

# Contact Lens で音声コンタクトを分析するための会話分析セグメントストリームのデータモデル
<a name="real-time-contact-analysis-segment-streams-data-model"></a>

リアルタイム問い合わせ分析セグメントストリームは JSON で生成されます。リアルタイム会話分析が有効になっているすべてのコンタクトの関連ストリームに、イベント JSON blob が公開されます。音声コンタクトの会話分析セッションのために、以下のタイプのイベントを公開できます。
+ STARTED イベント - 各会話分析セッションは、セッションの開始時に 1 つの STARTED イベントを公開します。
+ SEGMENTS イベント - 各会話分析セッションは、セッション中に 1 つ以上の SEGMENTS イベントを公開することがあります (イベントが 0 の場合もあります)。これらのイベントには、分析された情報を含むセグメントのリストが含まれます。音声コンタクトの場合、セグメントのリストには 、「`Utterance`」、「`Transcript`」、「`Categories`」または「`PostContactSummary`」セグメントが含まれる場合があります。
+ COMPLETED または FAILED イベント - 各会話分析セッションは、セッションの終了時に 1 つの COMPLETED イベントまたは FAILED イベントを公開します。

## 音声コンタクトのすべてのイベントに含まれる共通のプロパティ
<a name="segment-streams-data-model-common-properties"></a>

すべてのイベントには、以下のプロパティが含まれます。

**バージョン**  
イベントスキーマのバージョン。  
型: 文字列

**Channel**  
この問い合わせのチャネルのタイプ。  
型: 文字列  
有効な値: `VOICE`、`CHAT`、`TASK`  
チャネルの詳細については、「[Amazon Connect で問い合わせをルーティングするためのチャネルと同時実行数](channels-and-concurrency.md)」を参照してください。

**AccountId**  
この問い合わせが行われるアカウントの ID。  
型: 文字列

**ContactId**  
分析される問い合わせの ID。  
型: 文字列

**InstanceId**  
この問い合わせが行われるインスタンスの ID。  
型: 文字列 

**LanguageCode**  
この問い合わせに関連付けられている言語コード。  
タイプ: 文字列   
有効な値: [Contact Lens リアルタイム通話分析でサポートされている言語](supported-languages.md#supported-languages-contact-lens)のいずれかの言語コード。

**EventType**  
発行されるイベントのタイプ。  
型: 文字列  
有効な値: `STARTED`、`SEGMENTS`、`COMPLETED`、`FAILED`

## STARTED イベント
<a name="segment-streams-data-model-started-event"></a>

`STARTED` イベントには、共通のプロパティのみが含まれます。
+ Version
+ Channel
+ AccountId
+ ContactId
+ LanguageCode
+ EventType: STARTED

## SEGMENTS イベント
<a name="segment-streams-data-model-segments-event"></a>

`SEGMENTS` イベントには、以下のプロパティが含まれます。
+ Version
+ Channel
+ AccountId
+ ContactId
+ LanguageCode
+ EventType: SEGMENTS
+ セグメント: 共通のプロパティに加えて、`SEGMENTS` イベントには、セグメントのリストと分析情報が含まれます。

  タイプ: [セグメント](#segment)オブジェクトの配列
+ PostContactSummary: 音声コンタクトセグメントのコンタクト後の概要に関する情報。

  タイプ: [PostContactSummary](https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-contact-lens_PostContactSummary.html) オブジェクト 

  必須: いいえ

**セグメント**  
リアルタイム分析セッションで分析されたセグメント。  
各セグメントは、以下のオプションのプロパティを持つオブジェクトです。セグメントタイプに応じて、以下のプロパティの 1 つだけが存在します。  
+ Utterance
+ Transcript
+ カテゴリ
+ PostContactSummary

**Utterance**  
分析された発話。  
必須: いいえ  
+ **ID**

  発話の ID。

  型: 文字列
+ ** TranscriptId**

  この発話に関連付けられているトランスクリプトの ID。

  タイプ: 文字列
+ **ParticipantId**

  参加者の ID。

  型: 文字列
+ ** ParticipantRole**

  参加者のロール。例えば、顧客、エージェント、システムなどです。

  型: 文字列
+ ** PartialContent**

  発話の内容。

  型: 文字列
+ ** BeginOffsetMillis**

  このトランスクリプトのコンタクトの開始オフセット。

  タイプ: 整数
+ ** EndOffsetMillis**

  このトランスクリプトのコンタクトの終了オフセット。

  タイプ: 整数

**Transcript**  
分析されたトランスクリプト。  
型: [トランスクリプト](https://docs.aws.amazon.com/contact-lens/latest/APIReference/API_Transcript.html)オブジェクト   
必須: いいえ

**Categories**  
一致したカテゴリルール。  
タイプ: [Categories](https://docs.aws.amazon.com/contact-lens/latest/APIReference/API_Categories.html) オブジェクト  
必須: いいえ

**PostContactSummary**  
音声コンタクトセグメントのコンタクト後の概要に関する情報。  
タイプ: [PostContactSummary](https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-contact-lens_PostContactSummary.html) オブジェクト  
必須: いいえ

## COMPLETED イベント
<a name="segment-streams-data-model-completed-event"></a>

`COMPLETED` イベントには、以下の共通プロパティのみが含まれます。
+ Version
+ Channel
+ AccountId
+ ContactId
+ LanguageCode
+ EventType: COMPLETED

## FAILED イベント
<a name="segment-streams-data-model-failed-event"></a>

`FAILED` イベントには、以下の共通プロパティのみが含まれます。
+ Version
+ Channel
+ AccountId
+ ContactId
+ LanguageCode
+ EventType: FAILED

# Contact Lens でチャットを分析するための会話分析セグメントストリームのデータモデル
<a name="chat-real-time-contact-analysis-segment-streams-data-model"></a>

チャットコンタクトの会話分析セグメントストリームは JSON で生成されます。リアルタイム会話分析が有効になっているすべてのコンタクトの関連ストリームに、イベント JSON blob が公開されます。チャットコンタクトの会話分析セッションのために、以下のタイプのイベントを公開できます。
+ STARTED イベント - 各会話分析セッションは、セッションの開始時に 1 つの STARTED イベントを公開します。
+ SEGMENTS イベント - 各会話分析セッションは、セッション中に 1 つ以上の SEGMENTS イベントを公開することがあります (イベントが 0 の場合もあります)。これらのイベントには、分析された情報を含むセグメントのリストが含まれます。チャットコンタクトの場合、セグメントのリストには「`Attachments`」、「`Transcript`」、「`Categories`」、「`Events`」、「`Issues`」または「`PostContactSummary`」セグメントが含まれる場合があります。
+ COMPLETED または FAILED イベント - 各会話分析セッションは、セッションの終了時に 1 つの COMPLETED イベントまたは FAILED イベントを公開します。

## チャットコンタクトのすべてのイベントに含まれる共通のプロパティ
<a name="chat-segment-streams-data-model-common-properties"></a>

すべてのイベントには、以下のプロパティが含まれます。

**バージョン**  
イベントスキーマのバージョン。チャットコンタクトの場合、これは 2.0.0 です。  
タイプ: 文字列

**Channel**  
この問い合わせのチャネルのタイプ。  
型: 文字列  
有効な値: `VOICE`、`CHAT`、`TASK`  
チャネルの詳細については、「[Amazon Connect で問い合わせをルーティングするためのチャネルと同時実行数](channels-and-concurrency.md)」を参照してください。

**AccountId**  
この問い合わせが行われるアカウントの ID。  
タイプ: 文字列

**InstanceId**  
この問い合わせが行われるインスタンスの ID。  
タイプ: 文字列 

**ContactId**  
分析される問い合わせの ID。  
タイプ: 文字列

**StreamingEventType**  
発行されるイベントのタイプ。  
型: 文字列   
有効な値: `STARTED`、`SEGMENTS`、`COMPLETED`、`FAILED`

**StreamingSettings**  
このコンタクトContact Lensの設定  
型: [StreamingSettings](#streamingsettingsobject) オブジェクト 

## StreamingSettings オブジェクト
<a name="streamingsettingsobject"></a>

**LanguageCode**  
この問い合わせに関連付けられている言語コード。  
タイプ: 文字列   
有効な値: [Contact Lens リアルタイム通話分析でサポートされている言語](supported-languages.md#supported-languages-contact-lens)のいずれかの言語コード。

**Output**  
このコンタクトで有効になっている Contact Lens 出力タイプ。  
タイプ: 文字列  
有効な値: `Raw`、`Redacted`、`RedactedAndRaw`

**RedactionTypes**  
このコンタクトで有効になっている秘匿化のタイプ。  
型: 文字列の配列  
有効な値: `PII` 

**RedactionTypesMetadata**  
各秘匿化タイプの秘匿化メタデータ。  
型: RedactionType 文字列から [RedactionMetadata](#redactionmetadata) オブジェクト   
有効な値: `PII` 

## RedactionMetadata オブジェクト
<a name="redactionmetadata"></a>

秘匿化設定に関する情報を提供します。

**RedactionMaskMode**  
データの秘匿化置換設定  
タイプ: 文字列   
有効な値: `PII`、`EntityType`

## STARTED イベント
<a name="chat-segment-streams-data-model-started-event"></a>

`STARTED` イベントには、共通のプロパティのみが含まれます。
+ Version
+ Channel
+ AccountId
+ ContactId
+ StreamingEventType: STARTED
+ StreamingSettings

## SEGMENTS イベント
<a name="chat-segment-streams-data-model-segments-event"></a>

`SEGMENTS` イベントには、以下のプロパティが含まれます。
+ Version
+ Channel
+ AccountId
+ OutputType
  + 現在のセグメントの Contact Lens 出力タイプ。
  + タイプ: 文字列
  + 有効な値: `Raw`、`Redacted`
+ ContactId
+ StreamingEventType: SEGMENTS
+ StreamingSettings
+ セグメント
  + 分析情報を含むセグメントのリスト。
  + タイプ: [セグメント](#chat-segment)オブジェクトの配列

**セグメント**  
リアルタイム分析セッションで分析されたセグメント。  
各セグメントは、以下のオプションのプロパティを持つオブジェクトです。セグメントタイプに応じて、以下のプロパティの 1 つだけが存在します。  
+  [アタッチメント](#chat-attachments)
+  [カテゴリ](#chat-category)
+  [イベント](#chat-event)
+  [問題](#chat-issues)
+  [トランスクリプト](#chat-transcript)
+ [PostContactSummary](#chat-postcontactsummary)

**アタッチメント**  
分析された添付ファイル。  
必須: いいえ  
型: [RealTimeContactAnalysisSegmentAttachments](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealTimeContactAnalysisSegmentAttachments.html) オブジェクト

**Categories**  
一致したカテゴリルール。  
型: [RealTimeContactAnalysisSegmentCategories](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealTimeContactAnalysisSegmentCategories.html) オブジェクト  
必須: いいえ

**イベント**  
コンタクトイベントを説明するセグメントタイプ。  
型: [RealTimeContactAnalysisSegmentEvent](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealTimeContactAnalysisSegmentEvent.html) オブジェクト  
必須: いいえ

**問題**  
検出された問題のリストを含むセグメントタイプ。  
型: [RealTimeContactAnalysisSegmentIssues](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealTimeContactAnalysisSegmentIssues.html) オブジェクト  
必須: いいえ

**トランスクリプト**  
分析されたトランスクリプトセグメント。  
型: [RealTimeContactAnalysisSegmentTranscript](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealTimeContactAnalysisSegmentTranscript.html) オブジェクト  
必須: いいえ

**PostContactSummary**  
チャットのリアルタイムコンタクトセグメントのコンタクト後の概要に関する情報。  
タイプ: [RealTimeContactAnalysisSegmentPostContactSummary](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealTimeContactAnalysisSegmentPostContactSummary.html) オブジェクト   
必須: いいえ

## COMPLETED イベント
<a name="chat-segment-streams-data-model-completed-event"></a>

`COMPLETED` イベントには、以下の共通プロパティのみが含まれます。
+ Version
+ Channel
+ AccountId
+ InstanceId
+ ContactId
+ StreamingEventType: COMPLETED
+ StreamingSettings

## FAILED イベント
<a name="chat-segment-streams-data-model-failed-event"></a>

`FAILED` イベントには、以下の共通プロパティのみが含まれます。
+ Version
+ Channel
+ AccountId
+ InstanceId
+ ContactId
+ StreamingEventType: FAILED
+ StreamingSettings

# Contact Lens を使用して通話を分析するための会話分析セグメントストリームのサンプル
<a name="sample-real-time-contact-analysis-segment-stream"></a>

このトピックでは、音声コンタクト中に発生する可能性のある STARTED、SEGMENTS、COMPLETED、FAILED イベントのサンプルセグメントストリームを示します。

## サンプルの STARTED イベント
<a name="sample-started-event"></a>
+ EventType: STARTED
+ 会話分析セッションの開始時に公開されます。

```
{
    "Version": "1.0.0",
    "Channel": "VOICE",
    "AccountId": "123456789012", // your AWS account ID
    "InstanceId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",  // your Amazon Connect instance ID
    "ContactId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", // the ID of the contact
    "LanguageCode": "en-US", // the language code of the contact
    "EventType": "STARTED"
}
```

## サンプルの SEGMENTS イベント
<a name="sample-segments-event"></a>
+ EventType: SEGMENTS
+ 会話分析セッション中に公開されます。これらのイベントには、セグメントのリストと分析情報が含まれます。セグメントのリストには、「`Utterance`」、「`Transcript`」、「`Categories`」または「`PostContactSummary`」セグメントが含まれる場合があります。

```
{
    "Version": "1.0.0",
    "Channel": "VOICE",
    "AccountId": "123456789012", // your AWS account ID
    "InstanceId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",  // your Amazon Connect instance ID
    "ContactId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", // the ID of the contact
    "LanguageCode": "en-US", // the language code of the contact
    "EventType": "SEGMENTS",
    "Segments": [
        {
            "Utterance": {
                "Id": "7b48ca3d-73d3-443a-bf34-a9e8fcc01747",
                "TranscriptId": "121d1581-905f-4169-9804-b841bb4df04a",
                "ParticipantId": "AGENT",
                "ParticipantRole": "AGENT",
                "PartialContent": "Hello, thank you for calling Example Corp. My name is Adam.",
                "BeginOffsetMillis": 19010,
                "EndOffsetMillis": 22980
            }
        },
        {
            "Utterance": {
                "Id": "75acb743-2154-486b-aaeb-c960ae290e88",
                "TranscriptId": "121d1581-905f-4169-9804-b841bb4df04a",
                "ParticipantId": "AGENT",
                "ParticipantRole": "AGENT",
                "PartialContent": "How can I help you?",
                "BeginOffsetMillis": 23000,
                "EndOffsetMillis": 24598
            }
        },
        {
            "Transcript": {
                "Id": "121d1581-905f-4169-9804-b841bb4df04a",
                "ParticipantId": "AGENT",
                "ParticipantRole": "AGENT",
                "Content": "Hello, thank you for calling Example Corp. My name is Adam. How can I help you?",
                "BeginOffsetMillis": 19010,
                "EndOffsetMillis": 24598,
                "Sentiment": "NEUTRAL"
            }
        },
        {
            "Transcript": {
                "Id": "4295e927-43aa-4447-bbfc-8fccc2027530",
                "ParticipantId": "CUSTOMER",
                "ParticipantRole": "CUSTOMER",
                "Content": "I'm having trouble submitting the application, number AX876293 on the portal. I tried but couldn't connect to my POC on the portal. So, I'm calling on this toll free number",
                "BeginOffsetMillis": 19010,
                "EndOffsetMillis": 22690,
                "Sentiment": "NEGATIVE",
                "IssuesDetected": [
                    {
                        "CharacterOffsets": {
                            "BeginOffsetChar": 0,
                            "EndOffsetChar": 81
                        }
                    }
                ]
            }
        },
        {
            "Categories": {
                "MatchedCategories": [
                    "CreditCardRelated",
                    "CardBrokenIssue"
                ],
                "MatchedDetails": {
                    "CreditCardRelated": {
                        "PointsOfInterest": [
                            {
                                "BeginOffsetMillis": 19010,
                                "EndOffsetMillis": 22690
                            }
                        ]
                    },
                    "CardBrokenIssue": {
                        "PointsOfInterest": [
                            {
                                "BeginOffsetMillis": 25000,
                                "EndOffsetMillis": 29690
                            }
                        ]
                    }
                }
            }
        },
        {
            "PostContactSummary": {
                "Content": "Customer contacted Example Corp because of an issue with their application",
                "Status": "COMPLETED"
            }
        }
    ]
}
```

## サンプルの COMPLETED イベント
<a name="sample-completed-event"></a>
+ EventType: COMPLETED
+ 分析が正常に完了した場合、問い合わせ分析セッションの終了時に公開されます。

```
{
    "Version": "1.0.0",
    "Channel": "VOICE",
    "AccountId": "123456789012", // your AWS account ID
    "InstanceId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",  // your Amazon Connect instance ID
    "ContactId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", // the ID of the contact
    "LanguageCode": "en-US", // the language code of the contact
    "EventType": "COMPLETED"
}
```

## サンプルの FAILED イベント
<a name="sample-failed-event"></a>
+ EventType: FAILED
+ 分析が失敗した場合、会話分析セッションの終了時に公開されます。

```
{
    "Version": "1.0.0",
    "Channel": "VOICE",
    "AccountId": "123456789012", // your AWS account ID
    "InstanceId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",  // your Amazon Connect instance ID
    "ContactId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", // the ID of the contact
    "LanguageCode": "en-US", // the language code of the contact
    "EventType": "FAILED"
}
```

# Contact Lens でチャットを分析するための会話分析ストリームのサンプル
<a name="chat-sample-real-time-contact-analysis-segment-stream"></a>

このトピックでは、チャットコンタクト中に発生する可能性のある STARTED、SEGMENTS、COMPLETED、FAILED イベントのサンプルセグメントストリームを示します。

## サンプルの STARTED イベント
<a name="chat-sample-started-event"></a>
+ EventType: STARTED
+ 会話分析セッションの開始時に公開されます。

```
{
    "Version": "2.0.0",
    "Channel": "CHAT",
    "AccountId": "123456789012", // your AWS account ID
    "InstanceId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",  // your Amazon Connect instance ID
    "ContactId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", // the ID of the contact
    "StreamingEventType": "STARTED",
    "StreamingSettings": {
      "LanguageCode": "en-US", // the language code of the contact
      "Output": "RedactedAndRaw",
      "RedactionTypes": [
          "PII"
      ],
      "RedactionTypesMetadata": {
        "PII": {
            "RedactionMaskMode": "PII"
         }
       }
    }
}
```

## サンプルの SEGMENTS イベント
<a name="chat-sample-segments-event"></a>
+ EventType: [SEGMENTS](chat-real-time-contact-analysis-segment-streams-data-model.md#chat-segment-streams-data-model-segments-event) 
+ 会話分析セッション中に公開されます。このイベントには、分析された情報を含む [RealtimeContactAnalysisSegment](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealtimeContactAnalysisSegment.html) オブジェクトのリストが含まれます。セグメントのリストには、「`"Transcript"`」、「`"Categories"`」、「`"Issue"`」、「`"Event"`」、「`"Attachment"`」または「PostContactSummary」セグメントが含まれることがあります。

```
{
    "Version": "2.0.0",
    "Channel": "CHAT",
    "AccountId": "123456789012", // your AWS account ID
    "InstanceId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",  // your Amazon Connect instance ID
    "ContactId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", // the ID of the contact
    "OutputType": "Redacted",
    "StreamingEventType": "SEGMENTS",
    "StreamingSettings": {
        "LanguageCode": "en-US", // the language code of the contact
        "Output": "RedactedAndRaw",
        "RedactionTypes": [
            "PII"
        ],
        "RedactionTypesMetadata": {
            "PII": {
                "RedactionMaskMode": "PII"
            }
        }
    },
    "Segments": [{
        "Transcript": {
            "Id": "07a2d668-5c9e-4f69-b2fe-986261b0743a",
            "ParticipantId": "a309ac1e-ca87-44ca-bb5d-197eca8ed77a",
            "ParticipantRole": "AGENT",
            "DisplayName": "[PII]",
            "Content": "Hello, thank you for contacting Example Corp. My name is Ray.",
            "ContentType": "text/markdown",
            "Time": {
                "AbsoluteTime": "2024-03-14T19:39:26.715Z"
            },
            "Sentiment": "NEUTRAL"
        }
    }, {
        "Categories": {
            "MatchedDetails": {
                "Hi": {
                    "PointsOfInterest": [{
                        "TranscriptItems": [{
                            "Id": "5205b050-8aa9-4645-a381-a308801649ab",
                            "CharacterOffsets": {
                                "BeginOffsetChar": 0,
                                "EndOffsetChar": 40
                            }
                        }]
                    }]
                }
            }
        }
    }, {
        "Issues": {
            "IssuesDetected": [{
                "TranscriptItems": [{
                    "Content": "I have an issue with my bank account",
                    "Id": "0e5574a7-2aeb-4eab-8bb5-3a7f66a2284a",
                    "CharacterOffsets": {
                        "BeginOffsetChar": 7,
                        "EndOffsetChar": 43
                    }
                }]
            }]
        }
    }, {
        "Attachments": {
            "Id": "06ddc1eb-2302-4a8e-a73f-37687fe41aa9",
            "ParticipantId": "7810b1de-cca8-4153-b522-2498416255af",
            "ParticipantRole": "CUSTOMER",
            "DisplayName": "Customer",
            "Attachments": [{
                "AttachmentName": "Lily.jpg",
                "ContentType": "image/jpeg",
                "AttachmentId": "343e34da-391a-4541-8b7e-3909d931fcfa",
                "Status": "APPROVED"
            }],
            "Time": {
                "AbsoluteTime": "2024-03-14T19:39:26.715Z"
            }
        }
    }, {
        "Event": {
            "Id": "fbe61c5f-d0d8-4345-912a-4e81f5734d3b",
            "ParticipantId": "7810b1de-cca8-4153-b522-2498416255af",
            "ParticipantRole": "CUSTOMER",
            "DisplayName": "Customer",
            "EventType": "application/vnd.amazonaws.connect.event.participant.left",
            "Time": {
                "AbsoluteTime": "2024-03-14T19:40:00.614Z"
            }
        }
    },
    {
        "PostContactSummary": {
            "Content": "Customer contacted Example Corp because of an issue with their bank account",
            "Status": "COMPLETED"
        }
    }]
}
```

## サンプルの COMPLETED イベント
<a name="chat-sample-completed-event"></a>
+ EventType: COMPLETED
+ 分析が正常に完了した場合、問い合わせ分析セッションの終了時に公開されます。

```
{
    "Version": "2.0.0",
    "Channel": "CHAT",
    "AccountId": "123456789012", // your AWS account ID
    "InstanceId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",  // your Amazon Connect instance ID
    "ContactId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", // the ID of the contact
    "StreamingEventType": "COMPLETED",
    "StreamingEventSettings": {
        "LanguageCode": "en-US", // the language code of the contact
        "Output": "RedactedAndRaw",
        "RedactionTypes": ["PII"],
        "RedactionTypesMetadata": {
            "PII": {
                "RedactionMaskMode": "PII"
            }
        }
    }
}
```

## サンプルの FAILED イベント
<a name="chat-sample-failed-event"></a>
+ EventType: FAILED
+ 分析が失敗した場合、会話分析セッションの終了時に公開されます。

```
{
    "Version": "2.0.0",
    "Channel": "CHAT",
    "AccountId": "123456789012", // your AWS account ID
    "InstanceId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",  // your Amazon Connect instance ID
    "ContactId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", // the ID of the contact
    "StreamingEventType": "FAILED",
    "StreamingEventSettings": {
        "LanguageCode": "en-US",
        "Output": "RedactedAndRaw",
        "RedactionTypes": ["PII"],
        "RedactionTypesMetadata": {
            "PII": {
                "RedactionMaskMode": "PII"
            }
        }
    }
}
```

# Contact Lens 会話分析で分析済みファイルを出力する場所
<a name="example-contact-lens-output-locations"></a>

以下は、Contact Lens 会話分析出力ファイルが、インスタンスの Amazon S3 バケットに格納されている場合のパスの例です。
+ オリジナルの分析済みトランスクリプトファイル (JSON)
  + /connect-instance- bucket/**Analysis/Voice**/2020/02/04/*contact's\$1ID*\$1analysis\$12020-02-04T21:14:16Z.json
  + /connect-instance- bucket/**Analysis/Chat**/2020/02/04/*contact's\$1ID*\$1analysis\$12020-02-04T21:14:16Z.json
  + /connect-instance- bucket/**Analysis/Email**/2026/03/10/*contact's\$1ID*\$1analysis\$120260310T22:35\$1UTC.json
+ 分析および秘匿化されたトランスクリプトファイル (JSON)
  + /connect-instance- bucket/**Analysis/Voice/Redacted**/2020/02/04/*contact's\$1ID*\$1**analysis\$1redacted**\$12020-02-04T21:14:16Z.json
  + /connect-instance- bucket/**Analysis/Chat/Redacted**/2020/02/04/*contact's\$1ID*\$1**analysis\$1redacted**\$12020-02-04T21:14:16Z.json
  + /connect-instance- bucket/**Analysis/Email/Redacted**/2026/03/10/*contact's\$1ID*\$1**analysis\$1redacted**\$120260310T22:35\$1UTC.json
+ 秘匿化済み音声ファイル
  + /connect-instance- bucket/**Analysis/Voice/Redacted**/2020/02/04/*contact's\$1ID*\$1**call\$1recording\$1redacted**\$12020-02-04T21:14:16Z.**wav**

**重要**  
録音を削除するには、編集された記録と未編集の両方の録音のファイルを削除する必要があります。

# 通話の Contact Lens 会話分析出力ファイルの例
<a name="contact-lens-example-output-files"></a>

以下のセクションでは、Contact Lens 会話分析が問題を検出し、カテゴリを照合し、ラウドネスを示し、機密データを秘匿化した場合に得られる出力の例を示します。

詳細については、各セクションを展開してください。

## Contact Lens 会話分析で分析された通話の元のファイルの例
<a name="example-original-output-file"></a>

以下の例は、Contact Lens 会話分析が分析した通話のスキーマを示しています。この例では、ラウドネス、問題の検出、通話の動機、および秘匿化されるべき情報を示します。

分析済みファイルについては、以下の点に注意してください。
+ どの機密データが秘匿化されているのかは示されません。すべてのデータは PII (個人を特定可能な情報) と呼ばれます。
+ PII が含まれている場合にのみ、各発言に `Redaction` セクションが含まれます。
+ `Redaction` セクションが存在する場合、ミリ秒単位のオフセットが含まれます。.wav ファイルでは、秘匿化された部分は無音になります。必要に応じて、前出のオフセットを使用して、無音部分を、ビープ音などの別のものに置き換えることができます。
+ 1 つの発言に 2 つ以上の PII 秘匿化が存在する場合、最初のオフセットは最初の PII に、2 番目のオフセットは 2 番目の PII に適用されます (以降も同様)。

```
{
  "Version": "1.1.0",    
  "AccountId": "your AWS account ID",
  "Channel": "VOICE",
  "ContentMetadata": {
      "Output": "Raw" 
  },
  "JobStatus": "COMPLETED",
  "JobDetails": {
    "SkippedAnalysis": [
        {
            "Feature": "CATEGORIZATION",
            "ReasonCode": "QUOTA_EXCEEDED", 
            "SkippedEntities": [
                {
                    "CategoryName": "PotentialFraud"
                    "RuleId": "a1130485-9529-4249-a1d4-5738b4883748"
                },
                {
                    "CategoryName": "Refund"
                    "RuleId": "bbbbbbb-9529-4249-a1d4-5738b4883748"
                }
            ]
        },
        {
            "Feature": "CATEGORIZATION",
            "ReasonCode": "FAILED_SAFETY_GUIDELINES", 
            "SkippedEntities": [
                {
                    "CategoryName": "ManagerEscalation"
                    "RuleId": "cccccccc-9529-4249-a1d4-5738b4883748"
                },
            ]
        },
    ]
  },
  "LanguageCode": "en-US",
  "Participants": [
      {
          "ParticipantId": "CUSTOMER",
          "ParticipantRole": "CUSTOMER"
      },
      
      {
          "ParticipantId": "AGENT",
          "ParticipantRole": "AGENT"
      }
  ],
  "Categories": {
      "MatchedCategories": ["Cancellation"],
      "MatchedDetails": {
          "Cancellation": {
              "PointsOfInterest": [
                  {
                      "BeginOffsetMillis": 7370,
                      "EndOffsetMillis": 11190
                  }
              ]
          }
      }
  },
  "ConversationCharacteristics": {
     "ContactSummary": {
          "PostContactSummary": {
           "Content": "The customer and agent's conversation did not have any clear issues, outcomes or next steps. Agent verified customer information and finished the call."
           }
      },
     "TotalConversationDurationMillis": 32110,
      "Sentiment": {
          "OverallSentiment": {
              "AGENT": 0,
              "CUSTOMER": 3.1
          },
          "SentimentByPeriod": {
              "QUARTER": {
                  "AGENT": [
                      {
                          "BeginOffsetMillis": 0,
                          "EndOffsetMillis": 7427,
                          "Score": 0
                      },
                      {
                          "BeginOffsetMillis": 7427,
                          "EndOffsetMillis": 14855,
                          "Score": -5
                      },
                      {
                          "BeginOffsetMillis": 14855,
                          "EndOffsetMillis": 22282,
                          "Score": 0
                      },
                      {
                          "BeginOffsetMillis": 22282,
                          "EndOffsetMillis": 29710,
                          "Score": 5
                      }
                  ],
                  "CUSTOMER": [
                      {
                          "BeginOffsetMillis": 0,
                          "EndOffsetMillis": 8027,
                          "Score": -2.5
                      },
                      {
                          "BeginOffsetMillis": 8027,
                          "EndOffsetMillis": 16055,
                          "Score": 5
                      },
                      {
                          "BeginOffsetMillis": 16055,
                          "EndOffsetMillis": 24082,
                          "Score": 5
                      },
                      {
                          "BeginOffsetMillis": 24082,
                          "EndOffsetMillis": 32110,
                          "Score": 5
                      }
                  ]
              }
          }
      },
      "Interruptions": {
        "InterruptionsByInterrupter": {
            "CUSTOMER": [
                {
                    "BeginOffsetMillis": 10710,
                    "DurationMillis": 3790,
                    "EndOffsetMillis": 14500
                }
            ],
            "AGENT": [
                {
                    "BeginOffsetMillis": 10710,
                    "DurationMillis": 3790,
                    "EndOffsetMillis": 14500
                }
            ]
        },
        "TotalCount": 2,
        "TotalTimeMillis": 7580
      },
      "NonTalkTime": {
          "TotalTimeMillis": 0,
          "Instances": []
      },
      "TalkSpeed": {
          "DetailsByParticipant": {
              "AGENT": {
                  "AverageWordsPerMinute": 239
              },
              "CUSTOMER": {
                  "AverageWordsPerMinute": 163
              }
          }
      },
      "TalkTime": {
          "TotalTimeMillis": 28698,
          "DetailsByParticipant": {
              "AGENT": {
                  "TotalTimeMillis": 15079
              },
              "CUSTOMER": {
                  "TotalTimeMillis": 13619
              }
          }
      }
  },
  "CustomModels": [
      {    // set via https://docs.aws.amazon.com/connect/latest/adminguide/add-custom-vocabulary.html             
           "Type": "TRANSCRIPTION_VOCABULARY",
           "Name": "ProductNames",  
           "Id": "4e14b0db-f00a-451a-8847-f6dbf76ae415" // optional field
      }
  ],
  "Transcript": [
      {
          "BeginOffsetMillis": 0,
          "Content": "Okay.",
          "EndOffsetMillis": 90,
          "Id": "the ID of the turn",
          "ParticipantId": "AGENT",
          "Sentiment": "NEUTRAL",
          "LoudnessScore": [
              79.27
          ]
      },
      {
          "BeginOffsetMillis": 160,
          "Content": "Just hello. My name is Peter and help.",
          "EndOffsetMillis": 4640,
          "Id": "the ID of the turn",
          "ParticipantId": "CUSTOMER",
          "Sentiment": "NEUTRAL",
          "LoudnessScore": [
              66.56,
              40.06,
              85.27,
              82.22,
              77.66
          ],
          "Redaction": {
              "RedactedTimestamps": [
                  {
                      "BeginOffsetMillis": 3290,
                      "EndOffsetMillis": 3620
                  }
              ]
          }
      },
      {
          "BeginOffsetMillis": 4640,
          "Content": "Hello. Peter, how can I help you?",
          "EndOffsetMillis": 6610,
          "Id": "the ID of the turn",
          "ParticipantId": "AGENT",
          "Sentiment": "NEUTRAL",
          "LoudnessScore": [
              70.23,
              73.05,
              71.8
          ],
          "Redaction": {
              "RedactedTimestamps": [
                  {
                      "BeginOffsetMillis": 5100,
                      "EndOffsetMillis": 5450
                  }
              ]
          }
      },
      {
          "BeginOffsetMillis": 7370,
          "Content": "I need to cancel. I want to cancel my plan subscription.",
          "EndOffsetMillis": 11190,
          "Id": "the ID of the turn",
          "ParticipantId": "CUSTOMER",
          "Sentiment": "NEGATIVE",
          "LoudnessScore": [
              77.18,
              79.59,
              85.23,
              81.08,
              73.99
          ],
          "IssuesDetected": [
              {
                  "CharacterOffsets": {
                      "BeginOffsetChar": 0,
                      "EndOffsetChar": 55
                  },
                  "Text": "I need to cancel. I want to cancel my plan subscription"
              }
          ]
      },
      {
          "BeginOffsetMillis": 11220,
          "Content": "That sounds very bad. I can offer a 20% discount to make you stay with us.",
          "EndOffsetMillis": 15210,
          "Id": "the ID of the turn",
          "ParticipantId": "AGENT",
          "Sentiment": "NEGATIVE",
          "LoudnessScore": [
              75.92,
              75.79,
              80.31,
              80.44,
              76.31
          ]
      },
      {
          "BeginOffsetMillis": 15840,
          "Content": "That sounds interesting. Thank you accept.",
          "EndOffsetMillis": 18120,
          "Id": "the ID of the turn",
          "ParticipantId": "CUSTOMER",
          "Sentiment": "POSITIVE",
          "LoudnessScore": [
              73.77,
              79.17,
              77.97,
              79.29
          ]
      },
      {
          "BeginOffsetMillis": 18310,
          "Content": "Alright, I made all the changes to the account and now these discounts applied.",
          "EndOffsetMillis": 21820,
          "Id": "the ID of the turn",
          "ParticipantId": "AGENT",
          "Sentiment": "NEUTRAL",
          "LoudnessScore": [
              83.88,
              86.75,
              86.97,
              86.11
          ],
          "OutcomesDetected": [
              {
                  "CharacterOffsets": {
                      "BeginOffsetChar": 9,
                      "EndOffsetChar": 77
                  },
                  "Text": "I made all the changes to the account and now these discounts applied"
              }
          ]
      },
      {
          "BeginOffsetMillis": 22610,
          "Content": "Awesome. Thank you so much.",
          "EndOffsetMillis": 24140,
          "Id": "the ID of the turn",
          "ParticipantId": "CUSTOMER",
          "Sentiment": "POSITIVE",
          "LoudnessScore": [
              79.11,
              81.7,
              78.15
          ]
      },
      {
          "BeginOffsetMillis": 24120,
          "Content": "No worries. I will send you all the details later today and call you back next week to check up on you.",
          "EndOffsetMillis": 29710,
          "Id": "the ID of the turn",
          "ParticipantId": "AGENT",
          "Sentiment": "POSITIVE",
          "LoudnessScore": [
              87.07,
              83.96,
              76.38,
              88.38,
              87.69,
              76.6
          ],
          "ActionItemsDetected": [
              {
                  "CharacterOffsets": {
                      "BeginOffsetChar": 12,
                      "EndOffsetChar": 102
                  },
                  "Text": "I will send you all the details later today and call you back next week to check up on you"
              }
          ]
      },
      {
          "BeginOffsetMillis": 30580,
          "Content": "Thank you. Sir. Have a nice evening.",
          "EndOffsetMillis": 32110,
          "Id": "the ID of the turn",
          "ParticipantId": "CUSTOMER",
          "Sentiment": "POSITIVE",
          "LoudnessScore": [
              81.42,
              82.29,
              73.29
          ]
      }
  ]    
  }
}
```

## Contact Lens 会話分析で分析された通話の秘匿化済みファイルの例
<a name="example-redacted-file"></a>

このセクションでは、Contact Lens 会話分析によって分析された後の通話の秘匿化済みファイルの例を示します。これは、解析されたオリジナルファイルのコピーです。唯一の違いは、機密データが消去されていることです。この例では、「`CREDIT_DEBIT_NUMBER`」、「`NAME`」、「`USERNAME`」の 3 つのエンティティが秘匿化対象として選択されています。

この例では、`RedactionMaskMode` が PII に設定されています。エンティティが秘匿化されると、Contact Lens はそのエンティティを `[PII]` に置き換えます。`ENTITY_TYPE` に設定されると、Contact Lens はデータをエンティティの名前 (例: `[CREDIT_DEBIT_NUMBER]`) に置き換えます。

```
{
  "Version": "1.1.0", 
  "AccountId": "your AWS account ID",
  "ContentMetadata": {
      "Output": "Redacted",
      "RedactionTypes": ["PII"],
      "RedactionTypesMetadata": {
          "PII": {
              "RedactionEntitiesRequested": ["CREDIT_DEBIT_NUMBER", "NAME", "USERNAME"],
              "RedactionMaskMode": "PII" // if you were to choose ENTITY_TYPE instead, the redaction would say, for example, [NAME]
          }
      }
  },
  "Channel": "VOICE",
  "JobStatus": "COMPLETED",
  "JobDetails": {
    "SkippedAnalysis": [
        {
            "Feature": "CATEGORIZATION",
            "ReasonCode": "QUOTA_EXCEEDED", 
            "SkippedEntities": [
                {
                    "CategoryName": "PotentialFraud"
                    "RuleId": "a1130485-9529-4249-a1d4-5738b4883748"
                },
                {
                    "CategoryName": "Refund"
                    "RuleId": "bbbbbbb-9529-4249-a1d4-5738b4883748"
                }
            ]
        },
        {
            "Feature": "CATEGORIZATION",
            "ReasonCode": "FAILED_SAFETY_GUIDELINES", 
            "SkippedEntities": [
                {
                    "CategoryName": "ManagerEscalation"
                    "RuleId": "cccccccc-9529-4249-a1d4-5738b4883748"
                },
            ]
        },
    ]
  },
  "LanguageCode": "en-US",
  "Participants": [
      {
          "ParticipantId": "CUSTOMER",
          "ParticipantRole": "CUSTOMER"
      },
      
      {
          "ParticipantId": "AGENT",
          "ParticipantRole": "AGENT"
      }
  ],
  "Categories": {
      "MatchedCategories": ["Cancellation"],
      "MatchedDetails": {
          "Cancellation": {
              "PointsOfInterest": [
                  {
                      "BeginOffsetMillis": 7370,
                      "EndOffsetMillis": 11190
                  }
              ]
          }
      }
  }, 
  "ConversationCharacteristics": {
       "ContactSummary": {
             "PostContactSummary": {
               "Content": "The customer and agent's conversation did not have any clear issues, outcomes or next steps. Agent verified customer information and finished the call."
              }
      },
      "TotalConversationDurationMillis": 32110,
      "Sentiment": {
          "OverallSentiment": {
              "AGENT": 0,
              "CUSTOMER": 3.1
          },
          "SentimentByPeriod": {
              "QUARTER": {
                  "AGENT": [
                      {
                          "BeginOffsetMillis": 0,
                          "EndOffsetMillis": 7427,
                          "Score": 0
                      },
                      {
                          "BeginOffsetMillis": 7427,
                          "EndOffsetMillis": 14855,
                          "Score": -5
                      },
                      {
                          "BeginOffsetMillis": 14855,
                          "EndOffsetMillis": 22282,
                          "Score": 0
                      },
                      {
                          "BeginOffsetMillis": 22282,
                          "EndOffsetMillis": 29710,
                          "Score": 5
                      }
                  ],
                  "CUSTOMER": [
                      {
                          "BeginOffsetMillis": 0,
                          "EndOffsetMillis": 8027,
                          "Score": -2.5
                      },
                      {
                          "BeginOffsetMillis": 8027,
                          "EndOffsetMillis": 16055,
                          "Score": 5
                      },
                      {
                          "BeginOffsetMillis": 16055,
                          "EndOffsetMillis": 24082,
                          "Score": 5
                      },
                      {
                          "BeginOffsetMillis": 24082,
                          "EndOffsetMillis": 32110,
                          "Score": 5
                      }
                  ]
              }
          }
      },
      "Interruptions": {
        "InterruptionsByInterrupter": {
            "CUSTOMER": [
                {
                    "BeginOffsetMillis": 10710,
                    "DurationMillis": 3790,
                    "EndOffsetMillis": 14500
                }
            ],
            "AGENT": [
                {
                    "BeginOffsetMillis": 10710,
                    "DurationMillis": 3790,
                    "EndOffsetMillis": 14500
                }
            ]
        },
        "TotalCount": 2,
        "TotalTimeMillis": 7580
      },  
      "NonTalkTime": {
          "TotalTimeMillis": 0,
          "Instances": []
      },
      "TalkSpeed": {
          "DetailsByParticipant": {
              "AGENT": {
                  "AverageWordsPerMinute": 239
              },
              "CUSTOMER": {
                  "AverageWordsPerMinute": 163
              }
          }
      },
      "TalkTime": {
          "TotalTimeMillis": 28698,
          "DetailsByParticipant": {
              "AGENT": {
                  "TotalTimeMillis": 15079
              },
              "CUSTOMER": {
                  "TotalTimeMillis": 13619
              }
          }
      }
  },
  "CustomModels": [
      {   // set via https://docs.aws.amazon.com/connect/latest/adminguide/add-custom-vocabulary.html
           "Type": "TRANSCRIPTION_VOCABULARY",
           "Name": " LNK POPProductNames",  
           "Id": "4e14b0db-f00a-451a-8847-f6dbf76ae415" // optional field
      }
  ],  
  "Transcript": [
      {
          "BeginOffsetMillis": 0,
          "Content": "Okay.",
          "EndOffsetMillis": 90,
          "Id": "the ID of the turn",
          "ParticipantId": "AGENT",
          "Sentiment": "NEUTRAL",
          "LoudnessScore": [
              79.27
          ]
      },
      {
          "BeginOffsetMillis": 160,
          "Content": "Just hello. My name is [PII] and help.",  
          "EndOffsetMillis": 4640,
          "Id": "the ID of the turn",
          "ParticipantId": "CUSTOMER",
          "Sentiment": "NEUTRAL",
          "LoudnessScore": [
              66.56,
              40.06,
              85.27,
              82.22,
              77.66
          ],
          "Redaction": {
              "RedactedTimestamps": [
                  {
                      "BeginOffsetMillis": 3290,
                      "EndOffsetMillis": 3620
                  }
              ]
          }
      },
      {
          "BeginOffsetMillis": 4640,
          "Content": "Hello. [PII], how can I help you?",
          "EndOffsetMillis": 6610,
          "Id": "the ID of the turn",
          "ParticipantId": "AGENT",
          "Sentiment": "NEUTRAL",
          "LoudnessScore": [
              70.23,
              73.05,
              71.8
          ],
          "Redaction": {
              "RedactedTimestamps": [
                  {
                      "BeginOffsetMillis": 5100,
                      "EndOffsetMillis": 5450
                  }
              ]
          }
      },
      {
          "BeginOffsetMillis": 7370,
          "Content": "I need to cancel. I want to cancel my plan subscription.",
          "EndOffsetMillis": 11190,
          "Id": "the ID of the turn",
          "ParticipantId": "CUSTOMER",
          "Sentiment": "NEGATIVE",
          "LoudnessScore": [
              77.18,
              79.59,
              85.23,
              81.08,
              73.99
          ],
          "IssuesDetected": [
              {
                  "CharacterOffsets": {
                      "BeginOffsetChar": 0,
                      "EndOffsetChar": 55
                  },
                  "Text": "I need to cancel. I want to cancel my plan subscription"
              }
          ]
      },
      {
          "BeginOffsetMillis": 11220,
          "Content": "That sounds very bad. I can offer a 20% discount to make you stay with us.",
          "EndOffsetMillis": 15210,
          "Id": "the ID of the turn",
          "ParticipantId": "AGENT",
          "Sentiment": "NEGATIVE",
          "LoudnessScore": [
              75.92,
              75.79,
              80.31,
              80.44,
              76.31
          ]
      },
      {
          "BeginOffsetMillis": 15840,
          "Content": "That sounds interesting. Thank you accept.",
          "EndOffsetMillis": 18120,
          "Id": "the ID of the turn",
          "ParticipantId": "CUSTOMER",
          "Sentiment": "POSITIVE",
          "LoudnessScore": [
              73.77,
              79.17,
              77.97,
              79.29
          ]
      },
      {
          "BeginOffsetMillis": 18310,
          "Content": "Alright, I made all the changes to the account and now these discounts applied.",
          "EndOffsetMillis": 21820,
          "Id": "the ID of the turn",
          "ParticipantId": "AGENT",
          "Sentiment": "NEUTRAL",
          "LoudnessScore": [
              83.88,
              86.75,
              86.97,
              86.11
          ],
          "OutcomesDetected": [
              {
                  "CharacterOffsets": {
                      "BeginOffsetChar": 9,
                      "EndOffsetChar": 77
                  },
                  "Text": "I made all the changes to the account and now these discounts applied"
              }
          ]
      },
      {
          "BeginOffsetMillis": 22610,
          "Content": "Awesome. Thank you so much.",
          "EndOffsetMillis": 24140,
          "Id": "the ID of the turn",
          "ParticipantId": "CUSTOMER",
          "Sentiment": "POSITIVE",
          "LoudnessScore": [
              79.11,
              81.7,
              78.15
          ]
      },
      {
          "BeginOffsetMillis": 24120,
          "Content": "No worries. I will send you all the details later today and call you back next week to check up on you.",
          "EndOffsetMillis": 29710,
          "Id": "the ID of the turn",
          "ParticipantId": "AGENT",
          "Sentiment": "POSITIVE",
          "LoudnessScore": [
              87.07,
              83.96,
              76.38,
              88.38,
              87.69,
              76.6
          ],
          "ActionItemsDetected": [
              {
                  "CharacterOffsets": {
                      "BeginOffsetChar": 12,
                      "EndOffsetChar": 102
                  },
                  "Text": "I will send you all the details later today and call you back next week to check up on you"
              }
          ]
      },
      {
          "BeginOffsetMillis": 30580,
          "Content": "Thank you. Sir. Have a nice evening.",
          "EndOffsetMillis": 32110,
          "Id": "the ID of the turn",
          "ParticipantId": "CUSTOMER",
          "Sentiment": "POSITIVE",
          "LoudnessScore": [
              81.42,
              82.29,
              73.29
          ]
      }
  ]    
}
```

# Contact Lens 会話分析で分析されたチャットの Contact Lens 出力ファイルの例
<a name="contact-lens-example-output-files-chat"></a>

このセクションでは、Contact Lens 会話分析が分析したチャット会話のスキーマ例を示します。この例では、推測した感情、一致したカテゴリ、コンタクトの要約、応答時間を示しています。

分析済みのオリジナルファイルには、チャットの全記録が含まれています。**[コンタクトの詳細]** ページのチャットの **[トランスクリプト]** フィールドに存在するのと同じコンテンツが、オリジナルの Contact Lens 分析ファイルの `Transcript` フィールドにも存在します。さらに、分析ファイルには、秘匿化済み分析ファイルに秘匿化済みデータがあることを示す `Redaction` セクションなど、さらに多くのフィールドが含まれる場合があります。

**注記**  
 一部の `ConversationCharacteristics` には、参加者のロールをキーとする `DetailsByParticipantRole` マップが含まれています。ただし、`Participants` リストのすべてのロール (`CUSTOMER` または `AGENT` など) が `DetailsByParticipantRole` オブジェクトに対応するキーを持つことが保証されているわけではありません。参加者にとってキーの有無は、Contact Lens 分析の対象となるデータがあったかどうかによって異なります。

## カテゴリ
<a name="chat-categories"></a>

`PointsOfInterest` は、チャット後と通話後のカテゴリでは異なります。
+ 通話後 `PointsOfInterest` には、ミリ秒単位のオフセットがあります。
+ チャット後 `PointsOfInterest` には `TranscriptItems` の配列があり、各項目には `id` と `CharacterOffset` があります。

`PointsOfInterest` の配列があります。各配列は `TranscriptItems` の配列があります。各 `PointOfInterest` はカテゴリ一致用ですが、各マッチが複数のトランスクリプト項目にまたがることもあります。

通話とチャットの両方で、`PointsOfInterest` 配列は空でもかまいません。つまり、カテゴリはコンタクト全体で一致していることになります。例えば、コンタクトに `Hello` が記載されていないカテゴリに一致するルールを作成した場合、トランスクリプトにはこの条件に一致する部分がないことになります。

**注記**  
現在、`text/plain`、`text/markdown` チャットメッセージのみのカテゴリが推定されます。

## 主なハイライト
<a name="chat-contactsummary"></a>

**主なハイライト**は `ConversationCharacteristics.ContactSummary.SummaryItemsDetected` 配列にあります。配列に含めることができる項目は 1 つだけで、`Issue`、`Outcome`、`Action` 項目のセットは 1 つしか見つからないことに注意してください。

配列内の各オブジェクトには、`IssuesDetected`、`OutcomesDetected`、`ActionItemsDetected` のフィールドがあります。

各フィールドには、`Id` と `CharacterOffsets` を持つ `TranscriptItems` の配列があります。これらには、コンタクトの要約である問題、結果、アクション項目を含むように特定された `TranscriptItems` と具体的な部分を記述しています。

**注記**  
現在、主なハイライトは `text/plain` チャットメッセージについてのみ推測されます。

## 感情
<a name="chat-sentiment"></a>

### 全体的な感情
<a name="chat-overallsentiment"></a>

`DetailsByParticipantRole` フィールドの感情スコアは、Contact Lens 音声分析ファイルのスコアと同様です。

`DetailsByInteraction` フィールドには、`WithAgent` と `WithoutAgent` のチャットのやり取りの一部の `CUSTOMER` 感情スコアがあります。これらの部分のやり取りに顧客のメッセージがない場合、それぞれのフィールドは表示されません。

**注記**  
現在、`text/plain`、`text/markdown` チャットメッセージのみの感情が推定されます。

### 感情シフト
<a name="chat-sentimentshift"></a>

`DetailsByParticipantRole` フィールドには、コンタクトの参加者 (つまり、`AGENT` と `CUSTOMER`) の感情の変化を説明するオブジェクトである `BeginScore` および `EndScore` が含まれます。

`DetailsByInteraction` フィールドには、`WithAgent` と `WithoutAgent` のチャットのやり取りの一部の `CUSTOMER` 感情シフトがあります。これらの部分のやり取りに顧客のメッセージがない場合、それぞれのフィールドは表示されません。

感情シフトは、チャットのやり取り中に参加者の感情がどのように変化したかについての情報を提供します。

## 応答時間
<a name="chat-responsetime"></a>

`AgentGreetingTimeMillis` では、`AGENT` がチャットに参加してから顧客への最初のメッセージを終了するまでの時間を測定します。

`DetailsByParticipantRole` には、参加者ごとに次のような特徴があります。
+ `Average`: 参加者の平均応答時間。
+ `Maximum`: 参加者の最長応答時間。最大応答時間が同じトランスクリプト項目が複数ある場合、どれが該当するか。

指定された参加者 `Average` および `Maximum` の応答時間を計算するには、他の参加者からのメッセージに応答する必要があります (`AGENT` は `CUSTOMER` に応答する必要があります。逆も同様です)。

例えば、`CUSTOMER` からのメッセージが 1 通だけで、チャットが終了するまでに `AGENT` からのメッセージが 1 通だけだった場合、Contact Lens は `AGENT` に対する応答時間を計算しますが、`CUSTOMER` に対する応答時間は計算しません。

**注記**  
現在、` text/plain`、`text/markdown` チャットメッセージのみの応答時間が推定されます。

## リダクション
<a name="chat-redaction"></a>

チャットのオリジナルの分析ファイルについて、以下の点に注意してください。
+ トランスクリプト項目には、秘匿化されるデータがある場合にのみ `Redaction` セクションが含まれます。このセクションには、秘匿化済みの分析ファイルで秘匿化されるデータの文字オフセットが含まれています。
+ メッセージの 2 つ以上の部分が秘匿化された場合、最初のオフセットは最初に秘匿化された部分に、2 番目のオフセットは 2 番目に秘匿化された部分に適用され、以下も同様です。

`AGENT` および `CUSTOMER` の `DisplayNames` には、PII が含まれているため秘匿化されています。これは、`AttachmentName` にも適用されます。

`CharacterOffsets` は、秘匿済みの分析ファイル内の `Content` の長さについて、秘匿化の変化を考慮します。`CharacterOffsets` は、オリジナルのコンテンツではなく、秘匿化済みのコンテンツについて記述します。

## オリジナルチャットファイルの例
<a name="chat-exampleoriginalfile"></a>

```
{
    "AccountId": "123456789012",
    "Categories": {
        "MatchedCategories": [
            "agent-intro"
        ],
        "MatchedDetails": {
            "agent-intro": {
                "PointsOfInterest": [
                    {
                        "TranscriptItems": [
                            {
                                "CharacterOffsets": {
                                    "BeginOffsetChar": 0,
                                    "EndOffsetChar": 73
                                },
                                "Id": "e4949dd1-aaa1-4fbd-84e7-65c95b2d3d9a"
                            }
                        ]
                    }
                ]
            }
        }
    },
    "Channel": "CHAT",
    "ChatTranscriptVersion": "2019-08-26",
    "ContentMetadata": {
        "Output": "Raw"
    },
    "ConversationCharacteristics": {
        "ContactSummary": {
           "PostContactSummary": {
               "Content": "The customer and agent's conversation did not have any clear issues, outcomes or next steps. Agent verified customer information and finished the call."
               }
           },
            "SummaryItemsDetected": [
                {
                    "ActionItemsDetected": [],
                    "IssuesDetected": [
                        {
                            "TranscriptItems": [
                                {
                                    "CharacterOffsets": {
                                        "BeginOffsetChar": 72,
                                        "EndOffsetChar": 244
                                    },
                                    "Id": "2b8ba020-53ee-4053-b5b7-35364ac1c7df"
                                }
                            ]
                        }
                    ]
                    "OutcomesDetected": [
                        {
                            "TranscriptItems": [
                                {
                                    "CharacterOffsets": {
                                        "BeginOffsetChar": 0,
                                        "EndOffsetChar": 150
                                    },
                                    "Id": "72cc8c8d-2199-422a-b363-01d6d3fdc851"
                                }
                            ]
                        }
                    ]
                }
            ],
            
        "ResponseTime": {
            "AgentGreetingTimeMillis": 2511,
            "DetailsByParticipantRole": {
                "AGENT": {
                    "Average": {
                        "ValueMillis": 5575
                    },
                    "Maximum": {
                        "TranscriptItems": [
                            {
                                "Id": "21acf0fc-7259-4a08-b4cd-688eb56587d3"
                            }
                        ],
                        "ValueMillis": 7309
                    }
                },
                "CUSTOMER": {
                    "Average": {
                        "ValueMillis": 5875
                    },
                    "Maximum": {
                        "TranscriptItems": [
                            {
                                "Id": "c71ad383-f876-4bb3-b254-7837b6a3d395"
                            }
                        ],
                        "ValueMillis": 11366
                    }
                }
            }
        },
        "Sentiment": {
            "DetailsByTranscriptItemGroup": [
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "e4949dd1-aaa1-4fbd-84e7-65c95b2d3d9a"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "3673d926-6e75-4620-a6f0-7ea571790a15"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "46d37141-32d8-4f2e-a664-bcd3f34a68b3"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "3c4a2a1e-6790-46a6-8ad4-4a0980b04795"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "f9cd41b6-3f68-4e83-a47d-664395f324c0"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 1.6666666666666667,
                    "Sentiment": "POSITIVE",
                    "TranscriptItems": [
                        {
                            "Id": "21acf0fc-7259-4a08-b4cd-688eb56587d3"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 1.6666666666666667,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "2b8ba020-53ee-4053-b5b7-35364ac1c7df"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 1.6666666666666667,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "28d0a1ce-64d1-4625-bbef-4cfeb97b6742"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "ef9b8622-32d5-4cfd-9ccc-a242502267bc"
                        },
                        {
                            "Id": "03a9de67-f9e1-4884-a1a3-ecea78a4ce9e"
                        },
                        {
                            "Id": "cfee5ece-a671-4a11-9ec2-89aba4b7d688"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "72cc8c8d-2199-422a-b363-01d6d3fdc851"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 1.6666666666666667,
                    "Sentiment": "POSITIVE",
                    "TranscriptItems": [
                        {
                            "Id": "61bb2591-fe87-44e4-bba0-a3619c4cef1f"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 1.6666666666666667,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "1761f27e-0989-4b6d-a046-fc03d2c6bc9c"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 3.3333333333333335,
                    "Sentiment": "POSITIVE",
                    "TranscriptItems": [
                        {
                            "Id": "8cdff161-dc25-44e6-986f-fc0e08ee0a7d"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": -1.6666666666666667,
                    "Sentiment": "NEGATIVE",
                    "TranscriptItems": [
                        {
                            "Id": "bcc51949-3a79-4398-be1b-a27345a8a8ad"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": -3.75,
                    "Sentiment": "NEGATIVE",
                    "TranscriptItems": [
                        {
                            "Id": "7d5c07d7-3d26-4b34-ae91-39aeaeef685c"
                        },
                        {
                            "Id": "e0efbd17-9139-439b-8c80-ebf2b9b703b9"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": -3.75,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "8fbb8dd4-9fd4-4991-83dc-5f06eeead9aa"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": -2.5,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "3b856fd9-0eeb-4fb2-93ed-95ec4aeae3a6"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "ecb8c498-96d7-448b-8360-366eeddb4090"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "d334058f-e3de-4cf1-a361-32e4e61f1839"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "3ec6adb5-3f11-409c-af39-40cf7ba6f078"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "c71ad383-f876-4bb3-b254-7837b6a3d395"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "4b292b64-4a33-45ff-89df-d5a175d16d70"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "2da5a3c2-9d1b-458c-ae53-759a4e63198d"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 1.6666666666666667,
                    "Sentiment": "POSITIVE",
                    "TranscriptItems": [
                        {
                            "Id": "e23a2331-f3fc-4d3c-8a51-1541451186c9"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 3.75,
                    "Sentiment": "POSITIVE",
                    "TranscriptItems": [
                        {
                            "Id": "5a27cc39-9b73-4ebe-9275-5e6723788a1b"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 3.75,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "540368c7-ec19-4fc0-8c86-0a5ee62d31a0"
                        }
                    ]
                }
            ],
            "OverallSentiment": {
                "DetailsByInteraction": {
                    "DetailsByParticipantRole": {
                        "CUSTOMER": {
                            "WithAgent": 0
                        }
                    }
                },
                "DetailsByParticipantRole": {
                    "AGENT": 1.1538461538461537,
                    "CUSTOMER": 0
                }
            },
            "SentimentShift": {
                "DetailsByInteraction": {
                    "DetailsByParticipantRole": {
                        "CUSTOMER": {
                            "WithAgent": {
                                "BeginScore": -3,
                                "EndScore": 3.75
                            }
                        }
                    }
                },
                "DetailsByParticipantRole": {
                    "AGENT": {
                        "BeginScore": 0,
                        "EndScore": 2.5
                    },
                    "CUSTOMER": {
                        "BeginScore": -3.75,
                        "EndScore": 3.75
                    },
                    "SYSTEM": {
                        "BeginScore": 2.5,
                        "EndScore": 0
                    }
                }
            }
        }
    },
    "CustomerMetadata": {
        "ContactId": "b49644f6-672f-445c-b209-f76b36482830",
        "InputS3Uri": "path to the json file in s3",
        "InstanceId": "f23fc323-3d6d-48aa-95dc-EXAMPLE012"
    },
    "JobStatus": "COMPLETED",
    "LanguageCode": "en-US",
    "Participants": [
        {
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER"
        },
        {
            "ParticipantId": "2b2288b4-ff6e-4996-8d8e-260fd5a8ac02",
            "ParticipantRole": "SYSTEM"
        },
        {
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT"
        }
    ],
    "Transcript": [
        {
            "AbsoluteTime": "2022-10-27T03:31:50.735Z",
            "ContentType": "application/vnd.amazonaws.connect.event.participant.joined",
            "DisplayName": "John",
            "Id": "740c494d-9df7-4400-91c0-3e4df33922c8",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "EVENT"
        },
        {
            "AbsoluteTime": "2022-10-27T03:31:53.390Z",
            "Content": "Hello, thanks for contacting us. This is an example of what the Amazon Connect virtual contact center can enable you to do.",
            "ContentType": "text/plain",
            "DisplayName": "SYSTEM_MESSAGE",
            "Id": "78aa8229-714a-4c87-916b-ce7d8d567ab2",
            "ParticipantId": "2b2288b4-ff6e-4996-8d8e-260fd5a8ac02",
            "ParticipantRole": "SYSTEM",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:31:55.131Z",
            "Content": "The time in queue is less than 5 minutes.",
            "ContentType": "text/plain",
            "DisplayName": "SYSTEM_MESSAGE",
            "Id": "1276382b-facb-49c5-8d34-62e3b0f50002",
            "ParticipantId": "2b2288b4-ff6e-4996-8d8e-260fd5a8ac02",
            "ParticipantRole": "SYSTEM",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:31:56.618Z",
            "Content": "You are now being placed in queue to chat with an agent.",
            "ContentType": "text/plain",
            "DisplayName": "SYSTEM_MESSAGE",
            "Id": "88c2363e-8206-4781-a353-c15e1ccacc12",
            "ParticipantId": "2b2288b4-ff6e-4996-8d8e-260fd5a8ac02",
            "ParticipantRole": "SYSTEM",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:00.951Z",
            "ContentType": "application/vnd.amazonaws.connect.event.participant.joined",
            "DisplayName": "Jane",
            "Id": "c05cca74-d50b-4aa5-b46c-fdb5ae8c814c",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "EVENT"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:03.462Z",
            "Content": "Hello, thanks for reaching Example Corp. This is Jane. How may I help you?",
            "ContentType": "text/markdown",
            "DisplayName": "Jane",
            "Id": "e4949dd1-aaa1-4fbd-84e7-65c95b2d3d9a",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Redaction": {
                "CharacterOffsets": [
                    {
                        "BeginOffsetChar": 46,
                        "EndOffsetChar": 53
                    }
                ]
            },
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:08.102Z",
            "Content": "I'd like to see if I can get a refund or an exchange, because I ordered one of your grow-it-yourself indoor herb garden kits and nothing sprouted after a couple weeks so I think something is wrong with the seeds and this product may be defective.",
            "ContentType": "text/markdown",
            "DisplayName": "John",
            "Id": "bcc51949-3a79-4398-be1b-a27345a8a8ad",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:14.137Z",
            "Content": "My wife is blind and sensitive to the sun so I was going to surprise her for her birthday with all the herbs that she loves so you guys actually really let me down.",
            "ContentType": "text/markdown",
            "DisplayName": "John",
            "Id": "7d5c07d7-3d26-4b34-ae91-39aeaeef685c",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:18.781Z",
            "Content": "I should be taking my business elsewhere. I don't see why I should be giving money to a company that isn't even going to sell a product that works.",
            "ContentType": "text/markdown",
            "DisplayName": "John",
            "Id": "e0efbd17-9139-439b-8c80-ebf2b9b703b9",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:24.123Z",
            "Content": "Ok. Can I get your first and last name please?",
            "ContentType": "text/markdown",
            "DisplayName": "Jane",
            "Id": "3673d926-6e75-4620-a6f0-7ea571790a15",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:29.879Z",
            "Content": "Yeah. My first name is John and last name is Doe.",
            "ContentType": "text/markdown",
            "DisplayName": "John",
            "Id": "8fbb8dd4-9fd4-4991-83dc-5f06eeead9aa",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Redaction": {
                "CharacterOffsets": [
                    {
                        "BeginOffsetChar": 21,
                        "EndOffsetChar": 26
                    },
                    {
                        "BeginOffsetChar": 44,
                        "EndOffsetChar": 49
                    }
                ]
            },
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:34.670Z",
            "Content": "Could you please provide me with the order ID number?",
            "ContentType": "text/markdown",
            "DisplayName": "Jane",
            "Id": "46d37141-32d8-4f2e-a664-bcd3f34a68b3",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:39.726Z",
            "Content": "Yes, just . Looking ...",
            "ContentType": "text/markdown",
            "DisplayName": "John",
            "Id": "3b856fd9-0eeb-4fb2-93ed-95ec4aeae3a6",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:44.887Z",
            "Content": "Not a problem, take your time.",
            "ContentType": "text/markdown",
            "DisplayName": "Jane",
            "Id": "3c4a2a1e-6790-46a6-8ad4-4a0980b04795",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:52.978Z",
            "Content": "Okay, that should be #5376897. You know, if the product was fine I wouldn't have to scrounge through emails.",
            "ContentType": "text/markdown",
            "DisplayName": "John",
            "Id": "ecb8c498-96d7-448b-8360-366eeddb4090",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:59.441Z",
            "Content": "alright, perfect. And could you also just confirm the shipping address for me?",
            "ContentType": "text/markdown",
            "DisplayName": "Jane",
            "Id": "f9cd41b6-3f68-4e83-a47d-664395f324c0",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Redaction": {
                "CharacterOffsets": [
                    {
                        "BeginOffsetChar": 77,
                        "EndOffsetChar": 78
                    }
                ]
            },
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:33:05.455Z",
            "Content": "123 Any Street, Any Town, and the zip code is 98109.",
            "ContentType": "text/markdown",
            "DisplayName": "John",
            "Id": "d334058f-e3de-4cf1-a361-32e4e61f1839",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Redaction": {
                "CharacterOffsets": [
                    {
                        "BeginOffsetChar": 0,
                        "EndOffsetChar": 27
                    },
                    {
                        "BeginOffsetChar": 49,
                        "EndOffsetChar": 54
                    }
                ]
            },
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:33:12.764Z",
            "Content": "Thank you very much. Just waiting on my system here. .. I'll also need the last four digits of your debit card.",
            "ContentType": "text/markdown",
            "DisplayName": "Jane",
            "Id": "21acf0fc-7259-4a08-b4cd-688eb56587d3",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:33:17.412Z",
            "Content": "Ok. Last four for my debit care are 9008",
            "ContentType": "text/markdown",
            "DisplayName": "John",
            "Id": "3ec6adb5-3f11-409c-af39-40cf7ba6f078",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Redaction": {
                "CharacterOffsets": [
                    {
                        "BeginOffsetChar": 27,
                        "EndOffsetChar": 31
                    }
                ]
            },
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:33:22.486Z",
            "Content": "It's just too bad. I thought this was going to be the best gift idea. How can you guys be sending out defective seeds? Isn't that your whole business?",
            "ContentType": "text/markdown",
            "DisplayName": "Jane",
            "Id": "2b8ba020-53ee-4053-b5b7-35364ac1c7df",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },        
        {
            "AbsoluteTime": "2022-10-27T03:33:38.961Z",
            "Content": "I apologize for the experience you had Mr. Doe, its very uncommon that our customer will have this issue. We will look into this and get this sorted out for you right away.",
            "ContentType": "text/markdown",
            "DisplayName": "Jane",
            "Id": "28d0a1ce-64d1-4625-bbef-4cfeb97b6742",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Redaction": {
                "CharacterOffsets": [
                    {
                        "BeginOffsetChar": 41,
                        "EndOffsetChar": 46
                    }
                ]
            },
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:33:44.192Z",
            "Content": "Well, my wife's birthday already passed, so. There's not too much you can do. But I would still like to grow the herbs for her, if possible.",
            "ContentType": "text/markdown",
            "DisplayName": "John",
            "Id": "4b292b64-4a33-45ff-89df-d5a175d16d70",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:33:51.310Z",
            "Content": "Totally understandable. Let me see what we can do for you. Please give me couple of minutes as I check the system.",
            "ContentType": "text/markdown",
            "DisplayName": "Jane",
            "Id": "ef9b8622-32d5-4cfd-9ccc-a242502267bc",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:33:56.287Z",
            "Content": "Thank you sir one moment please.",
            "ContentType": "text/markdown",
            "DisplayName": "Jane",
            "Id": "03a9de67-f9e1-4884-a1a3-ecea78a4ce9e",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:01.224Z",
            "Content": "Alright are you still there Mr Doe?",
            "ContentType": "text/markdown",
            "DisplayName": "Jane",
            "Id": "cfee5ece-a671-4a11-9ec2-89aba4b7d688",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Redaction": {
                "CharacterOffsets": [
                    {
                        "BeginOffsetChar": 30,
                        "EndOffsetChar": 35
                    }
                ]
            },
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:07.093Z",
            "Content": "Yeah.",
            "ContentType": "text/markdown",
            "DisplayName": "John",
            "Id": "2da5a3c2-9d1b-458c-ae53-759a4e63198d",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:12.562Z",
            "Content": "We are not only refunding the cost of the grow-it-yourself indoor herb kit but we will also be sending you a replacement. Would you be okay with this?",
            "ContentType": "text/markdown",
            "DisplayName": "Jane",
            "Id": "72cc8c8d-2199-422a-b363-01d6d3fdc851",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:17.029Z",
            "Content": "Yeah! That would be great. I just want my wife to be able to have these herbs in her room. And I'm always happy to get my money back!",
            "ContentType": "text/markdown",
            "DisplayName": "John",
            "Id": "e23a2331-f3fc-4d3c-8a51-1541451186c9",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:22.269Z",
            "Content": "Awesome! We really want to keep our customers happy and satisfied, and again I want to apologize for your less than satisfactory experience with the last product you ordered from us.",
            "ContentType": "text/markdown",
            "DisplayName": "Jane",
            "Id": "61bb2591-fe87-44e4-bba0-a3619c4cef1f",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:26.353Z",
            "Content": "Okay! No problem. Sounds great. Thank you for all your help!",
            "ContentType": "text/markdown",
            "DisplayName": "John",
            "Id": "5a27cc39-9b73-4ebe-9275-5e6723788a1b",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:31.431Z",
            "Content": "Is there anything else I can help you out with John?",
            "ContentType": "text/markdown",
            "DisplayName": "Jane",
            "Id": "1761f27e-0989-4b6d-a046-fc03d2c6bc9c",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Redaction": {
                "CharacterOffsets": [
                    {
                        "BeginOffsetChar": 48,
                        "EndOffsetChar": 53
                    }
                ]
            },
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:36.704Z",
            "Content": "Nope!",
            "ContentType": "text/markdown",
            "DisplayName": "John",
            "Id": "540368c7-ec19-4fc0-8c86-0a5ee62d31a0",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:41.448Z",
            "Content": "Ok great! Have a great day.",
            "ContentType": "text/markdown",
            "DisplayName": "Jane",
            "Id": "8cdff161-dc25-44e6-986f-fc0e08ee0a7d",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:42.799Z",
            "ContentType": "application/vnd.amazonaws.connect.event.participant.left",
            "DisplayName": "John",
            "Id": "d1ba54ba-61d4-4a48-9a9a-6cd17d70b8fb",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "EVENT"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:43.192Z",
            "ContentType": "application/vnd.amazonaws.connect.event.chat.ended",
            "Id": "2d9a0e4f-faec-485f-97af-2767dde1f30a",
            "Type": "EVENT"
        }
    ],
    "Version": "CHAT-2022-11-30"
}
```

## 秘匿化済みチャットファイルの例
<a name="chat-exampleredactedfile"></a>

```
{
    "AccountId": "123456789012",
    "Categories": {
        "MatchedCategories": [
            "agent-intro"
        ],
        "MatchedDetails": {
            "agent-intro": {
                "PointsOfInterest": [
                    {
                        "TranscriptItems": [
                            {
                                "CharacterOffsets": {
                                    "BeginOffsetChar": 0,
                                    "EndOffsetChar": 71
                                },
                                "Id": "e4949dd1-aaa1-4fbd-84e7-65c95b2d3d9a"
                            }
                        ]
                    }
                ]
            }
        }
    },
    "Channel": "CHAT",
    "ChatTranscriptVersion": "2019-08-26",
    "ContentMetadata": {
        "Output": "Redacted",
        "RedactionTypes": [
            "PII"
        ],
        "RedactionTypesMetadata": {
            "PII": {
                "RedactionMaskMode": "PII"
            }
        }
    },
    "ConversationCharacteristics": {
        "ContactSummary": {
            "SummaryItemsDetected": [
                {
                    "ActionItemsDetected": [],
                    "IssuesDetected": [
                        {
                            "TranscriptItems": [
                                {
                                    "CharacterOffsets": {
                                        "BeginOffsetChar": 72,
                                        "EndOffsetChar": 244
                                    },
                                    "Id": "2b8ba020-53ee-4053-b5b7-35364ac1c7df"
                                }
                            ]
                        }
                    ],
                    "OutcomesDetected": [
                        {
                            "TranscriptItems": [
                                {
                                    "CharacterOffsets": {
                                        "BeginOffsetChar": 0,
                                        "EndOffsetChar": 150
                                    },
                                    "Id": "72cc8c8d-2199-422a-b363-01d6d3fdc851"
                                }
                            ]
                        }
                    ]
                }
            ]
            "ContactSummary": {
                       "PostContactSummary": {
                          "Content": "The customer and agent's conversation did not have any clear issues, outcomes or next steps. Agent verified customer information and finished the call."
                           }
                    }
            ],
        },
        
        "ResponseTime": {
            "AgentGreetingTimeMillis": 2511,
            "DetailsByParticipantRole": {
                "AGENT": {
                    "Average": {
                        "ValueMillis": 5575
                    },
                    "Maximum": {
                        "TranscriptItems": [
                            {
                                "Id": "21acf0fc-7259-4a08-b4cd-688eb56587d3"
                            }
                        ],
                        "ValueMillis": 7309
                    }
                },
                "CUSTOMER": {
                    "Average": {
                        "ValueMillis": 5875
                    },
                    "Maximum": {
                        "TranscriptItems": [
                            {
                                "Id": "c71ad383-f876-4bb3-b254-7837b6a3d395"
                            }
                        ],
                        "ValueMillis": 11366
                    }
                }
            }
        },
        "Sentiment": {
            "DetailsByTranscriptItemGroup": [
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "e4949dd1-aaa1-4fbd-84e7-65c95b2d3d9a"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "3673d926-6e75-4620-a6f0-7ea571790a15"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "46d37141-32d8-4f2e-a664-bcd3f34a68b3"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "3c4a2a1e-6790-46a6-8ad4-4a0980b04795"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "f9cd41b6-3f68-4e83-a47d-664395f324c0"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 1.6666666666666667,
                    "Sentiment": "POSITIVE",
                    "TranscriptItems": [
                        {
                            "Id": "21acf0fc-7259-4a08-b4cd-688eb56587d3"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 1.6666666666666667,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "2b8ba020-53ee-4053-b5b7-35364ac1c7df"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 1.6666666666666667,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "28d0a1ce-64d1-4625-bbef-4cfeb97b6742"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "ef9b8622-32d5-4cfd-9ccc-a242502267bc"
                        },
                        {
                            "Id": "03a9de67-f9e1-4884-a1a3-ecea78a4ce9e"
                        },
                        {
                            "Id": "cfee5ece-a671-4a11-9ec2-89aba4b7d688"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "72cc8c8d-2199-422a-b363-01d6d3fdc851"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 1.6666666666666667,
                    "Sentiment": "POSITIVE",
                    "TranscriptItems": [
                        {
                            "Id": "61bb2591-fe87-44e4-bba0-a3619c4cef1f"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 1.6666666666666667,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "1761f27e-0989-4b6d-a046-fc03d2c6bc9c"
                        }
                    ]
                },
                {
                    "ParticipantRole": "AGENT",
                    "ProgressiveScore": 3.3333333333333335,
                    "Sentiment": "POSITIVE",
                    "TranscriptItems": [
                        {
                            "Id": "8cdff161-dc25-44e6-986f-fc0e08ee0a7d"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": -1.6666666666666667,
                    "Sentiment": "NEGATIVE",
                    "TranscriptItems": [
                        {
                            "Id": "bcc51949-3a79-4398-be1b-a27345a8a8ad"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": -3.75,
                    "Sentiment": "NEGATIVE",
                    "TranscriptItems": [
                        {
                            "Id": "7d5c07d7-3d26-4b34-ae91-39aeaeef685c"
                        },
                        {
                            "Id": "e0efbd17-9139-439b-8c80-ebf2b9b703b9"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": -3.75,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "8fbb8dd4-9fd4-4991-83dc-5f06eeead9aa"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": -2.5,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "3b856fd9-0eeb-4fb2-93ed-95ec4aeae3a6"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "ecb8c498-96d7-448b-8360-366eeddb4090"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "d334058f-e3de-4cf1-a361-32e4e61f1839"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "3ec6adb5-3f11-409c-af39-40cf7ba6f078"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "c71ad383-f876-4bb3-b254-7837b6a3d395"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "4b292b64-4a33-45ff-89df-d5a175d16d70"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 0,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "2da5a3c2-9d1b-458c-ae53-759a4e63198d"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 1.6666666666666667,
                    "Sentiment": "POSITIVE",
                    "TranscriptItems": [
                        {
                            "Id": "e23a2331-f3fc-4d3c-8a51-1541451186c9"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 3.75,
                    "Sentiment": "POSITIVE",
                    "TranscriptItems": [
                        {
                            "Id": "5a27cc39-9b73-4ebe-9275-5e6723788a1b"
                        }
                    ]
                },
                {
                    "ParticipantRole": "CUSTOMER",
                    "ProgressiveScore": 3.75,
                    "Sentiment": "NEUTRAL",
                    "TranscriptItems": [
                        {
                            "Id": "540368c7-ec19-4fc0-8c86-0a5ee62d31a0"
                        }
                    ]
                }
            ],
            "OverallSentiment": {
                "DetailsByInteraction": {
                    "DetailsByParticipantRole": {
                        "CUSTOMER": {
                            "WithAgent": 0
                        }
                    }
                },
                "DetailsByParticipantRole": {
                    "AGENT": 1.1538461538461537,
                    "CUSTOMER": 0
                }
            },
            "SentimentShift": {
                "DetailsByInteraction": {
                    "DetailsByParticipantRole": {
                        "CUSTOMER": {
                            "WithAgent": {
                                "BeginScore": -3,
                                "EndScore": 3.75
                            }
                        }
                    }
                },
                "DetailsByParticipantRole": {
                    "AGENT": {
                        "BeginScore": 0,
                        "EndScore": 2.5
                    },
                    "CUSTOMER": {
                        "BeginScore": -3.75,
                        "EndScore": 3.75
                    }
                }
            }
        }
    },
    "CustomerMetadata": {
        "ContactId": "b49644f6-672f-445c-b209-f76b36482830",
        "InputS3Uri": "path to the json file in s3",
        "InstanceId": "f23fc323-3d6d-48aa-EXAMPLE012"
    },
    "JobStatus": "COMPLETED",
    "LanguageCode": "en-US",
    "Participants": [
        {
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER"
        },
        {
            "ParticipantId": "2b2288b4-ff6e-4996-8d8e-260fd5a8ac02",
            "ParticipantRole": "SYSTEM"
        },
        {
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT"
        }
    ],
    "Transcript": [
        {
            "AbsoluteTime": "2022-10-27T03:31:50.735Z",
            "ContentType": "application/vnd.amazonaws.connect.event.participant.joined",
            "DisplayName": "[PII]",
            "Id": "740c494d-9df7-4400-91c0-3e4df33922c8",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "EVENT"
        },
        {
            "AbsoluteTime": "2022-10-27T03:31:53.390Z",
            "Content": "Hello, thanks for contacting us. This is an example of what the Amazon Connect virtual contact center can enable you to do.",
            "ContentType": "text/plain",
            "DisplayName": "SYSTEM_MESSAGE",
            "Id": "78aa8229-714a-4c87-916b-ce7d8d567ab2",
            "ParticipantId": "2b2288b4-ff6e-4996-8d8e-260fd5a8ac02",
            "ParticipantRole": "SYSTEM",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:31:55.131Z",
            "Content": "The time in queue is less than 5 minutes.",
            "ContentType": "text/plain",
            "DisplayName": "SYSTEM_MESSAGE",
            "Id": "1276382b-facb-49c5-8d34-62e3b0f50002",
            "ParticipantId": "2b2288b4-ff6e-4996-8d8e-260fd5a8ac02",
            "ParticipantRole": "SYSTEM",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:31:56.618Z",
            "Content": "You are now being placed in queue to chat with an agent.",
            "ContentType": "text/plain",
            "DisplayName": "SYSTEM_MESSAGE",
            "Id": "88c2363e-8206-4781-a353-c15e1ccacc12",
            "ParticipantId": "2b2288b4-ff6e-4996-8d8e-260fd5a8ac02",
            "ParticipantRole": "SYSTEM",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:00.951Z",
            "ContentType": "application/vnd.amazonaws.connect.event.participant.joined",
            "DisplayName": "[PII]",
            "Id": "c05cca74-d50b-4aa5-b46c-fdb5ae8c814c",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "EVENT"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:03.462Z",
            "Content": "Hello, thanks for reaching Example Corp. This is [PII]. How may I help you?",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "e4949dd1-aaa1-4fbd-84e7-65c95b2d3d9a",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Redaction": {
                "CharacterOffsets": [
                    {
                        "BeginOffsetChar": 46,
                        "EndOffsetChar": 51
                    }
                ]
            },
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:08.102Z",
            "Content": "I'd like to see if I can get a refund or an exchange, because I ordered one of your grow-it-yourself indoor herb garden kits and nothing sprouted after a couple weeks so I think something is wrong with the seeds and this product may be defective.",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "bcc51949-3a79-4398-be1b-a27345a8a8ad",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:14.137Z",
            "Content": "My wife is blind and sensitive to the sun so I was going to surprise her for her birthday with all the herbs that she loves so you guys actually really let me down.",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "7d5c07d7-3d26-4b34-ae91-39aeaeef685c",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:18.781Z",
            "Content": "I should be taking my business elsewhere. I don't see why I should be giving money to a company that isn't even going to sell a product that works.",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "e0efbd17-9139-439b-8c80-ebf2b9b703b9",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:24.123Z",
            "Content": "Ok. Can I get your first and last name please?",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "3673d926-6e75-4620-a6f0-7ea571790a15",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:29.879Z",
            "Content": "Yeah. My first name is [PII] and last name [PII].",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "8fbb8dd4-9fd4-4991-83dc-5f06eeead9aa",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Redaction": {
                "CharacterOffsets": [
                    {
                        "BeginOffsetChar": 21,
                        "EndOffsetChar": 26
                    },
                    {
                        "BeginOffsetChar": 44,
                        "EndOffsetChar": 49
                    }
                ]
            },
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:34.670Z",
            "Content": "Could you please provide me with the order ID number?",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "46d37141-32d8-4f2e-a664-bcd3f34a68b3",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:39.726Z",
            "Content": "Yes, just . Looking ...",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "3b856fd9-0eeb-4fb2-93ed-95ec4aeae3a6",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:44.887Z",
            "Content": "Not a problem, take your time.",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "3c4a2a1e-6790-46a6-8ad4-4a0980b04795",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:52.978Z",
            "Content": "Okay, that should be #5376897. You know, if the product was fine I wouldn't have to scrounge through emails.",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "ecb8c498-96d7-448b-8360-366eeddb4090",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:32:59.441Z",
            "Content": "alright, perfect. And could you also just confirm the shipping address for me, [PII]",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "f9cd41b6-3f68-4e83-a47d-664395f324c0",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Redaction": {
                "CharacterOffsets": [
                    {
                        "BeginOffsetChar": 77,
                        "EndOffsetChar": 82
                    }
                ]
            },
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:33:05.455Z",
            "Content": "[PII], and the zip code [PII].",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "d334058f-e3de-4cf1-a361-32e4e61f1839",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Redaction": {
                "CharacterOffsets": [
                    {
                        "BeginOffsetChar": 0,
                        "EndOffsetChar": 5
                    },
                    {
                        "BeginOffsetChar": 27,
                        "EndOffsetChar": 32
                    }
                ]
            },
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:33:12.764Z",
            "Content": "Thank you very much. Just waiting on my system here. .. I'll also need the last four digits of your debit card.",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "21acf0fc-7259-4a08-b4cd-688eb56587d3",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:33:17.412Z",
            "Content": "Ok. Last four for my debit card [PII]",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "3ec6adb5-3f11-409c-af39-40cf7ba6f078",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Redaction": {
                "CharacterOffsets": [
                    {
                        "BeginOffsetChar": 27,
                        "EndOffsetChar": 32
                    }
                ]
            },
            "Type": "MESSAGE"
        },        
        {
            "AbsoluteTime": "2022-10-27T03:33:33.852Z",
            "Content": "It's just too bad. I thought this was going to be the best gift idea. How can you guys be sending out defective seeds? Isn't that your whole business?",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "c71ad383-f876-4bb3-b254-7837b6a3d395",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:33:38.961Z",
            "Content": "I apologize for the experience you had Mr [PII], its very uncommon that our customer will have this issue. We will look into this and get this sorted out for you right away.",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "28d0a1ce-64d1-4625-bbef-4cfeb97b6742",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Redaction": {
                "CharacterOffsets": [
                    {
                        "BeginOffsetChar": 41,
                        "EndOffsetChar": 46
                    }
                ]
            },
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:33:44.192Z",
            "Content": "Well, my wife's birthday already passed, so. There's not too much you can do. But I would still like to grow the herbs for her, if possible.",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "4b292b64-4a33-45ff-89df-d5a175d16d70",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:33:51.310Z",
            "Content": "Totally understandable. Let me see what we can do for you. Please give me couple of minutes as I check the system.",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "ef9b8622-32d5-4cfd-9ccc-a242502267bc",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:33:56.287Z",
            "Content": "Thank you sir one moment please.",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "03a9de67-f9e1-4884-a1a3-ecea78a4ce9e",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:01.224Z",
            "Content": "Alright are you still there Mr [PII]?",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "cfee5ece-a671-4a11-9ec2-89aba4b7d688",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Redaction": {
                "CharacterOffsets": [
                    {
                        "BeginOffsetChar": 30,
                        "EndOffsetChar": 35
                    }
                ]
            },
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:07.093Z",
            "Content": "Yeah.",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "2da5a3c2-9d1b-458c-ae53-759a4e63198d",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:12.562Z",
            "Content": "We are not only refunding the cost of the grow-it-yourself indoor herb kit but we will also be sending you a replacement. Would you be okay with this?",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "72cc8c8d-2199-422a-b363-01d6d3fdc851",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:17.029Z",
            "Content": "Yeah! That would be great. I just want my wife to be able to have these herbs in her room. And I'm always happy to get my money back!",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "e23a2331-f3fc-4d3c-8a51-1541451186c9",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:22.269Z",
            "Content": "Awesome! We really want to keep our customers happy and satisfied, and again I want to apologize for your less than satisfactory experience with the last product you ordered from us.",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "61bb2591-fe87-44e4-bba0-a3619c4cef1f",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:26.353Z",
            "Content": "Okay! No problem. Sounds great. Thank you for all your help!",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "5a27cc39-9b73-4ebe-9275-5e6723788a1b",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:31.431Z",
            "Content": "Is there anything else I can help you out with Mr [PII]?",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "1761f27e-0989-4b6d-a046-fc03d2c6bc9c",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Redaction": {
                "CharacterOffsets": [
                    {
                        "BeginOffsetChar": 48,
                        "EndOffsetChar": 53
                    }
                ]
            },
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:36.704Z",
            "Content": "Nope!",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "540368c7-ec19-4fc0-8c86-0a5ee62d31a0",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:41.448Z",
            "Content": "Ok great! Have a great day.",
            "ContentType": "text/plain",
            "DisplayName": "[PII]",
            "Id": "8cdff161-dc25-44e6-986f-fc0e08ee0a7d",
            "ParticipantId": "f36a545d-67b2-4fd4-89fb-896136b609a7",
            "ParticipantRole": "AGENT",
            "Type": "MESSAGE"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:42.799Z",
            "ContentType": "application/vnd.amazonaws.connect.event.participant.left",
            "DisplayName": "[PII]",
            "Id": "d1ba54ba-61d4-4a48-9a9a-6cd17d70b8fb",
            "ParticipantId": "e9b36a6d-12aa-4c21-9745-1881648ecfc8",
            "ParticipantRole": "CUSTOMER",
            "Type": "EVENT"
        },
        {
            "AbsoluteTime": "2022-10-27T03:34:43.192Z",
            "ContentType": "application/vnd.amazonaws.connect.event.chat.ended",
            "Id": "2d9a0e4f-faec-485f-97af-2767dde1f30a",
            "Type": "EVENT"
        }
    ],
    "Version": "CHAT-2022-11-30"
}
```

# Contact Lens 会話分析によって分析された E メールの Contact Lens 出力ファイルの例
<a name="contact-lens-example-output-files-email"></a>

このセクションでは、Contact Lens 会話分析によって分析された E メール問い合わせのスキーマの例を示します。この例では、一致したカテゴリと問い合わせチェーンの概要を示しています。

E メール分析出力ファイルについては、次の点に注意してください。
+ `Channel` フィールドは `EMAIL` に設定されます。
+ `Version` フィールドは`EMAIL`プレフィックス ( など`EMAIL-2026-01-01`) を使用します。
+ E メール出力ファイルには、感情スコア、感情シフト、ラウドネス、非通話時間データは含まれません。
+ `Categories` セクションには、 に設定された `EventSource`フィールドが含まれています`OnEmailAnalysisAvailable`。
+ E メール分析では E メールスレッド全体 (問い合わせチェーン) が要約されるため`PostContactSummary`、問い合わせ概要では `ContactChainSummary`の代わりに が使用されます。
+ このセクションでは、Amazon S3 に保存されている E メールメッセージとプレーンテキストファイル`CustomerMetadata.InputFiles`を参照します。

## E メール分析出力ファイルの例
<a name="email-exampleoriginalfile"></a>

次の例は、分類、秘匿化、問い合わせチェーンの概要が有効になっている E メール問い合わせの出力を示しています。

```
{
  "Version": "EMAIL-2026-01-01",
  "AccountId": "123456789012",
  "Channel": "EMAIL",
  "Configuration": {
    "ChannelConfiguration": {
      "AnalyticsModes": [
        "ContactLens"
      ]
    },
    "LanguageLocale": "en-US",
    "RedactionConfiguration": {
      "Behavior": "Enable",
      "Policy": "RedactedAndOriginal",
      "Entities": [],
      "MaskMode": "EntityType"
    },
    "SummaryConfiguration": {
      "SummaryModes": [
        "ContactChain"
      ]
    }
  },
  "CustomerMetadata": {
    "ContactId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "InstanceId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
    "InputFiles": {
      "EmailMessageS3URI": "connect/your-instance/EmailMessages/2026/01/15/a1b2c3d4_message.json",
      "EmailMessagePlainTextS3URI": "connect/your-instance/EmailMessages/2026/01/15/a1b2c3d4_plain_text.json"
    }
  },
  "Categories": {
    "MatchedCategories": [
      "refund-request",
      "shipping-issue"
    ],
    "MatchedDetails": {
      "refund-request": {
        "PointsOfInterest": [
          {
            "Contacts": [
              {
                "ContactId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
              }
            ]
          }
        ],
        "EventSource": "OnEmailAnalysisAvailable"
      },
      "shipping-issue": {
        "PointsOfInterest": [],
        "EventSource": "OnEmailAnalysisAvailable"
      }
    }
  },
  "ConversationCharacteristics": {
    "ContactSummary": {
      "ContactChainSummary": {
        "Content": "The customer reported that their order arrived damaged and requested a full refund including shipping costs. The agent confirmed the refund would be processed within 3-5 business days and offered a replacement unit."
      }
    }
  },
  "JobDetails": {}
}
```

# Amazon Connect Contact Lens の問題のトラブルシューティング
<a name="contact-lens-troubleshoot"></a>

## 秘匿化されていないコンテンツを視聴できないのはなぜですか。
<a name="where-is-unredacted-content"></a>

組織がContact Lens秘匿化機能を使用している場合、デフォルトでは秘匿化されたコンテンツのみが Amazon Connect 管理者ウェブサイトに表示されます。

秘匿化されていないコンテンツを表示するには、アクセス許可が必要です。詳細については、「[Amazon Connect で Contact Lens 会話分析を使用するアクセス許可を割り当てる](permissions-for-contact-lens.md)」を参照してください。