<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Alexa Skill Kit &#8211; 機械学習 入門コースの決定版!機械学習エンジニアを目指すならcodexa（コデクサ）</title>
	<atom:link href="https://www.codexa.net/category/alexa-skill-kit/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.codexa.net</link>
	<description>毎日1400名以上のエンジニアが利用してる機械学習 入門コースの決定版！機械学習に必要な線形代数や統計基礎、Pythonライブラリなどの基礎コースも無料で公開中！</description>
	<lastBuildDate>Tue, 20 Feb 2018 10:15:57 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.7.7</generator>

<image>
	<url>https://www.codexa.net/wp-content/uploads/2017/11/cropped-favicon-32x32.png</url>
	<title>Alexa Skill Kit &#8211; 機械学習 入門コースの決定版!機械学習エンジニアを目指すならcodexa（コデクサ）</title>
	<link>https://www.codexa.net</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>【初心者入門編】日本語に対応したAlexa Skill Kit（ASK）を使ってみよう</title>
		<link>https://www.codexa.net/alexa-skill-kit-beginner-tutorial/</link>
					<comments>https://www.codexa.net/alexa-skill-kit-beginner-tutorial/#respond</comments>
		
		<dc:creator><![CDATA[codexaチーム]]></dc:creator>
		<pubDate>Thu, 16 Nov 2017 05:52:17 +0000</pubDate>
				<category><![CDATA[Alexa Skill Kit]]></category>
		<guid isPermaLink="false">https://www.codexa.net/?p=423</guid>

					<description><![CDATA[Amazon Alexa（アマゾン・アレクサ）の日本語対応に首を長くして待ちわびていたエンジニアの方々も多いかと思いますが、私もその一人です！日本国内でAIスピーカーの販売開始が続々と決まり、とうとう本家（？）のAmaz [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Amazon Alexa（アマゾン・アレクサ）の日本語対応に首を長くして待ちわびていたエンジニアの方々も多いかと思いますが、私もその一人です！<a href="https://www.codexa.net/smart-speaker-comparision-2017/" target="_blank" rel="noopener">日本国内でAIスピーカーの販売開始</a>が続々と決まり、とうとう本家（？）のAmazon Echo（アマゾン・エコー）の発売も開始となりました。</p>
<p>AIスピーカーですが、最大の強みは「Skill（スキル」にあると考えています。スマートフォンが世の中に出た時に、私は「アプリ」と言う仕組みに感銘を受けました。今まで電話やメールをして、少し音楽が聞けるくらいの「携帯電話」が、アプリの仕組みが出来たことで、オンラインショッピングが劇的に使いやすくなり、スケジュール管理や他のことまでも、気づけば携帯電話が中心となる生活に激変したのです。</p>
<p>AIスピーカーも同様のものになると信じています。今までは音楽を楽しむ機械が、「Skill」を身に付けることにより、劇的に便利なデバイスに変貌を遂げると確信しています。</p>
<div id="attachment_427" style="width: 418px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-427" loading="lazy" class="wp-image-427 size-full" src="https://www.codexa.net/wp-content/uploads/2017/11/amazon-echo-skill.png" alt="" width="408" height="359" srcset="https://www.codexa.net/wp-content/uploads/2017/11/amazon-echo-skill.png 408w, https://www.codexa.net/wp-content/uploads/2017/11/amazon-echo-skill-300x264.png 300w, https://www.codexa.net/wp-content/uploads/2017/11/amazon-echo-skill-243x214.png 243w, https://www.codexa.net/wp-content/uploads/2017/11/amazon-echo-skill-180x158.png 180w" sizes="(max-width: 408px) 100vw, 408px" /><p id="caption-attachment-427" class="wp-caption-text">アマゾン・エコーの日本向けのスキルの例</p></div>
<p>さて、前置きが長くなりましたが、日本語対応をした「Alexa Skill Kit（アレクサ・スキル・キット）」を使って、アマゾン・エコー用のスキルの開発の仕方を見ていきましょう！</p>
<h3>今回作ってみるもの</h3>
<p>今回はあくまで簡単な紹介をメインにしたいので、「触る」程度でやっていきましょう。このチュートリアルでは、「<strong>ショートジョークを返してくれるスキル</strong>」を作ってみましょう。</p>
<p>Alexaスキルの一番基本となる仕組み「カスタムスキル」を使って、AlexaサービスとAWS Lambdaを連携させてスキルを作ります。</p>
<p>なお、今回はまだ手元にAmazon Echoが届いていないので、Echo本機でのテストは行えませんので、Alexaサービス上でテストを行いましょう。（<span style="color: #808080;">11月16日の現時点でまだ招待リクエストを送っている状態で、招待メールが私は届いていないです。。1日も早くEchoくんが届くことを祈ってます。</span>）</p>
<h3>Alexaスキルの種類と仕組み</h3>
<p>まずは簡単にAlexaスキルの種類と仕組みについて説明します。すでにアメリカでは25,000を超えるスキルがエンジニアにより開発をされているAlexaスキルですが、主に3つの種類があります。</p>
<ul>
<li>カスタムスキル＝汎用のスキル</li>
<li>スマートホームスキル＝家電などを制御に特化したスキル</li>
<li>フラッシュブリーフィングスキル＝ニュースや短いコンテンツを読み上げるスキル</li>
</ul>
<p>Alexaに話しかけた内容を取得して、返答を返す汎用的なスキルがカスタムスキルと言われており、これが一番ベースのスキルとなります。他の2つのスマートフォームスキル、フラッシュブリーフィングスキルに関しては、専用のAPIが用意されていて、用途に特化した「専門」スキルという認識で大丈夫です。</p>
<p>さて次はAlexaの仕組みを簡単に紐解いていきましょう。</p>
<p><img loading="lazy" class="aligncenter size-full wp-image-429" src="https://www.codexa.net/wp-content/uploads/2017/11/Amazon-Alexa-how-it-works.jpg" alt="" width="638" height="359" srcset="https://www.codexa.net/wp-content/uploads/2017/11/Amazon-Alexa-how-it-works.jpg 638w, https://www.codexa.net/wp-content/uploads/2017/11/Amazon-Alexa-how-it-works-300x169.jpg 300w, https://www.codexa.net/wp-content/uploads/2017/11/Amazon-Alexa-how-it-works-304x171.jpg 304w, https://www.codexa.net/wp-content/uploads/2017/11/Amazon-Alexa-how-it-works-281x158.jpg 281w" sizes="(max-width: 638px) 100vw, 638px" /></p>
<p>こちらですが、「カスタムスキル」の動きをまとめた図となります。流れとしては、下記となります。</p>
<ol>
<li>ユーザーがスピーカーに話しかける</li>
<li>スピーカーがマイクで音声を拾って「Alexa Service」へ送る</li>
<li>「Alexa Service」が音声データを解析して外部データソースに実行命令を送る</li>
<li>外部データソースが音声データに基づいた処理を実行してAlexaサービスへ返答を返す</li>
<li>Alexaサービスは「返答」に応じた音声データを作ってスピーカーへ送信</li>
<li>スピーカーが音声データを再生してユーザーへ答える</li>
</ol>
<p>大まかな仕組みとしては上記の流れとなります。今回は外部データソースをAWS Lambdaを使って作ります。</p>
<h3>Alexaスキルを開発するための準備</h3>
<p>さて、まず準備から始めましょう。今回ですが、下記の2つのサービスのアカウントが必要となります。</p>
<ul>
<li><a href="https://developer.amazon.com/ja/" target="_blank" rel="noopener">Amazon Developerアカウント</a></li>
<li><a href="https://aws.amazon.com/jp/free/" target="_blank" rel="noopener">AWSアカウント</a></li>
</ul>
<p>両方のサービスは無料または<strong>無料枠</strong>が用意されています。AWSの方は、確か無料枠が使えるのですが、クレジットカードの登録も必要となっているはずです。少し面倒ですが、Alexaスキルで遊ぶのに最低限Amazon Developerアカウントは必須となりますので、ぜひこの機会に登録しましょう。</p>
<div id="attachment_432" style="width: 1034px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-432" loading="lazy" class="wp-image-432 size-large" src="https://www.codexa.net/wp-content/uploads/2017/11/amazon-developers-1024x466.png" alt="" width="1024" height="466" srcset="https://www.codexa.net/wp-content/uploads/2017/11/amazon-developers-1024x466.png 1024w, https://www.codexa.net/wp-content/uploads/2017/11/amazon-developers-300x137.png 300w, https://www.codexa.net/wp-content/uploads/2017/11/amazon-developers-768x350.png 768w, https://www.codexa.net/wp-content/uploads/2017/11/amazon-developers-304x138.png 304w, https://www.codexa.net/wp-content/uploads/2017/11/amazon-developers.png 1199w" sizes="(max-width: 1024px) 100vw, 1024px" /><p id="caption-attachment-432" class="wp-caption-text">Amazon Developerの会員登録が完了すると、こちらのダッシュボードへのアクセスが可能となりま。</p></div>
<h3>早速、Alexaスキルを作ってましょう</h3>
<p>Amazon DeveloperとAWSのアカウントの作成が完了したら、早速、Amazon Developerの開発者コンソールからAlexaスキルの作成や初期設定を行って見ましょう。</p>
<p>Amazon Developerへまずはログインをしていただいて、上部メニューから「Alexa」を選んでください。Alexaへ移動すると、下記の画面で「Alexa Skills Kit」の機能を作成することが可能です。</p>
<p><img loading="lazy" class="aligncenter size-large wp-image-433" src="https://www.codexa.net/wp-content/uploads/2017/11/alexa-skill-1-1024x356.png" alt="" width="1024" height="356" srcset="https://www.codexa.net/wp-content/uploads/2017/11/alexa-skill-1-1024x356.png 1024w, https://www.codexa.net/wp-content/uploads/2017/11/alexa-skill-1-300x104.png 300w, https://www.codexa.net/wp-content/uploads/2017/11/alexa-skill-1-768x267.png 768w, https://www.codexa.net/wp-content/uploads/2017/11/alexa-skill-1-304x106.png 304w, https://www.codexa.net/wp-content/uploads/2017/11/alexa-skill-1.png 1241w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>&nbsp;</p>
<p>次の画面で「<strong>新しいスキルを追加する</strong>」をクリックしましょう。</p>
<p><img loading="lazy" class="aligncenter size-large wp-image-434" src="https://www.codexa.net/wp-content/uploads/2017/11/alexa-skill-create-1024x194.png" alt="" width="1024" height="194" srcset="https://www.codexa.net/wp-content/uploads/2017/11/alexa-skill-create-1024x194.png 1024w, https://www.codexa.net/wp-content/uploads/2017/11/alexa-skill-create-300x57.png 300w, https://www.codexa.net/wp-content/uploads/2017/11/alexa-skill-create-768x145.png 768w, https://www.codexa.net/wp-content/uploads/2017/11/alexa-skill-create-304x58.png 304w, https://www.codexa.net/wp-content/uploads/2017/11/alexa-skill-create-1200x228.png 1200w, https://www.codexa.net/wp-content/uploads/2017/11/alexa-skill-create.png 1205w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>さて、次はAlexaスキルの初期設定画面です。先述しましたが、今回は一番基礎となる「カスタムスキル」を使います。ですので、スキルの種類は「<strong>カスタム対話モデル</strong>」を選びましょう。</p>
<p>そして・・次は肝心です！長年待ちくたびれた人も多いと思いますが、とうとう日本語の選択オプションが！！言語の設定は「<strong>Japanese</strong>」を選びましょう！（涙）</p>
<p>スキル名ですが、今回は「<strong>ShortJoke</strong>」としました。また呼び出し名も「<strong>ショートジョーク</strong>」と設定しています。スキル名、呼び出し名共に、実際にAlexaスキルを公開する場合は重要な設定項目になります。本番開発の場合は、しっかりと吟味しましょう。</p>
<p>「<strong>グローバルフィールド</strong>」はデフォルトの設定のままで大丈夫です。設定の選択/入力が完了したら、「<strong>保存</strong>」をしてください。</p>
<p><img loading="lazy" class="aligncenter size-full wp-image-435" src="https://www.codexa.net/wp-content/uploads/2017/11/alexa-skill-initial-setting-jp.png" alt="" width="811" height="325" srcset="https://www.codexa.net/wp-content/uploads/2017/11/alexa-skill-initial-setting-jp.png 811w, https://www.codexa.net/wp-content/uploads/2017/11/alexa-skill-initial-setting-jp-300x120.png 300w, https://www.codexa.net/wp-content/uploads/2017/11/alexa-skill-initial-setting-jp-768x308.png 768w, https://www.codexa.net/wp-content/uploads/2017/11/alexa-skill-initial-setting-jp-304x122.png 304w" sizes="(max-width: 811px) 100vw, 811px" /></p>
<p>スキルの設定が完了すると、左メニュー「スキル情報」のチェックマークが緑に変わっているのが確認できるかと思います。これで設定はばっちしです！</p>
<p><img loading="lazy" class="aligncenter size-full wp-image-438" src="https://www.codexa.net/wp-content/uploads/2017/11/skill-indicator-menu.png" alt="" width="179" height="261" srcset="https://www.codexa.net/wp-content/uploads/2017/11/skill-indicator-menu.png 179w, https://www.codexa.net/wp-content/uploads/2017/11/skill-indicator-menu-147x214.png 147w, https://www.codexa.net/wp-content/uploads/2017/11/skill-indicator-menu-108x158.png 108w" sizes="(max-width: 179px) 100vw, 179px" /></p>
<h3>スキルビルダー（ベーダ版）で対話モデル作成</h3>
<p>初期設定も無事に完了しましたので、次はAlexaサービス側でユーザーから話かけられた言葉を処理する対話モデルを作っていきましょう。</p>
<p>「対話モデル」のページで、下記の「<strong>スキルビルダーを起動する</strong>」をクリックしましょう。</p>
<p><img loading="lazy" class="aligncenter size-full wp-image-441" src="https://www.codexa.net/wp-content/uploads/2017/11/alexa-skill-builder.png" alt="" width="1004" height="343" srcset="https://www.codexa.net/wp-content/uploads/2017/11/alexa-skill-builder.png 1004w, https://www.codexa.net/wp-content/uploads/2017/11/alexa-skill-builder-300x102.png 300w, https://www.codexa.net/wp-content/uploads/2017/11/alexa-skill-builder-768x262.png 768w, https://www.codexa.net/wp-content/uploads/2017/11/alexa-skill-builder-304x104.png 304w" sizes="(max-width: 1004px) 100vw, 1004px" /></p>
<p>クリックすると、スキルビルダーが立ち上がります。このビルダーですが、まだベータ版で使い勝手が少し判りづらいですが・・とりあえず今回は動かすのが目標なので、細かいところには目を瞑りましょう笑。</p>
<p>では、次に「インテント」を作りましょう。「インテント」については、まだ後日詳しい説明を行いますが、「<strong>ユーザーが話しかけた内容を汲み取ってコンピューターが理解できるリクエストへ関連づける</strong>」とざっくり覚えておきましょう。参考までにですが、英語のIntentは「目的」「意図」という意味です。</p>
<p><img loading="lazy" class="aligncenter size-full wp-image-442" src="https://www.codexa.net/wp-content/uploads/2017/11/add-intent-alexa.png" alt="" width="705" height="255" srcset="https://www.codexa.net/wp-content/uploads/2017/11/add-intent-alexa.png 705w, https://www.codexa.net/wp-content/uploads/2017/11/add-intent-alexa-300x109.png 300w, https://www.codexa.net/wp-content/uploads/2017/11/add-intent-alexa-304x110.png 304w" sizes="(max-width: 705px) 100vw, 705px" /></p>
<p>次の画面では、実際にインテントの追加が可能です。「Create a new custom intent」がデフォルトで選択されていますので、こちらに「<strong>TellJoke</strong>」というインテントを作成しましょう。</p>
<p><img loading="lazy" class="aligncenter size-full wp-image-443" src="https://www.codexa.net/wp-content/uploads/2017/11/create-intent-alexa.png" alt="" width="528" height="196" srcset="https://www.codexa.net/wp-content/uploads/2017/11/create-intent-alexa.png 528w, https://www.codexa.net/wp-content/uploads/2017/11/create-intent-alexa-300x111.png 300w, https://www.codexa.net/wp-content/uploads/2017/11/create-intent-alexa-304x113.png 304w" sizes="(max-width: 528px) 100vw, 528px" /></p>
<div class="su-note"  style="border-color:#dfdfde;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;"><div class="su-note-inner su-u-clearfix su-u-trim" style="background-color:#f9f9f8;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;">「Use an existing intent from the built-in library」では、「買う」や「キャンセル」などの一般的なインテントの利用が可能です。こちらも後日、詳しく見ていきたいと思いますが、今回は使いません。</div></div>
<p>次に今追加した「TellJoke」にサンプル発話（Sample Utterances）を登録していきましょう。サンプル発話ですが、ユーザーが話しかける言葉（発話）を、特定のインテント（TellJoke）と紐付ける構造化された文字列と考えてください。</p>
<p>Amazon Dotへの話しかけ方は、それこそ人それぞれですよね。「冗談言って」「面白いこと言って」「笑わせて」などなど。このサンプル発話では、このようなユーザーの支持の「揺れ」を予め想定して登録させておくことで、Alexaがよりユーザーが意図をしている支持を汲み取りやすくしてくれます。</p>
<p>また、サンプル発話に登録されていなくてもAlexaが学習をして「TellJoke」のインテントへ紐付けをしてくれます。ただ、これはあくまでAlexaの学習精度によります。実際にどれくらいの精度で紐付けを行ってくれるのかは判りませんので、サンプル発話は思いつく限り、登録をしておくべきでしょう。</p>
<p><img loading="lazy" class="aligncenter size-full wp-image-445" src="https://www.codexa.net/wp-content/uploads/2017/11/alexa-sample-utterances.png" alt="" width="996" height="419" srcset="https://www.codexa.net/wp-content/uploads/2017/11/alexa-sample-utterances.png 996w, https://www.codexa.net/wp-content/uploads/2017/11/alexa-sample-utterances-300x126.png 300w, https://www.codexa.net/wp-content/uploads/2017/11/alexa-sample-utterances-768x323.png 768w, https://www.codexa.net/wp-content/uploads/2017/11/alexa-sample-utterances-304x128.png 304w" sizes="(max-width: 996px) 100vw, 996px" /></p>
<p>登録したサンプル発話</p>
<ul>
<li>ジョークを言って</li>
<li>ジョークを教えて</li>
<li>笑たい</li>
<li>笑わせて</li>
<li>冗談教えて</li>
<li>冗談言って</li>
</ul>
<p>上記の6つしか登録を私はしませんでしたが、まだ思いつくサンプル発話がありましたら、登録をして見てください。登録が完了したら「<strong>Save Model</strong>」（モデルを保存）をクリックした後に「<strong>Build Model</strong>」（モデル構築）を行いましょう。</p>
<div class="su-note"  style="border-color:#dfdfde;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;"><div class="su-note-inner su-u-clearfix su-u-trim" style="background-color:#f9f9f8;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;">モデル構築ですが、2〜3分程度かかりますので、終わるまでお待ちください。</div></div>
<p>モデルの構築が完了したら、「Configuration」をクリックしてAlexaスキルの画面へ戻りましょう。</p>
<p><img loading="lazy" class="aligncenter size-large wp-image-447" src="https://www.codexa.net/wp-content/uploads/2017/11/intent-build-1024x381.png" alt="" width="1024" height="381" srcset="https://www.codexa.net/wp-content/uploads/2017/11/intent-build-1024x381.png 1024w, https://www.codexa.net/wp-content/uploads/2017/11/intent-build-300x112.png 300w, https://www.codexa.net/wp-content/uploads/2017/11/intent-build-768x286.png 768w, https://www.codexa.net/wp-content/uploads/2017/11/intent-build-304x113.png 304w, https://www.codexa.net/wp-content/uploads/2017/11/intent-build.png 1630w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<h3>次はAWS Lambdaを作りましょう</h3>
<p>さて、一旦Alexaスキルの方が置いときましょう。次はAWS Lambdaの設定と作成を行います。<a href="https://aws.amazon.com/jp/" target="_blank" rel="noopener">AWSアカウント</a>へログインをして、Lambdaのサービス画面へ移動しましょう。</p>
<p>リージョンはどこでも大丈夫なのですが、私は「アジアパシフィック（東京）」を今回使っています。同等の設定をご希望の方は、東京リージョンへ設定を行いましょう。</p>
<p><img loading="lazy" class="aligncenter size-full wp-image-448" src="https://www.codexa.net/wp-content/uploads/2017/11/aws-lambda-reagion.png" alt="" width="397" height="498" srcset="https://www.codexa.net/wp-content/uploads/2017/11/aws-lambda-reagion.png 397w, https://www.codexa.net/wp-content/uploads/2017/11/aws-lambda-reagion-239x300.png 239w, https://www.codexa.net/wp-content/uploads/2017/11/aws-lambda-reagion-171x214.png 171w, https://www.codexa.net/wp-content/uploads/2017/11/aws-lambda-reagion-126x158.png 126w" sizes="(max-width: 397px) 100vw, 397px" /></p>
<p>リージョンの確認が出来たら、次は「<strong>関数の作成</strong>」をクリックしましょう。下記のような「<strong>設計図</strong>」の選択画面へ遷移するかと思います。</p>
<p><img loading="lazy" class="aligncenter size-large wp-image-449" src="https://www.codexa.net/wp-content/uploads/2017/11/aws-lambda-alexa-function-1024x757.png" alt="" width="1024" height="757" srcset="https://www.codexa.net/wp-content/uploads/2017/11/aws-lambda-alexa-function-1024x757.png 1024w, https://www.codexa.net/wp-content/uploads/2017/11/aws-lambda-alexa-function-300x222.png 300w, https://www.codexa.net/wp-content/uploads/2017/11/aws-lambda-alexa-function-768x568.png 768w, https://www.codexa.net/wp-content/uploads/2017/11/aws-lambda-alexa-function-289x214.png 289w, https://www.codexa.net/wp-content/uploads/2017/11/aws-lambda-alexa-function-214x158.png 214w, https://www.codexa.net/wp-content/uploads/2017/11/aws-lambda-alexa-function.png 1036w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>フィルターの追加の検索窓に「<strong>alexa</strong>」と入力すると、Alexa関連の設計図が絞り込まれます。その中から、「<strong>alexa-skill-kit-sdk-factskill</strong>」（nodejs6.10・alexa）のリンクをクリックしましょう。この設計図を使って、関数作成の画面へ遷移します。</p>
<p>次に関数の基本情報の設定となります。「名前」の欄に「<strong>telljoke</strong>」と入力して、ロールを「<strong>カスタ</strong><strong>ムロールの作成</strong>」をクリックしましょう。</p>
<p>カスタムロールの作成をクリックすると、ロール作成画面のタブが新規に立ち上がります。特に編集は必要ありませんので、右下にある「<strong>許可</strong>」をクリックしましょう。</p>
<p>最後に関数の作成の最終確認画面へ遷移します。最下部にある「<strong>関数の作成</strong>」をクリックすれば、関数の作成は完了です。</p>
<div id="attachment_450" style="width: 1018px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-450" loading="lazy" class="wp-image-450 size-full" src="https://www.codexa.net/wp-content/uploads/2017/11/lambda-basic-setting.png" alt="" width="1008" height="428" srcset="https://www.codexa.net/wp-content/uploads/2017/11/lambda-basic-setting.png 1008w, https://www.codexa.net/wp-content/uploads/2017/11/lambda-basic-setting-300x127.png 300w, https://www.codexa.net/wp-content/uploads/2017/11/lambda-basic-setting-768x326.png 768w, https://www.codexa.net/wp-content/uploads/2017/11/lambda-basic-setting-304x129.png 304w" sizes="(max-width: 1008px) 100vw, 1008px" /><p id="caption-attachment-450" class="wp-caption-text">「カスタムロールの作成」をクリックすると次画面が出ます</p></div>
<div id="attachment_451" style="width: 756px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-451" loading="lazy" class="wp-image-451 size-full" src="https://www.codexa.net/wp-content/uploads/2017/11/role-setting.png" alt="" width="746" height="564" srcset="https://www.codexa.net/wp-content/uploads/2017/11/role-setting.png 746w, https://www.codexa.net/wp-content/uploads/2017/11/role-setting-300x227.png 300w, https://www.codexa.net/wp-content/uploads/2017/11/role-setting-283x214.png 283w, https://www.codexa.net/wp-content/uploads/2017/11/role-setting-209x158.png 209w" sizes="(max-width: 746px) 100vw, 746px" /><p id="caption-attachment-451" class="wp-caption-text">設定は特に変更せずに大丈夫です。そのまま「許可」をクリックしましょう。</p></div>
<h3>Lambdaの関数 &#8211; トリガーと関数コード</h3>
<p>無事にLambdaの関数の作成は出来ましたでしょうか？関数が作成されていると、下記の画面へ遷移しているかと思います。</p>
<p>次はこの作成したばかりのAWS Lambdaの関数とAlexa Skill Kitが連携できるように「トリガー」の設定を行います。</p>
<p>「トリガー」のタブをクリックすると、トリガー設定画面が出てきます。こちらの画面の、「<strong>トリガー追加</strong>」をクリックしてください。</p>
<p><img loading="lazy" class="aligncenter size-large wp-image-454" src="https://www.codexa.net/wp-content/uploads/2017/11/lambda-trigger-alexa-1024x430.png" alt="" width="1024" height="430" srcset="https://www.codexa.net/wp-content/uploads/2017/11/lambda-trigger-alexa-1024x430.png 1024w, https://www.codexa.net/wp-content/uploads/2017/11/lambda-trigger-alexa-300x126.png 300w, https://www.codexa.net/wp-content/uploads/2017/11/lambda-trigger-alexa-768x322.png 768w, https://www.codexa.net/wp-content/uploads/2017/11/lambda-trigger-alexa-304x128.png 304w, https://www.codexa.net/wp-content/uploads/2017/11/lambda-trigger-alexa.png 1027w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>トリガーの追加ポップアップが出てきますので、検索窓に「alexa」と入力をしてください。「Alexa Skills Kit」と「Alexa Smart Home」の2つのトリガーオプションが出てきます。「Alexa Skills Kit」を選択して「送信」をしましょう。<img loading="lazy" class="aligncenter size-full wp-image-455" src="https://www.codexa.net/wp-content/uploads/2017/11/adding-trriger.png" alt="" width="829" height="353" srcset="https://www.codexa.net/wp-content/uploads/2017/11/adding-trriger.png 829w, https://www.codexa.net/wp-content/uploads/2017/11/adding-trriger-300x128.png 300w, https://www.codexa.net/wp-content/uploads/2017/11/adding-trriger-768x327.png 768w, https://www.codexa.net/wp-content/uploads/2017/11/adding-trriger-304x129.png 304w" sizes="(max-width: 829px) 100vw, 829px" /></p>
<p>さて、次は関数のコードを書いていきましょう。関数を作成した際に「設計図」を使ったので、すでにコードが入っているかと思います。よりシンプルに理解しやすくするため、すでに入っているコードを全て消して、下記のコードを入力しましょう。</p>
<p><span style="color: #f56c6c;"><strong>5行目のAPP_IDですが、Amazon Developersにて確認が可能なので、ID</strong></span><span style="color: #f56c6c;"><strong>とundefinedの差し替えをお願いします。</strong></span></p>
<p><img loading="lazy" class="aligncenter size-full wp-image-457" src="https://www.codexa.net/wp-content/uploads/2017/11/app-id.png" alt="" width="437" height="108" srcset="https://www.codexa.net/wp-content/uploads/2017/11/app-id.png 437w, https://www.codexa.net/wp-content/uploads/2017/11/app-id-300x74.png 300w, https://www.codexa.net/wp-content/uploads/2017/11/app-id-304x75.png 304w" sizes="(max-width: 437px) 100vw, 437px" /></p><pre class="crayon-plain-tag">'use strict';
 
const Alexa = require('alexa-sdk');
 
const APP_ID = 'undefined';  // TODO replace with your app ID.
 
 
const handlers = {
    'LaunchRequest': function () {
        this.emit(':ask', 'あなたを笑わせるために頑張ります！');
    },
    'TellJoke': function () {
        this.emit(':tell', '日本人は同じジョークで3度笑う。1度目は聞いたとき。意味は分からないが人に合わせて笑う。2度目は意味を聞いたとき。まだ意味が分からないが教えてくれた人のために笑う。3度目は意味を理解したとき。家で笑う');
    },
    'AMAZON.HelpIntent': function () {
        this.emit(':ask', 'ちょっとしたジョークが言えます。どんなジョークが良いですか？');
    },
    'AMAZON.CancelIntent': function () {
        this.emit(':tell', 'また一緒に笑いましょう。');
    },
    'AMAZON.StopIntent': function () {
        this.emit(':tell', '面白かったですか？また次回までにネタを仕込んでおきます。');
    },
};
 
exports.handler = function (event, context) {
    const alexa = Alexa.handler(event, context);
    alexa.APP_ID = APP_ID;
    // To enable string internationalization (i18n) features, set a resources object.
    alexa.registerHandlers(handlers);
    alexa.execute();
};</pre><p>
コードの入力とAPP_IDの差し替えが完了したら、画面上部の「<strong>保存</strong>」をクリックしましょう。</p>
<p>AWS Lambdaでの最終ステップです。画面上部にあるAmazonリソースネーム(ARN)をコピーしておきましょう。次のステップで使います。</p>
<p><img loading="lazy" class="aligncenter size-full wp-image-460" src="https://www.codexa.net/wp-content/uploads/2017/11/arn.png" alt="" width="625" height="128" srcset="https://www.codexa.net/wp-content/uploads/2017/11/arn.png 625w, https://www.codexa.net/wp-content/uploads/2017/11/arn-300x61.png 300w, https://www.codexa.net/wp-content/uploads/2017/11/arn-304x62.png 304w" sizes="(max-width: 625px) 100vw, 625px" /></p>
<h3>Alexaスキルの設定（Lambdaとの連携）</h3>
<p>無事にAWS Lambdaの関数の作成も終えたので、またAlexaスキルのコンソールへ戻りましょう。次のステップはAlexaスキルとAWS Lambdaの連携の設定を行います。</p>
<p>Skillコンソールの右メニューで「<strong>設定</strong>」を選ぶと下記のような画面に遷移します。サービスエンドポイントのタイプを「<strong>AWS LambdaのARN</strong>」を選択しましょう。選択をすると、「デフォルト」という入力欄が出てきますので、こちらに先ほどコピーしておいた、AWS LambdaのARNを貼り付けましょう。</p>
<p>他の設定は特に変更は必要ありませんので、そのまま「<strong>次へ</strong>」をクリックします。画面が「テスト」へ遷移します。設定に問題がなければ、右メニューの「設定」にも緑色のチェックマークがつきます。</p>
<p><img loading="lazy" class="aligncenter size-full wp-image-461" src="https://www.codexa.net/wp-content/uploads/2017/11/skill-aws-setting.png" alt="" width="1017" height="895" srcset="https://www.codexa.net/wp-content/uploads/2017/11/skill-aws-setting.png 1017w, https://www.codexa.net/wp-content/uploads/2017/11/skill-aws-setting-300x264.png 300w, https://www.codexa.net/wp-content/uploads/2017/11/skill-aws-setting-768x676.png 768w, https://www.codexa.net/wp-content/uploads/2017/11/skill-aws-setting-243x214.png 243w, https://www.codexa.net/wp-content/uploads/2017/11/skill-aws-setting-180x158.png 180w" sizes="(max-width: 1017px) 100vw, 1017px" /></p>
<p>「テスト」のページで、アカウントのテストが無効となっている場合は、スライダーをクリックして「有効」へ変更をしましょう。</p>
<p><img loading="lazy" class="aligncenter size-full wp-image-463" src="https://www.codexa.net/wp-content/uploads/2017/11/setting-trigger.png" alt="" width="811" height="210" srcset="https://www.codexa.net/wp-content/uploads/2017/11/setting-trigger.png 811w, https://www.codexa.net/wp-content/uploads/2017/11/setting-trigger-300x78.png 300w, https://www.codexa.net/wp-content/uploads/2017/11/setting-trigger-768x199.png 768w, https://www.codexa.net/wp-content/uploads/2017/11/setting-trigger-304x79.png 304w" sizes="(max-width: 811px) 100vw, 811px" /></p>
<p>有効に変更すると、下にテスト用のシュミレーターが出てきます。いよいよ、Alexaスキルで設定をした内容と、AWS Lambdaで書いたコードをテストすることが出来ます！</p>
<p>では早速、試してみましょう！「サービスシュミレーター」の「発話を入力してください」へ「<strong>ジョークを言って</strong>」と入力して、<strong>ShotJokeを読み出す</strong>をクリックしましょう。</p>
<p><img loading="lazy" class="aligncenter size-full wp-image-464" src="https://www.codexa.net/wp-content/uploads/2017/11/make-me-laugh.png" alt="" width="816" height="170" srcset="https://www.codexa.net/wp-content/uploads/2017/11/make-me-laugh.png 816w, https://www.codexa.net/wp-content/uploads/2017/11/make-me-laugh-300x63.png 300w, https://www.codexa.net/wp-content/uploads/2017/11/make-me-laugh-768x160.png 768w, https://www.codexa.net/wp-content/uploads/2017/11/make-me-laugh-304x63.png 304w" sizes="(max-width: 816px) 100vw, 816px" /></p>
<p>そうすると、下のサービスレスポンスにAlexaスキルからのレスポンスが表示されます。</p><pre class="crayon-plain-tag">{
  "version": "1.0",
  "response": {
    "outputSpeech": {
      "ssml": "&lt;speak&gt; 日本人は同じジョークで3度笑う。1度目は聞いたとき。意味は分からないが人に合わせて笑う。2度目は意味を聞いたとき。まだ意味が分からないが教えてくれた人のために笑う。3度目は意味を理解したとき。家で笑う &lt;/speak&gt;",
      "type": "SSML"
    },
    "speechletResponse": {
      "outputSpeech": {
        "ssml": "&lt;speak&gt; 日本人は同じジョークで3度笑う。1度目は聞いたとき。意味は分からないが人に合わせて笑う。2度目は意味を聞いたとき。まだ意味が分からないが教えてくれた人のために笑う。3度目は意味を理解したとき。家で笑う &lt;/speak&gt;"
      },
      "shouldEndSession": true
    }
  },
  "sessionAttributes": {}
}</pre><p>
ちゃんとジョークを言ってくれますね（笑）！さらにサービスレスポンスの下にある「聴く」のアイコンをクリックすると、今回設定をしたジョークをAlexaが話してくれます。</p>
<h3>まとめ</h3>
<p>いかがでしたでしょうか？複数のプラットフォームを使ったので、複雑なように感じますが、実際にやっていることはシンプルですね！今回はAlexa Skill Kit（アレクサ・スキル・キット）をAWS Lambdaに連携させて、簡単なアマゾン・エコーのスキルを作ってみました！</p>
<p>より実践的なスキル開発も今後、取り上げていきます！</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.codexa.net/alexa-skill-kit-beginner-tutorial/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
