【AWS Summit Tokyo 2018】Alexaスキル開発に役立つ最新情報をお届け! Alexaスキル – ベストプラクティス レポート

はじめに

こんにちは。データサイエンスチームのmotchieです。
3月30日、ついにEchoシリーズの一般発売が解禁されましたね!
当チームでも、検証用デバイスを迎え入れることが出来、開発検証に励んでおります。Amazonアカウントを総動員して招待メールを待ち続ける惨状に終止符が打たれてホッとしました。
また、スキル開発ツールについても、昨年12月に記事を書いて以来、様々なアップデートが行われ、便利になっています。Alexaで出来ることは日々増え続けています。
Alexa Skills Kitでしりとりスキルを作ってみる①:アカウント作成~対話モデル設定
さて、前置きが長くなってしまいましたが、AWS Summit Tokyo 2018に参加してきました。
この記事では、「Alexa スキル – ベストプラクティス」のセッションの内容から、
特にスキル開発に役立つ内容をピックアップしてお届けしたいと思います。
また、関連するAlexa最新情報や、もっと詳しく知るために役立つサイト情報も合わせてご紹介します。
これからAlexaスキルを開発しようと考えている方のお役に立てれば幸いです。

セッション概要

Alexa スキル – ベストプラクティス
小林 剛士
アマゾンジャパン合同会社 Alexa Skills Kit本部 シニアソリューションアーキテクト
Amazon が提供するクラウドベースの音声サービス「 Amazon Alexa 」のスキル開発について、「 Alexa Skills Kit (ASK) 」を使った開発サイクルや、ユーザーによく使われるスキルを作るためのノウハウをご紹介します。本セッションの対象は、スキルを作ったことがある方やこれから作ってみたいと考えている方となります。
引用元:AWS Summit Tokyo 2018 セッション一覧

スキルは設計が肝心!

セッションでは、スキル開発のプロセスとして、以下の3つが挙げられていました。

  • 設計:スキルの方向性を決める。発話フローのアイデア出しをする。
  • 開発:スキルの開発(コーディング)・品質テストを行う。
  • テストと認証:スキルストアで公開するために認証の申請を行い、テストをパスする。

セッションでは、特に「設計」の重要性が強調されていました。
また、設計の際のチェック項目として、下の6つが挙げられていました。

1. そのスキルは日々使うものか?

企画しているスキルは日々使ってもらえるタイプのものなのか、
ユースケースを考えることの重要性がセッションで挙げられていました。
1度起動して満足、その後はまったく使ってないスキル…私にも心当たりがあります…
もしスキルのテーマに悩んでいる場合、以下のブログ記事が参考になるかもしれません。
Alexa Blogs: Alexaスキルのテーマを決めるヒント

2. シンプルな会話フローになっているか?

音声入力は確かに便利ですが、ディスプレイで操作した方が簡単なケースもあるため、
音声による操作の方が本当に楽なケースなのか考えることの必要性がセッションで挙げられていました。
その際に「ユーザーがスキルを起動してから使い終わるまでの正常なシナリオ」、即ち「ハッピーパス」を作成し、
ユーザー役の人間とAlexa役の人間の2人に分かれて、実際に「ハッピーパス」を発声してテストしてみると、設計の問題に気づきやすい、とセッションで紹介されていました。
また、「会話のフロー図」を作っておくことで、スキルの設計が分かりやすくなり、後で開発段階が楽になるという話もありました。
これらの工夫は、実際にスキルを企画して作る中で培われたノウハウ、という感じがして、個人的にとても参考になりました。
「ハッピーパス」と「会話フロー図」、みなさんもぜひ活用してみてはいかがでしょう。

3. 最新のコンテンツを提供しているか?

最新のコンテンツを提供することが重要であり、スキルが古い情報・コンテンツを提供していないかチェックする必要性が挙げられていました。
また、定期的にコンテンツを増やすことでリターンユーザーを増やす、という戦略も挙げられてました。
ちなみに、ユニークカスタマー数、リテンション率については、開発者コンソールのレポート機能を使うことで簡単に確認できます。
Alexa Skills Kit: スキルの使用状況のレポート

4. スキルからしかできない特別な体験

音声入力だからこそ出来る、Alexaならではの特別な体験、というポイントがセッションで挙げられていました。企画力が試されるポイントですね。
音声で操作できるメリットについては、「Alexaを使った顔認証システム」という面白い記事の中に、非常に共感した言葉があり、紹介させて頂きます。

