はじめに
技術課の森です。 前回書いたブログの続きになります。 今回は、実際にAmazon ConnectとAmazon Lexを使ってチャットボットを作っていきます。
手順につきましては、以下を見て頂ければと。
手順
事前作業
1.AWSマネジメントコンソールを開いてください 2.リージョンは「米国東部(バージニア北部) us-east-1」を選択してください。
[1]Amazon Connectのインスタンスを作成と電話番号取得
- AWSマネジメントコンソールからAmazon Connectを起動します。
- ID管理で、アクセスURLを入れてください。 ここは世界でユニークなものにする必要があるため、かぶらないものを入力してください。 入力が終われば、「次のステップ」をクリックします。
- 管理者の作成で、今回は特に必要ないので、「これをスキップ」を選択し、「次のステップ」をクリックします。
- テレフォニーオプションは何もせず、「次のステップ」をクリックします。
- データストレージも何もせず、「次のステップ」をクリックします。
- 確認と作成で、「インスタンスの作成」をクリックします。
数分待つと出来上がりです。「今すぐ始める」をクリックします。
8. 新たにタブが出来上がり、「Let's go」をクリックします。 9. Countryをアメリカ(+1)に設定するとPhone numberが表示されます。表示されたら、「Next」をクリックします。 10. 画面が変わり、そのまま「Continue」をクリックします。 11. ダッシュボード画面が表示されます
[2]Amazon Lexの設定
- AWSマネジメントコンソールからAmazon Lexを起動します。
- どちらかの画面が表示されているかと思うので、「Get Started」もしくは「Create」をクリックします。
3. Create your bot画面で以下の情報を設定します。入力が終われば、「Create」をクリックします。
項目名 | 値 | 備考 |
---|---|---|
ボットの種別 | Custom bot | |
Bot name | Help Desk | |
Output voice | Salli | 他でもOK |
Session timeout | 5 min | |
Sentiment analysis | No | |
IAM role | AWSServiceRoleForLexBots | そのまま |
COPPA | No |
サンプル発話 |
---|
I have a problem with my password |
I forget my password |
I need to reset my password |
インテント名 | サンプル発話 |
---|---|
NetworkIssue | I cant access the internet |
the internet is down | |
the wifi is down | |
I am having network problems | |
DeviceIssue | I am having problems with my computer |
my laptop wont work | |
I have a device problem |
[3]Amazon Connect Lex設定
- AWSマネジメントコンソールからAmazon Connectを起動します。
- インスタンスエイリアスのリンクをクリックします。
- 左側のメニュー「問い合わせフロー」をクリックし、右側のAmazon Lexのボットのプルダウンから先ほど作成したボット名「HelpDesk」を選択して、「Lexボットの追加」をクリック。するとその下の「Lexボット」に「HelpDesk」が表示されます。
[4]Amazon Connect Queue設定
- 左側のメニュー「概要」をクリックし、「管理者としてログイン」をクリックします。
- 「Routing」→「Queues」をクリックします。
- 「Add new queue」をクリックします。
- ここから3つキューを作成します。最後に「Add new queue」をクリックしたら、3.に戻ります。入力する内容は以下のとおりです。
Name | Description | Hours of operation |
---|---|---|
PasswordReset | The password reset queue | Basic Hours |
NetworkIssue | The network issue | Basic Hours |
DeviceIssue | The device issues queue | Basic Hours |
[5]Amazon Connect Routing Profiles設定
- 「User」→「Routing Profiles」をクリックします。
- リストに表示されている「Basic Routing Profile」をクリックします。
- 以下の内容を入力します。入力が終わったら、「Save」をクリックします。
Routing profile queues Name | Channels Voice | Channels Chat | Priority | Delay(in seconds) |
---|---|---|---|---|
PasswordReset | ON | ON | 1 | 0 |
NetworkIssue | ON | ON | 1 | 0 |
DeviceIssue | ON | ON | 1 | 0 |
[6]Amazon Connect Contact Flow設定
- Amazon Connectのダッシュボードの左側のメニューの「Routing」→「Contact flows」をクリックします。
- Contact flowsの右側にある「Create contact flow」をクリックします。
- 「Set」→「Set logging behavior」をドラッグアンドドロップでエディタに配置し、「Entry point」と繋ぎます。
- 「Set」→「Set voice」をドラッグアンドドロップでエディタに配置し、3.で作成したものと繋ぎます。 「Set voice」をクリックし、「Language」を「English, US」、「Voice」を「Salli」に設定し、「Save」をクリックします。
- 「Interact」→「Play prompt」をドラッグアンドドロップでエディタに配置し、4.で作成したものと繋ぎます。
- 5.で作成した「Play prompt」をクリックし、「Text-to-speech or chat text」を選択し、「Enter text」に「Welcome to the IT Help Desk」と入力後、「Save」をクリックします。
- 「Interact」→「Get customer Input」をドラッグアンドドロップでエディタに配置し、5.で作成したものと繋ぎます。
- 7.で作成した「Get customer input」をクリックし、「Text-to-speech or chat text」を選択し、「Enter text」に「How can I help you today?」を入力後、「Amazon Lex」をクリックします。
- Lex botのNameに先ほど作成した「HelpDesk(US East: N.Virginia)を選択後、Aliasに「LexBot」を入力。Intentには「PasswordReset」「NetworkIssue」「DeviceIssue」を入力して、「Save」をクリックします。
- 「Interact」→「Play prompt」をドラッグアンドドロップでエディタに配置し、7.で作成したものの「PasswordReset」と繋ぎます。
- 10.で作成した「Play prompt」をクリックし、「Text-to-speech or chat text」を選択肢、「Enter text」に「Sure, I'll connect with someone to help you with your password issue」を入力後、「Save」をクリックします。
- 残り、NetworkIssueとDeviceIssueとそれ以外(DefaultとError)も10.と11.の作業を行います。入力内容等については、以下を参照ください。(ただし、DefaultとErrorは同じPlay Promptを利用します)
Issue | Enter text |
---|---|
NetworkIssue | Sure, I'll get you some help with your network issue |
DeviceIssue | OK, Lets get you some device issue |
Default / Error | uh oh, something wrong issue |
Issue | Select a queue |
---|---|
NetworkIssue | NetworkIssue |
DeviceIssue | DeviceIssue |
Default / Error | BasicQueue |
[7] Amazon Connect 電話とフローの紐付け
- Dashboardをクリックします。
- Phone Numberのリンクをクリックします。
- 「Contact flow / IVR」で「Help Desk Flow」を選択します。
動作確認
電話をかけて確認
- 画面の右上の電話マークをクリックします。 右側に表示される「View phone numbers」をクリックします。
- 画面がポップアップするので、電話番号をプッシュして、「Call」をクリックします。
- 「Welcome to the IT Help Desk」「How can I help you today?」と声が聞こえるので、Amazon Lexで設定したインテントのサンプル発話と同じ内容を話しかけてください。 すると設定したPromptの回答が返ってきて、キューイングされます。 もう一度試す場合は、一度電話を切って、再度電話をかけて試してください。
チャットで確認
- 画面の右上の電話マークをクリックします。 右側に表示されている「Test chat」をクリックします。
- 「Test Settings」をクリックし、「Contact Flow」を「Help Desk Flow」に設定し、「Apply」をクリックします。 3.「Activate the Contact Control Panel」をクリックします。
画面中央下にある吹き出しマーク(顔つき)をクリックします。
- するとチャットメッセージが遅れる画面が表示され、Amazon Connectで設定した「Play prompt」→「Get customer input」にて入力した文字が表示されます。
- 会話ができる状態となりましたので、例として、「I forgot my password」と入力すると、PasswordResetで設定した応答が返ってきました。
これで、チャットでも電話でも同じ自動応答がされることが確認できました。
さいごに
今回のWorkshopでは簡単なチャットボットを作成しました。 Lambdaなどを使ったり、Lexのインテントでスロットを設定したりすることでよりバリエーションが広がってくるかと思います。 これを気に、Amazon Connectで人と人を繋げて(Connect)いけるように、さらにもっといいコンタクトセンターを作っていけるようにしていきたいですね。 まずは、Amazon Lexの日本語対応を待つ状態ではありますが、今後に期待しましょう!