Category: Amazon Connect*


Amazon Connect と Amazon Lex のインテグレーション

私のお気に入りのサービス、Amazon ConnectAmazon Lex に機能強化が施されました。セルフサービスの Amazon Connect はクラウドベースのサポートセンターで、ビジネスがより良いカスタマーサービスを低コストで簡単に提供できるようにしています。Amazon Lex は、音声とテキストを使用して会話型インターフェイスを構築するためのサービスです。この 2 つのサービスを統合することで、Lex の自動音声認識 (ASR) と自然言語理解 (NLU) の性能を利用し、優れたセルフサービスエクスペリエンスを顧客に提供することができます。この統合を有効にするため、Lex チームが 8kHz の音声入力サポートを追加しました。これについては後ほど詳しくご説明します。この機能のメリットは?顧客によるリクエストの大半をボットが解決できれば、電話での待ち時間を削減し、ユーザーは時間を無駄にすることなく製品を使用することができます。

Connect または Amazon Lex の背景情報については、Jeff が過去に公開したブログ [1][2] をぜひお読みください。LEGO ファンの方は特にお楽しみいただけると思います。


では、この新しい統合の使用方法を見ていきましょう。Twitch チャンネルで構築したアプリケーションを使用して、このブログ用に内容を変更します。アプリケーションのコアでユーザーが Amazon Connect の番号を呼び出します。この番号はユーザーを Lex ボットに繋げ、AWS Lambda 関数を開始します。これは Lex のインテントをベースにしています。アプリケーションでできることは?

最良のコードエディタは何だと思いますか? 個人的には vim が好きです。コード編集を行うには最高のエディタです。私の同僚の Jeff は emacs を選んでいます。 これは素晴らしいオペレーティングシステム エディタです。もし、生まれつき指の関節が普通以上にあればの話しですが。そして同僚の Tara が選んだのは Visual Studio です。これも圧倒的に優れたエディタです。ということで、もっとも優れたエディタがどれか議論するのではなく、皆さんに投票してもらうのが良いのではないかと思います。バタフライに投票することもできますので、ご安心を。

投票に参加してみませんか?+1 614-569-4019 に電話し、あなたが最高のエディタだと思うものをお知らせください!皆さんの電話番号を保存したり、音声を録音することはありませんので、何回も vim に投票して下さって構いません。ライブで投票結果を見てみますか?  http://best-editor-ever.s3-website-us-east-1.amazonaws.com/.

さて、この仕掛けをどうやって構築したと思いますか?このブログでは各コンポーネントについて説明しますが、すでに LexLambda に触れているので、主に Amazon Connect コンポーネントについて焦点を当てることにします。ここでは、すでに皆さんが Connect インスタンスを実行中であることを前提とします。

Amazon Lex

まず Lex について説明します。まず、 VoteEditor という名前のボットを 2 つのインテントを使用して作成します。 VoteEditor に単一のスロットがあり editorConnectToAgent にはスロットがありません。editor スロットに様々なコードエディタ名を入れます (emacs は除去しておきましょうか)。

AWS Lambda

Lambda 関数も実にシンプルです。まず、Amazon DynamoDB テーブルを作成して投票結果を保存します。次に Lex (build_response) に応答するヘルパーメソッドを作成します – これでメッセージを Lex の分かりやすいレスポンス形式でラップできるようになります。後はフローロジックを特定するだけです。


def lambda_handler(event, context):
    if 'ConnectToAgent' == event['currentIntent']['name']:
        return build_response("Ok, connecting you to an agent.")
    elif 'VoteEditor' == event['currentIntent']['name']:
        editor = event['currentIntent']['slots']['editor']
        resp = ddb.update_item(
            Key={"name": editor.lower()},
            UpdateExpression="SET votes = :incr + if_not_exists(votes, :default)",
            ExpressionAttributeValues={":incr": 1, ":default": 0},
            ReturnValues="ALL_NEW"
        )
        msg = "Awesome, now {} has {} votes!".format(
            resp['Attributes']['name'],
            resp['Attributes']['votes'])
        return build_response(msg)

コードを理解できているか確認します。つまり、まだ存在しないエディタに票が入ったら、エディタに 1 票を追加するようにします。そうでなければ、そのエディタの票数を「1」増やします。エージェントのリクエストを受けたら、フローを終了してフレンドリーなメッセージを返します。どうです、簡単でしょう。後は投票結果を見るため、Lex ボットに Lambda 関数を使うように指示するだけです。次に進む前に、Lex コンソールですべて問題なく作用しているか確認することができます。

Amazon Connect

問い合わせフローで Lex ボットを使用する前に、Amazon Connect インスタンスにアクセスできるか確認します。そうするには、Amazon Connect サービスコンソールに行き、インスタンスを選択してから「問い合わせフロー」にアクセスします。ボットの追加先となる Lex のセクションが表示されます。

