C Indicatori di conversazione per approfondimenti
Per gli skill con flussi di dialogo basati su YAML, è possibile semplificare la lettura dei report Insights aggiungendo le seguenti proprietà dell'indicatore di conversazione al flusso della finestra di dialogo:
insightsInclude: false
: esclude gli stati dai percorsi della finestra di dialogo visualizzati nei report Insights per intenti e conversazioni. L'aggiunta di questa proprietà a qualsiasi stato ne impedisce il rendering o il conteggio nei report di Insights, pertanto è consigliabile applicarla agli stati che svolgono una funzione di supporto, ad esempio l'impostazione di un valore variabile. Ad esempio, l'aggiunta diinsightsInclude: false
a ogni proprietàSystem.SetVariable
in un'abilità pizza riduce il percorso per visualizzare solo gli stati per l'interazione skill-user.insightsEndConversation: true
: contrassegna la fine del report Insights in modo da poter isolare la parte saliente della conversazione. È inoltre possibile utilizzare questo indicatore per suddividere i report per transizione.
Modella il flusso di finestre di dialogo
Per impostazione predefinita, Insights tiene traccia di tutti gli stati di una conversazione, ma potrebbe non essere necessario includerli tutti nei report. Per concentrarsi su determinate transazioni o escludere completamente gli stati dal report, è possibile modellare il flusso della finestra di dialogo utilizzando le proprietà
insightsInclude
e insightsEndConversation
. Queste proprietà, che è possibile aggiungere a qualsiasi componente, forniscono un livello di controllo più accurato sui report Insights.
Nota
Queste proprietà sono supportate solo sulle istanze di Oracle Digital Assistant di cui è stato eseguito il provisioning su Oracle Cloud Infrastructure (a volte indicata come infrastruttura cloud di Generazione 2). Non sono supportate sulle istanze di cui è stato eseguito il provisioning su Oracle Cloud Platform (come tutte le istanze della versione 19.4.1 di Oracle Digital Assistant).
Queste proprietà sono supportate solo sulle istanze di Oracle Digital Assistant di cui è stato eseguito il provisioning su Oracle Cloud Infrastructure (a volte indicata come infrastruttura cloud di Generazione 2). Non sono supportate sulle istanze di cui è stato eseguito il provisioning su Oracle Cloud Platform (come tutte le istanze della versione 19.4.1 di Oracle Digital Assistant).
Contrassegna la fine di una conversazione
Anziché dipendere dalla transizione
return
per contrassegnare la fine di una conversazione completa, è possibile contrassegnare la posizione in cui si desidera interrompere la registrazione della conversazione per la generazione di report degli approfondimenti utilizzando la proprietà insightsEndConversation
. Questa proprietà consente di concentrarsi solo sugli aspetti del flusso della finestra di dialogo a cui si è interessati. Ad esempio, potrebbe essere necessario registrare una conversazione solo al punto in cui un cliente annulla un ordine, ma non oltre (nessun messaggio di conferma successivo o opzioni che diramano la conversazione). Per impostazione predefinita, questa proprietà viene impostata su false
, ovvero Insights continua a registrare fino a una transizione return
o fino a quando la proprietà insightsEndConversation
non viene impostata su true
(insightsEndConversation: true
).
cancelOrder:
component: "System.Output"
properties:
text: "Your order is canceled."
insightsEndConversation: true
transitions:
next: "intent"
Poiché questo flag modifica il modo in cui gli approfondimenti di reporting visualizzano una conversazione completata, i conteggi delle conversazioni conteggiati dopo l'introduzione di questo flag nel flusso della finestra di dialogo potrebbero non essere paragonabili ai conteggi delle conversazioni per le versioni precedenti dello skill.Nota
L'indicatore
L'indicatore
insightsEndConversation
non viene utilizzato in Visual Flow Designer perché i flussi modulari delineano già la conversazione. Una conversazione termina quando viene raggiunto l'ultimo stato di un flusso di livello superiore.
Semplifica i dati raccolti dagli insight
Utilizzare la proprietà
insightsInclude
per escludere gli stati considerati estranei dalla registrazione nei report. Per escludere uno stato dal report Insights, impostare questa proprietà su false
:
...
resolveSize:
component: "System.SetVariable"
properties:
variable: "crust"
value: "${iResult.value.entityMatches['PizzaSize'][0]}"
insightsInclude: false
transitions:
...
...
Questa proprietà è specifica solo per il reporting Insights. Non impedisce agli stati di essere resi nel Tester.
Nota
insightsInclude
non è supportato da Visual Flow Designer.
Casi d'uso per indicatori approfondimenti
Questi casi d'uso tipici illustrano le procedure ottimali per semplificare la lettura dei report aggiungendo le proprietà dell'indicatore di conversazione al flusso della finestra di dialogo.
Caso d'uso 1: si desidera separare le conversazioni per intenti o transizioni
Utilizzare la proprietà insightsEndConversation: true
per visualizzare le interazioni utente che si verificano all'interno di una singola sessione di chat come conversazioni separate. È possibile, ad esempio, applicare questa proprietà a uno stato che avvia il percorso di esecuzione per un intento specifico, ma dirama il flusso della finestra di dialogo.
Lo stato
La seconda è la voce specifica della transizione che assegna un nome a un intento quando è stata attivata l'azione
Tuttavia, quando si attiva la transizione
ShowMenu
dello skill CrcPizzaBot, con le relative transizioni pizza
, pasta
e textReceived
, è tale: 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"
Se si aggiunge la proprietà insightsEndConversation: true
allo stato ShowMenu
, è possibile suddividere i report in base alle seguenti transizioni: ShowMenu:
component: "System.CommonResponse"
properties:
processUserMessage: true
insightsEndConversation: true
…
A causa della proprietà insightsEndConversation: true
, Insights considera qualsiasi ulteriore interazione abilitata dalle transizioni pizza
, pasta
o textReceived
come una conversazione separata, il che significa che due conversazioni, anziché una, vengono conteggiate nella metrica Conversazioni della pagina Panoramica e, allo stesso modo, nel report Conversazioni vengono create due voci separate.
Nota
Tenere presente che i conteggi delle conversazioni saranno incoerenti con quelli contati prima di aggiungere questa proprietà.
La prima voce fa riferimento al percorso di esecuzione dell'intento ShowMenu dove la conversazione termina con lo stato Tenere presente che i conteggi delle conversazioni saranno incoerenti con quelli contati prima di aggiungere questa proprietà.
ShowMenu
.La seconda è la voce specifica della transizione che assegna un nome a un intento quando è stata attivata l'azione
textReceived
o rileva Nessun intento quando non è in esecuzione alcun secondo intento. Quando si sceglie Pizze o Pasti dal menu di lista visualizzato per lo stato showMenu
, il report Conversazione contiene una voce ShowMenu e una voce Nessun intento per la conversazione di transizione perché l'utente non ha immesso alcun testo da risolvere in un intento.Tuttavia, quando si attiva la transizione
textReceived
immettendo del testo, il report Conversazione assegna un nome all'intento risolto (OrderPizza, OrderPasta). Caso d'uso 2: si desidera escludere gli stati di supporto dai report di percorso di approfondimento
Il nodo
È possibile aggiungere la proprietà
states
della competenza CrcPizzaBot inizia con una serie di stati System.SetVariable
. Poiché questi stati sono posizionati all'inizio della definizione, iniziano il rendering di ogni percorso quando non sono stati esclusi con l'opzione Stati filtro. Si può considerare di sostenere stati come questi come disordine se l'attenzione è invece sugli aspetti transazionali del percorso. È possibile semplificare il rendering del percorso manualmente utilizzando il menu Stati filtro o aggiungendo la proprietà insightsInclude: false
alla definizione del flusso della finestra di dialogo. È possibile aggiungere la proprietà
insightsInclude: false
a qualsiasi stato che non si desidera visualizzare nel report Percorsi. 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:
...
...
Per CRCPizzaBotSkill, l'aggiunta della proprietà insightsInclude: false
a ciascuno degli stati System.SetVariable
posiziona gli stati transazionali all'inizio del percorso. Nota
L'aggiunta della proprietà
L'aggiunta della proprietà
insightsInclude: false
non solo modifica la modalità di visualizzazione dei percorsi, ma influirà sulla somma riportata per la metrica Stati medi.
Esercitazione: Ottimizza report Insights con indicatori di conversazione
È possibile esercitarsi con gli indicatori di conversazione utilizzando l'esercitazione seguente: Ottimizza report Insights con indicatori di conversazione.