SlideShare uma empresa Scribd logo
1 de 38
Alexa Skills Kit
の始め方
2018年1月定例会
「ボイスアシスタントアプリ開発の今」
@sparkgene
市川 純 (Jun Ichikawa)
Alexa関連の活動
https://jawsug-iot.connpass.com/
http://sparkgene.hatenablog.com/ Alexa Voice Serviceの記事執筆
Alexa関連の活動
Alexa Skills Kitの始め方
▸Amazon Alexaとは
▸Alexa Skills Kitの基本(カスタムスキル)
▸Skillの開発
▸Skillのテスト
▸Skillの公開
Amazon Alexaとは
Alexa Skills Kit(ASK)は
▸セルフサービスの一連のAPI
▸ツール
▸ドキュメント
▸コードサンプル
USで公開されているサードパーティー製Skill
国内で公開されているサードパーティー製Skill
商品の注文 車を呼ぶ 家電を操作
銀行の利用 ショップの情報 ニュースまなび
Alexa Skills の種類
▸カスタム対話モデル
▸スマートホームスキル
▸フラッシュブリーフィング
▸ビデオスキル(日本未対応)
国内で公開されているサードパーティー製Skill
カスタム対話モデル
スマートホームAPI
フラッシュブリーフィ
ングAPI
Alexa Skillの基本
(カスタム対話モデル)
発話がどう解釈されるのか
アレクサ
マイレシピ
で
牛肉
と
キャベツ
のレシピを教えて
= 起動フレーズ
= 呼び出し名
= つなぎの語
= スロット
= サンプル発話
= スロット
= サンプル発話
アレクサ、マイレシピで牛肉とキャベツのレシピを教えて
開始フレーズ
Alexaで定義されている物
▸を使って
▸を開いて
▸をスタート
▸を始める
▸を始めて
▸を開始
▸を再生
などなど
https://developer.amazon.com/ja/docs/custom-skills/understanding-how-users-invoke-custom-
skills.html
呼び出し名
▸呼び出し名 を言うことで、どの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" }
]
}
]
}
インテントスキーマ
サンプル発話に定義した発話の構造を定義します。
全体の流れ
[1] アレクサ、マイレシピでキャベツと
牛肉のレシピを教えて
マイレシピ
スキル
[2] SearchIntent を起動
スロットに
firstkeyword=キャベツ
secondkeyword=牛肉
[3] テキストのJSON[4] オーディオデータ
Skillの開発
カスタムスキルの場合、2つの方法でスキルを作れます
▸AWS Lambda Functionを使う
▸自分でホストする
Skillの開発
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
自分でホストする場合
▸ ネット接続されている必要がある
▸ 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
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
Skillのサンプル色々
▸ https://github.com/alexa/alexa-cookbook
▸ AWS Lambda Functionのブループリント
Skillのテスト
Skillのテスト方法
▸ 開発者コンソールでテスト
▸ シミュレータでテスト(echosim)
▸ 実機でテスト
▸ CLIでテスト(まだ日本語対応していないけど)
▹ https://github.com/sparkgene/alexa-cli/wiki
▸ Beta Tester
Skillの公開
Skillの公開申請する前に
▸ 審査チームも行う内容がチェックリストとしてあります
▹ https://developer.amazon.com/ja/docs/custom-
skills/certification-requirements-for-custom-skills.html
▹ 事前にチェックしておくことでリジェクトリスクが下がります
Skillの公開申請したあと
▸ 数日すると審査結果が来ます。
▸ リジェクトされた場合は、駄目な理由が書かれているので
修正して再申請する
▸ 一回で通ることは少ないので、これを数回繰り返す
Skillが公開されたら
▸ 審査が終ると勝手に公開されます
▸ ステータスがLiveのが追加されます(いじれません)
▹ 更新する時は、Development版を編集して、再度申請します
Skillが公開されたら
▸ メトリックスが見れるようになります
普通のアプリと同じで、利用状況をモニタリングし、
日々改善しましょう。
https://alexaday2018.jaws-ug.jp/
https://jawsdays2018.jaws-ug.jp/
Facebook グループ 「Amazon Alexa/Echo JP」
ありがとうございました