Amazon Connect のインスタンスが Lex ボットを呼び出せることが分かったところで、Lex ボットを含む新しい問い合わせフローを作成します。[Interact] カテゴリから [Get customer input] ウィジェットを介してフローにボットを追加します。

ウィジェットを起動すると、電話の数値キーから入力を許可するための [DTMF] タブ、または音声入力とその情報を Lex サービスに渡す [Amazon Lex] タブが表示されます。[Lex] タブを使用していくつかの事項を設定します。

様々なオプションがありますが、要するに使用したいボットを追加したり (ボットのバージョンも同様)、ボットで使用したいインテントや、ボットを紹介する小さなプロンプトを追加します (場合によっては顧客にコメントを入力するように促すなど)。

最終的にコンタクトフローは次のようになります。

実際には Lex ボットを介して多数のトランザクションをユーザーが実行できるようにする場合もあるでしょう。次に、エラーまたは ConnectToAgent のインテントで、ユーザーが実際のスタッフと対話ができるキューにユーザーを追加します。ユーザーの情報を収集し保存して、エージェントが利用できるように多機能のインターフェイスを追加します。これにより、エージェントは必要な情報をすべて把握した上でユーザーとの会話をすぐに始めることができます。

では次に Lex がサポートする 8kHz オーディオサポートの使用によるメリットについて説明します。Lex は、もともと電話から 8 kHz 入力以上の高音質でサンプルされた音声入力のみサポートしていました。現代のデジタル通信アプリケーションは、通常最低でも 16 kHz でサンプルされたオーディオ信号を使用しています。この忠実度が高いレコーディングでは「ess」(/s/) や「eff」(/f/) といった音の違いを聞き分けることができます。少なくても、そのようにオーディオ専門家は説明しています。それに比べ、電話は大幅に質の低いレコーディングを使用しています。人間と人間の耳というのは、低質の録音でも音声が何を言っているのか前後関係から把握するのに長けています (証拠は「NASA アポロのレコーディング (NASA apollo recordings)」をご覧ください)。ですから、電話のデジタルシステムは大方デフォルトで 8kHz サンプリングをセットアップに使用しています。帯域幅と忠実度において具合の良いトレードオフだと思います。電話の声がいつもと違うように聞こえるのは、そのためです。サンプリングレートの基本的な問題に加えて、携帯電話によるコールデータでは通話中に聞こえないという問題がよくあります (もしもし、聞こえますか? といった具合に)。多種多様の何千種類ものデバイスと何百社というメーカー、そして数えきれないほどの様々なソフトウェア実装があります。そこで、認識にまつわる問題はどうやって解決したらいいと思いますか?

Lex チームは、この問題への対処方法は音声入力に使用する一連のモデルを拡張し、8kHz モデルを含むことだと判断しました。8 kHz のテレフォニーオーディオサンプリングレートのサポートにより、音声認識の精度やサポートセンターとのやり取りの忠実度を高めることができます。これは、数多くのお客様が Amazon Connect をもっと利用できるようにと対応しているチームの素晴らしい努力の結果と言えるでしょう。

最後になりますが、Amazon Connect は外部開発者として使用できる PostContent エンドポイントと同じものを使うため、Amazon Connect を使用していないユーザーでも Lex で 8kHz を使用することが可能です。

以上となりますが、お楽しみいただけましたか? 詳細はいつも通り「ドキュメント (docs)」や「API リファレンス (API Reference)」をご参照ください。

Randall

Amazon Connect – クラウド上のカスタマーサポートセンター

すべてのビジネスの成功にとって、カスタマーサービスは不可欠です。多くの組織は、音声ベースのカスタマーサービスを大規模に提供するために、コールセンターを運営しています。コールセンターは、最低でも着信通話を対応可能なエージェントにルーティングします。より高度なシステムでは、カスタマイズされた問い合わせツリーを作成する機能や、その他の統合音声応答 (IVR) システムなど、さらに高度なルーティングとやり取りがサポートされます。従来、IVR システムは設置が困難で、ライセンスが高価であり、キャパシティーベースの料金が一般的でした。

Amazon カスタマーサービス組織は、お客様に最高レベルのサービスを提供することを目指しています。これを大規模に行うため、当社組織は世界中に散在した 50 以上のグループと子会社センターに勤務する数万人のエージェントを雇用し、さまざまな言語を話すお客様をサポートしています。

