注目の記事

Amazon Alexaの基礎知識

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

1月ももうすぐ終わりそうですが、僕にとってこれが2017年一発目のブログ記事となります。

2017年はAmazon Alexaが激アツだと確信したのですが、概要は把握していたものの、きちんと情報をキャッチアップ出来ていなかったため、改めてAmazon Alexaについて学びました。

基礎知識

Amazon Alexa

Amazon Alexaとは、Amazonが提供する、クラウドベースの音声認識サービスです。Alexaに対応したデバイスが認識した音声はクラウドサービスに送信されます。クラウドサービスは音声をテキスト変換し、そのテキストを処理し、処理結果をデバイスに返して音声として再生されます。

bnalexa1

Alexaが登場したのは2014年11月、Amazon Echoとして発表されました。発表時にはAmazon Echoの機能のように報道されていましたが、その後Amazon EchoはAlexaファミリーを構成する一つのデバイスであり、Alexa自体がサービスであると明確化されました。2015年6月にAmazon Echoが一般販売を開始、その後Amazon TapEcho Dotと、Alexaファミリーは拡大を続けています。2016年9月にはAmazon Fire TVにも搭載されました。

2017年1月に米国ラスベガスで開催されたCES 2017では、700社がAlexa搭載製品を発表し、Alexaの盛り上がりが大きく報道されたのは記憶に新しいところかと思います。今後日本国内でもAlexa搭載製品の存在感が増していくのではないでしょうか。

Alexa Skill

Alexa Skillとは、Alexa対応デバイスから音声として送られてきて、Alexaが音声から変換したテキストに対する処理を実行するプログラムです。

bnalexa2

Amazon自体、またはサードパーティが開発し公開しています。SkillはLambda Functionで実装されます。現時点で7000を超えるAlexa Skillが提供されています。

Custom Skill

Skillは開発者(ユーザー)が自由に実装することが出来ます。それをCustom Skillと呼びます。なお自分のデバイスのみで使うCustom Skillは自由に実行可能ですが、Alexa Skill化(一般公開)する際には審査があります。

Custom Skillの作り方は以下ブログで解説しています。

Alexa Skills Kit(ASK)とは

Skill(Lambda Function)を作成するためのSDKで、Alexaへ送信されて音声から変換したテキストの処理と処理結果のデバイスへの返信をLambda Functionで実装します。

Alexa Voice Service(AVS)とは

デバイス側の制御プログラムを作成するためのSDKで、音声認識とAlexaへの送信を実装します。サードパーティが自社のデバイスにAVSでの実装を組み込むことで、簡単にAlexa対応ができます。

bnalexa3

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_Skill_Testing_Tool_-_Echosim_io

Alexa対応デバイスを作る

また、デバイスにAVSを自分で実装する方法があります。AmazonのGithubでそのためのサンプルが提供されています(alexa/alexa-avs-sample-app)

GitHub_-_alexa_alexa-avs-sample-app__This_project_demonstrates_how_to_access_and_test_the_Alexa_Voice_Service_using_a_Java_client__running_on_a_Raspberry_Pi___and_a_Node_js_server_

普通のPC OS(Windows、linux、Mac)でも実装できますし、日本でも大人気のRaspberry Piにも実装可能です。

まとめ

まずはAmazon Alexaが何なのか、どんな要素があるのか、どうしたら試すことが出来るのか、をまとめました。次回は実際に試してみたいと思います。