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 di insightsInclude: 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.
È possibile aggiungere queste proprietà a qualsiasi stato.

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).

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 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 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 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 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à 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.