Alexa ConversationsでのAlexaからの応答の定義



Alexa ConversationsでのAlexaからの応答の定義

スキルとユーザーの対話によってAlexa Conversationsがスキルコード内のAPIを呼び出すと、APIの出力が応答としてフォーマットされ、ユーザーに返されます。これはAlexaの読み上げ機能(TTS)を使って行われます。

たとえば、ユーザーが天気スキルに天気をたずねた場合、GetWeather APIは次のように、都市、日付、最高気温、最低気温を出力します。

ユーザー: 天気を教えて。
Alexa: どの都市ですか?
ユーザー: 神戸。
Alexa: 神戸の気温は二十一度です。

Alexaの応答を定義し、変数を含むTTSを使ってユーザーにこの情報を返します。上の例では、{returnedWeather.city}の気温は{returnedWeather.temperature}度ですとTTSを定義しています。

TTSはAlexa Presentation Language for Audio、視覚応答はAlexa Presentation Language(APL)でそれぞれ指定します。

開発を始める

Alexa Conversationsを使用して開発を開始するには、ペットマッチのスキル開発チュートリアルの手順を実行する、ピザ注文リファレンススキルのコードをダウンロードする、Alexa Conversationsのスキル設定とバックエンドスキルコードを含むAlexa-hostedサンプルスキルテンプレートを使用する、といった方法があります。

応答の概要

応答を構成する要素は次のとおりです。

  • オーディオ応答 –(必須)読み上げ機能(TTS)で出力されます。オプションとして視覚応答があります。TTSは、Alexa Presentation Language(APL)for Audioドキュメントで指定します。APL for Audioの詳細については、APL for Audioリファレンスを参照してください。APLA(APL for Audio)ドキュメントには、応答に渡す入力引数を組み込むことができます。

    先ほどの例では、APLAドキュメントのcontentフィールドに、 {returnedWeather.city}の気温は{returnedWeather.temperature}度ですというテキストが含まれていると考えられます。
  • 視覚応答 –(オプション)視覚応答を指定するには、Alexa Presentation Languageを使用します。詳しくは、Alexa Presentation Language(APL)の概要を参照してください。

  • 引数 –(オプション)応答をトリガーしたAPIの情報がその応答で必要な場合は、入力引数を指定します。たとえば、天気スキルを作成する場合、GetWeather APIが都市、日付、最高気温、最低気温のフィールドを含むスロットタイプのreturnedWeatherを返します。Alexa Conversationsでは、これらのフィールドが入力引数として応答テンプレートに渡されます。

複数の応答を使用する

ダイアログの数を減らすために、1回のAlexaターンに複数の応答を指定できます。複数の応答を追加することでダイアログの数を減らせるのは、引数(必要な場合)、引数確認、API確認の組み合わせを網羅できるからです。可能な場合は、ユーザーインターフェースにも推奨の応答が表示され、ダイアログのバリエーションで対応できる範囲を広げるのに役立ちます。

引数を確認する

Alexaは1回のターンで引数を確認できますが、ユーザーがその引数を否定した場合は、もう一度その引数をリクエストできます。この機能を使用するには、Alexaの応答にアノテーションを付けるときに、Confirm ArgsまたはConfirm APIダイアログアクトを使用します。応答には、「{date}の{city}の天気ですか?」などのプロンプトを指定します。 引数の確認方法については、チュートリアル: Alexa ConversationsのConfirm API Argumentsの実例を参照してください。

ダイアログにアノテーションを付けながら応答を作成する方法については、ステップ5: APIを呼び出すAlexaターンにアノテーションを付けるステップ6: 情報を求めるAlexaターンにアノテーションを付けるチュートリアル: Alexa Conversationsのダイアログにアノテーションを付ける方法)の例を参照してください。