【AWS】AmazonConnectのコンタクトフロー内でLexを呼び出す

# 1.はじめに
どうも、ARIの名古屋支社に勤務している愛知県民です♪
(/・ω・)/

最近、AWSでLexを使いボイスボットを作成する機会がありました。
調べてみるとAmazonConnectと組み合わせて、Lexと顧客を会話させることができるようでした。

そこで**今回はAmazonConnectのコンタクトフロー内でLexを呼び出す方法**
について記事にしたいと思います♪
AmazonConnectやAWSについて勉強中の方の参考になれば幸いです。
(*^^)v

# 2.Lexボットの作成
今回はAWSから提供されているLexボットを利用します。

:::note info
既にLexボットを作成している方は3章から読み進めてください。
:::

2.1.Lexの管理画面から「ボットを作成」を選択します。

|![010_ボットを作成を選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/99b9e76d-d473-a81f-d471-b7e3bef4b6fc.png)|
|:--|

2.2.「例から開始」を選択し、「BookTrip」を選択します。

|![020_Lexの設定_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/ebd782b6-cd99-af16-4c27-c764308707fd.png)|
|:--|

2.3.ボット名を入力し、「基本的なAmazon Lex権限を持つロールを作成します。」を選択します。

:::note info
既にLex用のロールを作成済の場合は「既存のロールを使用します。」を選択してください。
:::

|![030_Lexの設定_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/4a18f432-367a-ef71-32b9-8a0cbb6a1632.png)|
|:--|

2.4.COPPAについては「いいえ」を選択します。

|![040_Lexの設定_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/3bafee12-67ba-eca8-5c7a-d1d49bc729f0.png)|
|:--|

2.5.言語は「日本語」を選択し、音声による対話は「Takumi」もしくは「Mizuki」を選択します。

|![050_ボットに言語を追加.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/b14943f9-e826-5382-f421-347c707dff79.png)|
|:--|

2.6.残りの項目はデフォルトとして、「構築」を選択します。

|![060_構築を選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/094660c9-ecb0-94d3-7dd4-937ae4fc21f2.png)|
|:--|

2.7.インテント名を確認し、メモ帳などにコピーします。

|![065_インテント名を確認.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/5c56a4a2-a113-0c53-49c7-b55fda6f1ffb.png)|
|:--|

2.8.以上でLexボットの作成は完了です。

:::note info
画面右下の「テスト」を選択することでチャットや音声の内容に対して、
Lexボットがどのような反応をするか確認することができます。

|![070_テストもできる.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/8da1935a-3fd1-c4af-d910-9fe89b55ae72.png)|
|:--|

:::

# 3.AmazonConnectの設定
2章で作成したLexボットをAmazonConnectから呼び出す設定をします。

3.1.AmazonConnectの管理画面を開き、インスタンスのエイリアスを選択します。

|![090_AmazonConnectインスタンスのエイリアスを選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/b7cede38-2d8f-988f-2114-c2c178144fd8.png)|
|:--|

3.2.「問い合わせフロー」を選択します。

|![100_問い合わせフローを選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/2ea69a70-0391-547b-ff1e-f6a1a118cab9.png)|
|:--|

3.3.前の章で作成したLexを指定し、「Amazon Lexボットを追加」を選択します。

|![110_Lexボットを追加.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/9e6d6dcb-1ab3-f4b7-82b0-0084ca932940.png)|
|:--|

3.4.AmazonConnectにログインし、「ルーティング」を選択し、「問い合わせフロー」を選択します。

|![120_問い合わせフローを選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/23bd2c05-c2a3-18c5-2fb4-b2b3c50c533b.png)|
|:--|

3.5.「コンタクトフローの作成」を選択します。

|![130_コンタクトフローの作成を選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/87e12402-418c-170d-8cbb-b557be0dc682.png)|
|:--|

3.6.「音声の設定」ブロックを配置します。

