39
Amazon Lexを 触ってみた pizza_jp #1 株式会社エクストーン 豊田陽一

Amazon lexを触ってみた

Embed Size (px)

Citation preview

Page 1: Amazon lexを触ってみた

Amazon Lexを触ってみた

pizza_jp #1

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

Page 2: Amazon lexを触ってみた

今日のお話

Page 3: Amazon lexを触ってみた

Amazon Lex

Page 4: Amazon lexを触ってみた

AWS re:Invent2016で発表

Page 5: Amazon lexを触ってみた

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

Page 6: Amazon lexを触ってみた

音声認識

Page 7: Amazon lexを触ってみた

自然言語処理

Page 8: Amazon lexを触ってみた

サービスイメージ

Page 9: Amazon lexを触ってみた

とりあえず触ってみよう

Page 10: Amazon lexを触ってみた

2016/12/16

Page 11: Amazon lexを触ってみた

プレビュープログラムに

申し込む

Page 12: Amazon lexを触ってみた

40日ほど待つ

Page 13: Amazon lexを触ってみた

2017/01/26

Page 14: Amazon lexを触ってみた

プレビュープログラムに

参加

Page 15: Amazon lexを触ってみた

正直申し込んだの

忘れてた

Page 16: Amazon lexを触ってみた

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

Page 17: Amazon lexを触ってみた

利用するサービス

● Amazon Lex○ 自然言語処理

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

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

Page 18: Amazon lexを触ってみた

処理の流れ

Amazon Lex AWS Lambdabot client

Natural Language JSON

JSONNaturalLanguage

Page 19: Amazon lexを触ってみた

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

slot1: メニューの種別

slot2: サイズ

slot3: 個数

slot1: 届け先の住所

slot2: 受取人の名前

slot3: 受け取り時間

intent (ピザ情報)

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

Page 20: Amazon lexを触ってみた

Lexのデータ構造 (cont.)

● Bot○ サービス単位

■ ex) ピザ注文Bot

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

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

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

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

Page 21: Amazon lexを触ってみた

Chat ClientとLexの通信

Page 22: Amazon lexを触ってみた

botとの会話の流れ(1)

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

(ピザ情報Intentを起動)

「どのピザにするん?」

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

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

「なんぼいるん?」

Page 23: Amazon lexを触ってみた

botとの会話の流れ(2)

「ほな3つで」

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

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

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

「わし豊田やがな」

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

Page 24: Amazon lexを触ってみた

botとの会話の流れ(3)

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

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

(住所スロットに

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

「いつ持ってこ?」

「2時間後に頼むわ」

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

Page 25: Amazon lexを触ってみた

botとの会話の流れ(4)

(Fulfillment確認)

「これでええんやな?」

「ええで、頼むわ?」

(Fulfillment確定)

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

(セッション終了)

Page 26: Amazon lexを触ってみた

日本語はまだ

未対応です

Page 27: Amazon lexを触ってみた

LexとLambdaの通信

Page 28: Amazon lexを触ってみた

LexからLambdaへの入力

● 現在のIntent

● 入力されたslotの情報

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

● 確認ステータス

Page 29: Amazon lexを触ってみた

LambdaからLexへの出力

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

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

○ ユーザーに確認を促す

○ 確定する

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

○ SSML

Page 30: Amazon lexを触ってみた

複雑な例

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

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

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

Page 31: Amazon lexを触ってみた

デモ

Page 32: Amazon lexを触ってみた

ソースコード

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

Page 33: Amazon lexを触ってみた

おわりに

Page 34: Amazon lexを触ってみた

Lexでらくらく

ボット生活

Page 35: Amazon lexを触ってみた

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

Page 36: Amazon lexを触ってみた

すごーい

Page 37: Amazon lexを触ってみた

日本語対応が楽しみです

Page 38: Amazon lexを触ってみた

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

Page 39: Amazon lexを触ってみた

おしまい