LoginSignup
21
20

More than 3 years have passed since last update.

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

Last updated at Posted at 2019-12-12

「Amazon lex」とは?

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

以下Amazon Lexの概要から引用

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

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

■使いやすい

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

■AWSと統合できる

  • 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 よくある質問

21
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
20