インテントの検出および解決

ビジュアル・フロー・デザイナで設計されたダイアログ・フローの場合、アクティブなフローがない場合、インテントは自動的に検出(および解決)されます。

これは、次の場合に、ダイアログ・エンジンがユーザー・メッセージに対してインテント解決を実行することを意味します。

  • セッションは、ユーザー・メッセージとともに開始されます。
  • 前のトップレベル・タスク・フローが終了したばかりで、エンド・フロー・コンポーネントによって指定されたアクションが別のイベントと一致しません(デフォルトの遷移)。
ノート

これは、YAMLベースのダイアログ・フローとは異なります。ここでは、ダイアログ・フローにSystem.Intentコンポーネントを明示的に追加する必要があります。ビジュアル・フロー・デザイナには、System.Intentコンポーネントはありません。

ダイアログ・エンジンは、インテント解決を実行するときに、system.nlpresultという名前の事前定義済変数(式${skill.system.nlpresult.value}でアクセスできる)に結果を格納します。さらに、検出されたインテント一致の場合はsystem.intent.<IntentName>、インテント一致が見つからない場合はsystem.intent.unresolvedIntentというイベントが生成されます。メイン・フローでは、インテントとそれらのインテントに対して起動する必要があるフローとの間のマッピングを作成します。

ノート

ビジュアル・フロー・デザイナでのインテントの自動検出は、デジタル・アシスタントがすでにどのように機能しているかと似ていますが、主な違いは、ユーザー入力が未解決の場合に、デジタル・アシスタントがアクティブ・スキル内の非シーケンサをサポートしていることです。