人工知能音声AIはAlexaが良いと思う
先日、素敵な人からAmazon Echo Dotを頂きました。これは、Google Homeなどと同様に最近最も熱い新型ガジェットとして登場したばかりのスマートスピーカーと呼ばれるものです。スマフォ世代からした場合、スマフォで十分といった考え方もあるでしょうが、スマフォの苦手な高齢者の方、スマフォの操作すら面倒といった人、更にはMission ImpossibleやMen in Blackのワンシーンのような、音声情報検索端末的なサイバーなグッズが好きな人にとっては、画期的な製品です。
スマフォ慣れしてる人でも、使いようによってはスマフォよりも更にその利便性を感じる事が出来るだけでなく、業務用に機能を開発できれば、既存の業務が大幅に効率アップする可能性を秘めています(問合せ対応などを任せれば、煩わしさから開放されるかもしれません)。今回は、このAmazon Echoに搭載されてる人工音声AIであるAlexaについてまとめてみました。
図:Echo Dotは手軽で持ち運びも楽ちん
目次
セットアップ
Amazon Echoは現在、単体ではセットアップが出来ません。用意するものが必要です。また、ちょっとだけセットアップのやり方がややこしい面があるので、注意が必要です。
準備するもの
- Wi-Fiルーターとインターネット回線
- セットアップ用のスマートフォン
- Alexaアプリ
Amazon Echoはネット回線が必要なのと、スマートフォンでセットアップを進めるので、この2つは重要です。Wi-Fiルーターがない場合には、スマートフォンでテザリングさせる方法でも良いでしょう。
セットアップ手順
Amazon Echoには電源スイッチがありませんので、USBケーブルでコンセントとつなぐだけでONになります。つなげたら、セットアップ開始です。
- 「・」ボタンを10秒ほど長押しする。アナウンスが流れ、オレンジ色に発光します。
- スマートフォンでAlexaアプリを起動する。
- 左上の「≡」をクリックし、設定を開く
- スマフォ側はWi-Fiネットワークに接続させておきます。4G回線じゃないですよ!!
- 「新しいデバイスをセットアップ」をタップする
- セットアップデバイスはお使いの機種を選択(自分の場合ならEcho Dot)
- 言語選択画面では、日本語を選択します。
- 既にオレンジ色に点灯してるはずなので、次の画面はそのまま続行する
- ここ重要!ここで、スマフォ側はWi-Fiではなく、リストに出てくる「Amazon-XXX」という名前の付いたAPに接続を切り替えます。
- Echoに接続が完了!
- 構成画面では、Bluetoothスピーカーに接続するか?ケーブルで接続するか?などを問われます。自分はCreativeのワイヤレススピーカーに対してEcho Dotをペアリングさせました。Echo自体を使うなら、スピーカーなしでOK
- ここ重要!Wi-Fiネットワークの選択画面が出ます。ここでは、Echoをどのネットワークに参加させるか?APを選択します。4.で使ってた既存のWi-Fiを選択しましょう。
- これでセットアップ完了です。スキルを追加して遊びましょう。
図:ここからセットアップは始まります
様々なスキル
Alexaでは既に様々なスキルが40,000個もリリースされてるようで。。。しかし、日本語アカウントで利用できるスキルは1000個ほどあるようです。まだまだリリースされたばかりのガジェットなので、今後徐々に増えていくでしょうね。スキルはAmazonのサイトから有効にする事が可能になっています。もちろん、Alexaアプリからも可能です。
個人的には音声ベースのプロダクトなので、ラジコであったり、Tunin Radioを再生したり(よくFM西東京を聞いています)、CookPadでレシピを教えてもらったり、日テレNEWS24でニュース流し聞き、寝る時には波の音でリラックスして寝てみたりなどなど。もちろん、alexa対応家電など用の専用アプリを入れてコントロールしたりなど、音声AIならではのアプリも増えています。
※スキルはAmazon Developer Consoleにて開発が可能です。ノンプログラミングでの開発手法もありますが、AWSを使って自分でウェブサービスを構築して大規模なスキルを作ることも可能です。
Storylineで簡単開発
通常、Amazon Alexa用のスキルは、AmazonのDeveloper Portal上で作成します。ただ、ノンプログラマな人にとっては敷居が高く、手軽に作れるわけではありません。そこでアシストしてくれるウェブサービスが、Storylineです。今はまだ割りと単純なものしか作れませんが、今後様々なテンプレートが追加予定となっています。
Storylineを使っての開発の為には事前準備が必要です。尚、現在日本向けに作った場合、Amazon.co.jpでしか公開が出来ません。海外向けならば、英語を選択しないと、Amazon.comで公開は出来ません。
簡単なものを作ってみる
プロジェクトを作る
- Storylineにサインアップ。Googleアカウントでそのままログイン可能です。
- New Custom Skillが今回の目的。New Flash Breifingはニュース配信のための機能です。
- Skill Nameにスキルの名前、LanguageはJapaneseを選択。4つテンプレートがあるけれど、Blankを選び、Create Skillで空のプロジェクトが作られます。
図:2種類のタイプが作れる
実際に組み立てて見る
部品は非常に単純で、質問を作り、それに対する回答を用意するスタイルです。それぞれを線で結ぶだけです。公開する場合には、最初から用意されてるStop Block(停止させる場合の処理)、Help Block(使い方などを言わせる処理)にきちんと記述が必要です(Amazon審査で落ちます)。
Welcome Blockがスタート地点で、クリックすると、編集できます。まずはここに質問を記述します。ここには4つの部品が下のバーに用意されていて、左から「Alexaの発言」「ユーザの応答」「短い音声ファイル」「APIリクエスト」となっています。まずは、Alexaの発言で質問を作ります。
その後、例えば「はい / いいえ」の回答を作ったり、インテントというものを使って「{材料}について{料理法}を教えて」といった回答から2つの材料と料理法にもとづいて回答を作るなど、割りと複雑な処理も可能になっています。「ユーザの応答」の部品で作っていきます。作った後、その回答をクリックすると、下に「⇒」が出てきて、Create New Blockが出てきます。これで次の質問や、ユーザの応答に対する、Alexaの発言を紐付け出来ます。
作業は以上の通り。ここでは1個の質問もしくは2個以上の文節の質問に対して、対になる回答を用意しますが、自前で問合せAPIサーバを用意できるならば、APIリクエストに投げて、回答を取得してユーザに返すといった高度な事も可能になっています。将来的には更にStoryline上で様々なテンプレートが用意されるようなので、スピーディに開発ができそうです。詳細は別のエントリーで紹介したいと思います。
図:質問ブロックの作成中
図:プログラムは不要です
テストをしてみる
上部にある「Play」でAlexaなしでPC上でテストが可能です。そのままStartを押して、質問に回答するだけで、一通りのテストが可能です。但し、Alexa実機やAndroidスマフォ実機でのテストは、Upload to AlexaでプロジェクトをAmazon Developer Consoleにアップしなければならないので、Amazon Developerにアカウントを作る必要があります。こちらの記事を参考にすると良いでしょう。
もちろん、Alexaアプリページからも
図:そのまま直接テストが出来るようになってる
実機でテストしてみる
Amazon Developer のアカウントを持っているならば、実機でテストが出来ます。また第三者に対してもテストを体験してもらえるようになります。Alexa実機で使えるだけでなく、AndroidにAlexaアプリが入っていれば、そちらもでテストが出来ます。
Storyline上でUpload to Alexaを実行すると、Amazon Developer Console側へプロジェクトが生成されます。Amazon Developer Console「あなたのスキル」ページでは、作成したスキル一覧が出てきます。また、AlexaアプリページからもDevと付いたスキルを確認する事が可能です。
注意点として、実機テストする場合、一度実機からアカウントを抹消しもう一度Amazon Developer Consoleで登録したアカウントで登録し直す必要がある点です。Amazonと同じメアドで作っていますがそれでも、一度リンクを解消しないと、呼び出しても出てきません。ここ嵌りドコロです。
図:キノコはかせという開発スキルが見えた
ここ最近のAlexa界隈の話
収益化できるようになった
Alexaはこれまで、非常に優秀なスキルに関しては、Amazonが支払う形で報酬制度がありました。それとは別に、開発者が有料スキルとして販売や、Alexaを利用したショップなどを通じての収益化が出来るようになるようです。支払いはAmazon Payで行われ、ドキュメントが公開されています。(現在はまだ日本は適用除外の状態です)
スマートフォンのアプリと違い、バックエンドに別のウェブサービスなどが無いと課金で成功するというのは難しいとは思われますが、知識系のスキル、ネットショップ系のスキル、情報系のスキルなど、膨大なデータや既にサービスを持っている所では、よりいっそうスマートスピーカーに力を注ぐかもしれません。
Androidの音声アシスタントとして
これまで、Androidスマートフォンの音声アシスタントと言えば、Google Assistantでしたが、先日Amazon Alexaアプリが音声アシスタントとして利用できるようになりました。これまでのAmazon Alexaアプリは、Alexaを設定したりコントロールするためのアプリでしたが、音声アシスタントとして利用できるようになることで、スマフォがAlexa Echoとして利用が可能になります。
ウェイクワードと呼ばれる「アレクサ!」と呼んで起動ではなく、ホームボタン長押しで起動します。ちなみに、自分が使用しているASUS Zenfone 4(Android 8.0)では利用が出来ました。
- 設定アプリを起動
- アプリと通知を開く
- デフォルトアプリを開く
- アシストと音声入力を開く
- アシストアプリを開く
- Amazon Alexaを選んで終了
図:Alexaの設定画面と起動画面
家電と連携
Alexa連携家電がちょいちょいリリースされています。既存の家電製品をスマートホーム化したり、家電そのものがAlexaに対応していて、Alexaから直接オンオフが出来るようになったりします。主な対応製品は以下のような感じ
家電名 | 詳細 |
Philips Hue | ワイヤレス照明。色味や明るさなどを調整可能 |
TP-Linkスマートプラグ | ワイヤレスで電気のオンオフが出来るコンセント。スケジュール設定も可能。 |
Qrio Smart Lock | スマフォからも操作出来る鍵です。多くのドアに増設出来るみたい。 |
iRobot ルンバ | 勝手に掃除をしてくれるルンバです。Alexaから指令を出せます。 |
eRemote Mini | 任意の家電製品を音声で操作できるようにしてくれるリモコン。音声で赤外線を操作。 |
ヘルシーシェフ | 音声で調理時間などをコントロールできるオーブンレンジ。 |
機能改善とおまけ
機能改善のお話
Alexaはまだ進化の初期の段階です。故に開発手法もまだまだ少ない。しかし、機能改善が予定されており直近のリリース予定では、以下のような機能改善が入っています。
- 過去の会話を記録機能
- 会話がより自然に
- 必要スキルの自動起動機能
過去の会話を記録とは、予め事前に言っておいた内容(自分の名前や誕生日など)を記録させておく事が可能になります。会話がより自然に!は、「アレクサ!」というウェイクワードを唱えなくとも、会話を開始でき、またプログラムとしても、回答後の発言を元にさらに別の回答を導くといった事が続けて可能になります。(キノコの名前を回答後、「料理法教えて」だけで、そのキノコの料理法を返せるようになる)
また、現在は「○○を開いて」と言わなければ、該当のスキルを呼び出せません。これが会話の中身を読み取って適切なスキルを自動起動が可能になるそうです。例えば、「TBSラジオを聞きたい」といった場合、ラジコが呼び出されTBSラジオが再生されるといったスマートなやり取りになるようです。
Fire TV 連携
つい最近、Amazonトップに出てきた話題に「Fire TVにAlexaを搭載したものがリリースされる!?」といったものが登場しました。これは、Fire TV Cubeと呼ばれるもののようで、音声ベースのプロダクトであるAlexaと動画ベースのプロダクトであるFire TVが融合したセットトップボックスということのようです。
既に、第二世代Fire TV Stickは米国アカウントのみですが、Alexaに対応しています。日本語アカウントでも対応するようになるでしょう。米国アカウントでFire TV Stickとの連携方法はこちらにドキュメントがあります。
人間の発した音声で、チャンネル操作などが出来るようになる、または検索結果などを表示するなどが期待されますね。連携する時は、Bluetoothでペアリングしておくと、Echo側から音声が出るので便利ですね。
Raspberry Pi連携
超小型コンピュータガジェットである「Raspberry Pi」。現在はVersion 3となっていて、小型省エネながらLinuxが動作する小さなPCであるため、これでジュークボックスを作ったり、サーバーをやらせたり、プログラムが組めるならば更に利用範囲は広くなる優れものです(5000円程度で買えるのも魅力的)。
さて、このRaspberry PiとAlexaを連携させる事で、こんな事ができるよというデモが既に登場しています。Node-RED Alexa Home Skill Bridgeと呼ばれるNode.jsをノンプログラミングで色々作業させることの出来るサービスを経由させて、Raspberry Piに繋がったデバイスを操作する事が可能です。IFTTTのようなタスクランナーサービスと違い応答性が良く、Amazon EchoからRaspberry Piに命令を送れるので、独自のAlexa対応!?デバイスを構築可能になります。
- Raspberry PiにAlexaを召喚する3つの方法
- Raspberry Pi 3 でAlexaと対話する
- Raspberry Piで日本語Alexaを動かしてみました
- Amazon EchoをRaspberry Piで自作する
- Node-REDを用いてRaspberry PiとAmazon Alexaを連携させる方法
関連リンク