次の方法で共有


IntentDialog class

ユーザーの意図を識別し、必要に応じてユーザーの発話からエンティティを抽出します。

Extends

コンストラクター

IntentDialog(IIntentDialogOptions)

IntentDialog の新しいインスタンスを構築します。

メソッド

addDialogTrigger(ActionSet, string)

ライブラリ内のダイアログごとに 1 回呼び出され、ダイアログに triggerAction() をライブラリ グローバル アクション セットに追加できます。 これらのトリガーは、トリガー条件が満たされたときにダイアログを開始する beginDialogAction() にマップされます。

begin<T>(Session, T)

新しいダイアログ セッションが開始されるときに呼び出されます。

beginDialogAction(string, string, IBeginDialogActionOptions)

トリガーされるたびに別のダイアログを開始するアクションをダイアログにバインドします。 新しいダイアログはスタックにプッシュされるため、現在のタスクは自動的に終了しません。 現在のタスクは、新しいダイアログが終了すると続行されます。 組み込みプロンプトは、これが発生するとユーザーに自動的に再プロンプトを表示しますが、組み込みプロンプトを呼び出すときに promptAfterAction フラグを設定することで、その動作を無効にすることができます。

cancelAction(string, TextOrMessageType, ICancelActionOptions)

ダイアログがトリガーされるたびにダイアログを取り消すアクションをダイアログにバインドします。 取り消されると、ダイアログの親は、キャンセルされたことを示す 再開 コード 再開されます。

clone(ActionSet)

既存の ActionSet の複製を返します。

customAction(IDialogActionOptions)

トリガーされたときに渡された onSelectAction ハンドラー 呼び出すカスタム アクションをダイアログにバインドします。

dialogInterrupted(Session, string, any)

ルート ダイアログが別のダイアログによって中断されているときに呼び出されます。 これにより、中断されているダイアログは、スタックから削除される前にカスタム ロジックを実行できます。 ダイアログ自体は、ダイアログ スタックをクリアし、新しいダイアログを開始する役割を担います。

dialogResumed<T>(Session, IDialogResult<T>)

子ダイアログが終了し、現在のダイアログが再開されています。

endConversationAction(string, TextOrMessageType, ICancelActionOptions)

トリガーされたときにユーザーとの会話を終了するアクションをバインドします。

findActionRoutes(IRecognizeDialogContext, (err: Error, results: IRouteResult[]) => void)

Library.findRoutes() スタック上の各ダイアログの呼び出し中に呼び出され、ダイアログ アクションのいずれかがユーザーの発話によってトリガーされるかどうかを判断します。

matches(RegExp | string, string | IDialogWaterfallStep[] | IDialogWaterfallStep, any)

ユーザーの発話で特定の意図が検出されたときにハンドラーを呼び出します。

注意: 検出されたエンティティ & 意図の一覧など、一致の完全な詳細は、開始された最初のウォーターフォール ステップまたはダイアログの 引数に渡されます。

matchesAny(RegExp[] | string[], string | IDialogWaterfallStep[] | IDialogWaterfallStep, any)

特定の意図のいずれかがユーザーの発話で検出されたときにハンドラーを呼び出します。

注意: 検出されたエンティティ & 意図の一覧など、一致の完全な詳細は、開始された最初のウォーターフォール ステップまたはダイアログの 引数に渡されます。

onBegin((session: Session, args: any, next: () => void) => void)

session.beginDialog()への呼び出し後にダイアログ 最初に読み込まれるときに呼び出されます。 これにより、ボットはダイアログに渡された引数を処理できます。 ハンドラーは常に next() 関数を呼び出して、ダイアログ のメイン ロジックの実行を続行する必要があります。

onDefault(string | IDialogWaterfallStep[] | IDialogWaterfallStep, any)

ユーザーの意図に一致するハンドラーがない場合に呼び出す既定のハンドラー。

注意: 検出されたエンティティ & 意図の一覧を含む、認識試行の完全な詳細は、開始された最初のウォーターフォール ステップまたはダイアログの 引数に渡されます。

recognize(IRecognizeDialogContext, (err: Error, result: IRecognizeResult) => void)

