Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Alexa Skills Kitの始め方

506 views

Published on

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

Published in: Software
  • Be the first to comment

  • Be the first to like this

Alexa Skills Kitの始め方

  1. 1. Alexa Skills Kit の始め方 2018年1月定例会 「ボイスアシスタントアプリ開発の今」
  2. 2. @sparkgene 市川 純 (Jun Ichikawa)
  3. 3. Alexa関連の活動 https://jawsug-iot.connpass.com/
  4. 4. http://sparkgene.hatenablog.com/ Alexa Voice Serviceの記事執筆 Alexa関連の活動
  5. 5. Alexa Skills Kitの始め方 ▸Amazon Alexaとは ▸Alexa Skills Kitの基本(カスタムスキル) ▸Skillの開発 ▸Skillのテスト ▸Skillの公開
  6. 6. Amazon Alexaとは
  7. 7. Alexa Skills Kit(ASK)は ▸セルフサービスの一連のAPI ▸ツール ▸ドキュメント ▸コードサンプル
  8. 8. USで公開されているサードパーティー製Skill
  9. 9. 国内で公開されているサードパーティー製Skill 商品の注文 車を呼ぶ 家電を操作 銀行の利用 ショップの情報 ニュースまなび
  10. 10. Alexa Skills の種類 ▸カスタム対話モデル ▸スマートホームスキル ▸フラッシュブリーフィング ▸ビデオスキル(日本未対応)
  11. 11. 国内で公開されているサードパーティー製Skill カスタム対話モデル スマートホームAPI フラッシュブリーフィ ングAPI
  12. 12. Alexa Skillの基本 (カスタム対話モデル)
  13. 13. 発話がどう解釈されるのか アレクサ マイレシピ で 牛肉 と キャベツ のレシピを教えて = 起動フレーズ = 呼び出し名 = つなぎの語 = スロット = サンプル発話 = スロット = サンプル発話 アレクサ、マイレシピで牛肉とキャベツのレシピを教えて
  14. 14. 開始フレーズ Alexaで定義されている物 ▸を使って ▸を開いて ▸をスタート ▸を始める ▸を始めて ▸を開始 ▸を再生 などなど https://developer.amazon.com/ja/docs/custom-skills/understanding-how-users-invoke-custom- skills.html
  15. 15. 呼び出し名 ▸呼び出し名 を言うことで、どのSkillを使うかが決まる ▸呼び出し名 は ウェイクワードや起動フレーズ、 つなぎ語 を含んではならない ▸他にも条件が色々。。 https://developer.amazon.com/ja/docs/custom-skills/choose-the-invocation-name-for-a-custom- skill.html#invocation-name-requirements
  16. 16. 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
  17. 17. 対話モデル
  18. 18. ▸OsusumeIntent おすすめのレシピを教えて ▸SearchIntent {keyword} のおすすめ教えて ▸SearchMultiIntent {firstkeyword} と {secondkeyword} のレシピを教えて サンプル発話 サンプル発話と呼ばれる発話のマッピングを定義します。 上記のような発話をすると、Alexaは一致するインテント名をSkillに対して 送ってきます。 発話の仕方は人それぞれなので、なるべく多くのパターンを網羅することで 認識率は上がる。
  19. 19. { "intents": [ { "intent": ”SearchIntent", "slots": [ {"name": ”keyword", "type": ”RECIPE_TYPE" } ] } ] } インテントスキーマ サンプル発話に定義した発話の構造を定義します。
  20. 20. 全体の流れ [1] アレクサ、マイレシピでキャベツと 牛肉のレシピを教えて マイレシピ スキル [2] SearchIntent を起動 スロットに firstkeyword=キャベツ secondkeyword=牛肉 [3] テキストのJSON[4] オーディオデータ
  21. 21. Skillの開発
  22. 22. カスタムスキルの場合、2つの方法でスキルを作れます ▸AWS Lambda Functionを使う ▸自分でホストする Skillの開発
  23. 23. 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
  24. 24. 自分でホストする場合 ▸ ネット接続されている必要がある ▸ 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
  25. 25. 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
  26. 26. Skillのサンプル色々 ▸ https://github.com/alexa/alexa-cookbook ▸ AWS Lambda Functionのブループリント
  27. 27. Skillのテスト
  28. 28. Skillのテスト方法 ▸ 開発者コンソールでテスト ▸ シミュレータでテスト(echosim) ▸ 実機でテスト ▸ CLIでテスト(まだ日本語対応していないけど) ▹ https://github.com/sparkgene/alexa-cli/wiki ▸ Beta Tester
  29. 29. Skillの公開
  30. 30. Skillの公開申請する前に ▸ 審査チームも行う内容がチェックリストとしてあります ▹ https://developer.amazon.com/ja/docs/custom- skills/certification-requirements-for-custom-skills.html ▹ 事前にチェックしておくことでリジェクトリスクが下がります
  31. 31. Skillの公開申請したあと ▸ 数日すると審査結果が来ます。 ▸ リジェクトされた場合は、駄目な理由が書かれているので 修正して再申請する ▸ 一回で通ることは少ないので、これを数回繰り返す
  32. 32. Skillが公開されたら ▸ 審査が終ると勝手に公開されます ▸ ステータスがLiveのが追加されます(いじれません) ▹ 更新する時は、Development版を編集して、再度申請します
  33. 33. Skillが公開されたら ▸ メトリックスが見れるようになります 普通のアプリと同じで、利用状況をモニタリングし、 日々改善しましょう。
  34. 34. https://alexaday2018.jaws-ug.jp/
  35. 35. https://jawsdays2018.jaws-ug.jp/
  36. 36. Facebook グループ 「Amazon Alexa/Echo JP」
  37. 37. ありがとうございました

×