Slide 1

Slide 1 text

StorylineのReal ~Alexa Skill開発 ツール Storylineのリアルなお話について~ June 26th, 2018 -- スマートスピーカーを遊びたおす会 @IIJ

Slide 2

Slide 2 text

自己紹介 もっちゃん (mochan_tk) twitter: @mochan_tk facebook:https://bit.ly/2ySJRr2 ● インフラのエンジニアやってます ● 自称スマートスピーカー ガチ勢! ● 夏休みに子供向けIT勉強会を開催予定

Slide 3

Slide 3 text

アジェンダ ● Storylineとは ● Storylineを試そうと思った動機 ● 何ができるのよ ● Realなお話し ● おまけ

Slide 4

Slide 4 text

Storylineとは ● 今回主に出てくるキーワードは ○ Storyline ○ Alexa開発コンソール

Slide 5

Slide 5 text

Storylineとは ● Storyline

Slide 6

Slide 6 text

Storylineとは ● Alexa開発コンソール

Slide 7

Slide 7 text

Storylineとは ● Alexaスキルを簡単に作ることが出来るツール!

Slide 8

Slide 8 text

Storylineとは

Slide 9

Slide 9 text

Storylineとは ● 気軽にチャットで質問できる ● 中の人にStorylineで発表すると伝えたら Good Luckと言ってく れるぐらい気さくな感じ

Slide 10

Slide 10 text

Storylineとは ● Alexaの開発コンソールと連携(Upload)

Slide 11

Slide 11 text

Storylineとは ● 必要なのはGoogleのアカウントのみ

Slide 12

Slide 12 text

Storylineを試してみようと思った動機 ● 子供向けのITの勉強会を開催予定 ○ ノンコーディングで簡単に開発できるツールを探していたため ○ Storylineユーザ数は6000人以上(日本人300人ぐらい) ■ smartio様の記事(数か月前のものです) ● https://smartio.life/staff-blog/interview-storyline/

Slide 13

Slide 13 text

何ができるのよ # 利用できる機能 用途 課題 ① 固定メッセージの利用 決まったパターンのメッセージ ・状態管理ができない ・変数(Slot)が使えない ② 音源の利用 効果音の利用など ・長時間の音源、連続再生 ③ GoogleSpredSheetの利用 メッセージのメンテナンスしやすい 共通メッセージを外部 (SpredSheet)で一括管理できる ・シートの1列しか利用がで きない ④ Web API の利用 拡張性の高い動きが実装可能

Slide 14

Slide 14 text

何ができるのよ (Private Only)

Slide 15

Slide 15 text

何ができるのよ # 利用できる機能 用途 作ったスキル ① 固定メッセージの利用 決まったパターンのメッセージ いろいろ ② 音源の利用 効果音の利用など [ 発表タイムキーパー ] ・ドラの効果音鳴らす ③ GoogleSpredSheetの 利用 メッセージのメンテナンスしやすい 共通メッセージを外部 (SpredSheet)で一 括管理できる [ 断捨離の時間 ] ・複数の質問をして本当に 必要なものであるかを判定 ④ Web API の利用 拡張性の高い動きが実装可能 [ りんなとおしゃべり ] ・某女子高生AIと会話する (制限あり)

Slide 16

Slide 16 text

Realな話 ● Storylineって開発しやすいかなぁ。。 ○ 日本語版だとできないこと多いし。。

Slide 17

Slide 17 text

Realな話 ● 例えば ○ stopとhelpのIntentが自動で作成されるため ■ 申請時のリジェクト対象

Slide 18

Slide 18 text

Realな話 ● 不要なstop、helpのインテントを削除して対応 ○ この件の解決は簡単

Slide 19

Slide 19 text

Realな話 ● 他にも ○ 日本語版は変数が使えない ■ helpには使える書いてある。。> https://bit.ly/2lvpDtJ

Slide 20

Slide 20 text

Realな話 ● でも海外だと ○ Storylineで作ったスキルが ■ Alexa Skills Challengeで$20000ドルの賞金を勝ち取っ たりと

Slide 21

Slide 21 text

Realな話 ● 勘違いしていた! ○ 本当の姿(英語版)だと本当に使い勝手の良いツールだっ た! ○ Storylineの本当の姿が見えていなかった!

Slide 22

Slide 22 text

Realな話 ● じゃあ!日本語版を捨てて、英語版を作れバイインダ!

Slide 23

Slide 23 text

Realな話 ● 。。そういうわけにはいかない。。日本語のスキル開発したい

Slide 24

Slide 24 text

Realな話 ● で、どうしたかというと。。こうしました ○ Alexa開発コンソール上で日本語化対応を実施! ■ 公開までもっていけるかまで一応確かめました

Slide 25

Slide 25 text

Realな話(日本語化) ① いったん英語版のStorylineで開発、Alexa開発コンソールに Upload

Slide 26

Slide 26 text

Realな話(日本語化) ② YesIntentとNoINtentが自動作成されているのを確認

Slide 27

Slide 27 text

Realな話(日本語化) ③ 設定で対応言語に「日本語」を追加

Slide 28

Slide 28 text

Realな話(日本語化) ④ 英語版のJSONをコピーして日本語版上でペースト

Slide 29

Slide 29 text

Realな話(日本語化) ⑤ 不要なIntentを削除して

Slide 30

Slide 30 text

Realな話(日本語化) ⑥ CatchAllIntentの中身を日本語版に置き換える

Slide 31

Slide 31 text

Realな話(日本語化) ⑦ 呼び出し名、公開名を日本語に変更

Slide 32

Slide 32 text

Realな話(日本語化) ⑧ 公開前にはさらにひと手間 ● 英語と日本語両方の検証を通しておく ● 言語設定から英語を削除(他の方法が無いか検証中) ● Storyline上の「Publishing」のページもちゃんと埋めておくと 後々楽ができそう

Slide 33

Slide 33 text

Realな話 ● できなかっことがいくつか解決できた ○ 「はい」「いいえ」の状態管理ができない ○ ユーザ発話のオウム返し

Slide 34

Slide 34 text

Realな話 ● 「はい」「いいえ」の状態管理ができない ○ これは何のことをいっているのかというと ■ 「はい」、「いいえ」を複数使う会話パターンがあったとき、 どの会話パターンの「はい」、「いいえ」なのか区別できな かった(Storylineの日本語版)

Slide 35

Slide 35 text

Realな話

Slide 36

Slide 36 text

Realな話 ● 英語版だとなぜできるのか ○ 標準ビルトインテントのYesIntentとNoIntentを呼び出すこと ができるから(Storylineの英語版なら) ○ 多言語的な対応をやってくれることになるので ■ 「Yes」というより、その言語の「肯定」な発言で待ち構えて いる状態 ○ Storylineの裏処理で状態管理をやっているっぽい

Slide 37

Slide 37 text

Realな話 ● 複数の質問 ○ 「はい」、「いいえ」でこたえる複数の会話パターンの実現

Slide 38

Slide 38 text

Realな話 ● できなかっこと再掲 ○ 「はい」「いいえ」の状態管理 ○ ユーザ発話のオウム返し

Slide 39

Slide 39 text

Realな話 ● Storylineなら変数使ってできます! ○ (ただしStorylineの英語版のみ)

Slide 40

Slide 40 text

Realな話 ● ユーザ:「〇〇について懺悔したいです」 ○ Alexaスキル:「〇〇についての懺悔ですね?」

Slide 41

Slide 41 text

Realな話 ● 行きついた最高の組み合わせ! ○ Storyline(英語版) ○ Alexa開発コンソール(日本語化する) ○ ただし、推奨とかはされていませn

Slide 42

Slide 42 text

おまけ ● Googleスプレッドシートの1列目しか使えない問題 ○ 色々検証したが解決できず ■ 代替案、複数のシート利用して2列目以降の扱いで使う

Slide 43

Slide 43 text

おまけ ● Googleスプレッドシートでやりたいこと ○ 2列目以降は実質とれない ✖

Slide 44

Slide 44 text

おまけ ● Googleスプレッドシートのシートで列の代わりを。。 ○ 割り切って構造だけキープ

Slide 45

Slide 45 text

おまけ ● 参考にさせていただいたGoogleスプレッドシートのシート単位 URL取得方法 ○ https://bit.ly/2MXuj85

Slide 46

Slide 46 text

おまけ ● ちなみに今Storyline Contestが開催されてます ○ Storylineで作ったスキルが100人のユーザに使われると ■ Storyline Tシャツがもらえます!

Slide 47

Slide 47 text

おまけ ● 「懺悔の小部屋」はワンチャンありますでしょうか? ○ 6月中に100人のユーザ様に利用していただければ。。

Slide 48

Slide 48 text

おまけ ● 設計図の代わりとしての活用(例えばDialogflowに移行する時 など) ● StorylineでできることはDialogflowでもだいたいできる気はしま す

Slide 49

Slide 49 text

ご清聴ありがとうございました!