Compartilhar via


IntentDialog class

Identifica uma intenção de usuário e, opcionalmente, extrai entidades de um enunciado de usuários.

Extends

Construtores

IntentDialog(IIntentDialogOptions)

Constrói uma nova instância de um IntentDialog.

Métodos

addDialogTrigger(ActionSet, string)

Chamado uma vez para cada caixa de diálogo dentro de uma biblioteca para dar ao diálogo a chance de adicionar seu triggerAction() ao conjunto de ações global de bibliotecas. Esses gatilhos são mapeados para um beginDialogAction() que inicia a caixa de diálogo quando a condição do gatilho é atendida.

begin<T>(Session, T)

Chamado quando uma nova sessão de diálogo está sendo iniciada.

beginDialogAction(string, string, IBeginDialogActionOptions)

Associa uma ação à caixa de diálogo que iniciará outra caixa de diálogo sempre que ela for disparada. A nova caixa de diálogo será enviada por push para a pilha para que ela não encerre automaticamente a tarefa atual. A tarefa atual será continuada quando a nova caixa de diálogo terminar. Os prompts internos solicitarão automaticamente ao usuário uma vez que isso aconteça, mas esse comportamento pode ser desabilitado definindo o sinalizador promptAfterAction ao chamar um prompt interno.

cancelAction(string, TextOrMessageType, ICancelActionOptions)

Associa uma ação à caixa de diálogo que cancelará a caixa de diálogo sempre que ela for disparada. Quando cancelado, o pai das caixas de diálogo será retomado com um código de retomado indicando que ele foi cancelado.

clone(ActionSet)

Retorna um clone de um ActionSet existente.

customAction(IDialogActionOptions)

Associa uma ação personalizada à caixa de diálogo que chamará o manipulador de de onSelectAction quando disparado.

dialogInterrupted(Session, string, any)

Chamado quando uma caixa de diálogo raiz está sendo interrompida por outra caixa de diálogo. Isso dá à caixa de diálogo que está sendo interrompida a chance de executar a lógica personalizada antes de ser removida da pilha. A caixa de diálogo em si é responsável por limpar a pilha de diálogo e iniciar a nova caixa de diálogo.

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

Uma caixa de diálogo filho terminou e a atual está sendo retomada.

endConversationAction(string, TextOrMessageType, ICancelActionOptions)

Associa uma ação que encerrará a conversa com o usuário quando disparada.

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

Chamado durante o Library.findRoutes() chamada para cada caixa de diálogo na pilha para determinar se alguma das ações de diálogos é disparada pelo enunciado dos usuários.

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

Invoca um manipulador quando uma determinada intenção é detectada no enunciado dos usuários.

OBSERVAÇÃO: Os detalhes completos da correspondência, incluindo a lista de intenções & entidades detectadas, serão passados para o args da primeira etapa ou caixa de diálogo em cascata iniciada.

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

Invoca um manipulador quando qualquer uma das intenções determinadas é detectada no enunciado dos usuários.

OBSERVAÇÃO: Os detalhes completos da correspondência, incluindo a lista de intenções & entidades detectadas, serão passados para o args da primeira etapa ou caixa de diálogo em cascata iniciada.

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

Chamado quando a caixa de diálogo é carregada pela primeira vez após uma chamada para session.beginDialog(). Isso dá ao bot a oportunidade de processar argumentos passados para a caixa de diálogo. Os manipuladores sempre devem chamar a função next() para continuar a execução da lógica principal dos diálogos.

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

O manipulador padrão a ser invocado quando não houver manipuladores que correspondam à intenção dos usuários.

OBSERVAÇÃO: Todos os detalhes da tentativa de reconhecimento, incluindo a lista de intenções & entidades detectadas, serão passados para o args da primeira etapa ou caixa de diálogo em cascata iniciada.

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

Analisa o enunciado dos usuários e atribui uma pontuação de 0,0 a 1,0 indicando o quão confiante é a caixa de diálogo de que ele entendeu o enunciado dos usuários. Esse método é sempre chamado para a caixa de diálogo ativa na pilha. Uma pontuação de 1.0 indicará uma correspondência perfeita e encerrará qualquer reconhecimento adicional. Quando a pontuação for menor que 1,0, cada diálogo na pilha terá seu método recognizeAction() chamado também para ver se há ações nomeadas associadas à caixa de diálogo que corresponda melhor ao enunciado dos usuários. Ações globais registradas no nível do bot também serão avaliadas. Se a caixa de diálogo tiver uma pontuação maior, as ações associadas, as caixas de diálogo método replyReceived() serão chamadas com o objeto de resultado retornado da chamada recognize(). Isso permite que a caixa de diálogo passe dados adicionais coletados durante a fase de reconhecimento para o método replyReceived() para tratamento.

Se houver uma ação com uma pontuação mais alta, a caixa de diálogo será invocada em vez do método replyReceived() dos diálogos. A caixa de diálogo permanecerá na pilha e poderá ser retomada em algum momento caso a ação invoque uma nova caixa de diálogo para que os diálogos se preparem para chamadas inesperadas para dialogResumed().

recognizer(IIntentRecognizer)

Adiciona um novo plug-in reconhecedor à caixa de diálogo de intenção.

reloadAction(string, TextOrMessageType, IBeginDialogActionOptions)

Associa uma ação à caixa de diálogo que fará com que a caixa de diálogo seja recarregada sempre que for disparada. Isso é útil para implementar a lógica que manipula enunciados do usuário, como "startover".

replyReceived(Session, IRecognizeResult)

Processa mensagens recebidas do usuário. Chamado pelo sistema de diálogo.

selectActionRoute(Session, IRouteResult)

Seleciona a rota que teve a maior pontuação de confiança para o enunciado.

triggerAction(ITriggerActionOptions)

Associa uma ação à caixa de diálogo que a tornará a caixa de diálogo ativa sempre que ela for disparada. O comportamento padrão é interutilizar qualquer caixa de diálogo existente desmarcando a pilha e iniciando a caixa de diálogo na raiz da pilha. A caixa de diálogo que está sendo interrompida pode interceptar essa interrupção adicionando um personalizado no manipulador de Interrompido às opções de ação de gatilho. Além disso, você pode personalizar a maneira como a caixa de diálogo disparada é iniciada fornecendo uma personalizada no manipulador de onSelectAction para suas opções de ação de gatilho.

Detalhes do construtor

IntentDialog(IIntentDialogOptions)

Constrói uma nova instância de um IntentDialog.

new IntentDialog(options?: IIntentDialogOptions)

Parâmetros

options
IIntentDialogOptions

Opções (opcionais) usadas para inicializar a caixa de diálogo.

Detalhes do método

addDialogTrigger(ActionSet, string)

Chamado uma vez para cada caixa de diálogo dentro de uma biblioteca para dar ao diálogo a chance de adicionar seu triggerAction() ao conjunto de ações global de bibliotecas. Esses gatilhos são mapeados para um beginDialogAction() que inicia a caixa de diálogo quando a condição do gatilho é atendida.

function addDialogTrigger(actions: ActionSet, dialogId: string)

Parâmetros

actions
ActionSet

Conjunto de ações globais de bibliotecas.

dialogId

string

A ID totalmente qualificada da caixa de diálogo a ser disparada.

begin<T>(Session, T)

Chamado quando uma nova sessão de diálogo está sendo iniciada.

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

Parâmetros

session
Session

Objeto de sessão para a conversa atual.

args

T

Argumentos (opcionais) passados para a caixa de diálogo por seu pai.

beginDialogAction(string, string, IBeginDialogActionOptions)

Associa uma ação à caixa de diálogo que iniciará outra caixa de diálogo sempre que ela for disparada. A nova caixa de diálogo será enviada por push para a pilha para que ela não encerre automaticamente a tarefa atual. A tarefa atual será continuada quando a nova caixa de diálogo terminar. Os prompts internos solicitarão automaticamente ao usuário uma vez que isso aconteça, mas esse comportamento pode ser desabilitado definindo o sinalizador promptAfterAction ao chamar um prompt interno.

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

