対話型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"に指定します。
Action 3: "Chat Bot Select Account" specifies the integration account for your bot
All scenarios that incorporate bots will include the Chat Bot Select Account block. In this block, you are selecting a bot/chat suggestions engine integration account that has already been configured for your contact center.
It's possible for your contact center to have many integration accounts, so it's important to specify which one will be used for this scenario. If you do not see the desired account listed, go back and add an integration account.
Action 4: "Play-Listen" talks to the caller and collects a response
The Play-Listen block uses text-to-speech and speech-to-text technologies to convert bot response text into a voice prompt and to recognize and transcribe the customer’s reply into a text message.
Specify or create a voice prompt so that the conversational IVR can "talk" to the customer. In this example, the customer will be greeted by the prompt you specify here.
The transcriber is the Speech-To-Text integration account that you have already configured for your contact center.
In this example, we set the recognized phrase (i.e., the variable) to be "user_phrase," which is the variable that receives what the customer says. We use this variable in later blocks in this scenario to send the customer’s response to the agent in a text message (see "Internal Message"). You can add any variable you want, as long as you use the same variable name later.
Confidence is the variable that shows how much of the customer’s vocal input the STT engine understands. As with the recognized phrase variable, you can enter anything you want here, as long as you use it consistently later. Your STT engine conveys confidence numerically, where the higher the number (e.g., "0.999") is, the more confident the STT engine is that it has recognized vocals correctly. A low number (e.g., "0.001") shows that the engine has very low confidence in its vocal recognition. For example, if the customer says, "I need a new phone," and the engine hears, "I need a sea foam," the confidence will be likely very low. The confidence level is available in your service engine (e.g., your Watson Assistant).
Max timeout is the number of seconds that the conversational IVR will wait for the caller’s response before timing out and moving through the scenario.
In the conditional exits of Play-Listen, you can define what the scenario should do if the caller uses DTMF touch-tones or if the caller is silent.
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: