Alexa Skills Kitの始め方

>100 Views

January 26, 18

スライド概要

Alexa Skill Kitを使った開発について、日本Androidの会 2018年1月定例会「ボイスアシスタントアプリ開発の今」 でお話した内容です。

profile-image

クラウドで働くIoTおじさん

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

Alexa Skills Kit の始め方 2018年1月定例会 「ボイスアシスタントアプリ開発の今」

2.

市川 純 (Jun Ichikawa) @sparkgene

3.

Alexa関連の活動 https://jawsug-iot.connpass.com/

4.

Alexa関連の活動 http://sparkgene.hatenablog.com/ Alexa Voice Serviceの記事執筆

5.

Alexa Skills Kitの始め方 ▸Amazon Alexaとは ▸Alexa Skills Kitの基本(カスタムスキル) ▸Skillの開発 ▸Skillのテスト ▸Skillの公開

6.

Amazon Alexaとは

8.

Alexa Skills Kit(ASK)は ▸セルフサービスの一連のAPI ▸ツール ▸ドキュメント ▸コードサンプル

9.

USで公開されているサードパーティー製Skill

10.

国内で公開されているサードパーティー製Skill 商品の注文 銀行の利用 ショップの情報 車を呼ぶ まなび 家電を操作 ニュース

11.

Alexa Skills の種類 ▸カスタム対話モデル ▸スマートホームスキル ▸フラッシュブリーフィング ▸ビデオスキル(日本未対応)

12.

国内で公開されているサードパーティー製Skill スマートホームAPI カスタム対話モデル フラッシュブリーフィ ングAPI

13.

Alexa Skillの基本 (カスタム対話モデル)

14.

発話がどう解釈されるのか アレクサ、マイレシピで牛肉とキャベツのレシピを教えて アレクサ マイレシピ で 牛肉 と キャベツ のレシピを教えて = 起動フレーズ = 呼び出し名 = つなぎの語 = スロット = サンプル発話 = スロット = サンプル発話

15.

開始フレーズ Alexaで定義されている物 ▸を使って ▸を開いて ▸をスタート ▸を始める ▸を始めて ▸を開始 ▸を再生 などなど https://developer.amazon.com/ja/docs/custom-skills/understanding-how-users-invoke-customskills.html

16.

呼び出し名 ▸呼び出し名 を言うことで、どのSkillを使うかが決まる ▸呼び出し名 は ウェイクワードや起動フレーズ、 つなぎ語 を含んではならない ▸他にも条件が色々。。 https://developer.amazon.com/ja/docs/custom-skills/choose-the-invocation-name-for-a-customskill.html#invocation-name-requirements

17.

スロット Slotは変数みたいなもので、事前に期待している言葉を定義する Slotには2種類あり ▸ ビルトインタイプ ▸ AMAZON.DATE、AMAZON.NUMBER、AMAZON.Region、 AMAZON.FirstName、・・・・ ▸ カスタムタイプ ▹ 自分で定義する ▹ ex) ▹ slot “RECIPE_TYPE” = 和食、洋食、・・・・ https://developer.amazon.com/ja/docs/custom-skills/slot-type-reference.html

18.

対話モデル

19.

サンプル発話 ▸ OsusumeIntent おすすめのレシピを教えて ▸ SearchIntent {keyword} のおすすめ教えて ▸ SearchMultiIntent {firstkeyword} と {secondkeyword} のレシピを教えて サンプル発話と呼ばれる発話のマッピングを定義します。 上記のような発話をすると、Alexaは一致するインテント名をSkillに対して 送ってきます。 発話の仕方は人それぞれなので、なるべく多くのパターンを網羅することで 認識率は上がる。

20.

インテントスキーマ { "intents": [ { "intent": ”SearchIntent", "slots": [ {"name": ”keyword", "type": ”RECIPE_TYPE" } ] } ] } サンプル発話に定義した発話の構造を定義します。

21.

全体の流れ [1] アレクサ、マイレシピでキャベツと 牛肉のレシピを教えて [2] SearchIntent を起動 スロットに firstkeyword=キャベツ secondkeyword=牛肉 マイレシピ スキル [4] オーディオデータ [3] テキストのJSON

22.

Skillの開発

23.

Skillの開発 カスタムスキルの場合、2つの方法でスキルを作れます ▸AWS Lambda Functionを使う ▸自分でホストする

24.

AWS Lambda Functionを使う場合 ▸ サーバを立てる必要がない ▸ SSL証明書を用意する必要が無い ▸ Alexaからのリクエストであることを検証する必要が無い ▸ 呼び出しされた時だけ課金される ▸ Alexaから実行されるときTLSが利用されるのでセキュア ▸ 多くのデベロッパーは無料枠の範囲で済むはず https://developer.amazon.com/ja/docs/custom-skills/host-a-custom-skill-as-an-aws-lambda-function.html

25.

自分でホストする場合 ▸ ネット接続されている必要がある ▸ Alexa Skills KitのI/Fに準拠している必要がある ▸ SSL/TSLに対応している必要がある ▸ Alexaからのリクエストであることを検証する必要がある https://developer.amazon.com/ja/docs/custom-skills/host-a-custom-skill-as-a-web-service.html

26.

Skillの開発を楽にしてくれるライブラリ ▸ Alexa Skills Kit SDK for Node.js ▹ https://github.com/alexa/alexa-skills-kit-sdk-for-nodejs ▸ Alexa Skills Kit for Python ▹ https://github.com/johnwheeler/flask-ask

27.

Skillのサンプル色々 ▸ https://github.com/alexa/alexa-cookbook ▸ AWS Lambda Functionのブループリント

28.

Skillのテスト

29.

Skillのテスト方法 ▸ 開発者コンソールでテスト ▸ シミュレータでテスト(echosim) ▸ 実機でテスト ▸ CLIでテスト(まだ日本語対応していないけど) ▹ https://github.com/sparkgene/alexa-cli/wiki ▸ Beta Tester

30.

Skillの公開

31.

Skillの公開申請する前に ▸ 審査チームも行う内容がチェックリストとしてあります ▹ https://developer.amazon.com/ja/docs/customskills/certification-requirements-for-custom-skills.html ▹ 事前にチェックしておくことでリジェクトリスクが下がります

32.

Skillの公開申請したあと ▸ 数日すると審査結果が来ます。 ▸ リジェクトされた場合は、駄目な理由が書かれているので 修正して再申請する ▸ 一回で通ることは少ないので、これを数回繰り返す

33.

Skillが公開されたら ▸ 審査が終ると勝手に公開されます ▸ ステータスがLiveのが追加されます(いじれません) ▹ 更新する時は、Development版を編集して、再度申請します

34.

Skillが公開されたら ▸ メトリックスが見れるようになります 普通のアプリと同じで、利用状況をモニタリングし、 日々改善しましょう。

35.

https://alexaday2018.jaws-ug.jp/

36.

https://jawsdays2018.jaws-ug.jp/

37.

Facebook グループ 「Amazon Alexa/Echo JP」

38.

ありがとうございました