【AWS re:Invent 2016】 Amazon Echo Dotでブログ投稿数を読み上げるcustom skillの作成 ④ Alexa Skill登録編

Amazon Echo Dotにて弊社ブログの投稿数を取得するAmazon Echo(dot)用のcustom skillを作成します。

  1. 開封の義
  2. Amazon Echo Dot初期設定編
  3. Amazon DeveloperConsoleを有効化
  4. Lambda function作成
  5. Amazon DeveloperConsoleよりAlexa Skillを登録 <- 今回はこちら

※Amazon EchoやAmazon Tap, Echo dotは日本の技適を通っていませんので、日本国内での利用は行なえません、ご注意下さい

前回で作成したLambda functionをskillとして利用するための繋ぎ込みを行います。
手順2で作成したAmazon DeveloperConsoleにログイン後、ヘッダメニューのALEXAを選択し、右上の「Add a NewSkill」を選択後 下記のように設定します。

Skill information

Name : Alexa Appに表示される名前
Invocation Name : skillを呼び出すキーワード Alexa, ask [Invocation Name] でこのskillが実行されます。

01-skill_information

Interaction Model

こちらで対話モデルを定義します。
詳細は下記記載のリンク先より参照下さい、ビルトインの定形語句等もあり、奥深いです。
https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/alexa-skills-kit-interaction-model-reference

02-interaction_model

Intent Schema

会話の構造を定義します。
通常の会話で変数的になる部分をSlotとして定義する事が出来ます。

今回は最もシンプルな例で下記となります。

Custom Slot Types

上記と組み合わせて利用しますが、今回は利用しません。

Utterances

intent と 発話されうる英語文章の紐付けを定義します。
今回は1つしか登録されていないのであまり意味をなしていませんが、今日の曜日は?、今日は何曜日?といった異なる文章を取りまとめて対応する事が出来ます。

今回は下記を指定しております。

複数書く場合は下記のようになります

Configration

利用するLambda functionのARNを指定しています。

03-configration

Test

標準でEnableとなりますが、念のため確認します。

04-test

こちらの状態で下段のテストを実施してみます。
Service Simulator に 「get blog count」と入力し適切な返答が帰って来るか確認します。

05-test2

実機動作

ここまでの設定で「Alexa, ask blog get count」の発声でブログポスト数を返してくれる準備が整いました、実施してみましょう!

お手軽デバッグ

動作しない時は下記ポイントを調べます。

アプリ側でSkillが登録され、有効か

携帯アプリのメニューからSkillsを開き、右上のYour Skillsにアクセスすると有効なスキルを確認する事が出来ます。
こちらに登録した名前のSkillがあるかどうか確認します。

screenshot_20161202-085527 screenshot_20161202-090050

認識された内容の確認

携帯アプリのHome画面にて Alexaが聞き取った内容とそれに対するアクション、また発話された音声も含めカード形式でどんどん追加されていきます。

screenshot_20161202-085437

上記が正しいのに正しい応答を返さない

Skill Information の Invocation Name が意図している物かどうか再確認
これ以上のDebugはLambdaが適切に呼び出されているか、DeveloperコンパネのSkill Metricsや、Cloudwatch等から確認が必要となります。

この連載を通じて出来上がるもの

単独で動作しますが、自分の発音の英語を5回に1度程しか聞き取ってくれないため(悲)、PCにて喋らせております。

PC - 「Alexa, ask blog get count」
Amazon Echo Dot - 「16 Blog posts Today」

この間に自分の作成したLambda funtcionを通っていると考えると感激モノですね!

公式ドキュメント

投稿者プロフィール

takashi
Japan AWS Ambassadors 2023, 2024
開発会社での ASP型WEBサービス企画 / 開発 / サーバ運用 を経て
2010年よりスカイアーチネットワークスに在籍しております

機械化/効率化/システム構築を軸に人に喜んで頂ける物作りが大好きです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


Time limit is exhausted. Please reload CAPTCHA.

ABOUTこの記事をかいた人

Japan AWS Ambassadors 2023, 2024 開発会社での ASP型WEBサービス企画 / 開発 / サーバ運用 を経て 2010年よりスカイアーチネットワークスに在籍しております 機械化/効率化/システム構築を軸に人に喜んで頂ける物作りが大好きです。