ユーザーの発話を解析し、0.0 から 1.0 のスコアを割り当てます。これは、ダイアログがユーザーの発話を理解したかどうかの確信度を示します。 このメソッドは、スタック上のアクティブなダイアログに対して常に呼び出されます。 スコア 1.0 は完全一致を示し、それ以上の認識を終了します。 スコアが 1.0 未満の場合、スタック上のすべてのダイアログには、recognizeAction() メソッドが呼び出され、ダイアログにバインドされた名前付きアクションがユーザーの発話とより適切に一致するかどうかを確認します。 ボット レベルで登録されたグローバル アクションも評価されます。 ダイアログのスコアが高い場合、バインドされたアクションは、recognize() 呼び出しから返された結果オブジェクトと共に replyReceived() メソッド ダイアログが呼び出されます。 これにより、ダイアログは認識フェーズ中に収集された追加のデータを、処理のために replyReceived() メソッドに渡すことができます。

スコアが高いアクションがある場合、ダイアログの replyReceived() メソッドの代わりにアクションが呼び出されます。 ダイアログはスタックに残り、アクションが新しいダイアログを呼び出した場合に再開される可能性があるため、ダイアログは dialogResumed()への予期しない呼び出し 準備する必要があります。

recognizer(IIntentRecognizer)

意図ダイアログに新しい認識エンジン プラグインを追加します。

reloadAction(string, TextOrMessageType, IBeginDialogActionOptions)

ダイアログがトリガーされるたびにダイアログが再読み込みされるアクションをダイアログにバインドします。 これは、"やり直し" のようなユーザーの発話を処理するロジックを実装する場合に便利です。

replyReceived(Session, IRecognizeResult)

ユーザーから受信したメッセージを処理します。 ダイアログ システムによって呼び出されます。

selectActionRoute(Session, IRouteResult)

発話の信頼度スコアが最も高かったルートを選択します。

triggerAction(ITriggerActionOptions)

アクションをダイアログにバインドします。このアクションは、トリガーされるたびにアクティブなダイアログになります。 既定の動作では、スタックをクリアし、スタックのルートでダイアログを開始することで、既存のダイアログを相互運用します。 中断中のダイアログでは、トリガー アクション オプションに onInterrupted ハンドラーのカスタム を追加することで、この中断をインターセプトできます。 さらに、トリガー アクション オプションにカスタム onSelectAction ハンドラーを提供することで、トリガーされるダイアログの起動方法をカスタマイズできます。

コンストラクターの詳細

IntentDialog(IIntentDialogOptions)

IntentDialog の新しいインスタンスを構築します。

new IntentDialog(options?: IIntentDialogOptions)

パラメーター

options
IIntentDialogOptions

(省略可能) ダイアログの初期化に使用されるオプション。

メソッドの詳細

addDialogTrigger(ActionSet, string)

ライブラリ内のダイアログごとに 1 回呼び出され、ダイアログに triggerAction() をライブラリ グローバル アクション セットに追加できます。 これらのトリガーは、トリガー条件が満たされたときにダイアログを開始する beginDialogAction() にマップされます。

function addDialogTrigger(actions: ActionSet, dialogId: string)

パラメーター

actions
ActionSet

ライブラリ グローバル アクション セット。

dialogId

string

トリガーするダイアログの完全修飾 ID。

begin<T>(Session, T)

新しいダイアログ セッションが開始されるときに呼び出されます。

function begin<T>(session: Session, args?: T)

パラメーター

session
Session

現在の会話のセッション オブジェクト。

args

T

(省略可能) その親によってダイアログに渡される引数。

beginDialogAction(string, string, IBeginDialogActionOptions)

トリガーされるたびに別のダイアログを開始するアクションをダイアログにバインドします。 新しいダイアログはスタックにプッシュされるため、現在のタスクは自動的に終了しません。 現在のタスクは、新しいダイアログが終了すると続行されます。 組み込みプロンプトは、これが発生するとユーザーに自動的に再プロンプトを表示しますが、組み込みプロンプトを呼び出すときに promptAfterAction フラグを設定することで、その動作を無効にすることができます。

function beginDialogAction(name: string, id: string, options?: IBeginDialogActionOptions)

パラメーター

name

string

アクションを割り当てる一意の名前。

id

string

開始するダイアログの ID。

options
IBeginDialogActionOptions

(省略可能) アクションの構成に使用されるオプション。 一致する が指定されている場合、アクションはユーザーがアクションをトリガーする単語または語句を読み上げるのをリッスンします。それ以外の場合は、アクションをトリガーする CardAction.dialogAction() を使用して、アクションをボタンにバインドする必要があります。 dialogArgs を使用して、開始するダイアログに追加のパラメーターを渡すこともできます。

