>100 Views
April 25, 18
スライド概要
JAWS-UG 初心者支部#11 Alexa回!!! で発表したものです
https://jawsug-bgnr.connpass.com/event/82278/
クラウドで働くIoTおじさん
Alexaスキルの はじめ方 JAWS-UG 初心者支部#11 Alexa回!!!
市川 純 (Jun Ichikawa) @sparkgene infrastructure engineer https://jawsug-iot.connpass.com/
運営メンバー募集中! https://jawsug-iot.connpass.com/
Alexa関連の執筆 http://amzn.asia/hRYgpFl Alexa Voice Serviceの記事執筆
Amazon Alexaとは
Alexa Voice Service(AVS)は デバイスからAlexaを簡単に利用する為の ▸API群 ▸ドキュメントリソース ▸SDK ▸ハードウエアデベロップメントキット
AVSを利用したサードパーティーEcho ONKYO スマートスピーカー P3 C by GE Sol Raspberry Pi で自作Echo
Alexa Skills Kit(ASK)は Echo等のデバイスに新しい機能を提供する為の ▸セルフサービスの一連のAPI ▸ツール ▸ドキュメント ▸コードサンプル
USで公開されているサードパーティー製Skill
国内で公開されているサードパーティー製Skill 商品の注文 銀行の利用 ショップの情報 車を呼ぶ まなび 家電を操作 ニュース
Alexa Skills の種類 ▸カスタム対話モデル ▸スマートホームスキル ▸フラッシュブリーフィング ▸ビデオスキル(日本未対応)
国内で公開されているサードパーティー製Skill スマートホームAPI カスタム対話モデル フラッシュブリーフィ ングAPI
フラッシュブリーフィング ▸HTTPSで利用できるRSSフィードがあれば、5分で作れる ▸オーディオデータを含めることが出来る ▸Echo Showの様にディスプレイがあれば動画も再生可 (一般にはまだ公開されていない) アレクサ、今日のニュースは? フラッシュニュースです。〜〜〜〜 https://developer.amazon.com/ja/alexa-skills-kit/flash-briefing
スマートホームスキル ▸呼出し名が不要なので、自然な発話でスマートホームの 操作が可能 ▸「アレクサ、リビングの照明をつけて」で利用できる ▸デバイスがクラウドで管理されている必要がある アレクサ、リビングの照明をつけて はい https://developer.amazon.com/ja/alexa/smart-home
https://www.slideshare.net/junichikawa1/alexadiy
Alexa Skillの基本 (カスタム対話モデル)
基本的なスキルの起動 アレクサ、レシピサーチを 開いて レシピサーチへようこそ! どのようなレシピをお探しですか? 和食のレシピ〜〜
開始フレーズ Alexaで定義されている物 ▸を使って ▸を開いて ▸をスタート ▸を始める ▸を始めて ▸を開始 ▸を再生 アレクサ、レシピサーチ を開いて などなど https://developer.amazon.com/ja/docs/custom-skills/understanding-how-users-invoke-custom-skills.html
スキルの発話 アレクサ、レシピサーチで キャベツと牛肉のレシピを教えて キャベツと牛肉のレシピが、7件 見つかりました。最初の3件を〜
発話がどう解釈されるのか アレクサ、レシピサーチで牛肉とキャベツのレシピを教えて アレクサ レシピサーチ で 牛肉 と キャベツ のレシピを教えて = 起動フレーズ = 呼び出し名 = つなぎの語 = スロット = サンプル発話 = スロット = サンプル発話
呼び出し名 ▸呼び出し名 を言うことで、どのSkillを使うかが決まる ▸呼び出し名 は ウェイクワードや起動フレーズ、 つなぎ語 を含んではならない ▸他にも条件が色々。。 https://developer.amazon.com/ja/docs/custom-skills/choose-the-invocation-name-for-a-customskill.html#invocation-name-requirements
スロット 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
サンプル発話 ▸ OsusumeIntent おすすめのレシピを教えて ▸ SearchIntent {keyword} のおすすめ教えて ▸ SearchMultiIntent {firstkeyword} と {secondkeyword} のレシピを教えて サンプル発話と呼ばれる発話のマッピングを定義します。 上記のような発話をすると、Alexaは一致するインテント名をSkillに対して 送ってきます。 発話の仕方は人それぞれなので、なるべく多くのパターンを網羅することで 認識率は上がる。
インテントスキーマ { "intents": [ { "intent": ”SearchIntent", "slots": [ {"name": ”keyword", "type": ”RECIPE_TYPE" } ] } ] } サンプル発話に定義した発話の構造を定義します。
全体的な流れ アレクサ、レシピサーチで キャベツと牛肉のレシピを教えて JSON キャベツと牛肉のレシピが、7件 見つかりました。最初の3件を〜 SearchIntent を起動 スロットに firstkeyword=キャベツ secondkeyword=牛肉 レシピサーチ スキル
基本が分かったところで 実際に作ってみましょう
初めてのスキル作成 ▸Alexa DeveloperコンソールでSkillを登録する ▸AWSマネージメントコンソールでLambdaを登録する ▸Skillを動かす ▸アレクサアプリで確認
利用するサンプルスキル https://github.com/alexa/skill-sample-nodejs-quiz-game/tree/ja-JP
ありがとうございました