フローブロック: 顧客入力の取得 - Amazon Connect

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

フローブロック: 顧客入力の取得

説明

お客様からのインタラクティブで動的な入力を取得します。DTMF 入力 (電話からの入力) と Amazon Lex ボットによる割り込み可能なプロンプトをサポートします。

このブロックのユースケース

このブロックは、以下のシナリオでの使用を想定して設計されています。

  • お客様がタッチトーンキーパッドを使用して応答できる、インタラクティブな電話メニューを作成する。たとえば、「セールスの場合は 1 を押し、サポートの場合は 2 を押してください」

  • Amazon Lex ボットでこのブロックを使用して、音声認識のプロンプトを有効にする。お客様は話しかけることでプロンプトを中断できます。お客様にとって、対話がより自然で、応答性の高いものになります。

  • 構造化された方法で顧客情報を収集する。例えば、お客様にアカウント番号、注文 ID、その他の関連情報の入力を求めます。

  • お客様からの入力内容に基づいて、フロー内の特定のパスにお客様をルーティングする。これにより、お客様をご要望に基づいて適切な部署やサービスに案内できます。

  • お客様が満足度や懸念を表明できるような選択肢を提示して、お客様からのフィードバックを収集する。

  • アンケートを実施してお客様の意見を聞き、貴重なフィードバックやインサイトを収集する。

  • お客様の問題に関する具体的な質問をして、お客様にトラブルシューティングプロセスを案内する。回答内容に基づいて、お客様に合わせたソリューションを提案できます。

コンタクトのタイプ

次の表は、このブロックでのコンタクトのルーティング方法をチャネルごとに示しています。

Channel サポート対象?

音声

あり

チャット

はい (ただし、Amazon Lex が使用されている場合。それ以外の場合は [エラー] ブランチに分岐)

タスク

あり

フロータイプ

このブロックは、次のフロータイプで使用できます。

フロータイプ サポート対象?

着信フロー

あり

顧客キューフロー

あり

顧客保留フロー

なし

顧客ウィスパーフロー

なし

アウトバウンドウィスパーフロー

なし

エージェント保留フロー

なし

エージェントウィスパーフロー

なし

エージェントへの転送フロー

あり

キューへの転送フロー

あり

このブロックの設定方法

顧客入力の取得ブロックを設定するには、 Amazon Connect 管理者ウェブサイトを使用するか、Amazon Connect Flow 言語の GetParticipantInputアクション、または ConnectParticipantWithLexBotおよび 比較アクションを使用します。

プロンプトの選択

次の画像は、[お客様の入力を取得する] ブロックの [プロパティ] ページを示しています。「Welcome to Example Corp」という音声プロンプトを再生するように、手動で設定されています。

[顧客の入力を取得する] ブロックのプロパティページ。

次のオプションの中から、お客様に再生するプロンプトを選択します。

  • プロンプトライブラリ (オーディオ) から選択: Amazon Connect に含まれている事前記録されたプロンプトのいずれかから選択するか、 Amazon Connect 管理者ウェブサイトを使用して独自のプロンプトを記録してアップロードできます。

  • [S3 バケットから音声ファイルを指定]: S3 バケットにある音声ファイルを手動で、または動的に指定できます。

  • T ext-to-speech またはチャットテキスト : プレーンテキストまたは で再生するようにプロンプトを入力できますSSML。これらのテキストベースのプロンプトは、Amazon Polly を使用してお客様に音声プロンプトとして再生されます。SSML拡張入力テキストを使用すると、指定したテキストから Amazon Connect が音声を生成する方法をより詳細に制御できます。発音、音量、話す速度など、音声のさまざまな要素をカスタマイズして制御できます。

DTMF 入力用に設定する

次の図は、プロパティページの DTMFセクションを示しています。お客様が 1 を押すか 2 を押すかに応じて適切な分岐を判断するために、条件が 2 つ追加されています。お客様が何も入力しなかった場合は 5 秒後にタイムアウトします。

