Amazon lexを触ってみた

Preview:

Citation preview

Amazon Lexを触ってみた

pizza_jp #1

株式会社エクストーン 豊田陽一

今日のお話

Amazon Lex

AWS re:Invent2016で発表

チャットボットが作れます

音声認識

自然言語処理

サービスイメージ

とりあえず触ってみよう

2016/12/16

プレビュープログラムに

申し込む

40日ほど待つ

2017/01/26

プレビュープログラムに

参加

正直申し込んだの

忘れてた

とりあえず触ってみよう(2度目)

利用するサービス

● Amazon Lex○ 自然言語処理

○ スロットの定義■ ピザ屋botならピザの種類、数量、トッピング、お届け先など

● AWS Lambda○ Lexから渡されたスロット情報をもとに処理

処理の流れ

Amazon Lex AWS Lambdabot client

Natural Language JSON

JSONNaturalLanguage

Lexのデータ構造 (ピザ屋bot)

slot1: メニューの種別

slot2: サイズ

slot3: 個数

slot1: 届け先の住所

slot2: 受取人の名前

slot3: 受け取り時間

intent (ピザ情報)

intent (お届け先)bot (ピザ屋)

Lexのデータ構造 (cont.)

● Bot○ サービス単位

■ ex) ピザ注文Bot

● Intent○ 意味のあるデータのまとまりの単位

■ ex) ピザ情報、お届け先情報

● Slot○ 型を持つ個々のデータ

■ ex) ピザの種類、サイズ、個数、住所、配達時間等

Chat ClientとLexの通信

botとの会話の流れ(1)

「ピザ頼みたいんやけど」

(ピザ情報Intentを起動)

「どのピザにするん?」

「メキシカントロピカルピザ」

(ピザの種類スロットにメキシカントロピカルピザを設定)

「なんぼいるん?」

botとの会話の流れ(2)

「ほな3つで」

(数量スロットに3を設定)

(お届け先インテント起動)

「んでお前だれやねん?」

「わし豊田やがな」

(注文者名スロットに豊田を設定)

botとの会話の流れ(3)

「どこ届けたらええねん?」

「恵比寿駅の向いのビルの3階や」

(住所スロットに

恵比寿駅の向かいのビル3Fを設定)

「いつ持ってこ?」

「2時間後に頼むわ」

(お届け時間スロットに2時間後を設定)

botとの会話の流れ(4)

(Fulfillment確認)

「これでええんやな?」

「ええで、頼むわ?」

(Fulfillment確定)

「ほな注文うけつけたで。おおきに!」

(セッション終了)

日本語はまだ

未対応です

LexとLambdaの通信

LexからLambdaへの入力

● 現在のIntent

● 入力されたslotの情報

● 入力がテキストか声か○ 返り値をPlain textにするかSSMLにするか等

● 確認ステータス

LambdaからLexへの出力

● 次のアクションを指定○ 別のIntentを起動する

○ 特定のslotについての質問をする

○ ユーザーに確認を促す

○ 確定する

● ユーザーにメッセージを返す○ Plain Text

○ SSML

複雑な例

● ピザの種類を聞く○ ハーフアンドハーフの場合、2種類を選ぶ

○ それ以外はサイズを確認する

● ユーザー会員登録の有無○ 会員登録している場合、お届け先を聞かない

デモ

ソースコード

https://github.com/rswisteria/...

おわりに

Lexでらくらく

ボット生活

Pollyとの組み合わせで会話ができる

すごーい

日本語対応が楽しみです

早めにプレビュー申し込もう

おしまい

Recommended