VUIは自然で会話的、かつユーザー中心に考えられています。
音声体験をうまくデザインすれば、ユーザーはさまざまな表現で意味やインテントを伝えることができ、多様で柔軟に対応できます。このため、音声ユーザーインターフェースは、ウェブやモバイルのグラフィカルユーザーインターフェース(GUI)とは異なる方法でデザインされます。 スキルを簡単に使えれば、スピードと効率性もアップします。
Alexaスキルを使えば、毎日のスケジュールをスピーディかつ効率的にこなすことができます。いつでもどこからでも音声で操作できるからです。
キッチンタイマーを例に考えてみましょう。Alexaを使えば、「アレクサ、タイマーを10分にセットして」と言うだけでタイマーをセットできます。 電子レンジで2、3回ボタンを押すだけの操作ですら、面倒だと感じるようになるとは、誰が想像できたでしょうか?
スキル内でデジタルコンテンツを販売して収益を得ることができます。サブスクリプション型や買い切り型、消費型のスキル内商品として、魅力的なコンテンツをユーザーに販売しましょう。
たとえば、ユーザーにプロセスやタスクの使い方を教えるための知識共有スキルを開発したとします。まずは、初歩的なコンテンツを無料で提供して、このスキルの価値をユーザーに知ってもらいます。それができれば、より洗練された価値の高いプレミアムコンテンツを有料で提供することができます。
Alexa Skills Kit(ASK)では、プリビルドスキル、カスタムスキルのどちらを開発するかに応じて、スキル開発の2つのオプションから選択します。
プリビルド対話モデルは、次の種類のスキルで選択できます:
あらかじめ用意されている対話モデルを使えば、スキルをすばやく作成できます。
スマートホームスキル
プリビルドモデルを使ったスマートホームスキルを作成するには、スマートホームスキルAPIを使います。 この種のスキルでは、カメラ、照明、ドアロック、サーモスタット、スマートTVといったスマートホームデバイスを制御できます。スマートホームスキルAPIでは、制御できるスキル機能の幅が制限されていますが、VUIを独自に作成する必要がないため、開発が簡単です。 スキルの呼び出しも非常に簡単です。Alexaに次のようなリクエストができます。
スキルの呼び出しも非常に簡単です。Alexaに次のようなリクエストができます:
「アレクサ、リビングの照明をつけて」
「アレクサ、温度を2度上げて」
「アレクサ、玄関のカメラを見せて」
ユーザーにニュースヘッドラインや短いコンテンツを提供するには、フラッシュブリーフィングスキルAPIを使います。Alexaに次のようなリクエストができます:
「アレクサ、フラッシュニュースを聞かせて」
「アレクサ、ニュースを教えて」
スキル開発者は、リクエストされたフラッシュニュースのコンテンツフィードを定義します。フィードには、再生するオーディオコンテンツやユーザーに読み上げるテキストコンテンツを含めることができます。
ユーザーにTV番組や映画などのビデオコンテンツを提供するには、ビデオスキルAPIを使います。Alexaに次のようなリクエストができます:
「アレクサ、『七人の侍』を再生して」
「アレクサ、テレビのチャンネルを4に変えて」
スキル開発者は、ビデオコンテンツの検索や再生といったスキルが処理できるリクエストと、ビデオ検索の結果をAlexa搭載デバイスにどのように表示するかを定義します。
楽曲、プレイリスト、ラジオ局などのオーディオコンテンツをユーザーに提供するには、音楽スキルAPIを使います。Alexaに次のようなリクエストができます:
「アレクサ、何か音楽をかけて」
「アレクサ、ジャズをかけて」
このAPIは、オーディオコンテンツのリクエストや制御のためにユーザーが言った単語を処理します。これらの単語がリクエストに変換され、スキルに送られます。スキルがこれらのリクエストを処理して適切に応答し、Alexa搭載デバイスで再生するオーディオコンテンツを返します。
注: 現在、音楽スキルは米国でのみサポートされています。
これらは、プリビルドモデルを使ってスキル作成を効率化した例の一部にすぎません。
カスタムスキルでは、開発者が対話モデルを定義するので、もっと柔軟かつ自由にスキルをデザインできます。
カスタムスキルとユーザーとの対話例をいくつか紹介します:
カスタムスキルを使えば、ワードパズルや雑学などのゲームを始め、思い付く限りのあらゆる機能でユーザーを惹きつけることができます。
スキル開発者は次のことを行います:
このコースでは、ASKを使ったカスタムスキルの作成方法を学びます。
Alexaのしくみを簡単にまとめてみました。この例では、ユーザーが「ハローワールド」という単純なAlexaスキルを呼び出しています。
1. ユーザーがスキルを起動するには、「アレクサ、ハローワールドを開いて」と言います。
2. Alexa搭載デバイスが、発話をクラウドにあるAlexaサービスに送信し、自動言語認識によって発話が処理されテキストに変換されます。その後、自然言語理解によってテキストのインテントへの紐付けが行われます。
3. AlexaがJavaScript Object Notation(JSON)リクエストを、インテントを処理するクラウドのAWS Lambda関数に送信します。Lambda関数はバックエンドで、インテントを処理するコードを実行します。この場合、Lambda関数は「ハローワールドへようこそ」という文字列を返します。
以下のアニメーションでは、ユーザーがAlexaスキルと対話するときの処理の流れを表しています。この場合、AWS Lambda(サーバーレスのクラウドコンピューティング)でスキルコードをホストしています。
ASKを使ってスキルを作成するには以下の手順を実行します。
対話モデルの準備ができたら、Alexa開発者コンソールで発話、インテント、スロットを作成します。 対話モデルはJSON形式で保存されるので、任意の編集ツールで編集できます。JSON形式の対話モデルが完成したら、AWSマネジメントコンソールでバックエンドのLambda関数を作成します。 任意のプログラミング言語とそれに対応するASKソフトウェア開発キット(SDK)を選択し、スキルのコーディングを開始します。Lambdaでサポートされるプログラミング言語は、Java、Go、PowerShell、Node.js、C#、Python、Rubyです。 AWS Lambdaでは、ほとんどのスキルを無料で開発・ホストできます(月あたり100万呼び出しまでは無料枠の範囲で利用できます)。バックエンドのLambda関数が完成したら、Lambda関数をスキルに組み込んで、Alexa開発者コンソールでテストします。
以上が、Alexaスキルを開発する基本的な手順です。 各ステップの内容については、これ以降のモジュールで詳しく見ていきます。
Alexaスキルを開発するには、以下のような要件を満たす必要があります: