2020年も残すところわずかとなりました。このブログでは2020年にAlexa Skill Kitで新たに追加され、日本語のスキルで利用可能となった機能についてまとめてご紹介します。既に一般公開(GA)されている機能をまとめていますので、ベータでリリースされている機能についても知りたい方はこちら(英語)を参照して下さい。

目次:

新機能

Alexa Web API for Games

Alexa Web API for Gamesを利用すると、JavaScript、HTML5、CSS、ウェブオーディオなどで、リッチで没入感のある音声対応ゲームを作成することができます。カスタムアニメーションを利用したAlexaゲームを開発したり、既存のHTMLゲームをAlexa搭載デバイス(Echo ShowやFire TVなど)で動作するマルチモーダルゲームエクスペリエンスに変えたりすることができます。

Alexa Web API for Gamesとは

Alexa Web API for Gamesで開発を始める

APL1.5

現在Alexa Presentation Language(APL)の最新バージョンは1.5です。2020年はAPL1.3とAPL1.4のリリースもあり、APL for Audio(ベータ)などの新機能が追加されました。

APL 1.5の新機能

APL1.5の新機能でより充実したオーディオとビジュアル体験を構築する

APL for Audioリファレンス

モーションAPI & センシングAPI

最新のEcho Show 10(本稿執筆時点では近日発売予定)は第2世代から大きく進化し、Alexaと対話しているユーザーの移動に合わせてスクリーンが自動的に回転するようになりました。新しいモーションAPIセンシングAPIを使用すると、Echo Show 10のモーションをスキルに追加し、これまで不可能だったユーザーエクスペリエンスを実現できます。

APL Smart Motion extension

APL Entity Sensing Extension

新しいEcho Show 10向けにモーション対応のAlexaスキルを開発する

Person Profile API

Person Profile APIによって、ユーザーの音声プロファイルに関連付けられた連絡先情報(姓名または名前と、携帯電話番号)を取得することが可能です。ユーザープロフィールAPIはアカウントレベルで連絡先情報が取得できるのに対し、Person Profile APIはユーザーの音声プロファイルに基づいた連絡先情報が取得できるため、より高度なパーソナライズ機能を提供することができます。

識別されたユーザーの連絡先情報をスキルで使用するためにリクエストする

マルチ機能スキル(MCS)

スキルをMCSにアップグレードすることで、スマートホームスキルカスタムスキルを1つのスキルに組み合わせることができます。例えば、既存のカスタムスキルにスマートホームの機能を追加すると、呼び出し名なしでデバイスをコントロールすることが可能です。なお、公開中の2つのスキルをマージすることはできませんのでご注意ください。

マルチ機能スキル(MCS)とは

アプリ間アカウントリンク

アカウントリンクは、従来Alexaアプリでアカウント認証情報を入力する必要がありました。アプリ間アカウントリンクによって、モバイルデバイスでアプリとAlexaアプリの両方にログインしている場合、どちらのアプリにもアカウント認証情報を入力せずにアカウントをリンクできます。

アプリ間アカウントリンク(開発者のアプリから開始する場合)

アプリ間アカウントリンク(Alexaアプリから開始する場合)

タイマーAPI

AlexaタイマーAPIで、スキルにタイマー機能を追加することができます。AlexaタイマーAPIでは、タイマーのトリガー方法をカスタマイズすることにより、ユーザーとスキルのセッションが終了しても、一貫したユーザーエクスペリエンスを継続させることができます。例えば、タイマーにセットした時間が経過した時点でユーザーからAlexaに話しかけてもらい、カスタマイズしたプロンプトを発行してスキルに戻り、ユーザーエクスペリエンスを継続することができます。

Alexaタイマーの概要

タイマーAPIを使ってAlexaスキルにタイマー機能を追加する

複数のスキルで使用可能なスロットタイプ

スロットタイプAPIによって、同じ開発者アカウントの複数スキルで使用する独自のスロットタイプを作成することができます。スロットタイプAPIを使って作成したスロットタイプは、参照ベースのカタログ管理エンティティ解決の同義語とIDをサポートします。スキルの対話モデルで、ビルトインスロットタイプと同じ方法でスロットタイプを拡張できます。

複数のスキルで使用可能なスロットタイプを作成する

カタログの自動更新

参照ベースのカタログを自動更新するジョブの作成と管理ができるようになりました。CatalogAutoRefreshとReferencedResourceVersionUpdateの2種類のジョブ定義を作成することができます。CatalogAutoRefreshはカタログの更新、ReferencedResourceVersionUpdateはスロットタイプと対話モデルの更新に使用します。

更新ジョブの管理

Automatically Update and Publish Your Skill’s Slot Values with the Reference-Based Catalog Management API(英語)

SSMLの発話スタイルと感情表現の追加

音声合成マークアップ言語(SSML)を応答に使用することで、Alexaの音声を生成する方法を制御できます。既存のSSMLタグに加えて、新たに会話型の発話スタイル(conversational)と感情表現(emotion)が追加されました。会話型の発話スタイルを使用すると、友達や家族に話しかけるように、くだけたトーンでAlexaに発話させることができます。感情表現を使用すると、エンドユーザーが雑学クイズに正解したりゲームに勝ったりしたときなどに、Alexaに幸福/高揚のトーンで応答させることができます。

Alexaの発話スタイルと感情表現が、より多くの言語に対応しました

Alexa Live

今年の7月、Alexa開発者のための半日間のオンラインエデュケーションイベントAlexa Liveが開催されました。このイベントでは31の新機能が紹介されました。一部日本語スキルに対応していないものもありますが、どのような機能が発表されたのか振り返ってみましょう。

31の新機能で、より自然で没入感のあるAlexaエクスペリエンスを実現

Alexa Live 2020 Release Roundup(英語)

Alexa-hostedスキル

複数のAWSリージョンに対応

Alexa-hostedスキルのエンドポイントは米国東部(バージニア北部)us-east-1のみでしたが、複数のAWSリージョンにデプロイすることができるようになりました。新たに作成するAlexa-hostedスキルで使用できるAWSリージョンは次の3つとなります。

  • 米国東部(バージニア北部)us-east-1
  • 欧州(アイルランド)eu-west-1
  • 米国西部(オレゴン)us-west-2

デフォルトエンドポイントを選択することができますので、日本語のスキルではus-west-2をおすすめします。また、リージョンの追加にともなってAlexa開発者コンソールのUIが更新されました。CloudWatchログは、「コードエディタ」の「Logs」からそれぞれのリージョンを選択することができます。

リソースをさまざまなAWSリージョンでホスティングする

DynamoDBに対応

Alexa-hostedスキルではデータ永続性にS3を使用していましたが、DynamoDBも利用できるようになりました。Alexa-hostedスキルからアクセスできるDynamoDBのテーブルが用意され、アトリビュートを保存、取得が可能です。新規のAlexa-hostedスキルだけではなく、既存のスキルでもDynamoDBを使用することができます。

Alexa-hostedスキルのデータ永続性にDynamoDBを使用する

Gitリポジトリのインポートに対応

パブリックGitリポジトリからスキルプロジェクトをインポートして、新しいAlexa-hostedスキルを作成するができるようになりました。スキルをパブリックGitリポジトリからインポートすることで、GitHubGitLabBitbucketなどのプラットフォームでAlexaコミュニティが共有するさまざまなオープンソーステンプレートを使用してスキル開発を始めることができます。

GitリポジトリをAlexa-hostedスキルにインポートする

開発ツール

公開中スキルの即時更新

公開中のスキルに以下の更新をする場合、審査に申請することなくAlexa開発者コンソールから即時に更新を反映させることができるようになりました。

  • 既存のスロットタイプへのスロット値の追加または更新
  • 既存のインテントへのサンプル発話の追加または更新

公開中のスキルを即時に更新する

ASK CLI V2

Alexa Skills Kitコマンドラインインターフェース(ASK CLI)v2.0では、AWS CloudFormationのサポートが追加され、CloudFormationテンプレートからスキルのインフラストラクチャを管理できるようになりました。また、 ask api がask smapi へ、ask init が ask configure へなど、一部のコマンド名が変更されました。

ASK CLIコマンドリファレンス(v2)

ASK CLI v1からv2への移行ガイド

デバッグツール

スマートホームデバッガー

スマートホームデバッガーを使用することで、Alexa開発者コンソールからスマートホームスキルをテストすることができます。スキルからAlexaに送信されたChangeReportAddOrUpdateReportDeleteReportイベントのJSONやエラーを確認し、デバッグに利用することができます。

スマートホームデバッガーを使用する

自動音声認識(ASR)評価ツール

自動音声認識(ASR)評価ツールを使うと、音声ファイルをバッチテストし、開発したスキルのASRの精度を測定できます。ASR評価ツールにより、テストサンプルのオーディオ発話をASRモデルに対して一括でテストし、期待される文字起こしを実際の文字起こしと比較することができます。ツールが生成する評価レポートには、各テスト発話の精度指標と合否結果が出力されるため、レポートをもとに精度の問題を解決できます。

自動音声認識(ASR)評価ツールについて

Alexa Skills Toolkit for Visual Studio Code

ASK Toolkitは、Visual Studio Code(VS Code)の拡張機能です。ASK Toolkitにより、Alexaスキルの作成、更新、デプロイ、APLドキュメントの作成とプレビュー、Alexaシミュレーターを使用したローカルスキルのテストとデバッグを行うことができます。デプロイすることなくスキルのテストができるので、開発がより便利になりました。

Alexa Skills Toolkit for Visual Studio Codeで開発を始める

ASK Toolkit for VS Code を使ってローカルデバッグ環境をセットアップする

Subscribe