C Marcadores de conversación para Insights

Para las aptitudes con flujos de diálogo basados en YAML, puede facilitar la lectura de los informes de Insights mediante la adición de las siguientes propiedades de marcador de conversación al flujo de diálogo:
  • insightsInclude: false: excluye los estados de las rutas de diálogo que se representan en los informes de Insights de intenciones y conversaciones. La adición de esta propiedad en cualquier estado impide que este se muestre o se tenga en cuenta en los informes de Insights, por lo que puede que desee aplicarla en estados que desempeñen una función de soporte, como puede ser la definición de un valor de variable. Por ejemplo, la adición de insightsInclude: false en cada propiedad System.SetVariable de una aptitud pizza reduce la ruta de acceso para que se representen solo los estados de la interacción entre el usuario y la aptitud.
  • insightsEndConversation: true: marca el final del informe de Insights para que pueda aislar la parte más destacada de la conversación. También puede utilizar este marcador para desglosar el informe por transición.
Puede agregar estas propiedades a cualquier estado.

Modelo del flujo de diálogo

Por defecto, Insights realiza un seguimiento de todos los estados de una conversación, pero puede que no desee incluirlos en los informes. Para centrarse en determinadas transacciones o excluir los estados de todo el informe, puede modelar el flujo de diálogo utilizando las propiedades insightsInclude e insightsEndConversation. Estas propiedades, que puede agregar a cualquier componente, proporcionan un nivel de control más detallado sobre los informes de Insights.
Nota

Estas propiedades solo están soportadas en instancias de Oracle Digital Assistant aprovisionadas en Oracle Cloud Infrastructure (a veces denominadas infraestructura en la nube de 2ª generación). No están soportadas en instancias aprovisionadas en Oracle Cloud Platform (como ocurre con todas las instancias de la versión 19.4.1 de Oracle Digital Assistant).

Marcado del fin de una conversación

En lugar de depender de la transición return para marcar el final de una conversación completa, puede marcar dónde desea dejar de grabar la conversación para generar informes de estadísticas mediante la propiedad insightsEndConversation. Esta propiedad le permite centrarse solo en los aspectos del flujo del diálogo en los que está interesado. Por ejemplo, puede que solo necesite grabar una conversación hasta el punto en el que un cliente cancela una orden, pero no más (ningún mensaje de confirmación ni opciones posteriores que bifurquen la conversación). Por defecto, esta propiedad se define en false, lo que significa que Insights continúa con la grabación hasta una transición return o hasta que la propiedad insightsEndConversation se defina en true (insightsEndConversation: true).
  cancelOrder:
    component: "System.Output"
    properties:
      text: "Your order is canceled."
      insightsEndConversation: true 
    transitions:
      next: "intent"
Puesto que este indicador cambia la forma en que los informes de estadísticas ven una conversación terminada, los recuentos de conversaciones después de la introducción de este indicador en el flujo de diálogo pueden no ser comparables con los recuentos de conversaciones de versiones anteriores de la aptitud.
Nota

El marcador insightsEndConversation no se utiliza en el diseñador de flujos visuales porque los flujos modulares ya delimitan la conversación. Una conversación finaliza cuando se alcanza el último estado de un flujo de nivel superior.

Optimización de los datos recopilados por Insights

Utilice la propiedad insightsInclude para evitar que los estados que considere extraños se registren en los informes. Para excluir un estado de la generación de informes de Insights, defina esta propiedad en false:

...
  resolveSize:
    component: "System.SetVariable"
    properties:
      variable: "crust"
      value: "${iResult.value.entityMatches['PizzaSize'][0]}" 
      insightsInclude: false      
    transitions:
      ...
...
Esta propiedad es específica solo para la generación de informes de Insights. No impide que los estados se representen en el comprobador.
Nota

insightsInclude no está soportado por el diseñador de flujos visuales.

Casos de uso de marcadores de Insights

Estos casos de uso típicos ilustran las mejores prácticas para facilitar la lectura de los informes agregando las propiedades del marcador de conversación al flujo de diálogo.

Caso de uso 1: desea separar las conversaciones por intenciones o transiciones

Utilice la propiedad insightsEndConversation: true para ver las interacciones de usuario que se producen en una sola sesión de chat como conversaciones separadas. Por ejemplo, puede aplicar esta propiedad a un estado que inicia la ruta de ejecución para una intención específica, pero bifurca el flujo de diálogo.

El estado ShowMenu de la aptitud CrcPizzaBot, con sus transiciones pizza, pasta y textReceived es un estado de este tipo:
  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"
Al agregar la propiedad insightsEndConversation: true al estado ShowMenu, puede desglosar la generación de informes por estas transiciones:
  ShowMenu:
    component: "System.CommonResponse"
    properties:
      processUserMessage: true
      insightsEndConversation: true
…
Debido a la propiedad insightsEndConversation: true, Insights considera todas las interacciones adicional activadas por las transiciones pizza, pasta o textReceived como conversaciones independientes, lo que significa que se contabilizan dos conversaciones, en lugar de una, en la métrica Conversaciones de la página Visión general y, de igual modo, se crean dos entradas independientes en el informe Conversaciones.
Nota

Tenga en cuenta que los recuentos de conversaciones no coincidirán con los realizados antes de agregar esta propiedad.
La primera entrada es para la ruta de ejecución de la intención ShowMenu, en la que la conversación termina con el estado ShowMenu.

La segunda es la entrada específica de la transición que nombra una intención cuando se ha disparado la acción textReceived o que indica Sin intención cuando no hay una segunda intención en juego. Al seleccionar Pizzas o Pastas en el menú de lista representado para el estado showMenu, el informe Conversación contiene una entrada ShowMenu y una entrada Sin intención para la conversación de transición porque el usuario no ha introducido ningún texto que fuera necesario resolver con una intención.

Sin embargo, cuando dispara la transición textReceived introduciendo texto, el informe Conversación nombra la intención resuelta (OrderPizza, OrderPasta).

Caso de uso 2: desea excluir los estados de soporte de los informes Rutas de Insights

El nodo states de la aptitud CrcPizzaBot comienza con una serie de estados System.SetVariable. Puesto que estos estados se colocan al principio de la definición, comienzan cada representación de ruta cuando no los ha excluido con la opción Filter States. Puede considerar estados de apoyo como estos como desorden si su enfoque está en los aspectos transaccionales del camino. Puede simplificar la representación de la ruta de acceso manualmente mediante el menú Filter States o agregando la propiedad insightsInclude: false a la definición del flujo de diálogo.

Puede agregar la propiedad insightsInclude: false a cualquier estado que no desee ver en el informe Paths.
  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:
      ...
...
Para CRCPizzaBotSkill, la adición de la propiedad insightsInclude: false a cada uno de los estados System.SetVariable coloca los estados transaccionales al inicio de la ruta de acceso.

Nota

La adición de la propiedad insightsInclude: false no solo cambia la forma en que se representan las rutas, sino que afectará a la suma registrada para la métrica Promedio de estados.

Tutorial: Optimización de informes de estadísticas con marcadores de conversación

Puede practicar con los marcadores de conversación mediante el siguiente tutorial: Optimización de informes de estadísticas con marcadores de conversación.