Amazon Connect へようこそ
今日は Amazon Connect についてお話ししたいと思います。当社カスタマーサービスチームの多くで使用されているのと同じテクノロジー上に構築された Amazon Connect により、お客様はクラウドベースのサポートセンターを数分でセットアップできます。お客様は独自のサポートセンターを作成し、(IVR と同様の) 問い合わせフローを設計し、完全にウェブベースの最新のインターフェイスを使用してエージェントを配置します。Amazon Connect は IT チームや専門コンサルタントの支援を必要とせず、簡単に設定して、ビジネスの意思決定者が直接実行できます。デプロイするハードウェアはなく、エージェントごとのライセンスもありません。その代わり、顧客に費やした分数と、電話の時間に基づいて料金をお支払いいただきます。このスケーラブルな従量制モデルにより、電話問い合わせ件数が予測不能であるか、急激に増大する、またはその両方である状況において、Amazon Connect を使用できます。Amazon Connect は以下を含む多くの異なる AWS のサービスで使用できます。

Amazon S3Amazon Connect は S3 を使用して、通話 (音声) およびレポートの無制限の暗号化されたストレージを提供します。

AWS Lambda – これにより、顧客の問い合わせの一部としてサーバーレス方式でコードを実行できます。このコードは CRM またはデータベースからデータをプルし、そのデータを使用して独自のカスタマーエクスペリエンスを提供できます。

Amazon Lex – Alexa の背後にあるのと同じテクノロジーを利用した自然言語の会話型インターフェイスを、顧客からの問い合わせに使用できます。Amazon Connect のこの機能は現在プレビュー形式でリリースされていて、間もなく詳細がわかる予定です。

AWS Directory ServiceAmazon Connect は既存の Active Directory を参照するか、新規に作成できます。このディレクトリは、ユーザー (管理者、マネージャー、またはエージェント) の ID とアクセス権限を保存するために使用されます。

Amazon KinesisAmazon Connect は問い合わせトレースレコード (CTR) を Amazon Kinesis にストリーミングできます。ここから、Amazon S3 または Amazon Redshift にプッシュし、Amazon QuickSight またはその他のビジネス分析ツールを使用して分析できます。

Amazon CloudWatchAmazon Connect はリアルタイムのオペレーションメトリクスを Amazon CloudWatch に発行します。このメトリクスにより、1 秒あたりの着信通話数、キューに保持されている数などがわかります。このメトリクスを使用して、カスタマーセンターのパフォーマンスを監視し、適切な数のエージェントを配置していることを確認できます。

Amazon Connect の利点と特徴
Amazon Connect の主要な利点と特徴について見てみましょう。

Cloud-PoweredAmazon Connect は AWS の不可欠な部分であり、堅牢、スケーラブル、可用性に優れるよう設計されています。各サポートセンターインスタンスは複数の AWS アベイラビリティーゾーンで実行されます。シンプル – 既に説明したように、Amazon Connect はビジネスの意思決定者によって設定および実行されるよう設計されました。グラフィカルなコンソールにより、セットアッププロセス (グラフィカルな問い合わせフローの設計を含む) が簡単で効率的になります。

柔軟Amazon Connect で利用される Contact Flow Editor (CFE) には、やり取り、統合、管理フロー、分岐などのブロックが含まれています。問い合わせフローには、事前に録音された音声のプロンプト、生成された音声、Lex を利用したやり取り、既存のシステムやデータベースとの統合、エージェントとの会話、通話の転送などを組み合わせて含めることができます。

経済的Amazon Connect の従量制モデルにより、運用コストは実際の使用量に沿ったものに維持することができます。エージェント側では、Amazon Connect には高品質の音声をサポートするソフトフォンが含まれます。

Amazon Connect ツアー
カスタマーサポートセンターをセットアップしてみましょう。Amazon Connect コンソールで作業を開始します。[Get started] をクリックします。

既存のディレクトリを使用するか、新規のディレクトリを作成できます。ここでは、新規のディレクトリを作成します。サポートセンターの URL をセットアップして続行します。この URL により、サポートセンターのユーザーがサインインできます。

次に、自分を管理者として設定します。

サポートセンターは電話の着信、発信、またはその両方を行うことができます。発信は問い合わせフローの一部として、またはエージェントによって行うことができます。ここでは必要なことを指定します (直通番号、フリーダイヤル番号、またはその両方は後で選択します)。

次に、通話の録音とレポート用に S3 の場所 (バケットとプレフィックスを含む) を指定します。個別の AWS Key Management Service (KMS) 暗号化キーとともに、それぞれに別のバケットとプレフィックスを使用できます。

次に、選択内容を確認して [Create instance] をクリックします。

数秒後に、Amazon Connect インスタンスの準備が整い、[Get started] をクリックできます。

Amazon Connect で、前に入力した管理者認証情報を使用してログインし、[Let’s go] をクリックして続行します。

