Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
yamamotomsc
125 views
20191206_Alexaスキルを作ってみよう
マネージメントサービス株式会社のAWS若手勉強会(14回目)の資料
Engineering
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 56
2
/ 56
3
/ 56
4
/ 56
5
/ 56
6
/ 56
7
/ 56
8
/ 56
9
/ 56
10
/ 56
11
/ 56
12
/ 56
13
/ 56
14
/ 56
15
/ 56
16
/ 56
17
/ 56
18
/ 56
19
/ 56
20
/ 56
21
/ 56
22
/ 56
23
/ 56
24
/ 56
25
/ 56
26
/ 56
27
/ 56
28
/ 56
29
/ 56
30
/ 56
31
/ 56
32
/ 56
33
/ 56
34
/ 56
35
/ 56
36
/ 56
37
/ 56
38
/ 56
39
/ 56
40
/ 56
41
/ 56
42
/ 56
43
/ 56
44
/ 56
45
/ 56
46
/ 56
47
/ 56
48
/ 56
49
/ 56
50
/ 56
51
/ 56
52
/ 56
53
/ 56
54
/ 56
55
/ 56
56
/ 56
More Related Content
PPTX
Alexa Skills Kitを使って自作のSkillを作る
by
Jun Ichikawa
PDF
Rubyでalexaプログラミング
by
tanaka taro
PDF
Alexa conversations に触れてみよう
by
Mitsuya Takarashima
PPTX
JAWS-UG IoT専門支部 Amazon AI
by
Jun Ichikawa
PPTX
Lambdaを使ったAlexaスキル開発の舞台裏
by
Shinya Terasaki
PPTX
AlexaでスマートホームをDIYする
by
Jun Ichikawa
PPTX
Alexaスキルのはじめ方
by
Jun Ichikawa
PDF
Alexa Gadgets Toolkitから広がるVUIの可能性
by
Masami Yamate
Alexa Skills Kitを使って自作のSkillを作る
by
Jun Ichikawa
Rubyでalexaプログラミング
by
tanaka taro
Alexa conversations に触れてみよう
by
Mitsuya Takarashima
JAWS-UG IoT専門支部 Amazon AI
by
Jun Ichikawa
Lambdaを使ったAlexaスキル開発の舞台裏
by
Shinya Terasaki
AlexaでスマートホームをDIYする
by
Jun Ichikawa
Alexaスキルのはじめ方
by
Jun Ichikawa
Alexa Gadgets Toolkitから広がるVUIの可能性
by
Masami Yamate
Similar to 20191206_Alexaスキルを作ってみよう
PPTX
15分でできるAmazon Alexa Skill開発
by
拓哉 中山
PPTX
俺の話を聞け!Lt大会#7
by
美穂 山田
PPTX
jaws aomori 20171216
by
Shota Sugo
PPTX
Trat sprint11
by
tratwakate
PPTX
わたしたちのAlexaスキル開発 by 筑波技術大学スマートスピーカーアプリ開発チーム
by
National University Cooperation, Tsukuba University of Technology
PPTX
企業オフィシャルの Alexaスキルの プランニング はじめました(Master Cloud 11)
by
Mitsuhiro Yamashita
PPTX
Alexa Skills Kitでプロダクトの可能性を広げる
by
Jun Ichikawa
PDF
Alexaスキルを作ろう
by
真吾 吉田
PPTX
「Alexaから君へ」Master cloud #9 新春クラウドLT大会
by
Mitsuhiro Yamashita
PDF
AlexaにSkillを追加してチョメチョメしてみた
by
Ryo Nakagawa
PPTX
Alexa Skills Kitの始め方
by
Jun Ichikawa
PPTX
Alexa SDK Alexa Salon
by
Shinichi Hirauchi
PDF
Alexa Skills Kitを試す
by
Koh Uehara
PPTX
Amazon AlexaとServerless
by
Jun Ichikawa
PDF
Alexa スキル を 100 個 作って得たもの
by
Yuka Matsuba
PDF
スキル開発100チャレンジ 中間報告 / JAWS DAYS 2019 懇親会LT
by
Yuka Matsuba
PDF
Alexaスキル開発100チャレンジをやって分かったこと
by
Yuka Matsuba
PDF
Alexaで世界を変えよう
by
PE-BANK
PPTX
Alexa Skills Kitでプロダクトの可能性を広げる Re:Cap?
by
Jun Ichikawa
PDF
AudoBook Alexa Skill
by
HirokazuTanaka13
15分でできるAmazon Alexa Skill開発
by
拓哉 中山
俺の話を聞け!Lt大会#7
by
美穂 山田
jaws aomori 20171216
by
Shota Sugo
Trat sprint11
by
tratwakate
わたしたちのAlexaスキル開発 by 筑波技術大学スマートスピーカーアプリ開発チーム
by
National University Cooperation, Tsukuba University of Technology
企業オフィシャルの Alexaスキルの プランニング はじめました(Master Cloud 11)
by
Mitsuhiro Yamashita
Alexa Skills Kitでプロダクトの可能性を広げる
by
Jun Ichikawa
Alexaスキルを作ろう
by
真吾 吉田
「Alexaから君へ」Master cloud #9 新春クラウドLT大会
by
Mitsuhiro Yamashita
AlexaにSkillを追加してチョメチョメしてみた
by
Ryo Nakagawa
Alexa Skills Kitの始め方
by
Jun Ichikawa
Alexa SDK Alexa Salon
by
Shinichi Hirauchi
Alexa Skills Kitを試す
by
Koh Uehara
Amazon AlexaとServerless
by
Jun Ichikawa
Alexa スキル を 100 個 作って得たもの
by
Yuka Matsuba
スキル開発100チャレンジ 中間報告 / JAWS DAYS 2019 懇親会LT
by
Yuka Matsuba
Alexaスキル開発100チャレンジをやって分かったこと
by
Yuka Matsuba
Alexaで世界を変えよう
by
PE-BANK
Alexa Skills Kitでプロダクトの可能性を広げる Re:Cap?
by
Jun Ichikawa
AudoBook Alexa Skill
by
HirokazuTanaka13
More from yamamotomsc
PPTX
20200304 vuejs
by
yamamotomsc
PPTX
20191224 aws cloud9
by
yamamotomsc
PPTX
20191129 AWS CloudFormarion
by
yamamotomsc
PPTX
20191115_Cloud Front
by
yamamotomsc
PPTX
20191031_Amazon Api Gateway
by
yamamotomsc
PPTX
20191018 AWS Lambda
by
yamamotomsc
PDF
20191011_Route 53
by
yamamotomsc
PPTX
20190927_AWS VPC
by
yamamotomsc
PPTX
20190920 AWS IAM
by
yamamotomsc
PPTX
20190913 awscli
by
yamamotomsc
PPTX
20190906_私が使ったAWSサービス
by
yamamotomsc
PPTX
20190823_AMAZON EC2
by
yamamotomsc
PPTX
20190809_AWS第1歩目
by
yamamotomsc
20200304 vuejs
by
yamamotomsc
20191224 aws cloud9
by
yamamotomsc
20191129 AWS CloudFormarion
by
yamamotomsc
20191115_Cloud Front
by
yamamotomsc
20191031_Amazon Api Gateway
by
yamamotomsc
20191018 AWS Lambda
by
yamamotomsc
20191011_Route 53
by
yamamotomsc
20190927_AWS VPC
by
yamamotomsc
20190920 AWS IAM
by
yamamotomsc
20190913 awscli
by
yamamotomsc
20190906_私が使ったAWSサービス
by
yamamotomsc
20190823_AMAZON EC2
by
yamamotomsc
20190809_AWS第1歩目
by
yamamotomsc
20191206_Alexaスキルを作ってみよう
1.
Alexaスキルを作ってみよう 1 マネージメントサービス株式会社 風間玲央
2.
2 Alexaスキルとは Alexaは、Amazon Echo、Echo Dotをはじめとする数 多くのデバイスで中枢的な働きをするAmazonの音 声サービスです。 https://developer.amazon.com/ja-JP/alexa/alexa- skills-kit ⇒スマートスピーカーやスマートフォンに話しかける と、色んなことをしてくれる音声サービス!
3.
今回作るスキル 好きな言葉(+です)を話しかけると、Alexaがその言 葉をそのまま返します。 目的:AWSを使って、簡単に音声サービスが作れるこ とを体験する 3
4.
事前準備 ・必ず用意:PCとAmazon Developerアカウント (Amazonのショッピングサイトのアカウントを登録で きます。)⇒登録方法はスライド5~11へ ・あると良い1:Visual Studio
Code (https://azure.microsoft.com/ja-jp/products/visual- studio-code/) (検索エンジンで「Visual Studio Code」で検索してイ ンストール) ・あると良い2:スマートフォンとAlexaアプリ(アプリ ストアから「Amazon Alexa」で検索してインストール) ・あると便利かも:マイク付きのイヤホン・ヘッドホン (Alexaとのやり取りで使用。なくてもテストはブラウ ザ上でテキストのやり取りでできます。) Alexaアプリ 4
5.
Amazon Developerアカウントの登録 5
6.
スキル開発を始める Alexaスキルを開発する (https://developer.amazon.com /ja-JP/alexa/alexa-skills- kit/build)にアクセスし、「スキル 開発を始める」をクリックします。 「Alexaスキルを開発する」で検 索すると出てきます。 6
7.
ログイン Amazonアカウントでログインし ます。 アカウントがなければ、新しく Amazonアカウントを作成します。 7
8.
プロフィール入力 ログイン後、開発者としてのプ ロフィール情報を入力します。 メールアドレス、電話番号、住 所等は個人のものでも会社の ものでも、アカウント作成が可 能です(スキルを公開した場合 の連絡先になります)。 入力し終わったら、「保存して続 行」をクリックします。 8
9.
Agreementを承認 「承認して続行」をクリックします。 9
10.
開発者プロフィールの 作成完了 「後で行う」をクリックします。 10
11.
Amazon Developer ダッシュボード 開発者プロフィールの作成が完 了すると、Amazon Developer (https://developer.amazon.com /dashboard)のダッシュボードに 遷移します。 以上でAmazon
Developerアカウ ントの登録は完了です。 11
12.
対話モデルの作成 12
13.
Amazon Developer にアクセス Amazon Developer
にログインし ていない場合、 Amazon Developer (https://developer.amazon.com /ja/)にアクセスします。 (「amazon developer」で検索す ると出てきます。) 「ログイン」をクリックします。 13
14.
ログイン 開発者プロフィールを作成した Amazonアカウントでログインし ます。 14
15.
Alexa のページへ ログインしたら、「Alexa」をクリッ クします。 15
16.
開発者コンソールへ Alexaのトップページ ( https://developer.amazon.com /ja-JP/alexa/ )に入ったら「Alexa Skills
Kit」タブの「開発者コン ソール」をクリックします。 16
17.
スキルの作成 alexa developer console (
https://developer.amazon.com /alexa/console/ask )から 「スキルの作成」をクリックしま す。 17
18.
スキル名、言語、モデルを 入力・選択 任意のスキル名を入力して「ス キルを作成」をクリックします。 デフォルトの言語、スキルに追 加するモデルはそのまま「日本 語(日本)」と「カスタム」にしてお きます。 下にスクロールします。 18
19.
ホスティングする方法を 選択 「Alexa-Hosted (Node.js)」を選択 したら、上にスクロールして「ス キルを作成」をクリックします。 19
20.
呼び出し名を選択 「呼び出し名」をクリックします。 20
21.
呼び出し名を入力 スキルを呼び出すときに話しか ける、呼び出し名を入力します。 何でもよいですが、「呼び出し名 の要件」(画面参照)は満たす 必要があります(※)。 入力後、「モデルをビルド」をク リックします。 ※日常的に使う言葉ではなく、 スキル特有の呼び出し名にした 方が、Alexaがスキルの呼び出 しを認識しやすくなります。 21
22.
HelloWorldIntentを確認 ビルドを待っている間にインテ ントを見てみます。 「HelloWorldIntent」をクリックし てください。 22
23.
インテントとは スキルで実行するアクションの ことをインテントと言います。 サンプル発話に登録された言 葉を話しかけると、インテントが 呼ばれます。 デフォルトでは、「Hello」「how are you」など7個のインテントが 登録されています。 23
24.
デプロイへ 「完全ビルドが完了しました」と 表示されたら、「コードエディタ」 をクリックします。 24
25.
デプロイ 「デプロイ」をクリックします。 25
26.
テストへ 「デプロイが完了しました」と表 示されたら、「テスト」をクリック します。 26
27.
テストを有効化 デフォルトではテストが無効に なっているので、リストボックス から「開発中」を選んでテストを 有効にします。 27
28.
テストを実行 テキストを入力してEnterでAlexa とのやり取りをシミュレーション できます。 [呼び出し名(ここでは「こだ ま」)]でスキルを呼び出し、サン プル発話に登録されている発話 (ここでは「hello」)でインテント を呼び出します。 やり取りを確認したら、「ビルド」 タブに戻ります。 28
29.
インテントを追加 「インテント」の右にある「+追 加」をクリックします。 29
30.
カスタムインテントを作成 テキストボックスに「EchoIntent」 と入力して「カスタムインテント を作成」をクリックします。 30
31.
インテントスロットを作成 下にスクロールします。 31
32.
インテントスロットを追加 インテントスロットの名前に 「phrase」と入力して「+」ボタン をクリックします。 32
33.
スロットタイプを選択 スロットタイプを 「AMAZON.SerchQuery」にしま す。(本来は検索用のスロットタ イプです。何でも受け取ること ができるので、今回はこちらを 利用します。) 33
34.
サンプル発話を追加 ページ上部に戻ってサンプル発 話に「{phrase} です」と入力しま す。「 {phrase}は「{」を入力する と出てくる候補から選択できま す。その後ろに「半角スペース +です」を入力します。 ※入力後、「+」ボタンをクリック します。 34
35.
スロットの編集へ サンプル発話に「{phrase} で す」が追加されたら、インテント スロットの「phrase」をクリックし ます。 35
36.
スロットを必須に 「このインテントを完了させるた めに、このスロットは必須です か?」をオンにします。 36
37.
スロット入力を編集 Alexaの音声プロンプトにAlexa が話しかける任意の言葉を入 力して「+」ボタンをクリックしま す。 さらに、ユーザーの発話に 「{phrase}」を入力して「+」ボタ ンをクリックします。 37
38.
モデルをビルド サンプル発話に「{phrase} で す」が追加されたら、「インター フェース」をクリックします。 38
39.
インターフェースへ 画面下部「オートデリゲート」の スイッチボタンをクリックして無 効にします。 39
40.
モデルをビルド インターフェースがすべて無効に なったら、「インターフェースを保 存」をクリックします。 その後、「モデルをビルド」をク リックします。 「完全ビルドが完了しました」と表 示されたら、対話モデルの作成 は完了です( ※ )
。 ※ 「{phrase}」と「です」の間に半 角スペースがなかったり、全角ス ペースが混ざっていたりすると、 エラーになるので注意。 40
41.
AWS Lambda関数(Node.js)の実装 41
42.
コードエディタへ 「完全ビルドが完了しまし た」と表示されたら、「コード エディタ」をクリックします。 42
43.
Index.jsを編集 ソースコードの編集画面に 遷移します。 まずは、表示されている index.jsを編集していきます。 なお、ソースコードは以下の 場所にあります。 https://github.com/forshoes -admin/Alexa- reception/tree/master/hand s-on 画面上のソースコードを編 集したら、 「保存」をクリック またはCtrl +
Sで保存できま す。 43
44.
参考:Visual Studio Codeで編集 Index.jsのソースコードを全 選択してコピーし、 Visual Studio
Codeに言語を 「JavaScript」、インデントを 「スペース:2」にして張り付け ると見やすく、編集しやすい です。 編集が終わったら、 Visual Studio Codeのソースコード を全選択してコピーし、 alexa developer consoleの ソースコードを全選択して上 書きで貼り付けます 44
45.
LaunchRequestHandler を編集 const LaunchRequestHandler =
{ canHandle(handlerInput) { return Alexa.getRequestType(handlerInput.requestEnvelope) === 'LaunchRequest'; }, handle(handlerInput) { console.log(“LaunchRequestHandlerのhandleを呼び出し"); return handlerInput.responseBuilder .addDelegateDirective({ name: 'EchoIntent', confirmatioinStatus: 'NONE', slots: {} }) .getResponse(); } }; LaunchRequestHandler ( const LaunchRequestHandler = { };の波括弧の中)を右の通り に編集します。 45
46.
解説 addDelegateDirective 関数に渡すオブジェクト const LaunchRequestHandler =
{ ………………………………………………(省略)……………………………………………………………… handle(handlerInput) { console.log("LaunchRequestHandlerが起動"); return handlerInput.responseBuilder .addDelegateDirective({ name: 'EchoIntent', confirmatioinStatus: 'NONE', slots: {} }) .getResponse(); } }; nameプロパティにはインテント名を指 定します。 confirmatioinStatusプロパティにはイ ンテントが確認されたか (CONFIRMED)、拒否されたか (DENIED)を表します。NONEの場合 は、ユーザーにまだ確認を行ってい ないことを表します。 slotsプロパティには、スロット値を指 定します。今回はプログラムからス ロット値を指定しないので、空のオブ ジェクトを指定します。 最後にgetResponse関数を呼び出し てレスポンスを返します。 46
47.
EchoIntentHandler を追加 const EchoIntentHandler =
{ canHandle(handlerInput) { return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest' && Alexa.getIntentName(handlerInput.requestEnvelope) === 'EchoIntent' && Alexa.getDialogState(handlerInput.requestEnvelope) !== 'COMPLETED' }, handle(handlerInput) { console.log("EchoIntentHandlerのhandleを呼び出し"); let speakOutput = ""; try { speakOutput = Alexa.getSlotValue(handlerInput.requestEnvelope, "phrase"); } catch (e) { console.error(e); } return handlerInput.responseBuilder .speak(speakOutput) .getResponse(); } }; 右の通りの EchoIntentHandler (const EchoIntentHandler = { };の波括弧)を追加します。 追加する場所は任意ですが、 LaunchRequestHandler とHelloWorldIntentHandler の間に追加しました(次ペー ジ参照)。 47
48.
EchoIntentHandler を追加する場所 const LaunchRequestHandler =
{ ………………………………………………(省略)……………………………………………………………… }; const EchoIntentHandler = { canHandle(handlerInput) { ………………………………………………(省略)……………………………………………………………… }, handle(handlerInput) { ………………………………………………(省略)……………………………………………………………… } }; const HelloWorldIntentHandler = { ………………………………………………(省略)……………………………………………………………… }; LaunchRequestHandler とHelloWorldIntentHandler の間に追加しました。 48
49.
解説 const EchoIntentHandler =
{ ………………………………………………(省略)……………………………………………………………… handle(handlerInput) { console.log("EchoIntentHandlerのhandleを呼び出し"); let speakOutput = ""; try { speakOutput = Alexa.getSlotValue(handlerInput.requestEnvelope, "phrase"); } catch (e) { console.error(e); } return handlerInput.responseBuilder .speak(speakOutput) .getResponse(); } }; getSlotValue関数は、 handlerInput.requestEnvelo peとインテントスロット名を 引数として呼び出すと、取得 したスロットの値が返ってき ます。 speak関数は、Alexaの応答 メッセージを引数として呼び 出すと、Alexaが引数の値で 応答します。今回は、スロッ トの値そのままでAlexaが応 答します。 49
50.
handler関数を編集 exports.handler = Alexa.SkillBuilders.custom() .addRequestHandlers( LaunchRequestHandler, EchoIntentHandler, HelloWorldIntentHandler, HelpIntentHandler, CancelAndStopIntentHandler, SessionEndedRequestHandler, //IntentReflectorHandler,
// make sure IntentReflectorHandler is last so it doesn't override your custom intent handlers ) .addErrorHandlers( ErrorHandler, ) .lambda(); handler関数内の addRequestHandlers 関数の 引数にEchoIntentHandlerを 追加し、 IntentReflectorHandler(テス ト・デバッグ用の関数)をコメ ントアウトします。 以上でindex.jsの編集は完 了です。 50
51.
デプロイ alexa developer consoleで index.jsの編集が完了したら、 「デプロイ」をクリックしてデ プロイします。 51
52.
デプロイ完了 「デプロイが完了しました」と 表示されたら、デプロイ完了 です。 早速テストをしてみましょう。 52
53.
動作を確認 「こだま」で呼び出し、「〇〇 です」に対して、Alexaが「〇 〇」と返すのを確認できます。 開発者アカウントでログイン してAlexaアプリを使えば、シ ミュレーションではなく、実際 のAlexaの動作を確認できま す。 53
54.
最後に 54
55.
Alexaスキル開発についてもっと学びたい場合 ・今回は「〇〇です」で発話していますが、以下のサイトの方法を使うとテキストをそのまま発話し てオウム返しできます。 Alexaで自由テキストをつかむ方法 ー おうむ返しくんの場合
ー (https://note.mu/torusnote/n/n77896a394177 2019年12月2日最終アクセス) ・公式サンプルコード(2019年12月5日最終アクセス) ファクトスキルのテンプレート(https://github.com/alexa/skill-sample-nodejs-fact/tree/ja-JP) トリビアスキルのテンプレート(https://github.com/alexa/skill-sample-nodejs-trivia/tree/ja-JP) クイズゲームスキルのテンプレート(https://github.com/alexa/skill-sample-nodejs-quiz- game/tree/ja-JP) ・ Alexa公式ブログには、スキルの学習用サンプルや、新しい機能の紹介があります。 Alexa公式ブログ 日本向け記事 ( https://developer.amazon.com/ja/blogs/alexa/tag/Japan 2019年12月2日最終アクセス) 55
56.
参考 ・ Alexa Skills
Kit Official Site: Build Skills for Voice (https://developer.amazon.com/ja/alexa-skills-kit 2019年12月2日最終アクセス) ・【Alexa】Connpass用の受付スキルを作ってみた #Alexa #AlexaDevs(https://dev.classmethod.jp/voice- assistant/try-to-develop-registration-skill/ 2019年12月2日最終アクセス) ・Alexaスキル開発トレーニングシリーズ第4回: ユーザーとの対話 ( https://developer.amazon.com/ja/blogs/alexa/post/319a5083-7858-4cb2-987e- 5bcd7f833533/alexatraining-dialog 2019年12月2日最終アクセス) ・インテントチェーンを使って別のインテントのダイアログを管理する Dialog.Delegateを使ったインテントの チェーン (https://developer.amazon.com/ja/blogs/alexa/post/b3939b11-5cef-4598-b2f9- c7ad904e1692/understanding-intent-chaining 2019年12月2日最終アクセス) ・[日本語Alexa] Alexa SDK for Node.js Ver2入門(その3)レスポンスの作成 (https://dev.classmethod.jp/cloud/alexa-sdk-v2-third/ 2019年12月2日最終アクセス) ・【Alexa】ASK SDKにスキルエンジニアの強い味方「ASK SDK Utilities」が登場。 #Alexa #AlexaDevs (https://dev.classmethod.jp/voice-assistant/introduce-to-ask-sdk-utilities/ 2019年12月2日最終アクセス) 56
Download