Mais conteúdo relacionado

Mais procurados

元インフラエンジニアが
Scalaを触ってつまづいたところ。
元インフラエンジニアが
Scalaを触ってつまづいたところ。元インフラエンジニアが
Scalaを触ってつまづいたところ。
元インフラエンジニアが
Scalaを触ってつまづいたところ。
takako onoue
 

Mais procurados (8)

AlexaでスマートホームをDIYする
AlexaでスマートホームをDIYするAlexaでスマートホームをDIYする
AlexaでスマートホームをDIYする
 
企業オフィシャルの Alexaスキルの プランニング はじめました(Master Cloud 11)
企業オフィシャルの Alexaスキルの プランニング はじめました(Master Cloud 11)企業オフィシャルの Alexaスキルの プランニング はじめました(Master Cloud 11)
企業オフィシャルの Alexaスキルの プランニング はじめました(Master Cloud 11)
 
Alp x BizReach SaaS事業を営む2社がお互い気になることをゆるゆる聞いてみる会
Alp x BizReach SaaS事業を営む2社がお互い気になることをゆるゆる聞いてみる会Alp x BizReach SaaS事業を営む2社がお互い気になることをゆるゆる聞いてみる会
Alp x BizReach SaaS事業を営む2社がお互い気になることをゆるゆる聞いてみる会
 
俺の話を聞け!Lt大会#7
俺の話を聞け!Lt大会#7俺の話を聞け!Lt大会#7
俺の話を聞け!Lt大会#7
 
Alexaスキルのはじめ方
Alexaスキルのはじめ方Alexaスキルのはじめ方
Alexaスキルのはじめ方
 
子どもたちにペイ管理の Alexa スキルを作って Amplify で管理画面を作った話
子どもたちにペイ管理の Alexa スキルを作って Amplify で管理画面を作った話子どもたちにペイ管理の Alexa スキルを作って Amplify で管理画面を作った話
子どもたちにペイ管理の Alexa スキルを作って Amplify で管理画面を作った話
 
元インフラエンジニアが
Scalaを触ってつまづいたところ。
元インフラエンジニアが
Scalaを触ってつまづいたところ。元インフラエンジニアが
Scalaを触ってつまづいたところ。
元インフラエンジニアが
Scalaを触ってつまづいたところ。
 
Alibaba Cloud MVP 2019 これまでとこれからの道
Alibaba Cloud MVP 2019 これまでとこれからの道Alibaba Cloud MVP 2019 これまでとこれからの道
Alibaba Cloud MVP 2019 これまでとこれからの道
 

Semelhante a Alexa Skills Kitの始め方

AWS CLIでAlexaのカスタムスキルをデプロイしている話
AWS CLIでAlexaのカスタムスキルをデプロイしている話AWS CLIでAlexaのカスタムスキルをデプロイしている話
AWS CLIでAlexaのカスタムスキルをデプロイしている話
Yasuyuki Sato
 

Semelhante a Alexa Skills Kitの始め方 (11)

Amazon AlexaとServerless
Amazon AlexaとServerlessAmazon AlexaとServerless
Amazon AlexaとServerless
 
Alexa SDK Alexa Salon
Alexa SDK Alexa SalonAlexa SDK Alexa Salon
Alexa SDK Alexa Salon
 
Rubyでalexaプログラミング
RubyでalexaプログラミングRubyでalexaプログラミング
Rubyでalexaプログラミング
 
15分でできるAmazon Alexa Skill開発
15分でできるAmazon Alexa Skill開発15分でできるAmazon Alexa Skill開発
15分でできるAmazon Alexa Skill開発
 
20191206_Alexaスキルを作ってみよう
20191206_Alexaスキルを作ってみよう20191206_Alexaスキルを作ってみよう
20191206_Alexaスキルを作ってみよう
 
Alexa Skills Kitを使って自作のSkillを作る
Alexa Skills Kitを使って自作のSkillを作るAlexa Skills Kitを使って自作のSkillを作る
Alexa Skills Kitを使って自作のSkillを作る
 
Alexaスキルを作ろう
Alexaスキルを作ろうAlexaスキルを作ろう
Alexaスキルを作ろう
 