これで、フリーダイヤル番号または直通電話番号を選択して、最初の着信を受け付けるようセットアップできます。

最初の着信を受け付ける準備が整いました。

私の携帯電話から番号をダイヤルして、オプションについて説明します。「1」を押してエージェントと話す選択をすると、ソフトフォンは電話に出るよう求めます (私はエージェントの役割を果たします)。

これで Amazon Connect をセットアップし、着信を受け付けることができるため、ダッシュボードを操作してサポートセンターを設定できます。

コールセンターに関連付けられている電話番号を表示できます。

そして追加の番号 (最大 10 個の直通ダイヤルと 10 個のフリーダイヤル) を要求し、幅広い国の番号から選択できます。

画面の下部で、番号が呼び出されたときに有効にする問い合わせフローを選択できます。

ダッシュボードに戻ります。次のステップはオペレーションの時間の設定です。オペレーションの既存の時間のリストを表示したり、新しいリストを作成したりできます。

複数のオペレーション時間を持ち、それぞれをキューにアタッチするか、問い合わせフローから参照できます。これで、問い合わせ (着信通話) のエージェントへのルーティングをモデル化するキューを作成できます。キューは優先順位 (通常またはプレミアムサポートのさまざまなレベル) を表すか、さまざまなビジネススキルまたは言語レベルのエージェントを表すことができます。

また、プロンプトを作成する機能もあります。これらは、問い合わせフローから参照できる音声スニペットです。既存の WAV ファイルをアップロードするか、ブラウザ内から録音できます。

次に、新しい問い合わせフローを作成することも、既存の問い合わせフローを編集することもできます。問い合わせフローにより、問い合わせ後のカスタマーエクスペリエンスが定義されます。デフォルトでセットアップされるサンプルフローを示します。

メニューで目的のブロックを見つけ、キャンバスにドラッグして、フローに接続できます。

次に、ブロックのヘッダーをクリックしてセットアップします。プロンプトを使用するか、音声の静的テキストまたは動的テキストを選択できます (動的な音声は、おそらくデータベースのルックアップから生じた音声フローにアタッチされた値を参照します)。

最も強力で一般的なブロックの 1 つにより、問い合わせフロー中に Lambda 関数を呼び出すことができます。この関数はデータベースからデータをプルする、CRM に接続する、または必要なタイプのビジネスロジックを実装することができます。この関数は入力としてキーと値のペアとともに提供され、出力として同じものを返します。返された値はフローの実行と関連付けられます。

次のステップでは、1 つ以上のキューで構成され、優先順位が関連付けられたルーティングプロファイルを作成します。優先順位により、エージェントは適切な順序 (低い数値ほど優先順位が高くなる) で複数のキューに対応できます。優先順位と遅延を組み合わせて、ユーザーとサポートセンターのニーズに合ったルーティングルールをセットアップできます。

最終ステップでは、ユーザー (管理者、マネージャー、エージェントなど) を追加して権限を与えます。これはユーザーごとに行うか、複数のユーザーの定義を含む CSV ファイルをインポートして行うことができます。Hello World という名前のユーザーを追加する方法を次に示します。

また、エージェントの階層も作成できます (地域または部門のレポートに最適です)。Amazon Connect では、セキュリティプロファイルを使用して、各タイプのユーザーに割り当てられたアクセス権限を管理できます。

さらに、リアルタイムと履歴のオペレーションメトリクスにもアクセスできます。リアルタイムのメトリクスの一部を示します (保持時間と表示されるフィールドは必要に応じてカスタマイズできます)。

メトリクスは CloudWatch に発行され、そこでアラームの実行に使用できます。この短いツアーで、Amazon Connect についてほどほど十分な説明ができたことを願っています。お客様がこれをどのようにして使用してサポートセンターを更新し、顧客に提供できるサービスのレベルを向上させたかお聞かせいただければ幸いです。

おわかりのように、これはリッチで強力なサービスであり、カスタマイズと拡張の余地が十分にあります。お客様が独自に使用できる高度な機能や設定オプションが数多くあります。

今すぐ利用可能
Amazon Connect は、US East (Northern Virginia) リージョンで今すぐ利用可能で、サポートセンターをすぐに作成することができます。説明したように、料金は従量制です。お客様はサポートセンターごと、および有効な通話 (着信または発信) ごとに分単位で料金をお支払いいただきます。AWS 無料利用枠の一部として、90 分のサポートセンターの利用、2 つの電話番号 (直通およびフリーダイヤル)、直通番号への 30 分の着信通話、30 分の着信フリーダイヤル通話、30 分の発信通話を、すべて 1 か月ごとに、年間を通じて無料で利用できます。

Jeff;

追伸 – Amazon Connect Images アルバムで、私の LEGO ビルド全体をご覧ください。