Alexa Conversationsでのダイアログオーサリングのベストプラクティス
• (GA)
en-US
• (Beta)
en-AU
, en-CA
, en-IN
, en-GB
, de-DE
, ja-JP
, es-ES
, es-US
ベストプラクティスとして、Alexa Conversationsのダイアログ、スロットタイプ、API定義、ユーザー発話セット、応答は次の順序で作成します。サポートされているダイアログアクトのフローの詳細については、Alexa Conversationsでのダイアログアクトの使用を参照してください。
• 頻繁に保存してください。タブ間のナビゲーションは、開発者コンソールセッションを拡張するためのアクティビティとしてカウントされるとは限りません。
• ビルドページからモデルを編集する場合は、ブラウザタブを1つだけ使用してください。複数のブラウザタブを開いていても問題はありません。たとえば、ビルドページ用に1つのタブ、コードエディタページ用に1つのタブ、テストページ用に1つのタブを開くことができますが、ビルドタブを2つ開いて、一方のタブに変更を加えると、データが失われるおそれがあります。
- ステップ1: シンプルなダイアログを作成する
- ステップ2: カスタムスロットタイプを作成する
- ステップ3: 最初のユーザー入力ターンにアノテーションを付ける
- ステップ4: 引数をリクエストするAlexa応答ターンにアノテーションを付ける
- ステップ5: APIを呼び出すAlexaターンにアノテーションを付ける
- ステップ6: 組み込みの応答をカスタマイズする
- 関連トピック
ステップ1: シンプルなダイアログを作成する
ユーザーターンから始めて、ユーザーとAlexaの間でのシンプルな会話のやり取りを作成します。このダイアログは、Alexa ConversationsがAPIの呼び出しに使用できる引数を収集するのに役立ちます。シンプルな会話から始めましょう。この会話は、後で機能を追加して複雑性を高めることで拡張することができます。
すべてのAlexa応答ターンでは、ダイアログの最終ターンでセッションを終了する場合や、後続のターンが質問を含むAlexa応答ターンである場合を除き、ユーザーに質問する必要があります。
ここでは、参考用にサンプルの天気スキルから次のダイアログを使用します。
ユーザー: 天気を教えて。
Alexa: どの都市ですか?
ユーザー: 神戸。
Alexa: 日付はいつですか?
ユーザー: 今日。
Alexa: 今日の神戸の天気ですね?
ユーザー: はい。
Alexa: 今日の神戸の気温は21度です。
ステップ2: カスタムスロットタイプを作成する
APIの戻り値用にカスタムスロットタイプを作成します。前の例を引き続き使用すると、天気スキルには、WeatherResult
という名前のカスタムスロットタイプがあり、city
、temperature
、date
というプロパティがあります。
ステップ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には、welcomeやprovide_helpなどの組み込みの応答が付属しています。スキルに合わせて組み込みの応答をカスタマイズします。たとえば、welcome応答を更新して、スキルに関する情報を提供し、ユーザーによるコア機能の操作をサポートできるようにします。provide_help応答を更新して、スキルの使用方法などの情報を提供したりできます。
組み込みの応答のリストとトリガーされるタイミングについては、Alexa Conversationsのビルトイン応答リファレンスを参照してください。
すべての応答(組み込みとカスタムの両方)にアクセスするには、左側のペインに移動して、Alexa Conversations、応答の順に展開し、リスト内で目的の応答を探します。
関連トピック
- Alexa Conversationsを使用したデザイン
- Alexa Conversationsのダイアログアクトリファレンス
- Alexa Conversationsでのダイアログアクトの使用
- Alexa Conversationsを使用した開発の概要
最終更新日: 2022 年 01 月 14 日