Alexa Conversations用のダイアログの作成



Alexa Conversations用のダイアログの作成

Alexa Conversationsスキルを作成する場合の最初のステップは、Alexaとユーザーとの間のサンプル会話を1つ以上作成することです。このサンプル会話はダイアログと呼ばれます。ダイアログは、スキルの開始から終了までの間にAlexaとユーザーとの間で発生すると考えられる会話の例です。

ダイアログはシンプルなテキストで記述し、ダイアログ内でユーザーの発話セット、Alexaの応答、API呼び出しを示す部分を「マークアップ」します。マークアップされたダイアログは、アノテーション付きダイアログと呼ばれます。

ダイアログの作成とアノテーション付けは、すべて開発者コンソールで行います。

開発を始める

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

ダイアログを作成する

ダイアログは開発者コンソールで、ユーザーの発話とAlexaの発話をターンごとに入力して作成します。ピザ注文スキルのダイアログの例を以下に示します。

ユーザー: ピザのデリバリーを注文したいのですが。
Alexa: わかりました。どのサイズのピザにしますか?
ユーザー: Lサイズ。
Alexa: トッピングはどうしますか?
ユーザー: ピーマンとオリーブ。
Alexa: ほかにご注文はありますか?
ユーザー: いいえ。
Alexa: わかりました。25分ほどでピザが配達されます。

発話を作成する場合、句読点(「」や「」など)の打ち方によって、Alexa Conversationsによる文の解釈が変わる可能性があります。句読点は文法的に正しく使用してください。

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

スキルで発生する基本的な会話を網羅するため、必要なダイアログをできるだけ多く作成します。ピザ注文スキルであれば、スキルがユーザーに本日のおすすめメニューを提案するダイアログや、ユーザーが複数のピザを注文するダイアログなども考えられます。

ダイアログを作成するには

  1. 開発者コンソールにログインし、Alexa Conversationsスキルに移動します。
  2. 左側のペインでAlexa Conversationsを展開し、ダイアログをクリックします。
    左側のペインにAlexa Conversationsが表示されない場合、スキルは必要なインターフェースをサポートするように設定されていません。必要なインターフェースを追加するには、空のスキルテンプレートから作成するを参照してください。
  3. ダイアログを追加をクリックします。
  4. ダイアログの名前を入力します。
  5. USER:の行をクリックし、ユーザーが話しかける内容を入力します。
    ピザ配達スキルの場合は、たとえば「ピザのデリバリーを注文して」などと入力します。
  6. ALEXA:の行をクリックし、Alexaの応答を入力します。
    ピザ配達スキルの場合なら、「わかりました。どのサイズのピザにしますか?」などと入力します。
  7. ユーザーとAlexaの発話を追加するには、それぞれユーザーの発話Alexaの発話をクリックします。
    すべてのユーザーの発話の後には、Alexaの発話を1つ設定する必要があります。
  8. ヘッダーバーの保存をクリックします。
  9. Alexa Conversationsでのダイアログオーサリングのベストプラクティスで推奨されている順序に従って、次の手順でダイアログにアノテーションを付けます。
    1. スロットタイプを選択する – ユーザーの行で、発話内の変数を表す単語をカーソルで選択してハイライトします。このような変数それぞれにスロットタイプを割り当てます。このスロットタイプによって、Alexaがデータを処理する方法が決まります。スロットタイプの詳細については、Alexa Conversationsでのスロットタイプの使用を参照してください。
    2. API定義を作成するInvoke APIsタイプのダイアログアクトを持つ発話セットを作成する場合は、ユーザー発話セットを、そのユーザー発話によってトリガーされるAPIに関連付ける必要があります。APIの引数と戻り値の型を指定するために、API定義を作成します。API定義の詳細については、Alexa Conversations用のAPIの定義を参照してください。
    3. ユーザー入力にアノテーションを付ける – ユーザー行をクリックし、右側に表示されるユーザー入力パネルで、発話セットを選択して発話を追加するか、新しい発話セットを作成します。発話セットの詳細については、Alexa Conversations用の発話セットの追加を参照してください。
    4. 応答にアノテーションを付ける – Alexa行をクリックします。右側に表示されるAlexa応答パネルで、応答の目的を表すダイアログアクトを選択し、(必要に応じて)APIと引数を関連付けて、応答を選択または作成します。応答には、Alexaがユーザーに話しかけるオーディオプロンプトが少なくとも1つ必要です。応答作成の詳細については、Alexa Conversations用のAlexaからの応答の定義を参照してください。
  10. ダイアログごとに3~9の手順を繰り返します。

ダイアログを複製する

既存のダイアログを少しだけ変えたバリエーションを作成する場合は、ダイアログを複製できます。複製したダイアログは次のようになります。

  • ユーザーの発話とAlexaの発話がそのまま複製されます。
  • 複製元と同じAlexa Conversationsコンポーネント(スロット、発話セット、応答、API定義)を参照します。
  • ダイアログのアノテーション(リクエストするAPI引数など)が複製されます。

ダイアログを複製するには

  1. 開発者コンソールにログインし、Alexa Conversationsスキルに移動します。
  2. 左側のペインでAlexa Conversationsを展開し、ダイアログをクリックします。
  3. 複製するダイアログのアクション欄で複製をクリックします。
  4. 名前を入力するか、デフォルトの複製名をそのまま使用して、保存をクリックします。
  5. ダイアログの一覧の中から複製したダイアログを見つけ、編集をクリックして必要な変更を加えます。