プロパティページの DTMFセクション。

次のオプションを選択します。

  • [Set timeout (タイムアウトの設定)]: ユーザーがプロンプトに応答する方法を決定するまでの待機時間を指定します。

    • 最小値: 1 秒

    • 最大値: 180 秒

    この時間が経過すると、タイムアウトエラーが発生します。Voice チャンネルの場合、これは最初のDTMF桁が入力されるまでのタイムアウトです。静的に定義する必要があり、0 より大きい有効な整数でなければなりません。

  • [条件の追加]: 顧客の入力と比較照合される数値。

を使用する場合DTMFのフロー言語表現

次のコード例は、フロー言語の GetParticipantInputアクションによってDTMF設定がどのように表されるかを示しています。

{ "Parameters": { "StoreInput": "False", "InputTimeLimitSeconds": "5", "Text": "Welcome to Example Corp. Please press 1 for sales, press 2 for support" }, "Identifier": "Get Customer Input", "Type": "GetParticipantInput", "Transitions": { "NextAction": "d8701db7-3d31-4581-bd4c-cb49c38c6f43", "Conditions": [ { "NextAction": "d8701db7-3d31-4581-bd4c-cb49c38c6f43", "Condition": { "Operator": "Equals", "Operands": [ "1" ] } }, { "NextAction": "d8701db7-3d31-4581-bd4c-cb49c38c6f43", "Condition": { "Operator": "Equals", "Operands": [ "2" ] } } ], "Errors": [ { "NextAction": "d8701db7-3d31-4581-bd4c-cb49c38c6f43", "ErrorType": "InputTimeLimitExceeded" }, { "NextAction": "d8701db7-3d31-4581-bd4c-cb49c38c6f43", "ErrorType": "NoMatchingCondition" }, { "NextAction": "d8701db7-3d31-4581-bd4c-cb49c38c6f43", "ErrorType": "NoMatchingError" } ] } }

Amazon Lex 入力用に を設定する

  • Lex ボットを選択: Amazon Lex ボットを作成したら、ドロップダウンリストからボットの名前を選択します。構築済みのボットのみが、ドロップダウンリストに表示されます。

  • を入力しますARN。Amazon Lex ボットの Amazon リソースネームを指定します。

  • [セッション属性]: 現在のコンタクトのセッションにのみ適用される Amazon Lex セッション属性を指定します。次の図は、最大通話時間が 8000 ミリ秒 (8 秒) に設定されたセッション属性を示しています。

    [顧客の入力の取得] ブロックの [プロパティ] ページ、[セッション属性] セクション。
  • インテント

    • [インテントを追加]: このオプションを選択し、比較対象とする Amazon Lex ボットのインテントの名前を入力します。

    • [Use sentiment override] (感情の上書きを使用): Amazon Lex インテントの前に、感情スコアに基づいて分岐します。

      感情スコアは、顧客の最後の発話に基づいています。会話全体に基づいているわけではありません。

      例えば、希望する予約時間が空いていないため、否定的な感情を抱いた顧客から電話があったとします。この場合、否定的な感情スコアに基づいてフローを分岐できます (例: 否定的な感情が 80% を超える場合)。または、顧客から電話があった場合に、その顧客が 80% を超える肯定的な感情を抱いているときは、分岐してサービスでアップセルすることができます。

      次の画像は、[Amazon Lex] タブの [インテント] セクションを示しています。否定的な感情スコアが 80% のときにコンタクトをルーティングするように設定されています。

      [顧客の入力の取得] ブロックの [プロパティ] ページ、[インテント] タブ。

      否定的な感情スコアと肯定的な感情スコアの両方を追加すると、常に否定的なスコアが最初に評価されます。

      感情スコア、代替インテント、および感情ラベルを問い合わせ属性とともに使用する方法については、「コンタクト属性を確認する」を参照してください。

音声入力の設定可能なタイムアウト

