Alexa Conversationsでのダイアログアクトの使用
• (GA)
en-US
• (Beta)
en-AU
, en-CA
, en-IN
, en-GB
, de-DE
, ja-JP
, es-ES
, es-US
ダイアログアクトは、サンプル会話の中でユーザーとAlexaがどのように対話し、APIを呼び出して特定の目的を果たすというタスクを達成するかを説明するものです。以下のセクションでは、Alexa Conversationsでサポートされているダイアログアクトのフローについて説明します。
このガイドラインに沿ってダイアログをオーサリングする方法については、Alexa Conversationsでのダイアログオーサリングのベストプラクティスを参照してください。すべてのダイアログアクトの詳細については、Alexa Conversationsのダイアログアクトリファレンスを参照してください。
- 各ステージでのダイアログアクトの使い方
- ステージ1: ユーザーまたはAlexaがAPI呼び出しインテントをトリガーする
- ステージ2: Alexaが質問する
- ステージ3: ユーザーがAlexaに応答する
- ステージ4: 必要に応じてステージ2とステージ3を繰り返す
- ステージ5: AlexaがAPIを呼び出す
- 関連トピック
各ステージでのダイアログアクトの使い方
ダイアログアクトの使い方を分かりやすく説明すると、5つの主なステージをループして、最終的にAPIを呼び出すということです。ダイアログの次のいずれかの位置からループが開始するとします。
- ダイアログの最初のターン(ユーザー入力ターン)
- API SuccessまたはAPI Failureのダイアログアクトを使用したAlexa応答ターンの後
- ビルトインの
reqmore
応答テンプレートを使用したAlexa応答ターンの後
そこから次のようにステージが進みます。
ステージ1: ユーザーまたはAlexaがAPI呼び出しインテントをトリガーする
Alexa ConversationsでのダイアログオーサリングはAPI中心のアプローチなので、通常はAPI呼び出しインテントをトリガーすることから始めます。次の表に示すとおり、これは2つのうちいずれか1つの方法で実行できます。
状況 | 対処方法 |
---|---|
ユーザー入力やその発話セットに関連付けられているサンプル発話がユーザーの意図を示していて、最終的にAPIを呼び出すものである場合 |
ユーザー入力ダイアログアクトのInvoke API(s)を使用し、ステージ2に進みます。 |
Alexaの応答がユーザーへの提案を示していて、最終的に何らかの引数が指定された別のAPIを呼び出すものである場合 |
Alexa応答ダイアログアクトのOffer Next APIを使用し、ステージ3に進みます。 |
ステージ2: Alexaが質問する
次の表は、ユーザーエクスペリエンスの一貫性を保つための、このステージでのダイアログアクトの優先順位を示しています。
状況 | 対処方法 |
---|---|
直前のユーザー入力ターンで、前回のAlexa応答ダイアログアクトのConfirm API ArgumentsまたはOffer Next APIが否定された場合 |
ビルトインの |
ユーザーが前回のAlexa応答ダイアログアクトのConfirm Argumentsを否定したが、確認の必要なすべての引数をまだAlexaがリクエストしていない場合(確認する引数すべてを得るために複数のリクエストが必要な場合があります) |
ステージ3に進みます。 |
必須の引数でAPIを呼び出すために十分な情報を既にAlexaが取得しているが、必須(および任意の数のオプション)の引数がすべて確認されていることを確かめたい場合 |
Alexa応答ダイアログアクトのConfirm APIを使用し、ステージ3に進みます。 |
必須の引数でAPIを呼び出すために十分な情報をまだAlexaが取得しておらず、ユーザーがAlexa応答ダイアログアクトのRequest Argsを受け取って一連の引数を渡すたびに、その引数を確認したい場合 |
Alexa応答ダイアログアクトのConfirm Argsを使用し、ステージ3に進みます。 |
Alexaがこれらの条件をまったく満たしていない場合(つまり、必要な引数でAPIを呼び出すために十分な情報をAlexaが取得しておらず、いずれの引数に入力する値もユーザーから提供されていない場合) |
Alexa応答ダイアログアクトのRequest Argsを使用して、API引数に入力するスロット値をユーザーにリクエストし、ステージ3に進みます。ユーザーはスロット値を答えるか、スロット値を含む完全な発話で答えます。 |
いずれの条件にも該当しない場合。Alexaは必要なすべての引数でAPIを呼び出す準備ができており、何も確認する必要がない場合 |
ステージ5に進みます。 |
ステージ3: ユーザーがAlexaに応答する
このステージでは、ユーザーがAlexaに応答します。
状況 | 対処方法 |
---|---|
前回のAlexa応答にダイアログアクトのOffer Next API(引数のリクエストなし)、Confirm API、Confirm Argsのいずれかが含まれており、ユーザーがその引数やAPIを肯定する場合 |
ユーザー入力ダイアログアクトのAffirmを使用し、ステージ4に進みます。 |
前回のAlexa応答にダイアログアクトのOffer Next API(引数のリクエストなし)、Confirm API、Confirm Argsのいずれかが含まれており、ユーザーがその引数やAPIを否定する場合。 |
ユーザー入力ダイアログアクトのDenyを使用し、ステージ4に進みます。 |
前回のAlexa応答にダイアログアクトのOffer Next API(引数のリクエストあり)が含まれており、ユーザーが次のAPIの引数を渡してステージ4に進む場合 |
ユーザー入力ダイアログアクトのInformを使用し、ステージ4に進みます。 |
前回のAlexa応答にダイアログアクトのOffer Next API(引数のリクエストあり)が含まれており、ユーザーがその引数やAPIを否定する場合 |
ユーザー入力ダイアログアクトのDenyを使用し、ステージ4に進みます。 |
前回のAlexa応答にダイアログアクトのRequest APIがあり、ユーザーが引数を渡す場合 |
ユーザー入力ダイアログアクトのInformを使用し、ステージ4に進みます。 |
ユーザーがビルトインの |
ステージ1に進むか、ダイアログを終了します。 |
ステージ4: 必要に応じてステージ2とステージ3を繰り返す
APIを呼び出せる状態になるまで、ステージ2とステージ3を繰り返します。
ステージ5: AlexaがAPIを呼び出す
このステージでは、AlexaがAPIを呼び出し、前回のAPIに対してAPI SuccessまたはAPI Failureの応答をレンダリングします。
状況 | 対処方法 |
---|---|
AlexaがAPIの結果をユーザーに知らせている場合 |
Alexa応答ダイアログアクトのAPI SuccessまたはAPI Failureを使用します。 |
スロット値を定義済みのルールと照らし合わせて確認し、ルールに従っていない場合はユーザーにプロンプトを出します。ユーザーは訂正した値を使用して応答できます。 |
Alexa応答ダイアログアクトのAPI Failureを使用し、続けてRequest Altを使用してから、ステージ3に進みます。 |
ダイアログのタスクがすべて完了するまで、ステージ1からステージ5を繰り返します。
関連トピック
最終更新日: 2022 年 01 月 14 日