C. Marqueurs de conversation pour les analyses
insightsInclude: false
: exclut les états des parcours de dialogue affichés dans les rapports d'analyse pour les intentions et les conversations. L'ajout de cette propriété à un état empêche son affichage ou son décompte dans les rapports d'analyse. Vous pouvez donc l'appliquer aux états qui assurent une fonction d'aide, comme la définition d'une valeur de variable. Par exemple, l'ajout deinsightsInclude: false
à chaque propriétéSystem.SetVariable
de la brique Pizza réduit le parcours pour afficher uniquement les états de l'interaction entre l'utilisateur et la brique.insightsEndConversation: true
: marque la fin du rapport d'analyse afin que vous puissiez isoler la partie importante de la conversation. Vous pouvez également utiliser ce marqueur pour diviser le rapport par transition.
Modélisation du flux de dialogue
insightsInclude
et insightsEndConversation
. Ces propriétés, que vous pouvez ajouter à n'importe quel composant, fournissent un contrôle plus précis du rapport d'analyses.
Ces propriétés ne sont prises en charge que sur les instances Oracle Digital Assistant provisionnées sur Oracle Cloud Infrastructure (parfois appelée infrastructure cloud Generation 2). Elles ne sont pas prises en charge sur les instances provisionnées sur Oracle Cloud Platform (comme c'est le cas de toutes les instances de version 19.4.1 d'Oracle Digital Assistant ).
Signalement de la fin d'une conversation
return
afin de marquer la fin d'une conversation complète, vous pouvez marquer l'endroit où vous souhaitez arrêter l'enregistrement de la conversation pour les rapports d'analyse à l'aide de la propriété insightsEndConversation
. Cette propriété permet de se concentrer uniquement sur les aspects du flux de dialogue qui vous intéressent. Par exemple, vous pouvez avoir besoin uniquement d'enregistrer une conversation jusqu'au moment où un client annule une commande mais pas après (aucune option ou aucun message de confirmation suivant n'oriente la conversation). Par défaut, cette propriété est définie sur false
, ce qui signifie que les analyses continuent d'enregistrer jusqu'à ce qu'une transition return
ait lieu ou jusqu'à ce que la propriété insightsEndConversation
soit définie sur true
(insightsEndConversation: true
).
cancelOrder:
component: "System.Output"
properties:
text: "Your order is canceled."
insightsEndConversation: true
transitions:
next: "intent"
Etant donné que cet indicateur modifie la façon dont les rapports d'analyse affichent une conversation terminée, le nombre de conversations décompté après l'introduction de cet indicateur dans le flux de dialogue peut ne pas être comparable au nombre de conversations des versions précédentes de la brique.Le marqueur
insightsEndConversation
n'est pas utilisé dans le concepteur visuel de flux car les flux modulaires définissent déjà la conversation. Une conversation se termine lorsque le dernier état d'un flux de niveau supérieur a été atteint.
Rationalisation des données collectées par des analyses
insightsInclude
pour exclure les états que vous considérez comme superflus pour l'enregistrement dans les rapports. Pour exclure un état de la génération de rapports d'analyse, définissez cette propriété sur false
:
...
resolveSize:
component: "System.SetVariable"
properties:
variable: "crust"
value: "${iResult.value.entityMatches['PizzaSize'][0]}"
insightsInclude: false
transitions:
...
...
insightsInclude
n'est pas pris en charge par le concepteur visuel de flux.
Cas d'emploi des marqueurs d'analyse
Ces cas d'emploi typiques illustrent les meilleures pratiques pour faciliter la lecture des rapports en ajoutant les propriétés de marqueur de conversation au flux de dialogue.
Cas d'emploi 1 : vous voulez séparer les conversations par intention ou transition
Utilisez la propriété insightsEndConversation: true
pour visualiser les interactions utilisateur qui se produisent dans une session de discussion spécifique en tant que conversations distinctes. Vous pouvez, par exemple, appliquer cette propriété à un état qui commence le parcours d'exécution pour une intention particulière, mais qui oriente le flux de dialogue.
ShowMenu
de la brique CrcPizzaBot, avec ses transitions pizza
, pasta
et textReceived
, fait partie de ces états : ShowMenu:
component: "System.CommonResponse"
properties:
processUserMessage: true
metadata:
responseItems:
- type: "text"
text: "Hello ${profile.firstName}, this is our menu today:"
footerText: "${(textOnly.value=='true')?then('Enter number to make your choice','')}"
name: "hello"
separateBubbles: true
actions:
- label: "Pizzas"
type: "postback"
keyword: "${numberKeywords.value[0].keywords}"
payload:
action: "pizza"
name: "Pizzas"
- label: "Pastas"
keyword: "${numberKeywords.value[1].keywords}"
type: "postback"
payload:
action: "pasta"
name: "Pastas"
transitions:
actions:
pizza: "OrderPizza"
pasta: "OrderPasta"
textReceived: "Intent"
En ajoutant la propriété insightsEndConversation: true
à l'état ShowMenu
, vous pouvez décomposer le rapport sur les transitions suivantes : ShowMenu:
component: "System.CommonResponse"
properties:
processUserMessage: true
insightsEndConversation: true
…
Avec la propriété insightsEndConversation: true
, les analyses prennent en compte toute interaction supplémentaire activée par la transition pizza
, pasta
ou textReceived
en tant que conversation distincte, ce qui signifie que deux conversations, plutôt qu'une, sont répertoriées dans la mesure Conversations de la page Aperçu et que deux entrées différentes sont créées dans le rapport Conversations.
Gardez à l'esprit que les nombres de conversations ne sont pas cohérents avec ceux enregistrés avant d'ajouter cette propriété.
ShowMenu
.La deuxième est l'entrée propre à la transition qui nomme une intention lorsque l'action
textReceived
a été déclenchée ou indique Aucune intention en l'absence de deuxième intention. Lorsque vous choisissez Pizzas ou Pâtes dans le menu de liste affiché pour l'état showMenu
, le rapport Conversation contient une entrée ShowMenu et une entrée Aucune intention pour la conversation de transition car l'utilisateur n'a saisi aucun texte devant être résolu en intention.Cependant, lorsque vous déclenchez la transition
textReceived
en saisissant du texte, le rapport Conversation nomme l'intention résolue (OrderPizza, OrderPasta). Cas d'emploi 2 : vous voulez exclure les états secondaires des rapports d'analyse de parcours
states
de la brique CrcPizzaBot commence par une série d'états System.SetVariable
. Etant donné que ces états sont positionnés au début de la définition, ils commencent chaque rendu de chemin lorsque vous ne les avez pas exclus avec l'option Filtrer les états. Vous pouvez envisager de prendre en charge des états comme ceux-ci comme encombrement si vous concentrez plutôt sur les aspects transactionnels du chemin. Vous pouvez simplifier l'affichage du chemin manuellement à l'aide du menu Etats du filtre ou en ajoutant la propriété insightsInclude: false
à la définition du flux de dialogue. Vous pouvez ajouter la propriété
insightsInclude: false
à n'importe quel état que vous ne souhaitez pas voir dans le rapport Chemins. setTextOnlyChannel:
component: "System.SetVariable"
properties:
insightsInclude: false
variable: "textOnly"
value: "${(system.channelType=='webhook')?then('true','false')}"
setAutoNumbering:
component: "System.SetVariable"
properties:
insightsInclude: false
variable: "autoNumberPostbackActions"
value: "${textOnly}"
setCardsRangeStart:
component: "System.SetVariable"
properties:
insightsInclude: false
variable: "cardsRangeStart"
value: 0
transitions:
...
...
Pour CRCPizzaBotSkill, l'ajout de la propriété insightsInclude: false
à chacun des états System.SetVariable
place les états transactionnels au début du chemin.L'ajout de la propriété
insightsInclude: false
modifie non seulement le mode d'affichage des parcours, mais a également une incidence sur la somme indiquée pour la mesure Etats moyens.
Tutoriel : Optimisation des rapports d'analyse avec les marqueurs de conversation
Vous pouvez vous familiariser avec les marqueurs de conversation à l'aide du tutoriel suivant : Optimisation des rapports d'analyse avec les marqueurs de conversation.