Alexaカスタムスキルとスマートホームスキルを統合する「マルチ機能スキル(MCS)」の開発が可能に デバイスのほぼ全機能をサポート

Amazonは、Amazon Echoなどで利用できるAlexaスキル向け新機能として、スマートホームスキルとカスタムスキルのモデルを1つのスキルに統合するマルチ機能スキル「MCS」の提供を開始した。
MCSを使用するとスマートホームスキルのビルトイン発話に独自のカスタム対話モデルを追加して、デバイスのほぼ全ての機能をサポートすることができるため、従来のようにスマートホームとカスタムスキルを分けて開発する必要がなくなる。

例えば、ダイソンはマルチ機能スキルを作成することで、ユーザーがAlexaに接続されたデバイスとより自然に会話できるようになった。ユーザーは、「アレクサ、風量を5にして」や「アレクサ、首振りをオフにして」といったコマンドでダイソンのファンをコントロールしたり、毎日の定型アクションの中でナイトモードや静音モードを設定したりすることができる。これらの機能は従来の単一のスキルでは利用できなかった。

スマートホームモデルに内蔵されている「<デバイス名>をオンにして」や「<デバイス名>をオフにして」という発話に加えて、「アレクサ、ルンバでキッチンを掃除して」や「アレクサ、<スキルの呼び出し名>で、何ができるか教えて」といったカスタム発話を、すべて同じスキル内でサポートすることができる。

すでに公開済みのスキルがあれば、スマートホームやカスタムスキルのモデルを追加して更新するだけでOK。MCSとして一から作り直す必要はない。Amazon Developerで発表された。


ユーザーによりクオリティの高いデバイス体験を提供

開発プロセスが簡素化されても、ユーザー体験は損なわれない。MCSを使用することで、ユーザーはAlexaに接続されたデバイスが持つすべての機能にアクセスできるようになるため、もう一つのスキルを探したり、それらを有効にしたりする必要がなくなる。


TP-Linkルーターの場合

同様に、米国でMCSに対応したTP-Linkルーターを使用しているユーザーは、1つのスキルでこれまで利用できなかったデバイスの機能にアクセスできるようになった。

プリセットされたスマートホームAPIのコマンドを使用して、「アレクサ、トミーのiPadのインターネット接続を停止して」のようなコマンドを言うことで、ユーザーは家庭内に接続されたデバイスの一部または全てのインターネット接続を制御することができる。さらにTP-Linkは、「アレクサ、TP-Linkを開いてゲーミングモードを有効にして」などのように、カスタムモデルを使った独自の音声コマンドも提供している。


マルチ機能スキルの開発手順

Alexa開発者コンソール、スキル管理API(SMAPI)、またはASK コマンドラインインターフェース(ASK CLI)のいずれかを使用して、ベースとなるスキルにスマートホーム、もしくはカスタムのいずれかのモデルを追加し、スキルのロジックを修正。いずれのモデルからのリクエストにも対応できるようにすることで、マルチ機能スキルが完成する。スキルは公開申請していない限り、追加したモデルを削除して元の状態に戻すことができる。

Alexa開発者コンソールを使用して既存のスキルを更新することもでき、公開中のスキルの開発バージョンを使ってMCSを実装して、公開申請する前に新しく追加した機能をテストすることも可能。

スマートホームとカスタムスキルの両方の機能を持つ新しいMCSは、以下の手順で作成することができる。


5つの作成手順

1. 「新しいスキルを作成する」の指示に従って、まずは新しいスキルを作成する。



2. 左のパネルから「モデル」をクリック。



3. この例では、カスタムスキルにスマートホームモデルを追加する。既存のカスタムスキルにスマートホームモデルを追加するには、新しいスキルがスマートホームスキル開発の前提条件を満たしている必要がある。



4. 変更を確認し「保存」ボタンをクリック。



5. これで、選択したロケール(en_US)に2つのモデルを持つマルチ機能スキルとなる。ロケールごとに2つのモデルを追加する必要があることに注意。


モデルをスキルに追加したら、通常のスキルと同様に、カスタムやスマートホームのリクエストを処理する適切なロジックをスキルに追加する必要がある。例えば、スマートホームモデルを使用しているスキルが既にあり、そこにカスタムモデルを追加した場合、カスタム対話モデルから入力されたリクエストを処理するハンドラーロジックを追加する必要がある。これにはマニュアルで実装するか、Alexa Skills Kit SDK(Node.js, Java, Python)を使って実装する。
具体的には、入力されたリクエストをチェックして、それがカスタムモデルのインテントなのか、スマートホームコマンドのリクエストなのかを適切に判断して処理を実行し、レスポンスを返すようにしなければいけない。


状態および変更レポートのサポートを追加する方法

カスタムスキルをMCSにアップグレードする際、デバイスエンドポイントに対する状態および変更レポートのサポートを追加することができる。スキルはAlexaゲートウェイへのイベント送信とアクセス権限を設定してAlexaへのユーザー認証を実現するためのガイドラインに従う必要がある。既存のユーザーへの状態と変更レポートを有効にするために、Alexaはスキルに対して各ユーザーのAcceptGrantディレクティブを送信するサイレントプロセスを自動的に実行する。このプロセスは、アップグレードの日から1週間以内に実行され、その後、Amazonから結果のメールが届く。


複数の言語とロケールのサポート

複数の言語(またはロケール)のサポートを計画している場合、MCSには言語ごとにインスタンスを作成する必要がある。例えば、カナダと米国の両方で英語をサポートする場合、MCSには言語ごとにカスタムモデルとスマートホームモデルが必要。また、カスタムモデルでは基本的なAmazonビルトインインテントを処理できるようにする必要がある。

関連記事
Alexa関連記事
関連サイト
Amazon Developer

ABOUT THE AUTHOR / 

山田 航也

横浜出身の1998年生まれ。現在はロボットスタートでアルバイトをしながらプログラムを学んでいる。好きなロボットは、AnkiやCOZMO、Sotaなどのコミュニケーションロボット。

PR

連載・コラム