戻り値

cancelAction(string, TextOrMessageType, ICancelActionOptions)

ダイアログがトリガーされるたびにダイアログを取り消すアクションをダイアログにバインドします。 取り消されると、ダイアログの親は、キャンセルされたことを示す 再開 コード 再開されます。

function cancelAction(name: string, msg?: TextOrMessageType, options?: ICancelActionOptions)

パラメーター

name

string

アクションを割り当てる一意の名前。

msg
TextOrMessageType

(省略可能) ダイアログをキャンセルする前にユーザーを送信するメッセージ。

options
ICancelActionOptions

(省略可能) アクションの構成に使用されるオプション。 一致する が指定されている場合、アクションはユーザーがアクションをトリガーする単語または語句を読み上げるのをリッスンします。それ以外の場合は、アクションをトリガーする CardAction.dialogAction() を使用して、アクションをボタンにバインドする必要があります。

戻り値

clone(ActionSet)

既存の ActionSet の複製を返します。

function clone(copyTo?: ActionSet)

パラメーター

copyTo
ActionSet

(省略可能) 現在のオブジェクトのコピー先のインスタンス。 見つからない場合は、新しいインスタンスが作成されます。

戻り値

customAction(IDialogActionOptions)

トリガーされたときに渡された onSelectAction ハンドラー 呼び出すカスタム アクションをダイアログにバインドします。

function customAction(options: IDialogActionOptions)

パラメーター

options
IDialogActionOptions

アクションの構成に使用するオプション。 一致する が指定されている場合、アクションはユーザーがアクションをトリガーする単語または語句を読み上げるのをリッスンします。 カスタム 照合ロジックは、onFindActionを使用して提供できます。

戻り値

dialogInterrupted(Session, string, any)

ルート ダイアログが別のダイアログによって中断されているときに呼び出されます。 これにより、中断されているダイアログは、スタックから削除される前にカスタム ロジックを実行できます。 ダイアログ自体は、ダイアログ スタックをクリアし、新しいダイアログを開始する役割を担います。

function dialogInterrupted(session: Session, dialogId: string, dialogArgs: any)

パラメーター

session
Session

現在の会話のセッション オブジェクト。

dialogId

string

開始する必要があるダイアログの ID。

dialogArgs

any

新しいダイアログに渡す引数。

dialogResumed<T>(Session, IDialogResult<T>)

子ダイアログが終了し、現在のダイアログが再開されています。

function dialogResumed<T>(session: Session, result: IDialogResult<T>)

パラメーター

session
Session

現在の会話のセッション オブジェクト。

result

IDialogResult<T>

子ダイアログによって返される結果。

endConversationAction(string, TextOrMessageType, ICancelActionOptions)

トリガーされたときにユーザーとの会話を終了するアクションをバインドします。

function endConversationAction(name: string, msg?: TextOrMessageType, options?: ICancelActionOptions)

パラメーター

name

string

アクションを割り当てる一意の名前。

msg
TextOrMessageType

(省略可能) 会話を終了する前にユーザーを送信するメッセージ。

options
ICancelActionOptions

(省略可能) アクションの構成に使用されるオプション。 一致する が指定されている場合、アクションはユーザーがアクションをトリガーする単語または語句を読み上げるのをリッスンします。それ以外の場合は、アクションをトリガーする CardAction.dialogAction() を使用して、アクションをボタンにバインドする必要があります。

戻り値

findActionRoutes(IRecognizeDialogContext, (err: Error, results: IRouteResult[]) => void)

Library.findRoutes() スタック上の各ダイアログの呼び出し中に呼び出され、ダイアログ アクションのいずれかがユーザーの発話によってトリガーされるかどうかを判断します。

function findActionRoutes(context: IRecognizeDialogContext, callback: (err: Error, results: IRouteResult[]) => void)

パラメーター

context
IRecognizeDialogContext

受信メッセージのコンテキストと、評価されたダイアログの dialogData

callback

(err: Error, results: IRouteResult[]) => void

上位候補ルートを使用して呼び出す関数。

matches(RegExp | string, string | IDialogWaterfallStep[] | IDialogWaterfallStep, any)

ユーザーの発話で特定の意図が検出されたときにハンドラーを呼び出します。

