Alexaスキルの
はじめ方
JAWS-UG 初心者支部#11
Alexa回!!!
@sparkgene
市川 純 (Jun Ichikawa)
infrastructure engineer
https://jawsug-iot.connpass.com/
https://jawsug-iot.connpass.com/
運営メンバー募集中!
http://amzn.asia/hRYgpFl Alexa Voice Serviceの記事執筆
Alexa関連の執筆
Amazon Alexaとは
Alexa Voice Service(AVS)は
デバイスからAlexaを簡単に利用する為の
▸API群
▸ドキュメントリソース
▸SDK
▸ハードウエアデベロップメントキット
AVSを利用したサードパーティーEcho
ONKYO
スマートスピーカー
P3
Raspberry Pi
で自作Echo
C by GE Sol
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-custom-
skill.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" }
]
}
]
}
インテントスキーマ
サンプル発話に定義した発話の構造を定義します。
全体的な流れ
アレクサ、レシピサーチで
キャベツと牛肉のレシピを教えて
キャベツと牛肉のレシピが、7件
見つかりました。最初の3件を〜
レシピサーチ
スキル
SearchIntent を起動
スロットに
firstkeyword=キャベツ
secondkeyword=牛肉JSON
基本が分かったところで
実際に作ってみましょう
初めてのスキル作成
▸Alexa DeveloperコンソールでSkillを登録する
▸AWSマネージメントコンソールでLambdaを登録する
▸Skillを動かす
▸アレクサアプリで確認
https://github.com/alexa/skill-sample-nodejs-quiz-game/tree/ja-JP
利用するサンプルスキル
ありがとうございました

Alexaスキルのはじめ方