これは「Alexaを使った顔認証システム」ではなく「顔認証システムをAlexaで動かしている」のです。
(中略)
Alexaは「複数のシステムを音声一発で動かせる」ことに大きな魅力がある
(中略)
今回私が伝えたかったことは「Alexaの”手軽さ”を最大限活かすためにはどのようなソリューションがいいか、考えるなら今」ということです。
Developers.IO: JAWS-UG 福岡でAlexaを使った顔認証システムについて話してきた。

Alexaの音声入力インターフェイスと、様々なシステム・サービスを組み合わせることで、
まるで魔法のように、音声だけで様々な機能を動かすことが出来るかもしれない。そう考えると、とてもワクワクします。

5. 覚えやすく明確なスキル名

カスタムスキルでは、スキル起動時にスキル名を言う必要があることから、「スキル名が覚えやすいものである」こと、
スキルでどんな機能を提供するのか、「スキルで出来ることが明確であること」、
そして、「スキル名とスキルで出来ることがきちんと対応していること」の重要さがセッションで挙げられていました。
スキルの機能を絞ることの重要性については、こちらのブログでも取り上げられています。
Alexa Blogs: Things Every Alexa Skill Should Do: Do One Thing Really Well
スキルの目的は1つに絞って、その1つの機能だけをとことん便利にするのがオススメということですね。

6. エラーが無い

「スキルからの応答に問題があります」…エラー時に返ってくるメッセージですね…開発者にとっても、ユーザーにとっても、聞きたいメッセージではないはずです。
エラーの発生回数など、スキルの使われ方のチェックには、開発者コンソールのレポート機能が便利です。
セッションでは、開発者コンソールでインテント履歴が確認できるようなったことが紹介されていました。
ユーザーが実際に呼び出したインテント種類、成功/失敗したセッションの数・割合なども、スキルごとに確認出来ます。
スキルが実際にどのように使われているか、エラーが起こっていないかを確認し、スキルを改善していくことが出来ます。
Alexa Skills Kit: スキルの使用状況のレポート

スキル開発をもっともっと便利にするアップデート集!

スキル開発周りに関しても、様々なアップデートの紹介がありました。

1. 開発者コンソールのUIが新しくなりました

3月27日に開発者コンソールのUIが新しくなりました。AWS関連サービスのアップデートの早さには、目を見張るものがあります。
Alexa Blogs: 新しいAlexa Skills Kit 開発者コンソール一般公開のお知らせ
また、セッション内での紹介はありませんでしたが、Alexa Skills Kit SDK も最近バージョン2がリリースされています(ASK SDK v2)。現時点では、Node.jsとJavaで利用可能です。
ASK SDK v2では、リクエストハンドラごとに処理条件を記述できるようになったこと、セッション・アトリビュートが拡張されて3種類になったこと、Address API(所在地)など便利なAlexa APIが使う仕組みなど、様々なアップデートがありました。詳しくは、以下の記事をご覧ください。
Alexa Blogs: Alexa Skills Kit (ASK) SDK for Node.js バージョン2のリリース
Alexa Blogs: Code Deep Dive: Introduction to the ASK Software Development Kit for Node.js

2. ASK-CLIとAWS Cloud9でより開発が便利に

ASK-CLIとAWS Cloud9を活用することで、CLIでスキルをデプロイしたり、Cloud9のデバッガーでnode.jsの面倒なデバッグも行えたり、開発がより便利になることが紹介されていました。

3. 新しく15種類のビルトインスロットが増えました

また、新しい15種類のビルトインスロットが増えたことも挙げられていました。SearchQueryスロットタイプを使うことで、カスタムスロットとして全ての候補を入力する手間の軽減につながるとのことです。日本語のビルドインスロットの種類は英語に比べるととても少ないので、この調子でどんどん増やしていって欲しいものです。
ビルトインスロットの追加については、以下のサイトが参考になります。
Developers.io: [日本語Alexa] ビルトインスロットが大量に追加され、新垣結衣とかスターウォーズがヒットする
また、スロットに関するtipsとして、以下の紹介がありました。

  • スロットタイプの値にSynonyms(同義語)を登録することで、異なる表記の同義語を簡単にまとめて扱うことができる。
  • スロットタイプに追加する単語は、Alexaの出力の形式にあわせて、「アルファベットは全て小文字、句読点は全て削除、数字は漢数字」にするとよい。

Synonyms(同義語)について、詳細は以下のドキュメントから確認できます。
Alexa Skills Kit: スロットタイプ値の同義語とIDを定義する(エンティティ解決)

4. 様々な情報を活用したスキルが作れるようになりました

