はじめに
AWS は様々な AI サービスを提供しています
そして、それらのサービスはブラウザから簡単に試せるようになっています
サービス | 機能 | お試し記事 | Elixir 実装例 |
---|---|---|---|
Transcribe | 音声の文字起こし(音声認識) | 参照 | 参照 |
Polly | 文書の読み上げ(音声合成) | 参照 | 参照 |
Lex | チャットボット | 参照 | Coming Soon... |
Translate | 翻訳 | 参照 | 参照 |
Rekognition | 画像認識 顔認識 |
参照 参照 |
参照 |
Textract | 画像からの表データ読込 | 参照 | 参照 |
Bedrock | 生成AIによるチャット、画像生成 | 参照 | 参照 |
本記事では AWS のチャットボット作成サービス Lex をブラウザから試してみます
Amazon Lex とは
Amazon Lex は AI モデルによって文章を理解し、予め設定した流れに沿った会話を行います
Amazon Lex の使い途(ユースケース)
Amazon Lex は 2023年11月現在、 13 の言語・国に対応しており、日本語も利用可能です
Amazon Lex は以下のような用途に使用可能です
- ホテルの予約用チャットボット
- お問い合わせ用 LINE ボット
- Polly と組み合わせて電話自動応答
生成 AI によるチャットボットはより汎用的な用途に使えますが、 Lex は一定の質問と回答を定型的に行う用途に向いています
Amazon Lex の料金
AWS の料金は基本的に従量課金制です
また、リージョン(サービス提供するサーバーが存在する地域)によって料金が異なります
Lex は入力としてテキストと音声を使用できます
Amazon Lex を東京リージョンで使う場合、以下のように課金されます
- テキスト: $0.00075 / リクエスト
- 音声: $0.004 / リクエスト
ただし、 AWS のサービスの多くには無料利用枠が存在します
Amazon Lex は無料で試用できます。Amazon Lex の使用を開始した日から最初の 1 年間は、1 か月あたり最大で 10,000 回のテキストリクエストと 5,000 回の音声リクエストまたは音声間隔を処理することができます。 また、最初の 2 か月間は、1 か月あたり 2 時間のトレーニング時間として、自動チャットボットデザイナーを利用することができます。
無料利用期間中の場合、 テキストなら 10,000 回、音声なら 5,000 回までなら無料になるため、本記事で実行する程度の処理であれば無料範囲内に収まります
アカウント作成
Amazon Lex を使うためには、 AWS のアカウント作成が必要です
以下の公式手順に従って、アカウントを作成してください
クレジットカードと電話番号が必要になります
予めご用意ください
ブラウザからのチャットボット実行
Amazon Lex への移動
AWS のマネジメントコンソールにログインすると、以下のような画面が表示されます
この画面から最近使ったサービスなどにアクセスできるようになっています
上メニューにある検索ボックスに lex
と入力してみましょう
サービスの候補として Amazon Lex が表示されます
Amazon Lex をクリックして、サービスページに移動しましょう
以下のような画面が表示されます
チャットボット作成
右上の「ボットを作成」ボタンをクリックしましょう
「ボット設定を構成」という画面に遷移します
「作成方法」は「例から開始」を選択してください
下にスクロールして、以下のように入力します
- ボット名: 適当な名前
- IAM アクセス許可: 基本的な Amazon Lex 権限を持つロールを作成します
- 自動オンラインプライバシー保護法(COPPA): はい
入力したら右下オレンジ色の「次へ」をクリックしてください
言語に「日本語(JP)」を選択し、「完了」をクリックしてください
続いて「インテント」 = 「目的」の設定画面に遷移します
この画面では、具体的にどのような会話をして、どういう情報を相手から聞き出すのか(=目的のための会話)を設定していきます
下の方にスクロールすると、会話の設定があります
チャットボットはここで設定した質問をユーザーに投げかけ、その回答を記録してくれます
編集する場合、各プロンプト(「場所などの回答を促すための質問」)をクリックして開きます
右上「スロットを追加」をクリックして、質問を追加してみましょう
以下のようなモーダルが表示されます
以下のように入力して、「追加」をクリックします
- 名前: CheckInTime
- スロットタイプ: AMAZON.Time
- プロンプト: 何時にチェックインなさいますか
モーダルが閉じたら右下「インデントを保存」をクリックしてください
その状態で右上「Build」をクリックします
これによってチャットボットの作成が開始されます
しばらくするとチャットボットの作成が完了するので、「Test」をクリックします
画面右端にチャット用の枠が表示されました
最下部のメッセージ欄に「ホテルを予約したい」のような文言を入力すると、チャットbotとの会話が開始されます
会話終了後、上部の「検査」をクリックすると、チャットの左側にボットが読み取った結果が表示されます
会話の内容が正しく日付、時刻、数値などに変換されて取得できていることが分かります
チャネル統合
本記事では実行しませんが、チャネル統合を利用すると Facebook や Slack 、 Twillio と連携することが可能です
まとめ
Lex によるチャットボットについて、ブラウザからデモを実行できました
日付など、表現に揺らぎがあるような値でも正しく取得できており、定型業務の自動化に役立ちそうです