AWS CLIでAlexaのカスタムスキルをデプロイしている話
AWS CLIでAlexaのカスタムスキルをデプロイしている話AWS CLIでAlexaのカスタムスキルをデプロイしている話
AWS CLIでAlexaのカスタムスキルをデプロイしている話
 
Alexa conversations に触れてみよう
Alexa conversations に触れてみようAlexa conversations に触れてみよう
Alexa conversations に触れてみよう
 
JAWS-UG 大阪 第22回 LT
JAWS-UG 大阪 第22回 LTJAWS-UG 大阪 第22回 LT
JAWS-UG 大阪 第22回 LT
 
[CTO Night & Day 2019] よくある課題を一気に解説!御社の技術レベルがアップする 2019 秋期講習 #ctonight
[CTO Night & Day 2019] よくある課題を一気に解説!御社の技術レベルがアップする 2019 秋期講習 #ctonight[CTO Night & Day 2019] よくある課題を一気に解説!御社の技術レベルがアップする 2019 秋期講習 #ctonight
[CTO Night & Day 2019] よくある課題を一気に解説!御社の技術レベルがアップする 2019 秋期講習 #ctonight
 

Mais de Jun Ichikawa

Mais de Jun Ichikawa (17)

Cloud9で試すAWS IoT Greengrass V2
Cloud9で試すAWS IoT Greengrass V2Cloud9で試すAWS IoT Greengrass V2
Cloud9で試すAWS IoT Greengrass V2
 
AWS IoT サービスこの1年の進化
AWS IoT サービスこの1年の進化AWS IoT サービスこの1年の進化
AWS IoT サービスこの1年の進化
 
エッジコンピューティングで実現できる活用シナリオ3選
エッジコンピューティングで実現できる活用シナリオ3選エッジコンピューティングで実現できる活用シナリオ3選
エッジコンピューティングで実現できる活用シナリオ3選
 
AlexaのSmart HomeをAWSで作る方法
AlexaのSmart HomeをAWSで作る方法AlexaのSmart HomeをAWSで作る方法
AlexaのSmart HomeをAWSで作る方法
 
Make your home smarter with Alexa
Make your home smarter with AlexaMake your home smarter with Alexa
Make your home smarter with Alexa
 
Alexaコミュニティーの作り方
Alexaコミュニティーの作り方Alexaコミュニティーの作り方
Alexaコミュニティーの作り方
 
Alexa and AI global meetup
Alexa and AI global meetupAlexa and AI global meetup
Alexa and AI global meetup
 
Alexa Skills Kit
Alexa Skills KitAlexa Skills Kit
Alexa Skills Kit
 
Ai専門支部#2 Amazon AlexaとAmazon Polly
Ai専門支部#2 Amazon AlexaとAmazon PollyAi専門支部#2 Amazon AlexaとAmazon Polly
Ai専門支部#2 Amazon AlexaとAmazon Polly
 
Alexa Smart Home Skill
Alexa Smart Home SkillAlexa Smart Home Skill
Alexa Smart Home Skill
 
会議室利用をIoTを使って快適にしたい
会議室利用をIoTを使って快適にしたい会議室利用をIoTを使って快適にしたい
会議室利用をIoTを使って快適にしたい
 
Io t専門支部紹介@jaws東京
Io t専門支部紹介@jaws東京Io t専門支部紹介@jaws東京
Io t専門支部紹介@jaws東京
 
IoTで畑を監視してみる
IoTで畑を監視してみるIoTで畑を監視してみる
IoTで畑を監視してみる
 
同じサービスを ECSとOpsWorksで 運用してみた
同じサービスをECSとOpsWorksで運用してみた同じサービスをECSとOpsWorksで運用してみた
同じサービスを ECSとOpsWorksで 運用してみた
 
Gobotについて
GobotについてGobotについて
Gobotについて
 
料理サプリのインフラ監視
料理サプリのインフラ監視料理サプリのインフラ監視
料理サプリのインフラ監視
 
アドテクな話
アドテクな話アドテクな話
アドテクな話
 

Alexa Skills Kitの始め方