【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として定義する事が出来ます。

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

{
  "intents": [
    {
      "intent": "HowManyBlogsIntent"
    }
  ]
}

Custom Slot Types

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

Utterances

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

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

HowManyBlogsIntent get count

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

HowManyBlogsIntent get blog count
HowManyBlogsIntent get count

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
開発会社での ASP型WEBサービス企画 / 開発 / サーバ運用 を経て
2010年よりスカイアーチネットワークスに在籍しております

機械化/効率化/システム構築を軸に人に喜んで頂ける物作りが大好きです。
個人ブログではRaspberryPiを利用したシステムやロボット作成も
実施しております。

スカイアーチネットワークスで一緒に働きましょう!

コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload CAPTCHA.

ABOUTこの記事をかいた人

開発会社での ASP型WEBサービス企画 / 開発 / サーバ運用 を経て 2010年よりスカイアーチネットワークスに在籍しております 機械化/効率化/システム構築を軸に人に喜んで頂ける物作りが大好きです。 個人ブログではRaspberryPiを利用したシステムやロボット作成も 実施しております。 スカイアーチネットワークスで一緒に働きましょう!