[Lex] Amazon Connectを使用して Amazon Lex を電話で使用してみる
1 はじめに
Amazon Lex(以下、Lex) では、簡単にボットを構築することが出来ますが、そのクライアントとして利用できるのは、デフォルトでFacebook、Kik、Slack、Twillo SMS となっています。また、RestAPIで直接アクセスすることでき、SDKも提供されているため、iOSやAndroidなどでクライアントを作成することも簡単です。
今回は、Amazon Connect(以下、Connect) を利用することで、電話機をクライアントにしてLexを使用してみました。
本記事は、AWSブログの下記の内容をなぞったものです。詳しくはこちらをご参照下さい。
Amazon Connect and Amazon Lex Integration
Connectは、2018年4月現在、バージニア北部、オレゴン、シドニー、フランクフルトの4つのリージョンで利用可能であり、特にシドニーでは、日本の電話番号も利用可能です。
しかし、Lexと連携するために、両方が同一リージョンで動作している必要があり、この条件を満たせるのは、現時点でバージニア一択になります。
という事で、やってみたようすです。
2 Lexの設定
(1) Lambda
初期化やバリデーション、確認用のLambdaとして、テンプレートで用意されている lex-order-flowers を使用させて頂きました。(今回の検証でLambdaは、必須ではありません)
テンプレートは、特に変更していません。
(2) Lex
Lexは、サンプルとして提供されているOderFlowersを使用させて頂きました。
initialization and validation と Fulfillmentに先のラムダを指定した以外は、変更を加えていません。
3 Connectの設定
(1) Lexの統合
ConnectからLexに接続するには、 問い合わせフローにLexを統合する必要があります。 作成したインスタンスから問い合わせフローを選択して、Amazon Lexの所にLexボットを追加します。
(2) 顧客の入力を取得する
問い合わせフローを新しく作成し、顧客の入力を取得するをドラッグ&ドロップで追加します。
顧客の入力を取得するの設定で、テキスト読み上げ機能(アドホック)を選択し、最初の挨拶文を入力します。
同じ画面の下部で、Amazon Lexのタブを選択し、名前にボット名を指定し、インテントを追加します。ボットに複数のインテントがある場合は、それぞれを追加して、インテントごとに別の処理に分岐することもできます。
(3) フローの保存
問い合わせフローエディタで切断ハングアップを追加して、各処理を繋ぎます。 最後にフローに名前(今回は、LexCollaborationとしました)を指定して保存して発行します。
(4) 電話番号への関連付け
電話番号の問い合わせフローに、いま作成したフローを指定します。
4 最後に
今回は、Lexのクライアントとして電話機を使用するためにConnectを使用してみました。この仕組みを使用すれば、簡単に電話でボットに接続できます。
Lexが日本語対応するような日が来れば、俄然、張り切れそうな気がします。