音声の問い合わせのタイムアウト値を設定するには、Lex ボットを呼び出す [顧客の入力を取得する] ブロックで、次のセッション属性を使用します。これらの属性を使用すると、発信者からの音声入力 (はい/いいえの質問に対する回答、日付やクレジットカード番号の提供) を Amazon Lex で収集する前に顧客が発話を終了したと判断するまで待つ時間を指定できます。

Amazon Lex
  • 発話の最大時間

    x-amz-lex:audio:max-length-ms:[intentName]:[slotToElicit]

    入力を打ち切って Amazon Connect に戻るという判断をするまでの顧客の発話時間の長さ。多くの入力が予想される場合や、顧客が情報を提供するまでの時間を増やす場合は、この時間を延長できます。

    デフォルト = 12,000 ミリ秒 (12 秒)。最大許容値は 15000 ミリ秒です。

    重要

    [発話の最大時間] を 15000 ミリ秒より長くすると、コンタクトは [エラー] ブランチにルーティングされます。

  • 無音開始しきい値

    x-amz-lex:audio:start-timeout-ms:[intentName]:[slotToElicit]

    顧客は話さないと見なすまでに待つ時間。顧客のために、情報を探したり思い出したりする時間を確保する場合には、発話前として割り当てられた時間を延長することが可能です。例えば、顧客がクレジットカードを取り出してその番号を入力できるまでの時間をより長く見込む場合は、時間を延長できます。

    デフォルト = 3,000 ミリ秒 (3 秒)。

  • 無音終了しきい値

    x-amz-lex:audio:end-timeout-ms:[intentName]:[slotToElicit]

    顧客が発話を停止してから発話が完了したと見なすまでに待つ時間。入力している間の無音の時間を見込む場合は、割り当てられた時間を延長できます。

    デフォルト = 600 ミリ秒 (0.6 秒)

Amazon Lex (Classic)
  • 発話の最大時間

    x-amz-lex:max-speech-duration-ms:[intentName]:[slotToElicit]

    入力を打ち切って Amazon Connect に戻るという判断をするまでの顧客の発話時間の長さ。多くの入力が予想される場合や、顧客が情報を提供するまでの時間を増やす場合は、この時間を延長できます。

    デフォルト = 12,000 ミリ秒 (12 秒)。最大許容値は 15000 ミリ秒です。

    重要

    [発話の最大時間] を 15000 ミリ秒より長くすると、コンタクトは [エラー] ブランチにルーティングされます。

  • 無音開始しきい値

    x-amz-lex:start-silence-threshold-ms:[intentName]:[slotToElicit]

    顧客は話さないと見なすまでに待つ時間。顧客のために、情報を探したり思い出したりする時間を確保する場合には、発話前として割り当てられた時間を延長することが可能です。例えば、顧客がクレジットカードを取り出してその番号を入力できるまでの時間をより長く見込む場合は、時間を延長できます。

    デフォルト = 3,000 ミリ秒 (3 秒)。

  • 無音終了しきい値

    x-amz-lex:end-silence-threshold-ms:[intentName]:[slotToElicit]

    顧客が発話を停止してから発話が完了したと見なすまでに待つ時間。入力している間の無音の時間を見込む場合は、割り当てられた時間を延長できます。

    デフォルト = 600 ミリ秒 (0.6 秒)

Lex 音声対話中のチャット入力のタイムアウトを設定可能

[Intents] (インテント) の下の [Chat timeout] (チャットタイムアウト) フィールドを使用して、チャット入力のタイムアウトを設定します。Lex 音声対話で非アクティブな顧客がタイムアウトするまでの時間を入力します。

  • 最小: 1 分

  • 最大 7 日

次の画像は、顧客が 2 分間非アクティブになるとチャットをタイムアウトするように設定された [顧客の入力の取得] ブロックを示しています。

[プロパティ] ページの [インテント] セクション、[チャットのタイムアウト] オプション。

すべての参加者が人間である場合のチャットタイムアウトの設定については、「チャット参加者のチャットタイムアウトを設定する」を参照してください。

Amazon Lex への割り込みの設定と使用

説明が終わるのを待つことなく、顧客が自分の声を使って Amazon Lex ボットを文の途中で中断できるようにすることができます。例えば、オプションのメニューからの選択に慣れている顧客は、プロンプト全体を聞かなくてもすぐに選択できるようになっています。

Amazon Lex
  • 割り込み

    割り込みは、デフォルトではグローバルで有効になっています。Amazon Lex コンソールで無効にすることができます。詳細については、「Enabling your bot to be interrupted by your user」を参照してください。さらに、allow-interrupt セッション属性を使用して割り込みの動作を変更できます。例えば、x-amz-lex:allow-interrupt:*:* は、すべてのインテントとすべてのスロットについて割り込みを許可します。詳細については、「Amazon Lex V2 開発者ガイド」の「ユーザー入力をキャプチャするためのタイムアウトの設定」を参照してください。

Amazon Lex (Classic)
  • 割り込み

    x-amz-lex:barge-in-enabled:[intentName]:[slotToElicit]

    割り込みは、デフォルトではグローバルで無効になっています。グローバル、ボット、またはスロットのレベルで Lex ボットを有効にするには、 Lex ボットを呼び出している [顧客入力の取得] ブロックでセッション属性を設定する必要があります。この属性は Amazon Lex 割り込みのみを制御し、DTMF割り込みは制御しません。詳細については、「フローブロックが Lex セッション属性を使用する方法」を参照してください。

    次の画像は、割り込みが有効な [セッション属性] セクションを示しています。

    [プロパティ] ページの [セッション属性] セクション、[値] が [true] に設定されています。

DTMF 入力の設定可能なフィールド

次のセッション属性を使用して、Lex ボットがDTMF入力にどのように応答するかを指定します。

  • 終了文字

    x-amz-lex:dtmf:end-character:[IntentName]:[SlotName]

    発話を終了するDTMF終了文字。

    デフォルト = #

  • 削除文字

    x-amz-lex:dtmf:deletion-character:[IntentName]:[SlotName]

    蓄積されたDTMF数字をクリアし、発話を終了するDTMF文字。

    デフォルト = *

  • 終了タイムアウト

    x-amz-lex:dtmf:end-timeout-ms:[IntentName]:[SlotName]

    発話が終了したと見なすDTMF数字間のアイドル時間 (ミリ秒単位)。

    デフォルト = 5000 ミリ秒 (5 秒)。

  • 発話あたりの最大許容DTMF桁数

    x-amz-lex:dtmf:max-length:[IntentName]:[SlotName]

    特定の発話で許可される最大DTMF桁数。増やすことはできません。

    デフォルト = 1024 文字

詳細については、「フローブロックが Lex セッション属性を使用する方法」を参照してください。

Amazon Lex を使用する場合の Flow 言語表現

次のコードサンプルは、Amazon Lex 設定がフロー言語で ConnectParticipantWithLexBotアクションによってどのように表されるかを示しています。

{ "Parameters": { "Text": "Welcome to Example Corp. Please press 1 for sales, press 2 for support", "LexV2Bot": { "AliasArn": "arn:aws:lex:us-west-2:23XXXXXXXXXX:bot-alias/3HL7SXXXXX/TSTALXXXXX" }, "LexTimeoutSeconds": { "Text": "300" } }, "Identifier": "Get Customer Input", "Type": "ConnectParticipantWithLexBot", "Transitions": { "NextAction": "d8701db7-3d31-4581-bd4c-cb49c38c6f43", "Errors": [ { "NextAction": "d8701db7-3d31-4581-bd4c-cb49c38c6f43", "ErrorType": "InputTimeLimitExceeded" }, { "NextAction": "d8701db7-3d31-4581-bd4c-cb49c38c6f43", "ErrorType": "NoMatchingError" }, { "NextAction": "Get Customer Input-ygqIfPM1n2", "ErrorType": "NoMatchingCondition" } ] } }

フラグメント化されたアクションの表現

次のコード例は、会話の後で Lex ボットから返された Amazon Lex 感情スコアに対する、フラグメント化された Compare アクションを示しています。

{ "Parameters": { "ComparisonValue": "$.Lex.SentimentResponse.Scores.Negative" }, "Identifier": "Get Customer Input-ygqIfPM1n2", "Type": "Compare", "Transitions": { "NextAction": "Get Customer Input-xDRo1hbBRB", "Conditions": [ { "NextAction": "d8701db7-3d31-4581-bd4c-cb49c38c6f43", "Condition": { "Operator": "NumberGreaterOrEqualTo", "Operands": [ "0.08" ] } } ], "Errors": [ { "NextAction": "Get Customer Input-xDRo1hbBRB", "ErrorType": "NoMatchingCondition" } ] } }

フローブロックのブランチ

次の図は、このブロックがDTMF入力用に設定されている場合のブロックの例を示しています。入力の 2 つのブランチとして [Pressed 1][Pressed 2] が表示されています。また、[タイムアウト][デフォルト]、および [エラー] のブランチも示しています。

設定された [顧客の入力の取得] ブロック。
  1. タイムアウト : Amazon Lex で指定されたチャットタイムアウト、または に指定されたタイムアウト値の設定に対して顧客から入力が提供されない場合の対処方法DTMF。

  2. デフォルト : 顧客が のどの条件にも一致しない入力DTMF、または Amazon Lex ボットで実行されるインテントを入力した場合。上の図のように、1 または 2 以外の値を入力した場合、コンタクトは [デフォルト] ブランチにルーティングされます。

  3. エラー: ブロックが実行されても のエラーが発生した場合DTMF、または Amazon Lex ボットでインテントが満たされない場合。

追加の設定のヒント

  • [顧客の入力を取得する] ブロックでは、S3 バケットにある音声プロンプトを Amazon Lex V2 で使用することができません。

  • Amazon Connect ライブラリまたは S3 バケットからのプロンプトの選択については、プロンプトの再生 ブロックを参照してください。

  • このブロックは、DTMF入力またはチャットレスポンスを受け入れるように設定できます。Amazon Lex と連携するように設定することもでき、例えば、コンタクトを発話に基づいてルーティングできます。

    • Amazon Lex との統合に使用できるセッション属性。このトピックでは、Amazon Lex との統合に使用できるセッション属性の一部について説明します。使用可能なすべての Amazon Lex セッション属性のリストについては、「ユーザー入力をキャプチャするためのタイムアウトの設定」を参照してください。 text-to-speech または チャットでテキストを使用する場合、最大 3,000 個の請求対象文字 (合計 6,000 文字) を使用できます。

    • Amazon Lex ボットは、フローで使用すると、発声とキーパッド入力の両方をサポートします。

    • 音声と の両方でDTMF、会話ごとにセッション属性のセットは 1 セットしか存在できません。優先順位は次のとおりです。

      1. Lambda が提供するセッション属性: 顧客の Lambda 呼び出し中はセッション属性よりも優先されます。

      2. Amazon Connect コンソールが提供するセッション属性: [顧客入力の取得] ブロックで定義されます。

      3. サービスのデフォルト: 属性が定義されていない場合にのみ使用されます。

  • 入力をシャープ記号 # で終了し、星の記号 * を使用してキャンセルするよう問い合わせに求めることができます。Lex ボットの使用時に顧客に # で入力を終了するよう求めないと、さらにキーが押されるのを待機するのを Lex が停止するまで顧客は 5 秒待つことになります。

  • タイムアウト機能を制御するには、Lex セッション属性をこのブロックで使用するか、Lex Lambda 関数で設定します。Lex Lambda 関数で属性を設定する場合は、Lex ボットが呼び出されるまでデフォルト値が使用されます。詳細については、Amazon Lex デベロッパーガイドの「Using Lambda Functions」を参照してください。

  • この記事で説明しているセッション属性のいずれかを指定する場合は、ワイルドカードを使用できます。ワイルドカードを使用すると、インテントまたはボットに複数のスロットを設定できます。

    ワイルドカードの使用例をいくつか以下に示します。

    • など、特定のインテントのすべてのスロット PasswordResetを 2000 ミリ秒に設定するには:

      名前 = x-amz-lex:max-speech-duration-ms:PasswordReset:*

      値 = 2000

    • すべてのボットのすべてのスロットを 4000ミリ秒に設定する例は、次のとおりです。

      名前 = x-amz-lex:max-speech-duration-ms:*:*

      値 = 4000

    ワイルドカードは、フローのボット全体に適用されますが、ブロック全体には適用されません。

    例えば、Get_Account_Number ボットがあるとします。フローには、2 つの [Get customer input] (顧客の入力を取得する) ブロックがあります。最初のブロックでは、ワイルドカードを使用してセッション属性を設定します。2番目のブロックでは、属性を設定しません。このシナリオでは、ボットの動作の変更は、セッション属性が設定されている最初の [顧客の入力を取得する] ブロックにのみ適用されます。

  • セッション属性をインテントレベルとスロットレベルに適用するように指定できるため、特定のタイプの入力を収集するときにのみ属性を設定するように指定できます。例えば、アカウント番号を収集する場合は、日付を収集する場合よりも長い [無音開始しきい値] を指定できます。

  • Amazon Connect を使用して Lex ボットに入力DTMFが提供された場合、顧客入力は Lex リクエスト属性 として利用可能になります。 Amazon Connect 属性名は x-amz-lex:dtmf-transcript で、この値は最大 1024 文字です。

    さまざまなDTMF入力シナリオは次のとおりです。

    顧客入力 DTMF トランスクリプト

    [DEL]

    [DEL]

    [END]

    [END]

    123[DEL〕

    [DEL]

    123[END〕

    123

    コードの説明は以下のとおりです。

    • 〔DEL] = 削除文字 (デフォルトは * )

    • 〔END] = 終了文字 (デフォルトは # )

このブロックで生成されるデータ

このブロックではデータは生成されません。

エラーシナリオ

2 つのフローで次のシナリオがあり、それぞれが顧客からのDTMF入力をキャプチャしているとします。

  1. 1 つのフローは、顧客入力の取得ブロックを使用して顧客からDTMFの入力をリクエストします。

  2. DTMF 入力を入力すると、Transfer を使用して問い合わせを次のフローに移動します。

  3. 次のフローでは、顧客からより多くの入力を取得するためのストア顧客DTMF入力ブロックがあります。

最初のフローと 2 番目のフローの間には設定時間があります。つまり、顧客が 2 番目のフローの入力DTMFを非常に迅速に入力すると、数字の一部が削除されDTMFる可能性があります。

例えば、顧客は 5 を押し、2 番目のフローからのプロンプトを待ってから「123」と入力する必要があります。この場合、123 は問題なくキャプチャされます。しかし、プロンプトを待たずに非常に速く「5123」と入力すると、[顧客の入力を保存する] ブロックは 23 または 3 しかキャプチャできない可能性があります。

2 番目のフローに顧客入力ブロックを保存 がすべての桁をキャプチャできるようにするには、顧客はプロンプトが再生されるのを待ってから、DTMF入力タイプを入力する必要があります。

サンプルフロー

Amazon Connect には、サンプルフローのセットが含まれています。フローデザイナーでサンプルフローにアクセスする方法については、「サンプルフロー」を参照してください。以下のトピックでは、このブロックを含むサンプルフローについて説明します。

その他のリソース

Amazon Lex の詳細とプロンプトの追加については、以下のトピックを参照してください。