Amazon Alexaの基礎知識
はじめに
1月ももうすぐ終わりそうですが、僕にとってこれが2017年一発目のブログ記事となります。
2017年はAmazon Alexaが激アツだと確信したのですが、概要は把握していたものの、きちんと情報をキャッチアップ出来ていなかったため、改めてAmazon Alexaについて学びました。
基礎知識
Amazon Alexa
Amazon Alexaとは、Amazonが提供する、クラウドベースの音声認識サービスです。Alexaに対応したデバイスが認識した音声はクラウドサービスに送信されます。クラウドサービスは音声をテキスト変換し、そのテキストを処理し、処理結果をデバイスに返して音声として再生されます。
Alexaが登場したのは2014年11月、Amazon Echoとして発表されました。発表時にはAmazon Echoの機能のように報道されていましたが、その後Amazon EchoはAlexaファミリーを構成する一つのデバイスであり、Alexa自体がサービスであると明確化されました。2015年6月にAmazon Echoが一般販売を開始、その後Amazon Tap、Echo Dotと、Alexaファミリーは拡大を続けています。2016年9月にはAmazon Fire TVにも搭載されました。
2017年1月に米国ラスベガスで開催されたCES 2017では、700社がAlexa搭載製品を発表し、Alexaの盛り上がりが大きく報道されたのは記憶に新しいところかと思います。今後日本国内でもAlexa搭載製品の存在感が増していくのではないでしょうか。
Alexa Skill
Alexa Skillとは、Alexa対応デバイスから音声として送られてきて、Alexaが音声から変換したテキストに対する処理を実行するプログラムです。
Amazon自体、またはサードパーティが開発し公開しています。SkillはLambda Functionで実装されます。現時点で7000を超えるAlexa Skillが提供されています。
Custom Skill
Skillは開発者(ユーザー)が自由に実装することが出来ます。それをCustom Skillと呼びます。なお自分のデバイスのみで使うCustom Skillは自由に実行可能ですが、Alexa Skill化(一般公開)する際には審査があります。
Custom Skillの作り方は以下ブログで解説しています。
- AWS Lambdaを使ってAmazon Echoに機能追加してみた
- [AWS re:Invent 2016 参加レポート]: 簡単なCustom Skillを作ってみてecho dotで試してみた #reinvent
Alexa Skills Kit(ASK)とは
Skill(Lambda Function)を作成するためのSDKで、Alexaへ送信されて音声から変換したテキストの処理と処理結果のデバイスへの返信をLambda Functionで実装します。
Alexa Voice Service(AVS)とは
デバイス側の制御プログラムを作成するためのSDKで、音声認識とAlexaへの送信を実装します。サードパーティが自社のデバイスにAVSでの実装を組み込むことで、簡単にAlexa対応ができます。
Alexa対応デバイス
Alexa対応デバイスは大きく2種類。Amazonがリリースしているものと、Amazonがリリースしていないものです。Amazonがリリースしているものは以下の通りです。
Amazonがリリースしていないものは、すなわち上記以外のデバイスでAVSによるプログラムが搭載されているものです。マイク、スピーカー、インターネット接続機能が搭載されているデバイスにAVSでコードが実装されれば、Alexaと繋がることが出来ます。
Alexaが対応する言語
現時点での対応言語は英語とドイツ語です。早く日本語にも対応して欲しいですね。
Alexaの試し方
Alexa対応デバイスを買う
Alexa対応デバイスを買えば、すぐにAlexaを試すことが出来ます。ただしAmazon Echo、Echo Dot、Tapは技適を通過していないため、日本国内では使えません。このため海外で試す必要があります。実際の試し方は以下のブログで解説しています。
Alexaシミュレーターを使う
とりあえず試す方法としては、Amazonが提供しているAlexaシミュレーター「Echosim.io」があります。Echoism.ioにAmazonアカウントでログインすれば、Alexa Skillを試すことが出来ます。
Alexa対応デバイスを作る
また、デバイスにAVSを自分で実装する方法があります。AmazonのGithubでそのためのサンプルが提供されています(alexa/alexa-avs-sample-app)
普通のPC OS(Windows、linux、Mac)でも実装できますし、日本でも大人気のRaspberry Piにも実装可能です。
まとめ
まずはAmazon Alexaが何なのか、どんな要素があるのか、どうしたら試すことが出来るのか、をまとめました。次回は実際に試してみたいと思います。