(Created page with " Play-Listenの 条件付き出口では、発信者がDTMFタッチトーンを使用する場合、...") |
|||
Line 83: | Line 83: | ||
''最大タイムアウト'' とは、対話型IVRがタイムアウトしてシナリオの次のステップへ移動する前に発信者の応答を待つ期間(秒数)です。 | ''最大タイムアウト'' とは、対話型IVRがタイムアウトしてシナリオの次のステップへ移動する前に発信者の応答を待つ期間(秒数)です。 | ||
− | + | Play-Listenの[[5.3:Scenario-builder-reference-guide/PlayListen#Conditional_Exits | | |
− | + | 条件付き出口]]では、発信者がDTMFタッチトーンを使用する場合、または発信者が沈黙している場合、シナリオの次のステップを定義できます。 | |
Revision as of 16:18, 9 November 2019
対話型IVRをシナリオで使用する方法
シナリオを介してBright Patternの対話型IVR機能を起動させるには、受信音声シナリオを変更して、チャットボット選択アカウントやAsk a Botなどのボット専用のシナリオブロックと Play-Listenシナリオブロックを追加します。これらのブロックは、統合された音声認識テクノロジーと連携して音声記録の認識および書き起こしを行い、統合されたチャットボットと連携して音声入力を分析し、回答を提案し、発信者をスムーズにエージェントにルーティングします。
ここでは、以下のことができるようにするため、上記のブロックを基本的な音声シナリオに追加する方法について説明します:
- お客様に対して挨拶し、応答を聞くこと;
- 音声プロンプトを使って最大3回まで変身すること;
- お客様からの情報を収集すること;
- ボット/IVRが役に立てなかったときに、エージェントを検索して電話を接続すること;
- エージェントが応答したとき、収集された情報および/またはIVR対話のトランスクリプトをスクリーンポップすること;
必須条件
この記事で説明されている設定を行う前に以下のステップを実行してください:
- Watson Assistant, Alterra Answer ボット、 Amazon Lex ボットを設定します。
- ボット/チャットサジェスト機能エンジンの統合アカウントを追加します。
- サービスプロバーダーに依頼して音声認識エンジンをセットアップします。
- 音声認識統合アカウントを追加します。
- サービスプロバイダーに依頼して音声合成エンジンをセットアップします。
- 音声合成統合アカウントを追加します。
- ボットシナリオテンプレートをダウンロードと インポート します: File:App Conversational IVR Example.zip
シナリオフロー
シナリオは、対話の処理方法を指定するシナリオブロックで構成されています。Bright Patternシナリオブロックに関する詳しい情報は、本ガイドのシナリオブロックの定義セクションをご覧ください。
以下の一連のアクションは、対話型IVRを起動させるボット駆動の音声シナリオでシナリオブロックがどのように機能するかを示しています。このシナリオの例では、統合されたWatson AssistantチャットボットとGoogle 音声認識機能が使われています。
アクション 1: "プロンプト言語の設定"は、対話型IVRの音声が使う言語を指定します。
対話型IVRはお客様と会話するために音声プロンプトを使います。プロンプト言語の設定のシナリオブロックのプロパティを編集することにより、このシナリオで使用されるすべての音声プロンプトの言語を任意で設定できます。
言語でプロンプトに使う言語を選択します。この例では、 "英語 - アメリカ"を選択しました。
TTS音声で、使用する音声合成 (TTS) タイプを選択します。この例では、"en-US-standard-C"を選択しました。
これらの設定により、プロンプトテキストは読むことも電話中に聴くこともできます(言語は英語です)。
アクション 2: "変数の設定"は、お客様とボットとの対話件数を数えます。
この例では、発信者がエージェントにルーティングされるまでの、発信者とチャットボットとの対話件数を3回未満とします。こうやって対話を制限することにより、ボットが役に立たなくなったときにお客様による電話放棄を防ぎます。
変数の設定 ブロックは、ボットとの対話件数を数えます。カウンターはゼロから始まるため、値を"0"に指定します。
アクション 3: "チャットボット選択アカウント"は、ボットの統合アカウントを指定します。
ボットを使う全てのシナリオには、 チャットボット選択アカウントブロックが含まれます。このブロックでは、コンタクトセンター用に設定済みのボット/チャットサジェスト機能エンジン統合アカウントを選択しています。
コンタクトセンターでは複数の統合アカウントを使うことは可能です。そのため、特定のシナリオで使うアカウントを指定することが重要です。リストにご希望のアカウントが表示されない場合は、一旦戻って統合アカウントを追加します。
アクション 4: "Play-Listen" は発信者と会話し、回答を収集します。
Play-Listen ブロックは、音声認識と合成音声技術を使って、ボットの回答テキストを音声プロンプトに変換し、お客様の回答を認識し、テキストメッセージとして書き起こします。
対話型IVRがお客様と"対話"できるように、音声プロンプトを指定または作成します。この例では、お客様はここで指定したプロンプトによりグリーティングされます。
transcriberとは、コンタクトセンター用に設定済みの音声認識統合アカウントです。
この例では、recognized phrase (つまり、変数) を"user_phrase"に設定します。この変数は、お客様が話す内容を受信する変数です。その後のブロックでもこの変数を使ってエージェントに対してお客様の回答をテキストメッセージ ("内部メッセージ"を参照)として送信します。後で同じ変数名を使用する限り、変数を任意で追加できます。
信頼性とは、 STTエンジンが理解するお客様の音声入力の量を表す変数です。recognized phrase変数と同様に、この変数を後で一貫して使用する限り、ここに必要な値を入力できます。 STTエンジンは、数値を通じて信頼性を伝えます。例えば、"0.999"など高い数値は、STTエンジンが音声を正しく認識したことを意味します。低い数値(例えば、"0.001")は、エンジンの音声認識能力が非常に低いことを示しています。例えば、お客様が"I need a new phone"と言ったことに対して、エンジンが "I need a sea foam"と認識した場合、信頼性は非常に低くなります。信頼性のレベルは、サービスエンジン(例えば、Watson Assistant)で確認できます。
最大タイムアウト とは、対話型IVRがタイムアウトしてシナリオの次のステップへ移動する前に発信者の応答を待つ期間(秒数)です。
Play-Listenの 条件付き出口では、発信者がDTMFタッチトーンを使用する場合、または発信者が沈黙している場合、シナリオの次のステップを定義できます。
Action 5: "Ask a Bot" lets the bot talk to the customer
The Ask a Bot block allows the bot to automate the conversation before an agent is connected. It delivers the bot's raw response (i.e., suggestions) to the customer.
Notice that in the Message field, we’ve plugged in variable $(user_phrase), which is the same variable we set earlier in the scenario. Placing user_phrase here allows the scenario to pass the caller’s vocal input (i.e., his or her spoken phrase) to the integrated chatbot (in this case, Watson Assistant), for processing in the bot’s dialog flow. This processing creates suggestions, which can be passed to the agent on Agent Desktop.
A raw response is configured in your Watson Assistant dialog flow or in your Alterra Answer Bot settings; it's unrelated to Bright Pattern. In this example, we’ve left this field empty.
In timeout, you set the number of seconds to wait for the bot’s suggestions before timing out.
In the Ask a Bot block’s conditional exits, we have dragged over some other blocks that tell the scenario what to do if this block fails, times out, or if there’s no data. See the scenario template for more detailed comments on what we did in this example.
Action 6: "If" defines what to do if no data is collected by the bot
Within Ask a Bot, there is a conditional exit called No Data. Here, we dragged over some other scenario blocks to define what the scenario should do if the bot fails to collect information from the caller.
First, use Set Variable to set variable name "Attempts" to =$(Attempts)+1. This is used for counting how many times the bot attempts to talk to the caller and offer a suggested reply.
Then use If to add a condition that says if the bot tries to talk less than three times, try again. Remember, in Action 2 of this procedure, we used Set Variable to start counting bot step interactions.
Under the If block, we added another Play-Listen block that will be triggered if the condition is met. In this Play-Listen block, we define that if the bot has to make another attempt to collect data from the caller, then the prompt is, "I’m sorry, I didn’t understand you…."
If that still fails to collect information, the scenario uses Goto to find an agent and connect the call. The Play Prompt block tells the caller that the bot can’t understand, and thus, an agent will be connected.
Action 7: "Set Variable" defines the bot’s suggestions
Set Variable is used for defining the variable name of the bot’s responses (i.e., suggestions). Suggestions align with what you have configured your Watson Assistant, or other chatbot, to say.
In this example, we named the variable "bot_phrase" and gave it a value of "$(suggestions[0].msg)." Later, when we pass the conversational IVR transcript to the agent via screen-pop, we will be invoking the conversation via "bot_phrase" and "user_phrase" variables.
Action 8: Another "If" will find an agent if the caller speaks
In this example, we added the condition that scenario will branch if the "user_phrase is not empty" (i.e., the caller is talking).
Action 9: "Web Screen pop" passes the conversation transcript to the agent
In the Web Screen pop properties, we defined what text to display to the agent upon accepting the call. In the “Text to display” field, we entered the variables “user_phrase” and “bot_phrase” in basic HTML. This will appear as plain text to the agent on Agent Desktop.
Action 10: "Find Agent" looks for a skilled agent
The Find Agent block looks for the next available skilled agent to accept the call. You can use Find Agent to set wait times and send the customer messages about estimated waiting time (EWT).
Action 11: "Connect Call" always comes after "Find Agent"
Although Find Agent uses criteria to identify the proper agent to receive the call, it does not have a "delivery" mechanism. Connect Call is the delivery mechanism for the interaction.
Action 12: "Exit" ends the scenario
The Exit block completes the scenario. Without it, the scenario will loop through this configured flow until the customer ends the call.
Last Action: Save!
Be sure to click Save to apply your changes. Note that closing your web browser window or tab will close Scenario Builder without saving, and you will lose your work.
Recommended Reading
For more information on inbound voice configuration and bot setup, see these Bright Pattern tutorials: