Alexa Conversationsでのダイアログオーサリングのベストプラクティス



Alexa Conversationsでのダイアログオーサリングのベストプラクティス

ベストプラクティスとして、Alexa Conversationsのダイアログ、スロットタイプ、API定義、ユーザー発話セット、応答は次の順序で作成します。サポートされているダイアログアクトのフローの詳細については、Alexa Conversationsでのダイアログアクトの使用を参照してください。

ステップ1: シンプルなダイアログを作成する

ユーザーターンから始めて、ユーザーとAlexaの間でのシンプルな会話のやり取りを作成します。このダイアログは、Alexa ConversationsがAPIの呼び出しに使用できる引数を収集するのに役立ちます。シンプルな会話から始めましょう。この会話は、後で機能を追加して複雑性を高めることで拡張することができます。

すべてのAlexa応答ターンでは、ダイアログの最終ターンでセッションを終了する場合や、後続のターンが質問を含むAlexa応答ターンである場合を除き、ユーザーに質問する必要があります。

ここでは、参考用にサンプルの天気スキルから次のダイアログを使用します。

ユーザー: 天気を教えて。
Alexa: どの都市ですか?
ユーザー: 神戸。
Alexa: 日付はいつですか?
ユーザー: 今日。
Alexa: 今日の神戸の天気ですね?
ユーザー: はい。
Alexa: 今日の神戸の気温は21度です。

ステップ2: カスタムスロットタイプを作成する

APIの戻り値用にカスタムスロットタイプを作成します。前の例を引き続き使用すると、天気スキルには、WeatherResultという名前のカスタムスロットタイプがあり、citytemperaturedateというプロパティがあります。

ステップ3: 最初のユーザー入力ターンにアノテーションを付ける

最初のユーザー入力ターンをクリックし、ユーザー入力パネルを使用して次のようにアノテーションを付けます。

  • ユーザー入力ダイアログアクトを選択します。通常、最初のユーザー入力ターンではInvoke APIsダイアログアクトを使用して、ユーザーがAPIを呼び出すダイアログパス上にあることを示します。
  • 発話セットを作成または選択します。発話セットごとに、少なくとも1つのサンプル発話を明示的に指定する必要があります。
  • フレーズをハイライトしてスロットタイプと変数を定義することで、発話のスロットにアノテーションを付けます。変数は、発話セットのスロット、API定義の引数、応答の引数をマッピングするためにダイアログ全体で使用されます。

ステップ4: 引数をリクエストするAlexa応答ターンにアノテーションを付ける

次のAlexa応答ターンをクリックし、右側のAlexa応答パネルを使用してアノテーションを付けます。通常、次のAlexa応答ターンではRequest Argsダイアログアクトを使用して、後にAPIの呼び出しに使用される引数をAlexaがユーザーにリクエストしていることを示します。天気スキルの例では、引数をリクエストする最初のAlexaターンは「どの都市ですか?」です。

Alexa応答にアノテーションを付けると、音声応答(および必要に応じて視覚応答)が作成されます。音声応答と視覚応答を次のように作成することをお勧めします。

  • 応答ページで新しい音声応答を作成および編集する場合(シンプルな音声応答の場合)、Alexaプロンプトの下にあるグレーの保存ボタンをクリックして音声応答を保存します。また、モーダルの保存ボタンもクリックします。
  • 音声応答を編集およびビデオ応答を編集をクリックして、新しいタブでエディターを開きます。編集が完了したら、右上のディスクのアイコンをクリックして変更を保存し、タブを閉じて応答ページに戻ります。

ステップ5: APIを呼び出すAlexaターンにアノテーションを付ける

Alexaとスキルの対話によってAlexa Conversationsがスキルコード内のAPIを呼び出すと、AlexaはAlexa応答を使用してAPIの結果をユーザーに返します。天気スキルの例の場合、APIを呼び出すAlexaターンは「今日の神戸の気温は21度です」です。この情報がGetWeather APIの出力であるためです。このAlexaターンにアノテーションを付けるには、次の操作を行います。

  • API SuccessまたはAPI Failureのダイアログアクトを選択します。
  • APIの引数と戻り値の型を指定するAPI定義を作成します。
  • APIから返された際にAlexaがユーザーに話しかける応答を設定します。
  • (オプション)APIが成功したか失敗したかを定義する応答条件を指定します。
  • (オプション)Alexa応答に複数の目的がある場合は、2番目のダイアログアクトを選択します。

ステップ6: 組み込みの応答をカスタマイズする

Alexa Conversationsには、welcomeprovide_helpなどの組み込みの応答が付属しています。スキルに合わせて組み込みの応答をカスタマイズします。たとえば、welcome応答を更新して、スキルに関する情報を提供し、ユーザーによるコア機能の操作をサポートできるようにします。provide_help応答を更新して、スキルの使用方法などの情報を提供したりできます。

組み込みの応答のリストとトリガーされるタイミングについては、Alexa Conversationsのビルトイン応答リファレンスを参照してください。

すべての応答(組み込みとカスタムの両方)にアクセスするには、左側のペインに移動して、Alexa Conversations応答の順に展開し、リスト内で目的の応答を探します。