- 追加された行はこの色です。
- 削除された行はこの色です。
ドラフト
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
#contents
Amazon Echoに搭載されてるAmazon Alexaは、スキルという仕組みを使うことで、自前のプログラムをEcho上で走らすことができます。
**やってみる [#ecd1c214]
AWS/Amazon Developer Servicesアカウント作成メモ で作成したアカウントで https://developer.amazon.com/ からログインし、右上のDeveloper Consoleを選択。Devloper Consoleが表示されたら上部メニューの「ALEXA」を選択します。
#ref(IMG_3741.png_new.png)
Alexa Skills Kit を選択。
#ref(IMG_3742.png_new.png)
***呼び出し名の定義 [#o390e5d1]
右上の「新しいスキルを追加する」を選択
#ref(IMG_3743.png_new.png)
言語やスキル名、呼び出し名を指定して、保存をクリック。
#ref(IMG_3745.png_new.png)
スキル名: HelloWorld
呼び出し名: うちゅうのまめちしき
としました。これで「アレクサ、宇宙の豆知識を開いて」みたいにアプリを起動することができるようになります。
*** インテントスキーマの設定 [#o34b3b0e]
いわゆる呼び出すメソッドを定義します。 下記のように「GetNewFactIntent」というメソッドを定義してみます。
#ref(IMG_3746.png_new.png)
{
"intents": [
{ "intent": "GetNewFactIntent" },
{ "intent": "AMAZON.HelpIntent" },
{ "intent": "AMAZON.StopIntent" },
{ "intent": "AMAZON.CancelIntent" }
]
}
って定義しました。インテント名: GetNewFactIntent ってのはこのあと出てくる「サンプル発話」で日本語に関連付けられます。
インテント名には引数とかその他の設定もあるのですが、今回はこのままで。
ちなみにインテントスキーマについては
https://developer.amazon.com/ja/docs/custom-skills/define-the-interaction-model-in-json-and-text.html#h2_sample_utterances
この辺に整理されていて、そこには
{
"intents": [
{
"intent": "GetHoroscope",
"slots": [ ↓ GetHoroscope ってインテントはSignとDateっていう引数を持つって意味
{ "name": "Sign", "type": "LIST_OF_SIGNS" }, ←型が LIST_OF_SIGNS っていうカスタム型
{ "name": "Date", "type": "AMAZON.DATE" } ←型が ビルトインのAMAZON.DATE 型
]
},
{ "intent": "GetLuckyNumbers" }
]
}
こんな感じのサンプルがあります
***サンプル発話の設定 [#fd764b0b]
サンプル発話に以下のように定義します。サンプル発話を指定することで、先のインテント名を日本語に関連付けます。
#ref(IMG_3747.png_new.png)
GetNewFactIntent 豆知識
GetNewFactIntent 豆知識を教えて
GetNewFactIntent 他の豆知識
GetNewFactIntent 雑学
GetNewFactIntent 雑学を教えて
GetNewFactIntent 他の雑学
GetNewFactIntent 知識
GetNewFactIntent 何か
GetNewFactIntent 何か教えて
としました。
サンプル発話の仕様についても、先とおなじサイトに説明があって
https://developer.amazon.com/ja/docs/custom-skills/define-the-interaction-model-in-json-and-text.html#h2_sample_utterances
ココをみると
GetHoroscope {Sign} の運勢を教えて
GetHoroscope {Sign} の {Date} の運勢を教えて
というようにインテントの定義で定義したSign/Date などをプレースホルダとして指定することが出来るようですね。
まだ書き途中。。
***関連リンク [#j7d38c18]
-[[Alexa | アレクサ | Alexaスキル開発トレーニング>https://developer.amazon.com/ja/alexa-skills-kit/training/building-a-skill]] まずはコレをやる
-[[開発中のAlexaスキルを実機テストする方法 - Qiita>https://qiita.com/hayao_k/items/a13b0c9327c49934eda3]] 仕様がころころかわるからか、実機テストするにはもうひと頑張り必要でした。参考になりました!
-[[カスタムスキルのAWS Lambda関数を作成する | Custom Skills>https://developer.amazon.com/ja/docs/custom-skills/host-a-custom-skill-as-an-aws-lambda-function.html]] 公式
-[[スキルのテストがシミュレーター「Echosim.io」で可能になりました : Alexa Blogs>https://developer.amazon.com/ja/blogs/alexa/post/183200a2-1668-4831-aa8f-69f676e07957/echosim-io]] 試してないけど実機検証に近いことができるぽい
-[[日本語のAlexaスキルの作り方(30分あればAmazon Echoがなくても試せるよ) - KAYAC engineers' blog>http://techblog.kayac.com/lets-make-alexa-skill-2017]]
-[[Amazon Echo (Alexa) のSkillの開発に必要な基本概念を押さえる - Qiita>https://qiita.com/chroju/items/3f30fe424df36e4b4d80]]
-[[Alexa Skill 開発メモ 開発用Amazonアカウント用意と、Alexa.appの入手方法 - Qiita>https://qiita.com/sitopp/items/1704c338206be7ebfced]]
----
この記事は
#vote(おもしろかった,そうでもない)
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}