注意: 検出されたエンティティ & 意図の一覧など、一致の完全な詳細は、開始された最初のウォーターフォール ステップまたはダイアログの 引数に渡されます。

function matches(intent: RegExp | string, dialogId: string | IDialogWaterfallStep[] | IDialogWaterfallStep, dialogArgs?: any)

パラメーター

intent

RegExp | string

  • 意図:{RegExp} - ユーザーの意図を検出するために評価される正規表現。
  • 意図:{string} - IIntentRecognizer プラグインによって返され、ユーザーの意図に一致するために使用される名前付き意図。
dialogId

string | IDialogWaterfallStep[] | IDialogWaterfallStep

  • dialogId: _{string} - 意図が一致したときに開始するダイアログの ID。
  • dialogId:{IDialogWaterfallStep[]} - 意図が一致したときに実行するステップのウォーターフォール。
  • dialogId:{IDialogWaterfallStep} - 意図が一致したときに実行する単一ステップウォーターフォール。 組み込みのプロンプトを呼び出すか、新しいダイアログを開始すると、子プロンプト/ダイアログの完了時に現在のダイアログが終了します。
dialogArgs

any

(省略可能) が {string}のときに開始されたダイアログを渡す引数。

戻り値

matchesAny(RegExp[] | string[], string | IDialogWaterfallStep[] | IDialogWaterfallStep, any)

特定の意図のいずれかがユーザーの発話で検出されたときにハンドラーを呼び出します。

注意: 検出されたエンティティ & 意図の一覧など、一致の完全な詳細は、開始された最初のウォーターフォール ステップまたはダイアログの 引数に渡されます。

function matchesAny(intent: RegExp[] | string[], dialogId: string | IDialogWaterfallStep[] | IDialogWaterfallStep, dialogArgs?: any)

パラメーター

intent

RegExp[] | string[]

  • 意図:{RegExp[]} - ユーザーの意図を検出するために評価される正規表現の配列。
  • 意図:{string[]} - IIntentRecognizer プラグインによって返される、ユーザーの意図と一致させるために使用される名前付き意図の配列。
dialogId

string | IDialogWaterfallStep[] | IDialogWaterfallStep

  • dialogId: _{string} - 意図が一致したときに開始するダイアログの ID。
  • dialogId:{IDialogWaterfallStep[]} - 意図が一致したときに実行するステップのウォーターフォール。
  • dialogId:{IDialogWaterfallStep} - 意図が一致したときに実行する単一ステップウォーターフォール。 組み込みのプロンプトを呼び出すか、新しいダイアログを開始すると、子プロンプト/ダイアログの完了時に現在のダイアログが終了します。
dialogArgs

any

(省略可能) が {string}のときに開始されたダイアログを渡す引数。

戻り値

onBegin((session: Session, args: any, next: () => void) => void)

session.beginDialog()への呼び出し後にダイアログ 最初に読み込まれるときに呼び出されます。 これにより、ボットはダイアログに渡された引数を処理できます。 ハンドラーは常に next() 関数を呼び出して、ダイアログ のメイン ロジックの実行を続行する必要があります。

function onBegin(handler: (session: Session, args: any, next: () => void) => void)

パラメーター

handler

(session: Session, args: any, next: () => void) => void

ダイアログが開始されたときに呼び出す関数。

戻り値

onDefault(string | IDialogWaterfallStep[] | IDialogWaterfallStep, any)

ユーザーの意図に一致するハンドラーがない場合に呼び出す既定のハンドラー。

注意: 検出されたエンティティ & 意図の一覧を含む、認識試行の完全な詳細は、開始された最初のウォーターフォール ステップまたはダイアログの 引数に渡されます。

function onDefault(dialogId: string | IDialogWaterfallStep[] | IDialogWaterfallStep, dialogArgs?: any)

パラメーター

dialogId

string | IDialogWaterfallStep[] | IDialogWaterfallStep

  • dialogId: _{string} - 開始するダイアログの ID。
  • dialogId:{IDialogWaterfallStep[]} - 実行するステップのウォーターフォール。
  • dialogId:{IDialogWaterfallStep} - 実行する単一ステップウォーターフォール。 組み込みのプロンプトを呼び出すか、新しいダイアログを開始すると、子プロンプト/ダイアログの完了時に現在のダイアログが終了します。
dialogArgs

any

(省略可能) が {string}のときに開始されたダイアログを渡す引数。

戻り値

recognize(IRecognizeDialogContext, (err: Error, result: IRecognizeResult) => void)

ユーザーの発話を解析し、0.0 から 1.0 のスコアを割り当てます。これは、ダイアログがユーザーの発話を理解したかどうかの確信度を示します。 このメソッドは、スタック上のアクティブなダイアログに対して常に呼び出されます。 スコア 1.0 は完全一致を示し、それ以上の認識を終了します。 スコアが 1.0 未満の場合、スタック上のすべてのダイアログには、recognizeAction() メソッドが呼び出され、ダイアログにバインドされた名前付きアクションがユーザーの発話とより適切に一致するかどうかを確認します。 ボット レベルで登録されたグローバル アクションも評価されます。 ダイアログのスコアが高い場合、バインドされたアクションは、recognize() 呼び出しから返された結果オブジェクトと共に replyReceived() メソッド ダイアログが呼び出されます。 これにより、ダイアログは認識フェーズ中に収集された追加のデータを、処理のために replyReceived() メソッドに渡すことができます。

スコアが高いアクションがある場合、ダイアログの replyReceived() メソッドの代わりにアクションが呼び出されます。 ダイアログはスタックに残り、アクションが新しいダイアログを呼び出した場合に再開される可能性があるため、ダイアログは dialogResumed()への予期しない呼び出し 準備する必要があります。

function recognize(context: IRecognizeDialogContext, callback: (err: Error, result: IRecognizeResult) => void)

パラメーター

context
IRecognizeDialogContext

要求のコンテキスト。

callback

(err: Error, result: IRecognizeResult) => void

認識結果を使用して呼び出す関数。

recognizer(IIntentRecognizer)

意図ダイアログに新しい認識エンジン プラグインを追加します。

function recognizer(plugin: IIntentRecognizer)

パラメーター

plugin
IIntentRecognizer

追加する認識エンジン。

戻り値

reloadAction(string, TextOrMessageType, IBeginDialogActionOptions)

ダイアログがトリガーされるたびにダイアログが再読み込みされるアクションをダイアログにバインドします。 これは、"やり直し" のようなユーザーの発話を処理するロジックを実装する場合に便利です。

function reloadAction(name: string, msg?: TextOrMessageType, options?: IBeginDialogActionOptions)

パラメーター

name

string

アクションを割り当てる一意の名前。

msg
TextOrMessageType

(省略可能) ダイアログを再読み込みする前にユーザーを送信するメッセージ。

options
IBeginDialogActionOptions

(省略可能) アクションの構成に使用されるオプション。 一致する が指定されている場合、アクションはユーザーがアクションをトリガーする単語または語句を読み上げるのをリッスンします。それ以外の場合は、アクションをトリガーする CardAction.dialogAction() を使用して、アクションをボタンにバインドする必要があります。 dialogArgs を使用して、再読み込み時に追加のパラメーターをダイアログに渡すこともできます。

戻り値

replyReceived(Session, IRecognizeResult)

ユーザーから受信したメッセージを処理します。 ダイアログ システムによって呼び出されます。

function replyReceived(session: Session, recognizeResult?: IRecognizeResult)

パラメーター

session
Session

現在の会話のセッション オブジェクト。

recognizeResult
IRecognizeResult

selectActionRoute(Session, IRouteResult)

発話の信頼度スコアが最も高かったルートを選択します。

function selectActionRoute(session: Session, route: IRouteResult)

パラメーター

session
Session

現在の会話のセッション オブジェクト。

route
IRouteResult

findActionRoutes()の呼び出しから返された結果。

triggerAction(ITriggerActionOptions)

アクションをダイアログにバインドします。このアクションは、トリガーされるたびにアクティブなダイアログになります。 既定の動作では、スタックをクリアし、スタックのルートでダイアログを開始することで、既存のダイアログを相互運用します。 中断中のダイアログでは、トリガー アクション オプションに onInterrupted ハンドラーのカスタム を追加することで、この中断をインターセプトできます。 さらに、トリガー アクション オプションにカスタム onSelectAction ハンドラーを提供することで、トリガーされるダイアログの起動方法をカスタマイズできます。

function triggerAction(options: ITriggerActionOptions)

パラメーター

options
ITriggerActionOptions

アクションの構成に使用されるオプション。

戻り値