【初心者でも試せる】Amazon lexのサンプルチャットボットに触ってみた

「Amazon lex」とは?

まだ自然言語処理も機械学習も習得してないけど、チャットボットアプリ作ってみたいなぁなんて呟いてたら
Amazonに実現できそうなサービス、ありました!

 

以下Amazon Lexの概要から引用

音声やテキストを使用して、アプリケーションに対話型インターフェイスを構築するサービスです。
音声のテキスト変換には自動音声認識 (ASR)、テキストの認識には自然言語理解 (NLU) という
高度な深層学習機能が使用できるので、リアルな会話を実現するアプリケーションを開発できます。
Amazon Alexa に使われている深層学習技術と同じ技術を利用できるので、自然言語での高度な対話ボット (チャットボット) を短時間で簡単に構築できます。

 

どちらかというと「音声対話アプリケーションをつくる」という点に強みがあるそう。

 

■使いやすい

数分でオリジナルのチャットボットを作成し、会話型インターフェイスをアプリケーションに組み込むプロセスを実行できるように使いやすいコンソールを提供しています。
いくつかのフレーズの例を提供するだけで、 音声やテキストを使用して対話できる優れた自然言語モデルを構築し、質問したり、答えたりすることができます。
深層学習や機械学習の前提知識はいらないとのこと。

 

■AWSと統合できる

Amazon Lex では、AWS Lambda、AWS MobileHub、および Amazon CloudWatch との組み込み統合を提供しています。
また、Amazon Cognito や Amazon DynamoDB など AWS プラットフォームの他の多くのサービスと簡単に統合できます。AWS プラットフォームのセキュリティ、モニタリング、ユーザー認証、ビジネスロジック、ストレージ、モバイルアプリケーション開発を活用できます。

 

■一般的なユースケース

情報ボット – 質問に回答する、顧客サポート用の自動化されたボットを構築する
アプリケーション用ボット – ピザの注文ボットまたは旅行予約ボットを構築する
企業の生産性ボット – 企業のデータに接続するカスタムボットを構築する
デバイス制御ボット – 接続済みの機器に、Amazon Lex を使って制御コマンドを発行

 

サンプルチャットボットでレンタカーの予約

簡単で使いやすい、、そこまで言うなら試しに使うべきですね!

まずAmazon lexのトップページから「Book trip」を選択。Bot Nameは好きな名前で。

2019-12-06_10h52_32.png

ページ下部にテキストまたは音声入力のセンチメント分析をする「Sentiment analysis」の選択が
ありますが今回は使わないでシンプルに試します。
IAMロールは自動で作られるようです。
COPPAは、13歳未満の子供のプライバシーを守る法律のことなので一応成人の筆者はNoを選択して
右下の「Create」ボタンを押して進んで行きます。
2019-12-06_10h54_39.png

 

チャットボットの中身の編集画面が出てくるのでサンプルを試すだけであれば「Build」をクリックして

2019-12-06_14h28_20.png

2019-12-06_14h42_42.png

 

数秒待てばbotが作成されるのでこのまま使うことができます。

「Sample utterances」に予め用意されている、和訳すると「車を予約したい」を投げれば問題なくbotが答えてくれます。

 

2019-12-06_11h03_31.png

 

上にある入力項目に要望の言葉を+ボタンを押して追加することができるようです。
試しに日本語で追加してみました。

2019-12-06_14h41_18.png

 

では右にあるbotにレンタカーの予約をお願いしてみます。

2019-12-06_15h02_42.png

 

ちゃんと返ってきましたね。「どこで車をレンタルしますか?」と聞かれています。
サンプルの5つのスロットの中の「PickUpCity(都市の選択)」に当たります。

 

※スロット(Amazon概要から)

インテントを実現するためにはユーザーからの情報が必要。この情報は “スロット” に取得されます。例えば、予約のインテントに対しては名前と時間を定義します。

2019-12-06_15h57_25.png

 

質問に答えると「何日からレンタルを開始しますか?」「何歳の方が運転されますか?」とサクサク次のスロットの質問が返ってきます。

image.png

 

このようにして5つのスロットのやりとりを手軽に試すことができました!

 

日本語で返答させてみる

promptの応答もSlot typeに合わせて好きな言葉に編集できるみたいです。
image.png
2019-12-11_17h56_20.png

■料金

最初の 1 年間は、1 か月あたり最大で 10,000 回のテキストリクエストと 5,000 回の音声リクエストを無料枠で使うことができます。
無料枠を超えると使用した分のみ料金が発生します。ボットにより処理されたテキストリクエストまたは音声リクエストの数に基づいて課金されます。
音声リクエストは 1 回あたりの料金は 0.004 USD、テキストリクエスト 1 回あたりの料金は 0.00075 USD です。
使用量は「処理されたリクエスト」を単位として測定され、その値を月末に合計してその月の請求額が計算されます。

 

終わりに

サンプルでは必要なかったのですがちゃんとbotを作るときにはLambda関数も書く必要があるようです。
まだ日本語には対応していませんが、AWSの新しいサービスのリリースはとても早いので、東京リージョンで使えるようになるのもそう遠くはないはず。

SDK(Java、JavaScript、Python、CLI、NET、Ruby on Rails、PHP、Go、CPP) を使用すれば、iOS および Android などのモバイル向けの Amazon Lex ボットを開発できます。
AWS Mobile Hub を使用すれば、モバイルプラットフォーム用ボットの構築、テスト、およびモニタリングができ、Amazon Lex ボットをテンプレートから自動的に構築できます。
ぜひお試しください。

 

公式サイトリンクはこちら

Amazon Lex
Amazon Lex よくある質問