Alexaデバイスの住所の取得、ユーザーが登録したリストの操作(上書きも可能)、プッシュ通知、といった便利な機能の紹介がありました。ただし、これらの機能を有効にするには、ユーザー側がスキルに許可を与える必要があります。
既に、JRの遅延情報お知らせスキルや、タクシーの到着通知スキルに利用されているとのことです。
住所の取得・通知機能については、以下の記事で詳しい情報が確認できます。
Alexa Blogs: Alexa Skill Recipe: Using the Device Address API to Enhance Your Voice Experience
Alexa Blogs: 通知の機能が日本語環境でも利用可能になりました

5. SSMLで合成音声のカスタマイズができます

間をおく、口調を変える、効果音を入れるなど、Alexaの合成音声をカスタマイズすることが出来ます。
セッションでは、じゃんけんの掛け声のサンプルが紹介されていました。間をおくことによって、掛け声が一気に臨場感溢れる発音になっていました。「じゃん、けん、ぽん!」

6. 子供向けのスキルが作れるようになりました。

Alexa活用の分野がますます広がっていきますね。詳しくはこちらの記事が参考になります。
Alexa Blogs: 日本で子ども向けスキルが開発できるようになりました
Alexa Blogs: Alexaスキル認定へのヒント : 子ども向けスキル編

7. 開発者を支援する取り組み

スキルの開発者を支援する、様々な取り組みの紹介がありました。

7.1 Lambdaのリクエスト 1M/月の無料クレジットが利用できます!

ただし、クレジットを利用するには申請が必要です。詳しい手順はこちらをご覧ください。
AlexaのAWSプロモーションクレジットのご紹介

7.2 新しいスキルを公開すると、月ごとにオリジナルAlexaTシャツがもらえます。

こちらに詳しいラインナップが載っています。6月のシャツは青色ですね。毎月スキルを公開していけば、あなたのクローゼットは色んなAlexaTシャツで埋め尽くされることでしょう(?!)
スキル開発者への特典

7.3 スキルのマネタイズに向けた取り組みも!

米国では、マネタイズに繋がるスキル、ディベロッパーがスキルでお金を稼げる仕組みに向けて、様々な取り組みが行われています。スキル内で物を購入するために、アカウントに登録された決済情報(Amazon Pay)を使うことが出来るとのこと。早く日本でも展開してほしいものです。
Alexa Blogs: Make Money with Amazon Pay for Alexa Skills (Now Generally Available)
Alexa Blogs: Make Money with Your Alexa Skills through In-Skill Purchasing (Now Generally Available)

まとめ

本記事では、セッションの内容に沿って、Alexa最新情報をお届けしました。
これらの内容をご参考に、ぜひ最高のAlexaスキルを開発してみてください。
余談ですが、参加アンケートに回答すると「AmazonEchoシリーズ1000円クーポン」がもらえます。
こちら、有効期限は6/13までなので、お持ちの方はお早めにご利用ください。(私も4台目の購入ボタンを押すべきか迷っています…どこに置こう…)

参考サイト

Alexa Blogs: Alexaスキルのテーマを決めるヒント
Alexa Skills Kit: スキルの使用状況のレポート
Developers.IO: JAWS-UG 福岡でAlexaを使った顔認証システムについて話してきた。
Alexa Blogs: Things Every Alexa Skill Should Do: Do One Thing Really Well
Alexa Blogs: 新しいAlexa Skills Kit 開発者コンソール一般公開のお知らせ
Alexa Blogs: Alexa Skills Kit (ASK) SDK for Node.js バージョン2のリリース
Alexa Blogs: Code Deep Dive: Introduction to the ASK Software Development Kit for Node.js
Developers.io: [日本語Alexa] ビルトインスロットが大量に追加され、新垣結衣とかスターウォーズがヒットする
Alexa Skills Kit: スロットタイプ値の同義語とIDを定義する(エンティティ解決)
Alexa Blogs: Alexa Skill Recipe: Using the Device Address API to Enhance Your Voice Experience
Alexa Blogs: 通知の機能が日本語環境でも利用可能になりました
Alexa Blogs: 日本で子ども向けスキルが開発できるようになりました
Alexa Blogs: Alexaスキル認定へのヒント : 子ども向けスキル編
AlexaのAWSプロモーションクレジットのご紹介
スキル開発者への特典
Alexa Blogs: Make Money with Amazon Pay for Alexa Skills (Now Generally Available)
Alexa Blogs: Make Money with Your Alexa Skills through In-Skill Purchasing (Now Generally Available)

AWS移行支援キャンペーン

あなたにおすすめの記事