|![140_音声の設定ブロックを配置.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/512cf783-7194-5949-e1aa-67e8ccf58f84.png)|
|:--|

3.7.以下の表のとおりに設定します。

|項目|設定内容|
|---|---|
|言語 | 日本語 |
|音声 | Takumi　もしくは　Mizuki |
|言語属性を設定 | チェックあり |

:::note warn
後ほどLexを呼び出すブロックを設定するのですが、
「言語属性を設定」にチェックがないとエラーが発生するため、
忘れずに設定してください。
:::

|![150_音声の設定ブロック.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/17adac4c-db99-4cdb-f5bf-66708c699475.png)|
|:--|

3.8.「顧客の情報を取得する」ブロックを配置します。

|![160_顧客の情報を取得するブロックを配置.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/6b2bdbbf-b04b-7109-ed1d-a8a1bdee40c4.png)|
|:--|

3.9.以下の表のとおりに設定します。

|項目|設定内容|
|---|---|
|テキスト読み上げまたはチャットテキスト | チェックあり |
|手動で設定する | （ブロックに接続した時に流れるアナウンスを入力） |
|AmazonLexタブ | 選択 |
|Select a Lex bot | チェックあり |
|名前 | （作成したLexボット名を選択） |
|エイリアス | （作成したLexボットのエイリアスを選択） |
|インテント | （作成したLexボットのインテント名を入力） |

|![170_顧客の情報を取得するブロック_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/08c29759-6c63-0d23-7cd9-d5e0da408809.png)|
|:--|
(設定画面1/3)

|![171_顧客の情報を取得するブロック_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/1a10cdc0-00c9-34b5-3c24-4fb61217b0a3.png)|
|:--|
(設定画面2/3)

|![172_顧客の情報を取得するブロック_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/0c270ffd-752e-1f16-6052-fbc64ac58b79.png)|
|:--|
(設定画面3/3)

3.10.「切断」ブロックを配置します。

|![175_切断ブロックを配置.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/4337f905-e984-6243-cd10-7f09b47c4214.png)|
|:--|

3.11.各ブロックを接続します。

|![176_各ブロックを接続.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/543b127e-1d58-e22e-2a68-10ce572d69e4.png)|
|:--|

3.12.画面右上の「保存」を選択します。

|![180_保存を選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/6181b87b-18bf-18a0-261b-12640c0acbf2.png)|
|:--|

3.13.「保存」を選択します。

|![190_保存を選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/a6da5e05-9815-9f28-6632-7b4456649956.png)|
|:--|

3.14.画面右上の「公開」を選択します。

|![200_公開を選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/5ea98f7d-0c30-3830-9a75-988df401a353.png)|
|:--|

3.15.「公開」を選択します。

|![210_公開を選択.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372071/3a95fcef-58af-d3dd-f954-017cf828b394.png)|
|:--|

3.16.AmazonConnectの電話番号と作成したコンタクトフローを紐づけます。

3.17.以上で設定は完了です。以下、動作確認のイメージとなります。

:::note info
2章で作成した「BookTrip」を使用し、
手順3.9の「顧客の情報を取得する」ブロックでは「ご用件をお話しください」
というアナウンスが流れるように設定した場合の例となります。
:::

①AmazonConnectの電話番号へ架電すると、「ご用件をお話しください」というアナウンスが流れます。

②「車を予約したい」と発声すると「BookCar」のインテントに設定された会話内容をLexが話し、
　「ホテルを予約したい」と発声すると「BookHotel」のインテントに設定された会話内容をLexが話します。

# 4.おわりに
ここまで読んで下さり、ありがとうございます！！！
(^^)

LexではGUIでボイスボット・チャットボットを作れて、
さらにAmazonConnectと連携してコンタクトセンタの応対でも使えるので、
便利だなと思いました♪

次回はLexボットの作成方法についてもう少し詳しく書きたいと思います！
(:3_ヽ)_