ユーザーによるスキルとの対話



ユーザーによるスキルとの対話

ユーザーがAlexaが使えるデバイスに話しかけると、その音声はクラウドのAlexaサービスに送られます。Alexaは音声を認識し、ユーザーのリクエストを判別した後、ユーザーのそのリクエストに対応できる特定のスキルに、構造化されたリクエストを送信します。音声認識と変換はすべてクラウド内のAlexaが処理します。

すべてのAlexaスキルには対話モデルがあり、ユーザーはその対話モデルで定義された単語やフレーズで話しかければ、自分の希望する操作をスキルに実行させることができます。Alexaがユーザーとコミュニケーションをとる方法は、このモデルで決まります。

以下のセクションでは、ユーザーがAlexaとコミュニケーションをとる方法や、スキルをデザインする開発者が行う必要のある事柄について、実例と詳細を説明します。

こちらで説明している対話モデルでは、音声による対話を中心としています。Echo Showでの画面表示、ビデオ、タッチによる対話が可能なスキルを開発する場合は、Echo Showスキルのベストプラクティスも併せてご覧ください。

ユーザーによるスキルとの対話

エンドユーザーがAlexaの機能と対話する方法は、いつも同じです。ウェイクワード(Amazon Tapなどの場合はボタン)を使用してデバイスを起動し、質問をしたり、リクエストを行ったりします。

さらに、Echo Showでは、スキルが対応していれば、画面をタッチしてAlexaと対話することもできます。

たとえば、標準の天気予報サービスと対話する場合、ユーザーは次のように話します。

ユーザー: アレクサ、天気を教えて
Alexa: 現在、神戸の天気は曇りです…

潮汐情報を調べるカスタムスキルでもパターンは同じですが、ユーザーはスキルを識別する名前を含める必要があります(この例では、「潮汐情報」)。

ユーザー: アレクサ、潮汐情報で神戸の満潮を調べて
潮汐情報: 2月17日水曜日の神戸では、最初の満潮は午前1時42分頃で、潮位は約3メートル…

照明器具などのクラウド対応デバイスを制御するスキルに対しても、ユーザーは同じように話しかけることができます。この場合、照明器具はインターネットに(スマートホームハブなどを経由して)接続しておく必要があります。ユーザーは、特定の照明器具の名前を指定します(この例では、「リビングの照明」)。

ユーザー: アレクサ、リビングの照明をつけて
リビングの照明という名前で事前に設定された照明器具が点灯します。

Alexa: 分かりました。

対話モデルとは?

Alexaにおいて、対話モデルは、従来のアプリでのグラフィカルユーザーインターフェースに似ています。ボタンをクリックしてダイアログボックスからオプションを選択する代わりに、ユーザーは自分のリクエストや、質問に対する答えを音声で伝えます。

アクション 音声ユーザーインターフェース(対話モデル) 標準的なグラフィカルユーザーインターフェース
リクエストする ユーザーが「アレクサ、潮汐情報で満潮を調べて。」と話します。 ユーザーがボタンをクリックします。
ユーザーから詳細情報を収集します。 Alexaが「どの都市の満潮ですか?」と応答し、回答を待ちます。 アプリがダイアログボックスを表示し、ユーザーがオプションを選択するのを待機します。
必要な情報を提供します。 ユーザーが「神戸」と答えます。 ユーザーがオプションを選択して「OK」を選択します。
ユーザーのリクエストが完了します。 Alexaが、要求された情報を話します。

「神戸の2月17日水曜日の最初の満潮は…」
アプリがリクエストの結果を表示します。

ユーザーが質問やリクエストを話すと、Alexaは対話モデルを使用して語句を解釈し、特定のスキルが処理できる特定のリクエストに変換します。その後、リクエストがスキルに送信されます。

カスタムスキルを作成する場合は、独自の対話モデルを定義します。スマートホームスキルAPIやコンテンツスキルAPIでは、標準対話モデルを使用します。

対話モデルの例

カスタムスキルとの対話

ユーザーはこのようなフレーズを話すことができます。

ユーザー: アレクサ、潮汐情報で神戸の満潮を調べて。

  • 「潮汐情報」は、特定のスキルを識別する呼び出し名です。カスタムスキルを呼び出す場合、この名前を言う必要があります。
  • 「神戸の満潮を調べて」は、潮汐情報の対話モデルに含まれるフレーズです。このフレーズは、このスキルによってサポートされる特定のインテントにマッピングされます。

Alexaはこのカスタム対話モデルを使用して、インテントと呼ばれる、リクエストの構造化された表現を作成します。このインテントが、Alexaから潮汐情報スキルに送信されます。その後、スキルが潮汐情報を検索し、応答を送り返します。

スマートホームスキルAPIとの対話

ユーザーはこのようなフレーズを話すことができます。

ユーザー: アレクサ、リビングの照明をつけて

  • 「…をつけて」というフレーズは、Alexaの標準対話モデルによって認識されます。Alexaはこのフレーズを、照明を点灯するというリクエストとして認識します。
  • 「リビングの照明」という語句は、ユーザーが事前に構成して名前を付けた特定のデバイスを識別します。これは制御するデバイスの名前であって、スキルの名前ではないことにご注意ください。この種類のスキルでは、呼び出し名を言う必要はありません。

Alexaは、スマートホームリクエストのプリビルド対話モデルを使用して、デバイスディレクティブと呼ばれる、リクエストの構造化された表現を作成します。このデバイスディレクティブが、Alexaから「リビングの照明」デバイスを制御できる特定のスキルに送信されます。このスキルは、インターネット経由でデバイス制御クラウドと通信することにより、指定された照明を点灯したあと、その操作が成功したかどうかを示す応答を返します。

ビデオスキルAPIとの対話

ユーザーはこのようなフレーズを話すことができます。

ユーザー: アレクサ、『七人の侍』を再生して

  • 「…を再生して」というフレーズは、Alexaの標準対話モデルによって認識されます。Alexaはこのフレーズを、ビデオコンテンツを再生するというリクエストとして認識します。
  • 『七人の侍』という語句は、特定のビデオのタイトルを識別します。この種類のスキルでは、呼び出し名を言う必要はありません。

Alexaは、ビデオスキルの標準対話モデルを使用して、デバイスディレクティブと呼ばれる、リクエストの構造化された表現を作成します。このデバイスディレクティブが、Alexaから、ビデオコンテンツの再生を制御する特定のスキルに送信されます。このスキルは、対象コンテンツを制御するサービスと通信してコンテンツを再生したあと、その操作が成功したかどうかを示す応答を返します。

フラッシュブリーフィングスキルAPIとの対話

ユーザーはこのようなフレーズを話すことができます。

ユーザー: アレクサ、フラッシュニュースを聞かせて

「フラッシュニュースを聞かせて」というフレーズは、Alexaの標準対話モデルによって認識されます。Alexaはこれを、ユーザーがあらかじめ選択したフィードのコンテンツを読み取ってストリーミングするリクエストとして認識します。

コンテンツリクエスト用の標準対話モデルを使用して、Alexaはフラッシュニュース機能を呼び出します。Alexaは、ユーザーが各自のフラッシュニュースに組み込むように選択したコンテンツフィードを読み込み、このコンテンツをストリーミングします。

次のトピック: 開発を始めるうえで必要な要件について

関連リンク

構築する内容が決まったら、次のいずれかで開始します。