kun432's blog

Alexaなどスマートスピーカーの話題中心に、Voiceflowの日本語情報を発信してます。たまにAWSやkubernetesなど。

〜スマートスピーカーやVoiceflowの記事は右メニューのカテゴリからどうぞ。〜

Alexa最新アップデート 勝手にまとめ 2020年11月

f:id:kun432:20201129114145p:plain

Alexaの最新機能のリリース状況については、以下で日本語以外も含めて確認できるのですが、ここのところあまり更新されておらず、公式にアナウンス等なくリリースされているものもあります。

ということで、個人的に確認したものも含めて、一旦まとめてみます。

なお、カスタムスキル開発に絡むところだけです。デバイスやスマートホームあたりのところは触れません。

本記事の内容は、あくまでも個人の調査によるものであり、実際に確認したものもあれば、ドキュメントなどを参照しただけのものも含まれます。内容の正確性については保証できないことを予めご了承ください。興味のある方はぜひご自身で実装していただいて、その結果をブログなりで公開していただくと良いのではないかなと思いますし、内容に不備があればご指摘いただけると助かります。

2020/12/17追記:マルチリンガルについて訂正しました。

目次

Alexaの発話がより感情豊か・自然になるSSMLタグ「amazon:domain」「amazon:emotional」が日本語に対応

よりAlexaの発話を自然に、かつ、感情豊かにするためのSSMLタグが日本語にも対応しました。これは積極的に使っていきたいですね!

AMAZON.SelectIntentが日本語対応

AMAZON.SelectIntentが日本語に対応しました。APLと組み合わせて使うっぽいんですが、APLはホント門外漢で・・・とりあえず推測込みでどういうものかをかんたんに説明すると、

  • 複数のリストから要素を選択する場合に使う
  • 指定の仕方は以下
    • 「1番目」「2番目」というような指定が可能
    • 「1番最初」「1番最後」というような指定が可能
    • 個々の要素の詳細を見ている場合に、「これ」「それ」などで指定が可能
    • 「1番目を"見せて"」「1番目を"表示して"」といったリスト要素を視覚的に見る場合のアクションを取得可能

らしいです・・・APLのSequenceあたり組み合わせるのが想定されているようです、しらんけど。(誰か実装サンプルをお願い・・・)

ドキュメントはこのあたり。

Quick Links for Alexaがベータですが、全ロケールで利用可能になりました。これについては以前ブログでまとめてます。

また、Quick Links for Alexaのリンクを作るためのブックマークレットも公開してます。

ドキュメントはこちら。

スキルを宣伝しつつそのままお試しに進めるのでとても便利ですね!

Alexaアプリからスキルをシェア可能に

宣伝絡みでいうと、Alexaアプリからスキルをシェアする機能も追加されています。スキルストアのスキルのページが開きます。

公式のブログ記事です。

developer.amazon.com

APL 1.5 / APL for Audio 0.9

APL 1.5およびAPL for Audio 0.9(ベータ)がリリースされ新機能が追加されています。APL猛者の方、お願いします・・・

公式ブログはこちら。

カタログ/スロットの自動更新

「参照ベースのカタログ」とか「カスタムスロット共有」というものがあります。これはカスタムスロットなど独自の「リスト」をスキル外で管理することで、複数スキルで共有して更新などを一括で行う、というものです。以前にまとめた記事があります。

今回追加されたのは、このデータを定期的に自動更新するジョブを追加できるというもののようです。また、以前確認した際には、カタログ値を更新してもスキル側で反映されるわけではなく、スキル側の対話モデルの更新なども必要だったと認識していますが、対話モデルのほうも自動的に更新できるようですね。

ドキュメントはこちら。

Echo Show 10向け のAPL Smart Motion/Entity Sensing extension

9月末に、新しいEcho Show 10とともに発表されたスマートモーションAPI(デバイスを動かしたりデバイスの動きを取得)/エンティティセンシングAPI(ユーザの位置を動的に取得)のAPL向け拡張です。まだ実機も出てない上、APLの部分もよくわかっていませんが、ドキュメントは日本語化されています。

Alexa-hostedスキルでDynamoDBが利用可能

これまで、Alexa-hostedスキルでセッションアトリビュートなどの永続データを扱う場合にはhostedに付属しているS3を使うしかなかったのですが、DynamoDBが使えるようになりました。またhostedのエディタのインタフェースも更新されているようです。

ちゃんと無料利用枠があるようですね。

ドキュメントも更新されていますので、ぜひご活用ください。

セルフホストのエンドポイントからAlexa-hostedへ移行可能

英語のドキュメントでは更新されていました。既存のセルフホストされているカスタムスキルをAlexa-hostedに移行できるようになった?らしいです。

手順見てみましたが、コードは最終的にはコピペするように読めるので、なんとなくhostedの初期化+エンドポイントの変更だけのように見えますねぇ・・・

VS Codeでのローカルデバッグが日本語スキルに対応

先日、日本語公式ブログにも上がってましたが、ASK Toolkit for VS Codeでローカルデバッグができるようになりました。

Alexa Liveで確か発表されていたと思うのですが、日本語はどうやら対応していなかったようです。日本語公式ブログでも以前はngrokと開発者コンソールを組み合わせたローカルデバッグのやり方が紹介されていましたが、今回の対応でVS Code内で完結することになりスキル開発が捗りますね!

マルチリンガルモード

これは開発者オンリーというわけではありませんが、ついにAlexaでも日本語/英語のマルチリンガルモードが使えるようになりました!

確認した限りでは、

  • 日本語の場合は、"日本語/English"と"English"/日本語"の2種類。左側がメイン(Echo Showなどの画面付きデバイスだとインタフェースの言語になります)。
  • デバイス単位で設定します。なお、Alexaアプリは非対応の模様。
  • 英語で発話すれば英語で応答、日本語で発話すれば日本語で応答します。

という感じです。

で、開発者の観点で見ると、英語で発話した場合には「USスキルが起動できる」というのが大きいのではないでしょうか?これまでUS向けスキルを実機でテストする場合には、USアカウントを別に作ってそのアカウントにリンクしたデバイスを別で用意、というのが多かったのではないかと思いますが、マルチリンガルモードであれば1台・1アカウントで済みますね。ただ、英語の発音がよくないとなかなか起動してくれませんが・・・・

あと、カスタムスキル自体はロケールが一つしか選択できません。「日本語スキルで英語の発話を受け取る」「英語スキルで日本語の発話を受け取る」といった多言語に対応したスキル開発というのは現時点ではできません、あしからず。

2020/12/17追記:ここ少し突っ込んでみると制限はありますが受け取れる方法がありそうなので、別でまとめます。 2020/12/18追記:以下でまとめました。

Alexaアプリで対話をテキストでやりとり

こちらはまだ日本向けにはリリースされていませんが、Alexaアプリで開発者コンソールのテストシミュレータやGoogleアシスタントアプリのような「テキスト入力」によるやり取りができるようになるみたいです。USではすでにリリースされているようなので日本でも利用できるようになる日が待ち遠しいですね。

まとめ

公式のアナウンスはないのですが、いろいろと機能が追加されています。今後の機能追加も楽しみですね!