Détection et résolution des intentions
Pour les flux de dialogue conçus avec le concepteur de flux visuel, les intentions sont détectées (et résolues) automatiquement en l'absence de flux actif.
Cela signifie que le moteur de dialogue effectue une résolution d'intention sur le message utilisateur lorsque :
- La session démarre avec un message utilisateur.
- Un flux de tâches de niveau supérieur précédent vient d'être terminé et l'action spécifiée par le composant Fin de flux ne correspond pas à un autre événement (transition par défaut).
Cette situation diffère des flux de dialogue basés sur YAML, dans lesquels vous devez ajouter explicitement un composant
System.Intent
au flux de dialogue. Dans le concepteur de flux visuel, il n'y a pas de composant System.Intent
.
Lorsque le moteur de dialogue effectue une résolution d'intention, il stocke le résultat dans la variable prédéfinie nommée system.nlpresult
(à laquelle vous pouvez accéder à l'aide de l'expression ${skill.system.nlpresult.value}
). En outre, il déclenche un événement nommé system.intent.<IntentName>
pour la correspondance d'intention trouvée ou system.intent.unresolvedIntent
lorsqu'aucune correspondance d'intention n'est trouvée. Dans le flux principal, vous créez les correspondances entre les intentions et les flux qui doivent être appelés pour ces intentions.
La détection automatique des intentions dans le concepteur visuel de flux est similaire au fonctionnement des assistants numériques, la principale différence étant que les assistants numériques prennent en charge les non-séquiturs au sein d'une brique active lorsque la saisie utilisateur n'est pas résolue.