LoginSignup
6

More than 5 years have passed since last update.

Alexa Skill Kitを触ってみる

Last updated at Posted at 2017-08-26

経緯

Severless Meetup Osaka #3にて、Alexa Skill Kitに関する発表があった。
想像していたより簡単に始められそうだったので、まずはサンプルを触りながらメモ。

対象サンプル

https://github.com/alexa/skill-sample-nodejs-fact
サンプルは幾つか用意されているが、
Factサンプルはステップごとに手順が記載されており、かつ、Skillの内容がシンプルなので分かりやすったため、選択。

Skill実装、公開に必要なもの

  • Amazon開発者アカウント
    • 登録無料、サンプルで実装する範囲では課金発生なし
  • AWSアカウント
    • サンプルで実装する範囲では無料利用枠で十分
  • アプリアイコン用画像

Skill公開までの流れ

  1. AlexaのVoice User Interface(VUI)を作成
  2. Lambdaの関数を作成
  3. VUIをLambdaの関数と紐づけ
  4. 動作確認
  5. 公開のための設定
  6. Skillの審査(数日かかる)

VUI作成

VUIはAlexaで音声認識させるためのインタフェース

Skill Information

  • Skill Type: 動作のタイプ
    • 用途に応じて用意されているものから選択
    • Custom Skill: 自由に作成
    • Smart Home Skill: 家電操作用
    • Entertainment Device Control in the Smart Home Skill: AV家電操作用
    • Video Skill: 動画サービス操作用
    • Flash Briefing Skill: ニュース配信用。ソースとして、RSSなどを利用
  • Language: Skillが対応する言語
    • 多言語への対応も可能
  • Invocation Name: Skillを呼び出すためのキーワード。Skill TypeがCustom skillの場合のみ必要。制約に抵触しない、かつ、他Skillと重複を避けるよう設定する必要がある。

Interaction Model

  • Intent: 1アクションに対応させる文意
  • Utterance: Intentを判断する際の例文

Lambda関数作成

作成時に気を付けることは下記2点。
それ以外は通常のLambdaと同じ。

  • リージョンは米国東部(バージニア北部)かEU(アイルランド)のどちらかにする事。
    • 2017/08/26時点では、Alexaが提供されているリージョンが上記2つのみなので。
  • トリガーとして「Alexa Skill Kit」を選択

作成したLambda関数のARNをメモっておく。

VUIとLambda関数を紐づけ

紐づけにLambda関数のARNが必要。

Account Linking
サンプルでは利用していないが、Skillの中で、他システムのユーザ情報を使いたい場合に使用。
https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/linking-an-alexa-user-with-a-user-in-your-system

動作確認

Amazon開発者ポータルにて、Service Simulatorで動作確認可能

ローカルでテストしたり、テストコードを作りたい場合は、alexa-conversation + mochaが便利

公開のための設定

SkillをAmazonのプラットフォームで公開する際の情報を入れる。
審査用に、Skillのカテゴリや配信対象の国、Skillの説明など。
公開用に、呼び出し例、関連キーワード、アイコンに使う画像(必須)など。

所感

  • ステップバイステップのサンプルがあるって最高。
  • VUI作る部分はMS Cognitive ServiesのLUISと大体同じ感じ。ただ、位置づけは異なる。
    • LUISは言語解析機能としてアプリに組み込むためのパーツ。
    • Alexa Skill Kitは利用用途をAlexaでの音声認識・操作に絞ってある。代わりに、アプリ(Skill)を作るまでが簡単で、Skillを公開するためのプラットフォームも用意されている。

参考リンク

https://speakerdeck.com/hideokamoto/building-alexa-custom-skill-by-serverless-framework
https://developer.amazon.com/ja/alexa-skills-kit
https://github.com/alexa/alexa-skills-kit-sdk-for-nodejs
http://dev.classmethod.jp/cloud/introduction-of-alexa-skill-kit/

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6