Rilevamento e risoluzione degli intenti
Per i flussi di dialogo progettati con Visual Flow Designer, gli intenti vengono rilevati e risolti automaticamente quando non è presente alcun flusso attivo.
Ciò significa che il motore della finestra di dialogo esegue la risoluzione dell'intento sul messaggio utente quando:
- La sessione viene avviata con un messaggio utente.
- Un precedente flusso di task di livello superiore è stato appena terminato e l'azione specificata dal componente Flusso finale non corrisponde a un altro evento (transizione predefinita).
Differisce dai flussi di dialogo basati su YAML, in cui è necessario aggiungere in modo esplicito un componente
System.Intent
al flusso della finestra di dialogo. In Visual Flow Designer non è presente un componente System.Intent
.
Quando il modulo di gestione della finestra di dialogo esegue la risoluzione degli intenti, memorizza il risultato nella variabile predefinita denominata system.nlpresult
(a cui è possibile accedere con l'espressione ${skill.system.nlpresult.value}
). Inoltre, viene generato un evento denominato system.intent.<IntentName>
per la corrispondenza intento trovata o system.intent.unresolvedIntent
quando non viene trovata alcuna corrispondenza intento. Nel flusso principale è possibile creare i mapping tra gli intenti e i flussi che devono essere richiamati per tali intenti.
Il rilevamento automatico degli intenti in Visual Flow Designer è simile al funzionamento degli assistenti digitali, con la differenza principale che gli assistenti digitali supportano i non sequenze all'interno di una competenza attiva quando l'input dell'utente non viene risolto.