こんにちは、エンジニアのyokomachiです
この記事はAmazon Connect Advent Calendar 2024の16日目のエントリとなります。
アドベントカレンダーの一覧はこちら↓
Amazon Connect – Qiita Advent Calendar 2024 – Qiita
今回はAmazon ConnectのContact Lensルールを使用して、リアルタイムの会話分析→EventBridge→ChatbotによるSlack通知を実装してみます。
これにより、例えば通話やチャットの途中にエージェントが特定のNGワードを話したとき、Slackなどの外部チャットツールにアラートを飛ばすことができるようになります。
今回はチャットで構築しますが、通話の会話分析ルールを使用することで音声通話についても同様にNGワードの検知アラートを実装可能です。
目次
フローの会話分析の有効化
チャットで使用するコンタクトフローで会話分析を有効化します。
「記録と分析の動作を設定」ブロックで「チャット分析を有効にする」にチェックを入れます。
その下の言語設定も日本語にしておきましょう。
Contact Lensルールの作成
それではさっそくContact Lensのルールを作成していきましょう。
Amazon Connectのルール画面を開き、右上の「ルールを作成」をクリックし、「会話分析」を選択します。
まずは条件の定義です。
今回はリアルタイムなチャット分析を選択し、条件を完全一致として「儲かる」や「稼げる」という単語が出た場合に検知するとします。
なお、会話分析には他にもパターン一致やセマンティック一致を使用することも可能ですが、セマンティック一致は現在は英語のみの対応となるようです。
次にアクションの定義を行います。
先ほどの条件に合致した場合、EventBridgeイベントを生成するようにアクションを定義します。
以上でルールの定義は完了です。お手軽ですね。
SNSトピックの作成
EventBridgeからAWS Chatbotに接続するためにSNSトピックを作成します。
スタンダードタイプで特にオプションなどの設定はしません。
EventBridgeルールの作成
最後にEventBridgeのルールを作成します。
イベントパターンとしてAmazon Connectの「Contact Lens Reealtime Chat Rules Matched」を選択します。
ターゲットには先ほど作成したSNSトピックを設定します。
以上で設定は完了です。
デモ
では実際にテスト画面でチャットを行い、NGワードを打ってみます。
Slackに以下の通知が届きました。
・・・ちょっと味気ないですね
おまけ:EventBridgeの入力トランスフォーマー
Slackへの通知内容をカスタマイズしたいときはEventBridgeのルールで入力トランスフォーマーを設定しましょう。
ルールの「ターゲット」から編集画面を開き、以下のようにターゲット入力の設定で入力トランスフォーマーを選択します。
「入力トランスフォーマーを設定」ボタンから、入力パスとテンプレートを以下のように設定します。
もう一度NGワードを発言してみます。
さっきよりは内容が分かりやすく、情報量も増やすことができました。
おわりに
今回はAmazon Connect Contact Lensルールによる会話分析と検知、そしてそこからSlackに通知するためのEventBridgeなどの構築をやってみました。
Amazon ConnectのContact Lensは最近もアップデートが活発ですし、一部は日本語対応することでさらに使いやすくなると思うので今後にも期待ですね。
- Amazon ConnectでNGワードをリアルタイムに検知してSlackに通知する - 2024-12-16
- AWS Amplify AI KitでAIチャットアプリを爆速で作ってみる - 2024-12-14
- AWS LambdaをC#で実装する(ついでにラムダ式を書く) - 2024-12-09
- Amazon Connect Tasksの手動作成と自己割り当て、タスクテンプレートを試してみる - 2024-12-07
- Remix SPAモードで静的WebサイトをGithub Pagesにデプロイする - 2024-11-05