C Marques de conversation pour données clés
insightsInclude: false
– Exclut les états des chemins de dialogue rendus dans les rapports Insights pour les intentions et les conversations. L'ajout de cette propriété à un état empêche le rendu ou le comptage de celui-ci dans les rapports Insights. Appliquez-la ces propriétés aux états qui ont une fonction complémentaire, comme la définition d'une valeur de variable. Par exemple, l'ajout deinsightsInclude: false
à chaque propriétéSystem.SetVariable
dans une compétence de commande de pizza réduit le chemin pour rendre uniquement les états de l'interaction compétence-utilisateur.insightsEndConversation: true
– Marque la fin du rapport des données clés afin que vous puissiez isoler la partie saillante de la conversation. Vous pouvez également utiliser ce marqueur pour décomposer le rapport par transition.
Modéliser le flux de dialogue
insightsInclude
et insightsEndConversation
. Ces propriétés, que vous pouvez ajouter à n'importe quel composant, fournissent un niveau de contrôle plus précis sur la production de rapports de données clés.
Ces propriétés ne sont prises en charge que dans les instances d'Oracle Digital Assistant provisionnées dans Oracle Cloud Infrastructure (parfois appelée infrastructure en nuage de 2e génération). Elles ne sont pas prises en charge dans les instances provisionnées sur la plate-forme Oracle Cloud (commec'est le cas pour toutes les instances de la version 19.4.1 d'Oracle Digital Assistant ).
Marquer la fin d'une conversation
return
pour marquer la fin d'une conversation complète, vous pouvez indiquer où vous voulez arrêter l'enregistrement de la conversation pour le rapport de données clés à l'aide de la propriété insightsEndConversation
. Cette propriété vous permet de vous concentrer uniquement sur les aspects du flux de dialogue qui vous intéressent. Par exemple, vous pouvez enregistrer uniquement une conversation jusqu'au point où un client annule une commande, mais pas au-delà (les messages de confirmation ultérieurs ou les options qui créent des branches de la conversation ne sont pas enregistrés). Par défaut, cette propriété est réglée à False
, c'est-à-dire que l'enregistrement continue jusqu'à une transition return
ou jusqu' à ce que la propriété insightsEndConversation
soit réglée à true
(insightsEndConversation: true
).
cancelOrder:
component: "System.Output"
properties:
text: "Your order is canceled."
insightsEndConversation: true
transitions:
next: "intent"
Comme cet indicateur modifie la façon dont les rapports de données clés voient une conversation terminée, les nombres de conversations obtenus après l'introduction de cet indicateur dans le flux de dialogue peuvent ne pas être comparables aux nombres de conversations pour les versions précédentes de la compétence.Le marqueur
insightsEndConversation
n'est pas utilisé dans le concepteur de flux visuel, 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 est atteint.
Simplifier les données collectées par les rapports de données clés
insightsInclude
pour exclure de l'enregistrement dans les rapports les états considérés comme inutiles. Pour exclure un état de la production de rapports de données clés, réglez cette propriété à 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 de flux visuel.
Cas d'utilisation pour les marqueurs de données clés
Ces cas d'utilisation 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'utilisation 1 : Vous voulez séparer les conversations par intentions ou transitions
Utilisez la propriété insightsEndConversation: true
pour voir les interactions utilisateur qui se produisent dans une seule session de clavardage comme conversations distinctes. Vous pouvez, par exemple, appliquer cette propriété à un état qui commence le chemin d'exécution pour une intention spécifique, mais qui crée des branches dans le flux de dialogue.
ShowMenu
de la compétence CrcPizzaBot, avec ses transitions pizza
, pasta
et textReceived
est en un exemple : 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 segmenter le rapport par ces transitions : ShowMenu:
component: "System.CommonResponse"
properties:
processUserMessage: true
insightsEndConversation: true
…
En raison de la propriété insightsEndConversation: true
, la fonction de données clés considère toute interaction supplémentaire activée par les transitions pizza
, pasta
ou textReceived
comme une conversation distincte, ce qui signifie que deux conversations, plutôt qu'une, sont compilées dans la mesure Conversations de la page Overview (Aperçu) et, de même, deux entrées distinctes sont créées dans le rapport Conversations.
Gardez à l'esprit que les nombres de conversation seront incompatibles avec ceux calculés avant l'ajout de cette propriété.
ShowMenu
.La deuxième est l'entrée spécifique à la transition qui nomme une intention lorsque l'action
textReceived
a été déclenchée, ou note Aucune intention lorsqu'il n'y a pas de deuxième intention. Lorsque vous sélectionnez Pizzas ou Pastas dans le menu de liste rendu 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 entré aucun texte à résoudre dans une intention.Toutefois, lorsque vous déclenchez la transition
textReceived
en entrant du texte, le rapport Conversation nomme l'intention résolue (OrderPizza, OrderPasta). Cas d'utilisation 2 : Vous voulez exclure les états pris en charge des rapports de données clés sur le cheminement
states
de la compétence CrcPizzaBot commence par une série d'états System.SetVariable
. Comme ces états sont positionnés au début de la définition, ils commencent le rendu de chaque chemin lorsque vous ne les avez pas exclus avec l'option Filter States (États du filtre). Vous pouvez envisager de soutenir des états comme ceux-ci comme un encombrement si votre attention est plutôt sur les aspects transactionnels du chemin. Vous pouvez simplifier le rendu du chemin manuellement à l'aide du menu État 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
à tout é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 la façon dont les chemins sont rendus, mais affecte également la somme indiquée pour la mesure Average States (États moyens).
Tutoriel : Optimiser les rapports de données clés avec des marqueurs de conversation
Vous pouvez vous entraîner à utiliser des marqueurs de conversation à l'aide du tutoriel suivant : Optimiser les rapports de données clés avec des marqueurs de conversation.