Parâmetros

name

string

Nome exclusivo para atribuir a ação.

id

string

ID da caixa de diálogo a ser iniciada.

options
IBeginDialogActionOptions

Opções (opcionais) usadas para configurar a ação. Se corresponder for especificado, a ação ouvirá o usuário dizer uma palavra ou frase que dispara a ação, caso contrário, a ação precisará ser associada a um botão usando CardAction.dialogAction() para disparar a ação. Você também pode usar dialogArgs para passar params adicionais para a caixa de diálogo que está sendo iniciada.

Retornos

cancelAction(string, TextOrMessageType, ICancelActionOptions)

Associa uma ação à caixa de diálogo que cancelará a caixa de diálogo sempre que ela for disparada. Quando cancelado, o pai das caixas de diálogo será retomado com um código de retomado indicando que ele foi cancelado.

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

Parâmetros

name

string

Nome exclusivo para atribuir a ação.

msg
TextOrMessageType

(Opcional) mensagem para enviar ao usuário antes de cancelar a caixa de diálogo.

options
ICancelActionOptions

Opções (opcionais) usadas para configurar a ação. Se corresponder for especificado, a ação ouvirá o usuário dizer uma palavra ou frase que dispara a ação, caso contrário, a ação precisará ser associada a um botão usando CardAction.dialogAction() para disparar a ação.

Retornos

clone(ActionSet)

Retorna um clone de um ActionSet existente.

function clone(copyTo?: ActionSet)

Parâmetros

copyTo
ActionSet

(Opcional) instância para a qual copiar o objeto atual. Se uma nova instância estiver ausente, será criada.

Retornos

customAction(IDialogActionOptions)

Associa uma ação personalizada à caixa de diálogo que chamará o manipulador de de onSelectAction quando disparado.

function customAction(options: IDialogActionOptions)

Parâmetros

options
IDialogActionOptions

As opções usadas para configurar a ação. Se corresponder for especificado, a ação escutará o usuário para dizer uma palavra ou frase que dispara a ação. A lógica de correspondência personalizada pode ser fornecida usando onFindAction.

Retornos

dialogInterrupted(Session, string, any)

Chamado quando uma caixa de diálogo raiz está sendo interrompida por outra caixa de diálogo. Isso dá à caixa de diálogo que está sendo interrompida a chance de executar a lógica personalizada antes de ser removida da pilha. A caixa de diálogo em si é responsável por limpar a pilha de diálogo e iniciar a nova caixa de diálogo.

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

Parâmetros

session
Session

Objeto de sessão para a conversa atual.

dialogId

string

ID da caixa de diálogo que deve ser iniciada.

dialogArgs

any

Argumentos que devem ser passados para a nova caixa de diálogo.

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

Uma caixa de diálogo filho terminou e a atual está sendo retomada.

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

Parâmetros

session
Session

Objeto de sessão para a conversa atual.

result

IDialogResult<T>

Resultado retornado pela caixa de diálogo filho.

endConversationAction(string, TextOrMessageType, ICancelActionOptions)

Associa uma ação que encerrará a conversa com o usuário quando disparada.

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

Parâmetros

name

string

Nome exclusivo para atribuir a ação.

msg
TextOrMessageType

(Opcional) mensagem para enviar o usuário antes de encerrar a conversa.

options
ICancelActionOptions

Opções (opcionais) usadas para configurar a ação. Se corresponder for especificado, a ação ouvirá o usuário dizer uma palavra ou frase que dispara a ação, caso contrário, a ação precisará ser associada a um botão usando CardAction.dialogAction() para disparar a ação.

Retornos

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

Chamado durante o Library.findRoutes() chamada para cada caixa de diálogo na pilha para determinar se alguma das ações de diálogos é disparada pelo enunciado dos usuários.

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

Parâmetros

context
IRecognizeDialogContext

O contexto da mensagem de entrada, bem como a dialogData para a caixa de diálogo avaliada.

callback

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

Função a ser invocada com as principais rotas candidatas.

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

Invoca um manipulador quando uma determinada intenção é detectada no enunciado dos usuários.

OBSERVAÇÃO: Os detalhes completos da correspondência, incluindo a lista de intenções & entidades detectadas, serão passados para o args da primeira etapa ou caixa de diálogo em cascata iniciada.

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

Parâmetros

intent

RegExp | string

  • intenção:{RegExp} – uma expressão regular que será avaliada para detectar a intenção dos usuários.
  • intenção: {string} – uma intenção nomeada retornada por um plug-in IIntentRecognizer que será usado para corresponder à intenção dos usuários.
dialogId

string | IDialogWaterfallStep[] | IDialogWaterfallStep

  • dialogId: _{string} – A ID de uma caixa de diálogo a ser iniciada quando a intenção for correspondida.
  • dialogId:{IDialogWaterfallStep[]} – Cascata de etapas a serem executadas quando a intenção for correspondida.
  • dialogId:{IDialogWaterfallStep} – cascata de etapa única a ser executada quando a intenção for correspondida. Chamar um prompt interno ou iniciar uma nova caixa de diálogo resultará no término da caixa de diálogo atual após a conclusão do prompt/diálogo filho.
dialogArgs

any

Argumentos (opcionais) para passar a caixa de diálogo iniciada quando é um{string} .

Retornos

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

Invoca um manipulador quando qualquer uma das intenções determinadas é detectada no enunciado dos usuários.

OBSERVAÇÃO: Os detalhes completos da correspondência, incluindo a lista de intenções & entidades detectadas, serão passados para o args da primeira etapa ou caixa de diálogo em cascata iniciada.

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

Parâmetros

intent

RegExp[] | string[]

  • intenção:{RegExp[]} – Matriz de expressões regulares que serão avaliadas para detectar a intenção dos usuários.
  • intenção:{string[]} – matriz de intenções nomeadas retornadas por um plug-in IIntentRecognizer que será usado para corresponder à intenção dos usuários.
dialogId

string | IDialogWaterfallStep[] | IDialogWaterfallStep

  • dialogId: _{string} – A ID de uma caixa de diálogo a ser iniciada quando a intenção for correspondida.
  • dialogId:{IDialogWaterfallStep[]} – Cascata de etapas a serem executadas quando a intenção for correspondida.
  • dialogId:{IDialogWaterfallStep} – cascata de etapa única a ser executada quando a intenção for correspondida. Chamar um prompt interno ou iniciar uma nova caixa de diálogo resultará no término da caixa de diálogo atual após a conclusão do prompt/diálogo filho.
dialogArgs

any

Argumentos (opcionais) para passar a caixa de diálogo iniciada quando é um{string} .

Retornos

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

Chamado quando a caixa de diálogo é carregada pela primeira vez após uma chamada para session.beginDialog(). Isso dá ao bot a oportunidade de processar argumentos passados para a caixa de diálogo. Os manipuladores sempre devem chamar a função next() para continuar a execução da lógica principal dos diálogos.

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

Parâmetros

handler

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

Função a ser invocada quando a caixa de diálogo for iniciada.

Retornos

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

O manipulador padrão a ser invocado quando não houver manipuladores que correspondam à intenção dos usuários.

OBSERVAÇÃO: Todos os detalhes da tentativa de reconhecimento, incluindo a lista de intenções & entidades detectadas, serão passados para o args da primeira etapa ou caixa de diálogo em cascata iniciada.

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

Parâmetros

dialogId

string | IDialogWaterfallStep[] | IDialogWaterfallStep

  • dialogId: _{string} – A ID de uma caixa de diálogo a ser iniciada.
  • dialogId:{IDialogWaterfallStep[]} – Cascata de etapas a serem executadas.
  • dialogId:{IDialogWaterfallStep} – cascata de etapa única a ser executada. Chamar um prompt interno ou iniciar uma nova caixa de diálogo resultará no término da caixa de diálogo atual após a conclusão do prompt/diálogo filho.
dialogArgs

any

Argumentos (opcionais) para passar a caixa de diálogo iniciada quando é um{string} .

Retornos

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

Analisa o enunciado dos usuários e atribui uma pontuação de 0,0 a 1,0 indicando o quão confiante é a caixa de diálogo de que ele entendeu o enunciado dos usuários. Esse método é sempre chamado para a caixa de diálogo ativa na pilha. Uma pontuação de 1.0 indicará uma correspondência perfeita e encerrará qualquer reconhecimento adicional. Quando a pontuação for menor que 1,0, cada diálogo na pilha terá seu método recognizeAction() chamado também para ver se há ações nomeadas associadas à caixa de diálogo que corresponda melhor ao enunciado dos usuários. Ações globais registradas no nível do bot também serão avaliadas. Se a caixa de diálogo tiver uma pontuação maior, as ações associadas, as caixas de diálogo método replyReceived() serão chamadas com o objeto de resultado retornado da chamada recognize(). Isso permite que a caixa de diálogo passe dados adicionais coletados durante a fase de reconhecimento para o método replyReceived() para tratamento.

Se houver uma ação com uma pontuação mais alta, a caixa de diálogo será invocada em vez do método replyReceived() dos diálogos. A caixa de diálogo permanecerá na pilha e poderá ser retomada em algum momento caso a ação invoque uma nova caixa de diálogo para que os diálogos se preparem para chamadas inesperadas para dialogResumed().

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

Parâmetros

context
IRecognizeDialogContext

O contexto da solicitação.

callback

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

Função a ser invocada com os resultados do reconhecimento.

recognizer(IIntentRecognizer)

Adiciona um novo plug-in reconhecedor à caixa de diálogo de intenção.

function recognizer(plugin: IIntentRecognizer)

Parâmetros

plugin
IIntentRecognizer

O reconhecedor a ser adicionado.

Retornos

reloadAction(string, TextOrMessageType, IBeginDialogActionOptions)

Associa uma ação à caixa de diálogo que fará com que a caixa de diálogo seja recarregada sempre que for disparada. Isso é útil para implementar a lógica que manipula enunciados do usuário, como "startover".

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

Parâmetros

name

string

Nome exclusivo para atribuir a ação.

msg
TextOrMessageType

(Opcional) mensagem para enviar o usuário antes de recarregar a caixa de diálogo.

options
IBeginDialogActionOptions

Opções (opcionais) usadas para configurar a ação. Se corresponder for especificado, a ação ouvirá o usuário dizer uma palavra ou frase que dispara a ação, caso contrário, a ação precisará ser associada a um botão usando CardAction.dialogAction() para disparar a ação. Você também pode usar dialogArgs para passar params adicionais para a caixa de diálogo quando recarregado.

Retornos

replyReceived(Session, IRecognizeResult)

Processa mensagens recebidas do usuário. Chamado pelo sistema de diálogo.

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

Parâmetros

session
Session

Objeto de sessão para a conversa atual.

recognizeResult
IRecognizeResult

selectActionRoute(Session, IRouteResult)

Seleciona a rota que teve a maior pontuação de confiança para o enunciado.

function selectActionRoute(session: Session, route: IRouteResult)

Parâmetros

session
Session

Objeto de sessão para a conversa atual.

route
IRouteResult

Resultados retornados da chamada para findActionRoutes().

triggerAction(ITriggerActionOptions)

Associa uma ação à caixa de diálogo que a tornará a caixa de diálogo ativa sempre que ela for disparada. O comportamento padrão é interutilizar qualquer caixa de diálogo existente desmarcando a pilha e iniciando a caixa de diálogo na raiz da pilha. A caixa de diálogo que está sendo interrompida pode interceptar essa interrupção adicionando um personalizado no manipulador de Interrompido às opções de ação de gatilho. Além disso, você pode personalizar a maneira como a caixa de diálogo disparada é iniciada fornecendo uma personalizada no manipulador de onSelectAction para suas opções de ação de gatilho.

function triggerAction(options: ITriggerActionOptions)

Parâmetros

options
ITriggerActionOptions

Opções usadas para configurar a ação.

Retornos