Amazon Alexa とは
Alexa とはAmazonが提供する、クラウドベースの音声認識サービスである。
Alexaに対応したデバイスが認識した音声はクラウドサービスに送信される。クラウドサービスは音声をテキスト変換し、そのテキストを処理し、処理結果をデバイスに返して音声として再生される。
Alexa が持っている2つのフレームワーク
- Alexa Voice Service(AVS)
音声認識や自然言語解釈等を行う。
具体的にはデバイス側の制御プログラムを作成するためのSDKで、音声認識とAlexaへの送信を実装する。サードパーティが自社のデバイスにAVSでの実装を組み込むことで、Alexa対応ができる。 - Alexa Skill Kit(ASK)
様々な別の機能をSkillという形でパッケージングしてAlexa Serviceとつなげる。
具体的にはSkill(Lambda Function)を作成するためのSDKで、Alexaへ送信されて音声から変換したテキストの処理と処理結果のデバイスへの返信をLambda Functionで実装する。
Alexa Skill Kit(ASK) で何ができるか
- どのような音声に反応するか
- どのような単語をパラメータにしてどんな機能を実行するのか
- 機能を実行した結果をどのようにAlexaに戻すのか
これらを定義したパッケージ、API群をAlexa Skill Kitと呼び、そのうち実際に実行される機能の部分をSkillと言う。
Alexa Skill Kit(ASK) の種類
公式サイト1 に記載があったのが5種類
- Custom Skills
- Smart Home Skills
- Flash Briefing Skills
- Video Skills
- List Skills
Custom Skills
開発者が自由にスキルを定義できる。
Amazonの審査を通した場合、パブリックなAlexaサービス群に配置される。2
Smart Home Skills
スマートホームを制御するスキルを構築する。 これにより、ユーザーの操作を制御しにくくなるが、音声ユーザーインターフェイスを自分で作成する必要がないため、開発が簡単になる。 スキルは、呼び出し元の名前を覚える必要がなく、「Alexa、リビングルームの照明をオンにして」などの要求を行うことができるため、エンド・ユーザーが呼び出すことも容易。
Flash Briefing Skills
ニュースの配信サービス用のSkill。
URLエンドポイントを指定して配信することができる。
利用できるフォーマットは JSON
, RSS
でエンコードがUTF-8のもの。
Video Skills
テレビ番組や映画などのビデオコンテンツを提供できる。
List Skills
list skill
は、 list events
3 の使用を簡単にできる。 スキルは、Alexaのトップレベルの発話から、リストに起こった変更を理解して対応することができる。4
list skill
は、ASK CLI (Alexa Skills Kit Command Line Interface) を通じて作成できる。
Alexa対応デバイスについて
- Amazon Echo
- Echo Dot
- 他...
どちらも Amazonがリリースしているもの。
Amazonがリリースしていないものでも、マイク、スピーカー、インターネット接続機能が搭載されているデバイスにAVSでコードが実装されれば、Alexaと繋がることが出来る。
Raspberry Pi + AVS
で作成し Alexa と繋げるという記事もチラホラ。
Alexa の対応言語
英語とドイツ語。そろそろ日本語も来そうだねーという記事もチラホラ。5
まとめ
Amazon echo
にまつわるキーワード Alexa
, Alexa Voice Service
, Alexa Skill Kit
あたりの関係性を少し理解できたなーと。
siri や google asistant でも VUI(Voice User Interface) として色々発展していると思うが、 Alexa
については 開発者がこのInterfaceを通してSkill(アプリケーション) の開発ができ、且つパブリックに公開ができるのが魅力的だと感じた。
次回は Custom Skills
について掘り下げて調べてみるかな。
最後に
本日の Friday I/O でした。
株式会社ワムウでは、毎週金曜日は 興味がある事柄に取り組み、その成果を何らかの形でアウトプットする日としています。ありがとうございました。
-
https://developer.amazon.com/ja/docs/ask-overviews/understanding-the-different-types-of-skills.html ↩
-
https://developer.amazon.com/ja/docs/smapi/list-events-in-alexa-skills.html ↩
-
TodoList のようなリストを扱うようなものを、登録したり読み出したりすることに対応できるっぽい。 ↩
-
https://amazon-press.jp/Top-Navi/Press-releases/Presselist/Press-release/amazon/jp/Devices/2017/Amazon-Alexa-1002/ ↩