Insights de Conversa para Habilidades

Os relatórios de conversa para habilidades, que rastreiam conversas de voz e texto por período e por canal, permitem identificar caminhos de execução, determinar a precisão de suas resoluções de intenção e acessar transcrições de conversa inteiras.

Para acessar as métricas no nível da sessão, selecione Cobertura no filtro Métrica no relatório Visão Geral.
A opção Conversa no filtro Métrica.

Os Insights de Voz são rastreados para habilidades roteadas para clientes de chat que foram configurados para reconhecimento de voz e estão em execução na Versão 20.8 ou superior dos SDKs Oracle Web, iOS ou Android.

Tipos de Relatórios

  • Visão Geral - Use este painel de controle para descobrir rapidamente o número total de conversas de voz e texto por canal e por período. As métricas do relatório dividem esse total pelo número de conversas concluídas, incompletas e em andamento. Além disso, este relatório informa como a habilidade foi concluída ou falhou ao concluir conversas classificando o uso das intenções transacionais e de resposta da habilidade em gráficos de barras e nuvens de palavras.
  • Métricas Personalizadas - Permite medir as dimensões personalizadas que foram aplicadas à habilidade.
  • Intenções - Fornece dados e informações específicos da intenção para as métricas de execução (estados, duração da conversa e caminhos mais e menos populares).
  • Caminhos - Mostra uma representação visual do fluxo de conversas para uma intenção.
  • Conversas - Exibe a transcrição real da caixa de diálogo do usuário da habilidade, exibida no contexto do fluxo de caixas de diálogo e da janela de chat.
  • Retrainer - Onde você usa os dados ao vivo e obteve insights para melhorar sua habilidade por meio de autoatendimento moderado.
  • Exportar – Permite que você faça download de um arquivo CSV dos dados do Insights coletados pelo Oracle Digital Assistant. Você pode criar um relatório personalizado de Insights usando o CSV.

Revisar as Métricas e os Gráficos Resumidos

As métricas, gráficos, tabelas e nuvens de palavras do relatório Visão Geral descrevem o uso geral. Quando a habilidade tiver tratado conversas de texto e voz, a view padrão desse painel de controle incluirá texto e voz (a renderização ativada pela opção Tudo). Caso contrário, o padrão é apenas para texto ou voz.

Você pode ajustar essa view alternando entre os modos Voz e Texto, ou pode comparar os dois ativando a opção Comparar conversas de texto e voz.

Quando você seleciona Texto, o relatório exibe um conjunto de métricas comuns. Quando você seleciona Voz, o relatório inclui métricas adicionais específicas de voz. Essas métricas só se aplicam a conversas de voz, portanto elas não aparecem quando você escolhe Comparar conversas de texto e voz
Observação

As opções de Modo dependem da presença de mensagens de voz ou texto. Se houver apenas mensagens de texto, por exemplo, somente a opção Texto será exibida.

Métricas Comuns

O relatório Visão Geral inclui os KPIs a seguir para conversas de texto e voz
  • Número total de conversas - O número total de conversas concluídas, incompletas e em andamento. Independentemente do status, uma conversa pode ser composta por uma ou mais alternâncias de diálogo. Cada turno é uma única troca entre o usuário e a habilidade.
    Observação

    As conversas não são iguais às solicitações com medição de consumo. Para saber mais sobre medição, consulte Descrições do Serviço de Créditos Universais do Oracle PaaS e IaaS.
  • Conversas concluídas - Conversas que terminaram respondendo à consulta de um usuário com sucesso. Conversas que concluem com um estado Fluxo Final ou em um estado em que o fluxo Final (implícito) é selecionado, pois a transição é considerada concluída. Em habilidades com autoria de YAML, as conversas são contadas como concluídas quando a travessia pelo fluxo de caixas de diálogo termina com uma transição return ou em um estado com a propriedade insightsEndConversation.
    Observação

    Essa propriedade e a transição return não estão disponíveis no Designer de Fluxo Visual.
  • Conversas incompletas - Conversas que os usuários não concluíram porque abandonaram a habilidade ou não puderam concluí-la por causa de erros no nível do sistema, timeouts ou loops infinitos.
  • Conversas em andamento - Conversas "em andamento" (conversas que ainda não foram concluídas nem tiveram timeout). Esta métrica rastreia conversas dinâmicas. Uma conversa em andamento se torna um timeout depois que uma sessão expira.
  • Tempo médio gasto em conversas - A duração média de todas as conversas da habilidade.
  • Número total de usuários e Número de usuários exclusivos - Métricas da base de usuários que indicam quantos usuários uma habilidade tem e quantos desses usuários estão retornando usuários.


Métricas de Voz

Qualquer conversa que comece com uma interação de voz é considerada uma conversa de voz. Qualquer conversa iniciada por voz, mas concluída em texto, é considerada uma conversa alternada. Todas as outras conversas são consideradas como sendo de texto. Além das métricas padrão, o relatório Visão Geral inclui as seguintes métricas que são específicas de conversas de voz e alternadas.
Observação

Essas métricas são apenas para fins informativos; você não pode modificá-las.
Para exibir essas métricas, desative Comparar operações de texto e voz e selecione Tudo ou Voz como o modo.
  • Tempo médio gasto em conversas - O tempo médio das conversas de voz.
  • Fator de Tempo Real Médio (RTF) - A proporção do tempo gasto para processar a entrada de áudio em relação ao tempo da CPU. Por exemplo, se for necessário um segundo de tempo da CPU para processar um segundo de áudio, o RTF será 1 (1/1). O RTF de 500 milissegundos para processar um segundo de áudio é.5 ou ½. Idealmente, RTF deve estar abaixo de 1 para garantir que o processamento não fique atrás da entrada de áudio. Se o RTF estiver acima de 1, entre em contato com o Suporte Técnico da Oracle.
  • Latência Média de Voz - O atraso, em milissegundos, entre detectar o fim da declaração e a geração do resultado final (ou transcrição). Se você observar latência, entre em contato com o Suporte Técnico da Oracle.
  • Tempo Médio de Áudio - A duração média, em segundos, de todas as conversas de voz.
  • Conversas Alternadas - A porcentagem de conversas da habilidade que começaram com comandos de voz, mas que precisavam ser alternadas para texto para concluir a interação. Esta métrica indica que houve vários caminhos de execução envolvidos na alternância de voz para texto.

Detalhamento de Conversa Incompleta

Se houver alguma conversa incompleta durante o período selecionado, o número total será dividido pelas seguintes categorias de erro:
  • Timeouts – Os timeouts são acionados quando uma conversa em andamento fica ociosa por mais de uma hora, fazendo com que a sessão expire.
  • Erros Tratados pelo Sistema – São aqueles tratados pelo sistema, não pela habilidade. Esses erros ocorrem quando a definição do fluxo de caixas de diálogo não está equipada com tratamento de erros.
  • Loops Infinitos – Podem ocorrer por causa de falhas na definição do fluxo de caixas de diálogo, como transições definidas incorretamente.
  • Cancelado - O número de vezes que os usuários saíram de uma habilidade cancelando explicitamente a conversa.


Clicando em uma categoria de erro na tabela ou em um dos arcos do gráfico, você pode fazer drill-down no relatório Conversas para ver esses erros no contexto de conversas incompletas. Quando você acessa o relatório Conversas aqui, os filtros Resultado e Erros desse relatório são definidos como Incompleto e a categoria de erro selecionada. Por exemplo, se você clicar em Loop Infinito, o relatório Conversas será filtrado por Incompleto e Loop Infinito. Os filtros Intenções e Resultado do relatório são definidos como Mostrar Tudo e o campo Classificar por é definido como Mais Recente.

Métricas de Usuário

Você pode descobrir o número de usuários que uma habilidade tem para um ponto no tempo selecionado por meio das métricas a seguir. Você pode compará-las com o total em execução mostrado na métrica Número total de conversas ao filtrar o relatório por canal e período. Para integrações de agente ao vivo, você pode pesar o número de usuários exclusivos que foram transferidos para um agente em relação a uma contagem total de conversas que inclui transferências de agente ao vivo e conversas tratadas por habilidades.
  • Número de usuários - Um total em execução de todos os tipos de usuários que interagiram com a habilidade: usuários com IDs atribuídos pelo canal que persistem entre sessões (os usuários exclusivos) e usuários cujos IDs atribuídos automaticamente duram apenas uma sessão.
  • Número de usuários exclusivos - O número de usuários que acessaram a habilidade conforme identificado por seus IDs de usuário exclusivos. Cada canal tem um método diferente de designar um ID a um usuário: os usuários que conversam com a habilidade por meio do canal Web são identificados pelo valor definido para o campo userId, por exemplo. O canal de teste do Testador de Habilidades atribui a você um novo ID de usuário toda vez que você encerra uma sessão de chat clicando em Redefinir.
    Uma vez designados, esses IDs exclusivos persistem nas sessões de chat para que a contagem de usuários exclusivos contada por essa métrica não aumente quando um usuário revisitar a habilidade. A contagem só aumenta quando outro usuário atribuído com um ID exclusivo é adicionado ao pool de usuários.

    Dica:

    Como os IDs de usuário são exclusivos apenas em um canal (um usuário com IDs idênticos em dois canais diferentes será contado como dois usuários, não um), você pode ter uma ideia melhor da base de usuários filtrando o relatório por canal.

Ativar Rastreamento de Novo Usuário

Para rastrear usuários que nunca interagiram com uma habilidade ou um assistente digital antes, ative Ativar Métricas do Usuário do Insights em Definições > Configuração. Antes de ativar esse recurso para uma habilidade, certifique-se de que os canais roteados a ela designem algum tipo de ID de usuário. Caso contrário, deixe esse recurso desativado (seu modo padrão). Sempre que os canais não fornecem IDs de usuário, o Digital Assistant atribui um novo ID de usuário a cada sessão de chat. A ativação desse recurso quando esses tipos de canais estão em uso distorce a geração de relatórios porque novos usuários serão adicionados a cada nova sessão de bate-papo e, consequentemente, a tabela de usuários ficará inchada com novas entradas. Os novos dados do usuário não são expurgados automaticamente do armazenamento; portanto, você precisa usar a API do Oracle Digital Assistant. Para expurgar os novos dados do usuário, inclua "purgeUserData": true no payload da Solicitação de POST da Tarefa Iniciar Exportação.
Observação

A coleta de novos dados do usuário só começa na data em que esse recurso foi enviado com a Versão 23.10.

Revisar Insights das Tendências de Conversas

O gráfico Tendências de Conversa determina o seguinte para intenções transacionais (incluindo intenções de transferência do agente) e intenções de resposta:
  • Concluídas - As conversas que os usuários concluíram com sucesso. Conversas que concluem com um estado Fluxo Final ou em um estado em que o fluxo Final (implícito) é selecionado, pois a transição é considerada concluída. Em habilidades com autoria de YAML, as conversas são contadas como concluídas quando a travessia pelo fluxo de caixas de diálogo termina com uma transição return ou em um estado com a propriedade insightsEndConversation.
    Observação

    Essa propriedade e a transição return não estão disponíveis no Designer de Fluxo Visual.
  • Incompletas – Conversas que os usuários não concluíram porque abandonaram a habilidade ou não puderam concluir por causa de erros do sistema, timeouts ou falhas no design da habilidade.
  • Em Andamento - Conversas "em andamento" (conversas que ainda não foram concluídas nem tiveram timeout). Esta métrica rastreia conversas dinâmicas.

Exibir Uso da Intenção

O gráfico de barras Intenções permite localizar não apenas as intenções transacionais e de resposta que concluíram conversas, mas também aquelas que geraram conversas incompletas. Você também pode usar este gráfico para descobrir se o uso geral dessas intenções confirma seu caso de uso. Por exemplo, o número de conversas concluídas de uma intenção que tem finalidade secundária supera o número de conversas concluídas da intenção principal? Para colocar isso em termos mais práticos, sua habilidade de pedido de pizza tornou-se uma habilidade de "registro de reclamações" que roteia a maioria dos usuários para um agente ao vivo?
Observação

Nem todas as conversas são resolvidas para uma intenção. Quando Nenhuma Intenção é exibida no gráfico de barras Intenção e na nuvem de palavras, isso indica que uma intenção não foi resolvida pela entrada do usuário, mas por meio de uma ação de transição, uma conversa iniciada pela habilidade ou por meio do roteamento de um assistente digital.

Você pode filtrar o gráfico da barra de Intenções e a nuvem de palavra usando as opções Todas as Intenções, Responder Intenções e Intenções de Transação.
Descrição da ilustração all-intents.png a seguir
Descrição da ilustração all-intents.png

Essas opções permitem que você faça um detalhamento rápido do uso. For example, for mixed skills – ones that have both transactional and answer intents – you can view usage for these two types of intents using the Answer Intents and Transaction Intents options.
Descrição da transactional-intents.png a seguir
Description of the illustration transactional-intents.png

The key phrases rendered in the word cloud reflect the option, so for example, only the key phrases associated answer intents display when you select Answer Intents.
Descrição da resposta-intents.png a seguir
Description of the illustration answer-intents.png

Revisar Intenções e Treinar Novamente Usando Nuvens de Frase-Chave

A nuvem de palavras Intenções Mais Populares fornece uma view de acompanhamento para o gráfico de barras Intenções exibindo o número de conversas concluídas e incompletas para uma intenção. Ele pondera as intenções chamadas com mais frequência por tamanho e por cor. O tamanho representa o número de chamadas para o período em questão.

A cor representa o nível de sucesso da resolução da intenção:
  • Verde representa uma média alta de resolução de solicitações no limite de Margem de Ganho de Confiança, ou excedendo-o, durante o período especificado.
  • Amarelo representa a resolução de intenção que, em média, não atinge o limite de Margem de Ganho de Confiança no período especificado. Esta cor é uma boa indicação de que a intenção precisa ser treinada novamente.
  • Vermelho é reservado para unresolvedIntent. Este é o conjunto de solicitações do usuário que não puderam corresponder a qualquer intenção, mas puderam potencialmente ser incorporadas no corpus.
A nuvem de palavras Intenções Mais Populares é o gateway para obter views mais detalhadas sobre como as intenções resolvem mensagens do usuário. A opção Revisar Intenções e Treinar Novamente Usando Nuvens de Frase-Chave descreve como você pode fazer drill-down da nuvem de palavras Intenções Mais Populares para saber mais sobre uso, interações do usuário e novo treinamento.

Além disso, ele fornece uma visão mais granular do uso da intenção por meio de frases-chave, que são representações da entrada real do usuário e, para frases em inglês (o comportamento difere quando frases não em inglês são resolvidas como intenção), acesso ao Retrainer.

Revisar frases-chave

Ao clicar em uma intenção, você pode fazer drill-down para um conjunto de frases-chave. Essas frases são abstrações da mensagem original do usuário que preservam sua intenção original. Por exemplo, a frase-chave cancelar meu pedido será renderizada da mensagem original, Quero cancelar meu pedido. Mensagens semelhantes podem ser agrupadas em uma única frase-chave. As frases em Quero cancelar meu pedido, pode cancelar meu pedido e cancele meu pedido podem ser agrupadas na frase-chave cancelar meu pedido, por exemplo. Como as intenções, o tamanho representa a proeminência para o período de tempo em questão e cor reflete o nível de confiança.
Descrição da ilustração key-phrases-intent.png a seguir
Descrição da ilustração de frases-chave-intent.png

You can see the actual user message (or the messages grouped within a key phrase) within the context of a conversation when you click a phrase and then choose View Conversations from the context menu.
Descrição da view-conversations-option.png a seguir
Description of the illustration view-conversations-option.png

This option opens the Conversations Report.
Descrição da ilustração key-phrases-conversation-report.png a seguir
Description of the illustration key-phrases-conversation-report.png

Anonymized values display in the phrase cloud when you enable PII Anonymization.
A descrição da pii-skill-phrase-cloud.png segue
Description of the illustration pii-skill-phrase-cloud.png

Treinar Novamente na Nuvem de Palavras

Além de exibir a mensagem representada pela frase no contexto, você também pode adicionar a mensagem (ou as mensagens agrupadas em uma frase-chave) aos corpus de treinamento clicando em Treinar Novamente.

Esta opção abre o Retrainer, no qual você pode adicionar a frase real aos corpus de treinamento.

Revisar Frases do Idioma Nativo

O comportamento da nuvem da frases-chave difere para habilidades com suporte ao idioma nativo, no sentido de que você não pode acessar o Retrainer para frases que não são do inglês. Quando frases em diferentes idiomas tiverem sido resolvidas como intenção, idiomas e frases não chave serão exibidos na nuvem quando você clicar em uma intenção. Por exemplo, se o francês e o inglês forem exibidos depois que você clicar em unresolvedIntent, isso significa que há frases em inglês e francês que não puderam ser resolvidas para nenhuma intenção.
Descrição da ml-phrase-cloud.png a seguir
Descrição da ilustração ml-phrase-cloud.png

Se o inglês estiver entre os idioma, você poderá fazer drill-down para a nuvem de frase-chave clicando em inglês Na nuvem de frases-chave, você pode usar as opções Exibir Conversas e Treinar Novamente do menu de contexto para fazer drill-down no Relatório de Conversas e no Retrainer. Mas quando você faz drill-down em um idioma que não é o inglês, o drill-down é feito no relatório Conversas, filtrado pela intenção e o idioma. Não há acesso direto ao Retrainer. Então, voltando para o exemplo unresolvedIntent, se você clicasse em Inglês, faria drill-down na nuvem de frases-chave. Se você clicou em Francês, poderá fazer drill-down no relatório Conversas, filtrado por unresolvedIntent e Francês.
Descrição da ml-conversation-report.png a seguir
Descrição da ilustração ml-conversation-report.png

Se quiser incorporar ou reatribuir uma frase após revisá-la no contexto da conversa, será necessário incorporar a frase diretamente do Retrainer, filtrando a intenção, o idioma (e quaisquer outros critérios).

Verificar Uso do Idioma

Para uma habilidade multilíngue, você pode comparar o uso dos idiomas suportados, por meio dos segmentos do gráfico Idiomas. Cada segmento representa um idioma atualmente em uso.
Descrição da ilustração languages-chart-overview-skill.png a seguir
Descrição dos idiomas de ilustração - gráfico - visão geral - skill.png
Se quiser revisar as conversas representadas por um idioma no gráfico, você poderá clicar em um segmento ou na legenda para fazer drill-down no relatório de Conversas, que é filtrado pelo idioma selecionado.
Descrição da ilustração conversas-report-filtered-language.png a seguir
Descrição da ilustração conversas - relatório - filtrado - language.png

Revisar Feedback e Classificações do Usuário

O gráfico de rosca de Classificação do Usuário e a nuvem de palavras Feedback do Usuário rastreiam o feedback direto e as pontuações coletadas pelo componente. Quando a caixa de diálogo muda para um estado Feedback do Usuário, a habilidade apresenta aos usuários um sistema de classificação e, opcionalmente, a capacidade de fornecer feedback. Por padrão, os usuários podem classificar sua interação com a habilidade escolhendo um intervalo de um a cinco. Para o ODA Versão 21.10 e superior, o componente de feedback é, por padrão, um sistema de classificação por estrelas. Para versões anteriores, o componente de feedback é exibido como uma lista.

A pontuação média de satisfação do cliente, que é proporcional ao número de conversas para cada uma das classificações, é renderizada no centro do gráfico de rosca. Os totais individuais em uma base por conversação para cada número no intervalo são representados graficamente como arcos do gráfico de classificação do usuário que variam em comprimento de acordo com a ocorrência. Clicar em um desses arcos abre o relatório Conversas filtrado pela pontuação.
Observação

Se sua habilidade for executada em uma plataforma anterior à Versão 21.12, você precisará desativar a opção Ativar Mascaramento para ver a classificação do usuário na transcrição da conversa. Para manter a classificação real do usuário nas transcrições das habilidades em execução nas Plataformas 21.12 e posteriores (em que Ativar Mascaramento está obsoleto), você precisa excluir a entidade NUMBER da lista de entidades tratadas como PII ao ativar a anonimização de PII.


Por padrão, o limite mínimo do componente Feedback do Usuário para determinar uma reação positiva ou negativa é definido como dois (Insatisfeito). Se o feedback do usuário estiver ativado para o componente, a nuvem de palavras Feedback do Usuário exibirá os comentários do usuário que acompanham as classificações negativas e as dimensionará de acordo com sua frequência. Você pode ver esses comentários no contexto da interação geral clicando no arco no gráfico Classificação do Usuário que representa uma classificação abaixo do limite (uma ou duas por definições padrão do componente) e, em seguida, fazer drill-down no relatório Conversa, que é filtrado pela pontuação selecionada.
Descrição da ilustração Conversation-report-user-feedback.png a seguir
Descrição da ilustração conversation-report-user-feedback.png

Como Adicionar o Componente Feedback ao Fluxo de Caixas de Diálogo

Para capturar dados para o gráfico de Classificação do Usuário e a nuvem de palavras Feedback do Usuário, adicione uma sequência de estados ao fluxo de caixas de diálogo. O primeiro desses estados é um estado de Feedback do Usuário. Para adicionar esse estado, selecione Mensagens do Usuário > Feedback do Usuário e, em seguida, selecione Próximo como o tipo de transição. (Em fluxos YAML, você precisa definir uma transição explícita para o estado System.Feedback usando a transição next.) Seu fluxo de caixas de diálogo pode fazer a transição para uma sequência de estados de feedback do usuário sempre que você quiser avaliar a reação de um usuário. Isso pode ser, por exemplo, depois que um usuário tiver concluído ou cancelado uma transação.
Observação

Se o estado anterior ao estado Feedback do Usuário tiver uma propriedade Manter Ativar, defina-a como True para garantir que a habilidade não entregue a conversa ao usuário antes que o fluxo faça a transição para o Feedback do Usuário. Para manter o controle da habilidade em fluxos criados por YAML, defina keepTurn: true no estado antes do estado System.Feedback.


Após o estado Feedback do Usuário, adicione os estados que correspondem às suas above, below e cancel transições. Nos fluxos de caixas de diálogo YAML, cada um desses estados tem transições return: done.

Esses estados acomodam o intervalo alto e baixo da classificação, conforme determinado pela propriedade Threshold. É possível adicionar esses estados como mensagens do usuário que confirmam o recebimento da classificação do usuário.
Tipo de Feedback Exemplo de Mensagem
above Thank you for rating us ${system.userFeedbackRating.value}
below You entered: ${system.userFeedbackText.value} We appreciate your feedback.
cancel Skipped giving a rating or feedback? Maybe next time.
Você pode personalizar a saída do componente Feedback do Usuário editando os pacotes de recursos relacionados ao Feedback acessados por meio da página Configuração do Pacote de Recursos ou editando as chaves systemComponent_Feedback_ em um arquivo CSV do pacote de recursos.

Usando Métricas Personalizadas para Medir o Feedback do Usuário

Você pode obter uma exibição de alto nível de feedback positivo, negativo e ignorado definindo uma única dimensão relacionada ao feedback do usuário em um conjunto de estados Definir Métricas Personalizadas.

Cada um desses estados Definir Métricas Personalizadas corresponde a um dos estados nomeados pelas ações de transição above, below e cancel do componente Feedback do Usuário. Portanto, por exemplo, se você quiser adicionar uma métrica chamada Tipo de Feedback ao relatório Métricas Personalizadas, faça o seguinte:
  1. Inserir estados Definir Métricas Personalizadas antes de cada um dos estados nomeados pelas ações de transição above, below e cancel do componente Feedback do Usuário.
  2. Para cada estado, informe o Tipo de Feedback como o nome da dimensão.
  3. Adicione valores separados para cada estado, conforme apropriado ao tipo de transição (por exemplo, Canceled, Positive, Negative). Agora que você instrumentou o fluxo de caixas de diálogo para registrar dados de feedback, poderá consultar os diferentes valores no relatório Métricas Personalizadas.


Em fluxos baseados em YAML, você rastreia métricas de feedback adicionando estados System.SetCustomMetrics.

Revisar métricas personalizadas

O relatório Métricas Personalizadas fornece uma perspectiva adicional sobre os dados de Insights rastreando dados de conversa para dimensões específicas da habilidade. As dimensões rastreadas por esse relatório são criadas na definição do fluxo de caixas de diálogo usando o componente Definir Métricas Personalizadas (e o componente System.SetCustomMetrics nos fluxos do YAML). Usando esse componente, você pode criar dimensões para explorar necessidades de negócios e desenvolvimento específicas de sua habilidade. Por exemplo, você pode criar dimensões que relatem o consumo de um produto ou serviço (a massa de pizza mais solicitada ou o tipo de relatório de despesas mais comumente arquivado) ou rastrear quando a habilidade falha nos usuários, forçando-os a sair ou passando-os para agentes ativos.



O relatório Métricas Personalizadas apresenta as dimensões definidas nos dados da conversa como um gráfico de rosca, um gráfico de barras e um gráfico de tendência de linhas. Cada dimensão tem seu próprio total de conversas. Esse registro inclui conversas concluídas, incompletas ou em andamento. Os valores de dimensão (ou categorias) são representados como segmentos no gráfico de rosca e como pontos no gráfico de tendência de linha. Você pode usar esses valores para filtrar a exibição de relatório (e também os dados de métrica personalizados que você pode fazer download em um arquivo CSV). No gráfico de rosca, o comprimento dos arcos representa as ocorrências do valor da dimensão como uma porcentagem do número total de conversas. A contagem real dos valores de dimensão é rastreada pelo gráfico de linhas. Os arcos e as linhas de tendência são pontos de acesso ao relatório Conversas. Clicar em uma das opções abre o relatório Conversas filtrado pelo valor de dimensão selecionado.

Observação

As dimensões e as categorias só aparecem no relatório quando as conversas medidas por elas ocorreram.

Instrumentar a Habilidade para Métricas Personalizadas

Para gerar o relatório Métricas Personalizadas, você precisa definir uma ou mais dimensões usando o componente Definir Métricas Personalizadas (acessado clicando em Variáveis > Definir Métricas Personalizadas ou Variáveis > Definir Métricas Personalizadas de Insights nas caixas de diálogo YAML ).
Segue a descrição da ilustração set-insights-component-dialog.png
Descrição da ilustração set-insights-component-dialog.png

Se o relatório de Métricas Personalizadas não tiver dados, é provável que nenhum estado Definir Métricas Personalizadas tenha sido definido ou que as transições para esses estados não tenham sido definidas corretamente.

Você pode adicionar estados Definir Métricas Personalizadas onde quiser rastrear um valor de entidade ou uma atividade dentro de um fluxo de execução.
Observação

Você pode definir até seis dimensões para cada habilidade.
Dependendo da estrutura dos fluxos de caixas de diálogo - e do seu caso de uso - você pode definir várias dimensões em um único estado Definir Métricas Personalizadas ou com vários estados Definir Métrica Personalizada em um único fluxo de caixas de diálogo ou em vários fluxos.

Criando Dimensões para Valores de Variável

Você pode rastrear valores de entidade definindo uma transição next para um estado Definir Métricas Personalizadas após o estado de definição de valor (por exemplo, um estado Resolver Repositório Composto). As dimensões e os filtros no relatório Definir Métricas Personalizadas são renderizados a partir das dimensões e valores de dimensão definidos pelo componente Definir Métricas Personalizadas.

Se o estado de definição de valor fizer referência a uma entidade composta, você poderá rastrear os itens de repositório usando uma expressão do Apache Freemarker para definir o valor da dimensão. Por exemplo, o valor de uma dimensão Tamanho da Pizza pode ser definido como ${pizza.value.pizzaSize.value}. Os valores individuais retornados por esta expressão (pequeno, médio, grande) são renderizados como segmentos de dados no relatório Métricas Personalizadas e também podem ser aplicados como filtros. Por exemplo, o relatório resultante da instrumentação de uma habilidade de pizza divide os pedidos de pizza por tamanho, tipo e massa de pizza. Esses detalhes adicionados complementam as métricas já relatadas para a intenção Pizza do Pedido.
Descrição da custom-metrics-example.png a seguir
Descrição da ilustração custom-metrics-example.png

Dependendo da composição e da complexidade da definição do fluxo de caixas de diálogo, os valores de entidade que você deseja rastrear podem não ser resolvidos no mesmo fluxo de caixas de diálogo. Nessas situações, talvez você não consiga definir todas as dimensões com um único estado Definir Métricas Personalizadas. Em vez disso, você precisará adicionar estados Definir Métricas Personalizadas a diferentes partes da definição do fluxo de caixas de diálogo (ou a diferentes fluxos completamente).
Observação

As dimensões baseadas no valor da entidade só são registradas no relatório Métricas Personalizadas depois que um valor de entidade é definido. Quando nenhum valor tiver sido definido ou quando o estado de definição de valor não fizer a transição para um estado Definir Métricas Personalizadas, os gráficos do relatório observarão os dados ausentes como <not set>.

Criando Dimensões que Rastreiam o Uso de Habilidades

Além de dimensões baseadas em valores variáveis, você pode criar dimensões que rastreiam não apenas como os usuários interagem com a habilidade, mas também sua eficácia geral. Você pode, por exemplo, adicionar uma dimensão que informe com que frequência e por que os usuários são transferidos para agentes ativos.
Segue a descrição da ilustração custom-metrics-agent-transfer-example.png
Descrição da ilustração custom-metrics-agent-transfer-example.png

Dimensões como essas informam sobre a experiência do usuário. Você pode adicionar a mesma dimensão a diferentes estados Definir Métricas Personalizadas em seus fluxos. Cada um desses estados Definir Métricas Personalizadas define uma categoria (ou valor de dimensão) diferente. Por exemplo, há dimensões de Transferência de Agente em dois fluxos diferentes: um no fluxo da Pizza de Ordens com o valor Nenhum Agente Necessário quando a habilidade conclui com sucesso uma ordem e o outro no fluxo UnresolvedIntent com o valor Entrada Inválida que rastreia quando a habilidade transfere usuários para um agente ativo por causa de uma entrada não resolvida. O relatório Métricas Personalizadas registra dados dessas métricas quando esses estados são incluídos em um fluxo de execução.

Estados da Métrica Personalizada para Dimensão de Transferência do Agente Fluxo Valor Usar
setInsightsCustomMetricsNoAgent Pedir Pizza (da transição next do estado Resolver Composto Bag, Nenhum Agente Necessário Reflete o número de conversas bem-sucedidas em que as prescrições foram inseridas sem assistência.
setInsightsCustomMaxErrors Pedir Pizza (da transição cancel do estado Resolver Composto Bag) Erros Máximos Reflete o número de conversas em que os usuários foram direcionados a agentes vivos porque atingiram o m
setInsightsCustomMetricsBadInput UnresolvedIntent Entrada Inválida Reflete o número de conversas em que a entrada não resolvida resultou na transferência de usuários para um agente ativo.
setInsightsCustomMetricsLiveAgent Call Agent (antes da sequência de Iniciação do Agente) Agente Solicitado Reflete o número de conversas em que os usuários solicitaram um agente ao vivo.

Exportar Dados de Métricas Personalizados

Clicar em Exportar faz download dos dados de métricas personalizadas em um arquivo CSV que você pode usar para sua própria análise e relatório off-line. Você pode filtrar os dados baixados para o CSV pelos valores de dimensão. Este CSV baixado tem os seguintes campos.

Coluna Descrição
CREATED_ON A data da exportação de dados.
USER_ID O ID do usuário da habilidade.
SESSION_ID Um identificador da sessão atual. Este é um GUID aleatório, que torna esse ID distinto do USER_ID.
BOT_ID O ID da habilidade atribuído à habilidade quando ela foi criada.
CUSTOM_METRICS Um array JSON que contém um objeto para cada dimensão de métrica personalizada. name é um nome de dimensão e value é o valor de dimensão capturado da conversa. [{"name":"Custom Metric Name 1","value":"Custom Metric Value"},{"name":"Custom Metric Name 2","value":"Custom Metric Value"},...] Por exemplo: [{"name":"Pizza Size","value":"Large"},{"name":"Pizza Type","value":"Hot and Spicy"},{"name":"Pizza Crust","value":"regular"},{"name":"Agent Transfer","value":"No Agent Needed"}].
QUERY A declaração do usuário ou a resposta da habilidade que contém um valor de métrica personalizado.
CHOICES As opções de menu nos componentes da IU.
COMPONENT O componente de caixa de diálogo, System.setCustomMetrics, (Definir Componente Personalizado em fluxos visuais) que executa as métricas personalizadas.
CHANNEL O canal que conduziu a sessão.

Revisar Insights de Intenções

Você pode descobrir o número total de conversas completas e incompletas para cada intenção no relatório Visão Geral. Usando o relatório Intenções, você pode descobrir como o tráfego do usuário fluiu ao longo dos caminhos de execução das intenções e onde ele foi bloqueado por estados com mau funcionamento.
Observação

Este relatório retorna as intenções definidas para uma habilidade durante um determinado período; portanto, seu conteúdo pode mudar para refletir as intenções adicionadas, renomeadas ou removidas da habilidade em vários pontos no tempo.

Caminhos Concluídos

Para conversas concluídas, o relatório informa o número de caminhos de execução que os usuários percorreram para concluir essas conversas com estatísticas sobre o tempo gasto e o número de estados visitados.

Você pode usar essas estatísticas e como indicadores da experiência do usuário. Por exemplo, você pode usar esse relatório para verificar se o tempo gasto é apropriado para a tarefa ou se os caminhos mais curtos ainda resultam em uma experiência atenuada do usuário, o que pode incentivá-lo a desistir. Você pode, por exemplo, conduzir mais rapidamente um usuário pela habilidade, encaixando valores com entidades compostas em vez de prompts e componentes de definição de valores?

Para obter mais contexto sobre conversas concluídas:

Caminhos Incompletos

Para as conversas incompletas, você pode identificar os estados ao longo do caminho de execução da intenção em que essas conversas terminaram usando o gráfico de barras horizontais Estados Incompletos. Este gráfico, que é renderizado para as intenções transacionais listadas na barra de navegação esquerda, representa a distribuição de conversas incompletas por estado, que pode ser um estado definido no fluxo de caixas de diálogo ou um estado interno que marca o fim de uma conversa, como System.DefaultErrorHandler. Usando-o, você pode descobrir se um estado de fluxo de caixas de diálogo é um ponto contínuo de falha e os motivos pelos quais (erros, timeouts ou entrada incorreta do usuário). Este relatório não mostra caminhos ou velocidade para caminhos incompletos porque não se aplicam a esta entrada do usuário. Em vez disso, o gráfico de barras classifica cada intenção pelo número de mensagens que não puderam ser resolvidas como qualquer intenção ou tiveram a possibilidade de serem resolvidas (o que significa que o sistema conseguiu adivinhar uma intenção), mas foram impedidas por causa de baixas pontuações de confiança.
Observação

O gráfico Estados Incompletos não renderiza Intenções de Resposta (intenções estáticas) em fluxos baseados em YAML porque seus resultados são suportados apenas pelo estado do componente System.Intent, não por uma série de estados em uma definição de fluxo de caixas de diálogo.
Em fluxos YAML, o Insights considera as conversas como incompletas quando o estado final tem uma transição vazia (ou implícita) ({}). Mesmo que a habilidade trate a transação com sucesso, o Insights ainda classificará a conversa como incompleta e documentará o estado final como System.DefaultErrorHandler.
Para obter mais contexto sobre as conversas incompletas de uma intenção:
  • Clique em Exibir Caminho para abrir o relatório de Caminhos filtrados para conversas incompletas da intenção selecionada. Os estados do terminal nesse caminho podem incluir estados definidos na caixa de diálogo ou um estado interno que marca o fim de uma conversa, como System.EndSession, System.ExpiredSession, System.MaxStatesExceededHandler e System.DefaultErrorHandler.

  • Você pode acessar transcrições de conversas que levam à falha clicando em Exibir Conversas. Esta opção abre o relatório de Conversas filtrado para conversas incompletas da intenção selecionada. Você pode restringir ainda mais os resultados aplicando um filtro. Por exemplo, é possível filtrar o relatório por condições de erro.

unresolvedIntent

Além da duração e das rotas para intenções orientadas a tarefas, o relatório de Intenções também retorna as mensagens que não puderam ser resolvidas. Para ver essas mensagens, clique em unresolvedIntent na barra de navegação esquerda. Clicar em uma intenção no gráfico de barras Previsões Mais Próximas atualiza a janela Mensagem Não Resolvida com as mensagens não resolvidas dessa intenção classificadas por uma pontuação de probabilidade.

Você pode exibir o caminho e as conversas dessas mensagens não resolvidas por Exibir Caminho e Exibir Conversas, mas também pode acessar as mensagens não resolvidas por meio do relatório Retrainer, no qual você pode avaliá-las como possíveis adições aos dados de treinamento. Clicar em Treinar Novamente abre o relatório Retrainer filtrado por mensagens não resolvidas.

Verificar Insights de Caminho

O relatório Caminhos permite que você descubra quantas conversas fluíram pelos caminhos de execução das intenções em um determinado período. Este relatório renderiza um caminho semelhante a um mapa de trânsito no qual as paradas podem representar intenções, os estados definidos na definição do fluxo de caixas de diálogo e os estados internos que marcam o início e o fim de cada conversa que não é classificada como em andamento.
Descrição da programação-report.png a seguir
Descrição do caminho da ilustração -report.png

Você pode rolar por esse caminho para ver onde os valores alocados da entrada de usuário impulsionaram a conversa para frente e onde ela parou por causa da entrada de usuário incorreta, timeouts resultantes de nenhuma entrada de usuário, erros de sistema ou outros problemas. Embora a última parada em um caminho concluído seja verde, para caminhos incompletos nos quais esses problemas surgiram, ela é vermelha. Por meio deste relatório, você pode descobrir onde o número de conversas permaneceu constante em cada estado e identificar onde as conversas foram ramificadas por causa dos valores que estão sendo definidos (ou não definidos) ou encerrados por causa de algum outro problema, como um componente personalizado com defeito ou um timeout.

Consultar o Relatório de Caminhos

O relatório Caminhos renderiza um caminho de execução de intenção de acordo com seus parâmetros de consulta. Você pode consultar este relatório para os caminhos de execução completos e incompletos de qualquer ou todas as intenções, definir o comprimento do caminho escolhendo um estado final e isolar partes dos caminhos de execução excluindo estados de importância secundária. Por exemplo, você pode considerar estados que definem variáveis ou instrumentam a habilidade para métricas personalizadas como estados de "preenchimento" que prejudicam o foco da sua investigação.

Todos os fluxos de execução são renderizados por padrão depois que você insere sua consulta. A seta verde Iniciar Esta é uma imagem do ícone Iniciar caminho. representa System.BeginSession, o estado do sistema que inicia cada conversa. O ícone System.Intent O ícone System.Intent. pode representar diferentes intenções, dependendo do filtro. Ele pode se referir a uma intenção específica que você escolheu como filtro ou pode representar cada intenção definida para sua habilidade quando você filtra o relatório por Todos (que é a definição padrão).

Para conversas incompletas, o caminho pode ser concluído com um estado interno, como System.ExpiredSession, System.MaxStatesExceededHandler ou System.DefaultErrorHandler, que representa o erro que encerrou a conversa.
Observação

Se o estado final em um fluxo criado por YAML usar uma transação vazia (ou implícita) ({}), o Insights classificará esse estado como um estado System.DefaultErrorHandler e considerará a conversa como incompleta, mesmo que a habilidade tenha tratado a transação com sucesso.
Clicar no estado final abre o painel de detalhes, que exibe estatísticas, erros, avisos e as mensagens finais do usuário.

O relatório exibe Resposta Nula para qualquer mensagem de cliente que esteja em branco (ou não esteja em texto simples) ou contenha entrada inesperada. Para respostas de ações de postback que não são de texto, ele exibe o payload da ação mais recente. Por exemplo :
{"orderAction":"confirm""system.state":"orderSummary"}
Clicar em Exibir Conversas abre o relatório de Conversas consultado pelo caminho para que você possa revisar as mensagens que concluíram a conversa no contexto de uma transcrição.

Cenário: Consultando o Relatório de Caminhos

Examinando o relatório Visão Geral de uma habilidade financeira, você observa que há um aumento repentino em conversas incompletas. Adicionando os valores representados pelos segmentos laranja "incompletos" dos gráficos de barras empilhadas, você deduz que as conversas estão falhando nos caminhos de execução das intenções Enviar Dinheiro e Saldos da habilidade.

Para investigar melhor as falhas da intenção, abra o relatório de caminhos e informe sua primeira consulta: filtrar todas as intenções que tenham um resultado incompleto. O caminho é renderizado com duas ramificações: uma que começa com startPayments e termina com SystemDefaultErrorHandler e uma segunda que começa com startBalances e também termina com System.DefaultErrorHandler. Clicar no nó final em qualquer um dos caminhos abre o painel de detalhes que anota o número de erros e exibe trechos das mensagens do usuário recebidas pela habilidade antes que esses erros ocorram. Para ver esses trechos de código no contexto, clique em Exibir Conversas no painel de detalhes para ver a transcrição. Em todas as conversas, a habilidade foi forçada a responder com Prompt de Erro Inesperado (Ops! I'm encountering a spot of trouble…) porque erros do sistema impediram o processamento da solicitação do usuário.

Para saber mais sobre os estados que levam a esses erros (e suas possíveis atribuições para causar essas falhas), consulte a definição do fluxo de caixas de diálogo para identificar os estados que começam os caminhos de execução de cada intenção. Esses estados são startBalances, startTxns, startPayments, startTrackSpending e setDate.

Comparando os caminhos com a definição do fluxo de caixas de diálogo, você percebe que, nos fluxos startPayments e startBalances, o último estado renderizado no caminho precede um estado que usa um componente personalizado. Depois de verificar a página ComponentesEsta é uma imagem do ícone Componentes na barra esquerda., você percebe que o serviço foi desativado, impedindo que a habilidade recuperasse as informações da conta necessárias para concluir as conversas.

Revisar os Insights de Conversas da Habilidade

Usando o relatório Conversas, você pode analisar as transcrições reais das conversas para revisar como a entrada do usuário concluiu os caminhos relacionados à intenção ou por que não fez isso. Você pode filtrar as conversas por canal, por modo (Voz, Texto, Todos), Tipo (fluxo de intenção ou fluxo LLM) e por período.

Você pode revisar transcrições de conversas filtrando esse relatório por intenções. Você pode adicionar dimensões como duração e resultado da conversa, que tem como indicação concluída, incompleta ou em andamento. Se quiser descobrir que tipo de erro contribuiu para conversas incompletas, você poderá filtrar o Resultado por Incompleto e, em seguida, selecionar uma das categorias de erro (Timeouts, Loops Infinitos e Erros Tratados pelo Sistema) para o filtro Erros. Para conversas com mensagens que começaram como voz, mas terminaram como texto, você também pode filtrar por Conversas Alternadas.
Observação

Para uma única intenção, o relatório Conversas lista as diferentes conversas que foram concluídas. No entanto, em fluxos de caixas de diálogo com autoria de YAML, concluída pode significar diferentes coisas, dependendo da mensagem do usuário e da transição return, que termina a conversa e destrói o contexto da conversa. Para uma intenção OrderPizza, por exemplo, o relatório Conversas pode mostrar duas conversas concluídas com sucesso. Somente uma delas termina em um pedido concluído. A outra conversa é encerrada com sucesso, também, mas em vez de atender a um pedido, ela trata a entrada incorreta do usuário.

Exibir Transcrições da Conversa

Clicar em Exibir Conversa abre a conversa no contexto de uma janela do chat. Clicar no ícone do gráfico de barras exibe as métricas de voz dessa interação.
Descrição da view-conversation-window.png a seguir
Descrição da ilustração view-conversation-window.png

Exibir Métricas de Voz

Clicar em Exibir Métricas de Voz exibe um subconjunto das métricas de voz que são ponderadas em toda a conversa. Para exibir essas métricas divididas pelas interações de voz individuais, clique no ícone de gráfico de barras na view de transcrição acessada clicando em Exibir Conversas.

Anonimização de PII

As mensagens do usuário podem conter Informações de Identificação Pessoal (PII), informações como nome e sobrenome, números de telefone e endereços de e-mail. Para proteger a privacidade do usuário, mas preservar o contexto da mensagem, você pode anonimizar os valores de PII com um valor equivalente, anônimo, antes que eles sejam persistidos no banco de dados. Esses anônimos são usados consistentemente em uma sessão. Por exemplo, todas as ocorrências de "John Smith" em uma conversa seriam substituídas pelo anônimo, "davis". Nesse caso, davis, não John Smith, é armazenado no banco de dados e aparece em todos os logs de exportação e o Insights reporta como o relatório Convevrsations, o Retrainer e a palavra-chave nuvem de frase.
Observação

Os valores CURRENCY e DATE_TIME não são anonimizados, mesmo que contenham números. Além disso, o "um" no prompt padrão de uma entidade composta ("Selecione um valor para...") é anonimizado como um valor numérico. Para evitar isso, adicione um prompt personalizado ("Selecione um valor para...", por exemplo).
É possível anonimizar os valores reconhecidos pelas seguintes entidades do sistema:
  • PERSON
  • NUMBER
  • EMAIL
  • PHONE_NUMBER
  • URL
Observação

Ativar Mascaramento está obsoleto na Release 21.12. Em vez disso, use a anonimização de PII para mascarar valores numéricos nos relatórios do Insights e exportar logs. Não é possível aplicar a anonimização às conversas registradas antes da versão 21.12.

Ativar Anonimização de PII

  1. Clique em Definições > Geral.
  2. Ative Ativar Anonimização de PII.
  3. Clique em Adicionar Entidade para selecionar os valores de entidade que você deseja anonimizar nos relatórios e nos logs do Insights.
    Observação

    Os valores anônimos são persistidos no banco de dados somente depois que você ativa a anonimização dos valores de PII para as entidades selecionadas. Eles não são aplicados a conversas anteriores. Dependendo do intervalo de datas selecionado para os relatórios do Insights ou arquivos de exportação, os valores de PII podem aparecer em seus formulários reais e anônimos. Você pode aplicar a anonimização a qualquer valor de PII não anonimizado (incluindo aqueles em conversas que ocorreram antes de ativar a anonimização nas definições da habilidade ou do assistente digital) ao criar uma tarefa de exportação. Esses anônimos se aplicam apenas ao arquivo exportado e não são persistidos no banco de dados.
    Se você quiser descontinuar a anonimização de um valor de PII ou se não quiser que um anônimo seja usado, selecione a entidade correspondente e clique em Excluir Entidade. Depois que você exclui uma entidade, o valor de PII real aparece em todos os relatórios de Insights para conversas subsequentes. Sua forma anônima, no entanto, permanecerá para conversas anteriores.
    Observação

    A anonimização é permanente (não obstante, a anonimização aplicada à tarefa de exportação). Não é possível recuperar valores de PII depois de ativar o anonimato.


Anonimização de PII no arquivo de exportação

A anonimização em um arquivo do Insights exportado depende se (e quando) você ativou a anonimização de PII para a habilidade ou o assistente digital em Definições.

Quando você ativa as definições de anonimização de PII para a habilidade ou o assistente digital:
  • Os valores de PII reconhecidos para as entidades selecionadas são substituídos por anônimos. Esses anônimos são persistidos no banco de dados e substituem os valores de PII nos relatórios de logs e Insights. Essa anonimização é aplicada às conversas que ocorrem após - e não antes - a ativação da anonimização em Configurações.
  • A opção Ativar anonimização de PII para a opção de arquivo para a tarefa de exportação é ativada por padrão para garantir que os valores de PII reconhecidos para as entidades selecionadas em Configurações sejam aplicados a conversas que ocorreram antes da definição do anonimato de PII. Os anônimos aplicados durante a exportação para conversas anteriores à anonimização de PII existem apenas no arquivo de exportação. Os valores de PII originais permanecem no banco de dados, nos logs do Insights e nos relatórios do Insights).
  • Se você desativar Ativar anonimização de PII para o arquivo, somente os valores de PII reconhecidos para as entidades que foram selecionadas em Configurações serão anonimizados. Os arquivos de log conterão os anônimos das conversas que ocorreram após as definições de anonimização terem sido ativadas para a habilidade ou o assistente digital. As conversas anteriores aparecerão como declarações originais e não modificadas com seus valores de PII intactos. Consequentemente, o arquivo de exportação pode incluir conversas anônimas e não anônimas se parte do intervalo de datas da tarefa de exportação for anterior à anonimização.
    Observação

    Se sua tarefa de exportação incluir conversas anônimas que ocorreram antes da Versão 22.04, os anônimos aplicados às conversas anteriores à versão 22.04 serão alterados ou reanonimizados nos arquivos de exportação quando você selecionar Ativar anonimização de PII para o arquivo para a tarefa de exportação. Os anônimos no arquivo exportado não corresponderão aos anônimos nos arquivos de exportação anteriores à versão 22.04 ou aos anônimos que aparecem nos relatórios do Insights.
Quando você desativa ou não configura definições de anonimização de PII para uma habilidade ou assistente digital:
  • A opção Ativar anonimização de PII para o arquivo será desativada por padrão para a tarefa de exportação para que o arquivo exportado contenha todas as declarações não modificadas originais, incluindo os valores de PII.
  • Se você selecionar Ativar anonimização de PII para o arquivo, os valores de PII serão anonimizados no arquivo exportado apenas para as entidades padrão, PESSOA, EMAIL, URL e NÚMERO. Os valores de PII permanecerão nos relatórios de banco de dados, logs e Insights.

Aplicar o Retrainer

Os clientes podem usar outras frases para fazer a mesma solicitação. Quando esta entrada de usuário não puder ser resolvida para uma intenção (ou for resolvida para a intenção errada), você poderá direcioná-la para a intenção correta usando o Retrainer. Para ajudá-lo, o Retrainer sugere uma intenção para a entrada do usuário. Como você está adicionando uma entrada de usuário real, poderá melhorar o desempenho da habilidade com cada nova versão.
Você pode filtrar o histórico de conversas usando uma ou mais das seguintes opções:
  • período
  • idioma – Para capacidade multilíngue ativada por meio de serviços de tradução ou suporte ao idioma nativo. Por padrão, o relatório é filtrado pelo idioma principal.
  • intenções – Filtre por meio da correspondência dos nomes das duas intenções de classificação mais alta e usando operadores de comparação para suas propriedades relacionadas à resolução, confiança e Margem de Ganho.
  • canais – Inclui o Canal do Agente criado para integrações do Oracle Service Cloud.
  • modos de texto ou voz – Inclui conversas alternadas.
O relatório retorna as duas principais intenções para cada declaração retornada, com a Margem de Ganho que as separa e, por meio de um gráfico de barras horizontais, suas pontuações de confiança contrastantes. Passar o mouse sobre as barras revela as pontuações reais. A linha horizontal que faz interseção com as marcas de gráfico em que a pontuação excedeu ou ficou aquém do limite de confiança da habilidade.

Atualizar Intenções com o Retrainer

Há algumas questões a serem consideradas ao adicionar mensagens do usuário ao corpus de treinamento:
  • Você só pode adicionar entrada do usuário ao corpus de treinamento pertencente a uma versão rascunho de uma habilidade, não a uma versão publicada.
  • Não é possível adicionar qualquer entrada do usuário que já esteja presente como declaração no corpus de treinamento ou que você já tenha adicionado usando o Retrainer.
Para atualizar uma intenção transacional ou uma intenção de resposta usando o Retrainer:
  1. Como não é possível atualizar uma habilidade publicada, você deve criar uma versão de rascunho antes de adicionar novos dados ao corpus.

    Dica:

    Clique em Comparar Todas as Versões Imagem do ícone Comparar Todas as Versões. ou desative a opção Mostrar Somente Mais Recente para acessar as versões de rascunho e publicadas da habilidade.
    Se estiver revisando uma versão publicada da habilidade, selecione a versão de rascunho da habilidade.
    Imagem do menu drop-down Selecionar Versão.

  2. Na versão de rascunho da habilidade, aplique um filtro, se necessário, em seguida, clique em Pesquisar.
  3. Selecione a mensagem do usuário e, em seguida, escolha a intenção de destino no menu Selecionar Intenção. Se sua habilidade suportar mais de um idioma nativo, você poderá adicioná-lo ao conjunto de treinamento apropriado de idioma escolhendo entre os idiomas no menu Selecionar Idioma.

    Dica:

    Você pode adicionar declarações a uma intenção individualmente ou selecionar várias intenções e depois selecionar a intenção de destino e, se necessário, um idioma no menu Adicionar a localizado no lado superior esquerdo da tabela. Se quiser adicionar a uma intenção todas as solicitações retornadas, selecione Declarações (localizado na parte superior direita da tabela) e escolha a intenção e o idioma no menu Adicionar a
  4. Clique em Adicionar Exemplo.
  5. Treine novamente a habilidade.
  6. Republique a habilidade.
  7. Atualize o assistente digital com a nova habilidade.
  8. Monitore o relatório de Visão Geral para obter alterações nas métricas ao longo do tempo e também compare versões distintas da habilidade para descobrir se novas versões realmente foram adicionadas ao sucesso geral da habilidade. Repetir o processo de novo treinamento melhora a capacidade de resposta da habilidade para cada nova versão. Para habilidades integradas ao Oracle Service Cloud Chat, por exemplo, o novo treinamento deve resultar em uma tendência decrescentes nas escalações, que é indicada por uma tendência descendente no uso de intenções de transferência do agente.

Self-Learning Moderado

Ao definir o filtro Confiança Superior abaixo do limite de confiança definido para a habilidade ou por meio do filtro padrão, Intenção Correspondente a unresolvedIntent, você pode atualizar seu corpus de treinamento usando a classificação de confiança feita pela estrutura de processamento de intenção. Por exemplo, se a pesquisa de unresolvedIntent retornar "someone used my credit card", você poderá designá-la a uma intenção chamada Contestação. Isso se chama autoaprendizado moderad – aprimorar a resolução da intenção, preservando a integridade da habilidade.

Por exemplo, os critérios de pesquisa padrão do relatório mostram a entrada aleatória do usuário que não pode ser resolvida como Nível de Confiança porque é inapropriada, está fora do tópico ou contém erros ortográficos. Fazendo referência ao gráfico de barras, você pode designar a entrada do usuário: fortalecer a intenção da habilidade para tratar intenções não resolvidas, designando a entrada incompreensível, ou pode adicionar entradas com erro ortográfico à intenção apropriada orientada a tarefas (“enviar dinheiro” a uma intenção Enviar Dinheiro, por exemplo). Se a sua habilidade tiver uma intenção de Boas-vindas, por exemplo, você pode designar mensagens irreverentes, fora do tópico, às quais sua habilidade pode retornar uma nova junção, como “I don’t know about that, but I can help you order some flowers”.

Suporte para Serviços de Tradução

Se sua habilidade usar um serviço de tradução, o Retrainer exibirá as mensagens do usuário no idioma de destino. No entanto, o Retrainer não adiciona mensagens traduzidas aos corpus de treinamento. Ele as adiciona em inglês, o idioma aceito do modelo de treinamento. Clicar em Esta é uma imagem do ícone mostrar tradução. revela a versão em inglês que pode ser potencialmente adicionada ao corpus. Por exemplo, clicar nesse ícone para contester (francês) revela dispute (inglês).

Criar Jobs de Fabricação de Dados

Em vez de designar declarações às próprias intenções, você pode criar várias origens para essa tarefa criando jobs de Anotação de Intenção e Validação de Intenção. Não é necessário compilar os logs de conversa em um CSV para criar esses jobs. Em vez disso, clique em Criar e depois em Job de Fabricação de Dados.
Imagem da opção Criar no relatório do Retrainer.
Escolha o tipo de job para a entrada do usuário que é filtrada no relatório do Retrainer. Por exemplo, você pode criar um job de Anotação de Intenção com base em um relatório filtrado pela intenção superior correspondente a unresolvedIntent ou pode criar um job de Validação de Intenção com base em um relatório filtrado em declarações que corresponderam a uma intenção.
Segue a descrição da retrainer-data-manufacturing-job-dialog.png
Descrição da ilustração retrainer-data-manufacturing-job-dialog.png

Dica:

Usando as opções Selecionar declarações, você pode escolher todos os resultados retornados pelo filtro aplicado ao Retrainer para o job de manufatura de dados ou criar um job com base em um subconjunto desses resultados que pode incluir uma amostragem aleatória de declarações. A seleção de Excluir declarações de jobs anteriores significa que as declarações selecionadas para um job anterior de fabricação de dados não estarão mais disponíveis para jobs subsequentes: as declarações incluídas em um job de Anotação de Intenção, por exemplo, não estarão disponíveis para um job posterior de Anotação de Intenção. Use esta opção ao criar vários cargos para revisar um grande conjunto de resultados.
Depois de criar o cargo, ele aparece na página Jobs do Data Manufacturing, na qual você pode distribuí-lo para colaboradores compartilhando o vínculo.

Criar um Conjunto de Testes

Da mesma forma que os jobs de manufatura de dados dos resultados consultados no relatório do Retrainer, você também pode criar casos de teste com base nas declarações retornadas pela sua consulta. Você pode adicionar um conjunto desses casos de teste ao Testador de Declaração clicando em Criar e, em seguida, em Conjunto de Testes.
Esta é uma imagem da opção Test Suite.
Você pode filtrar as declarações da suíte de teste usando as opções Selecionar declarações na caixa de diálogo Criar Suíte de Teste. Você pode incluir todas as declarações retornadas pelo filtro aplicado ao Retrainer no conjunto de testes ou um subconjunto desses resultados que pode incluir uma amostragem aleatória das declarações. Selecione Incluir tag de idioma para garantir que o idioma associado a um caso de teste permaneça o mesmo durante o teste.
Segue a descrição da ilustração create-test-suite-dialog-insights.png
Descrição da ilustração create-test-suite-dialog-insights.png

Você pode acessar o conjunto de testes concluído clicando em Ir para Casos de Teste no Testador de Declaração.

Verificar Uso do Idioma

Para uma habilidade multilíngue, você pode comparar o uso dos idiomas suportados, por meio dos segmentos do gráfico Idiomas. Cada segmento representa um idioma atualmente em uso.
Descrição da ilustração languages-chart-overview-skill.png a seguir
Descrição dos idiomas de ilustração - gráfico - visão geral - skill.png
Se quiser revisar as conversas representadas por um idioma no gráfico, você poderá clicar em um segmento ou na legenda para fazer drill-down no relatório de Conversas, que é filtrado pelo idioma selecionado.
Descrição da ilustração conversas-report-filtered-language.png a seguir
Descrição da ilustração conversas - relatório - filtrado - language.png

Exportar Dados de Insights

Os diversos relatórios do Insights oferecem perspectivas distintas, mas se você precisar exibir esses dados de outra forma, poderá criar seu próprio relatório com base em um arquivo CSV dos dados exportados do Insights.

Os CSVs contêm campos para mensagens de usuário e habilidade, tipos de componentes e estados, que são descritos em Os Campos de Log de Exportação. Você pode criar um script de processamento para filtrar esse conteúdo ou apenas usar um aplicativo de planilha. Revisar os Logs de Exportação descreve algumas abordagens comuns para filtrar os arquivos.
Observação

Os dados podem ser distribuídos em uma série de CSVs quando a tarefa de exportação retorna mais de 1.048.000 linhas. Nesses casos, o arquivo ZIP conterá uma série de arquivos ZIP, cada um contendo um CSV.
A página Exportações lista as tarefas por:
  • Nome: o nome da tarefa de exportação.
  • Última Execução: a data da execução mais recente da tarefa.
  • Criado por: o nome do usuário que criou a tarefa.
  • Status da Exportação: Enviado, Em Andamento, Com Falha, Sem Dados (quando não há dados a serem exportados dentro da faixa de datas definida para a tarefa) ou Concluído, um hiperlink que permite fazer download dos dados exportados como arquivo CSV. Passando o mouse sobre o status Com Falha, você exibe uma mensagem explicativa.
Observação

Uma tarefa de exportação se aplica à versão atual da habilidade.

Criar uma Tarefa de Exportação

  1. Abra a página Exportações e clique em + Exportar.
  2. Digite um nome para o relatório e informe uma faixa de datas.
  3. Clique em Ativar anonimização de PII para o arquivo exportado para substituir valores de Informações de Identificação Pessoal (PII) por anônimos no arquivo exportado. Esses anônimos só existirão no arquivo exportado se PII não estiver ativado nas definições de habilidade. Nesse caso, os valores de PII, e não seus equivalentes anônimos, ainda são armazenados no banco de dados e aparecem nos logs de Insights exportados e em todos os relatórios de Insights, incluindo o relatório Conversas, o Retrainer e as frases-chave na nuvem de palavras. Se a PII tiver sido ativada nas definições de habilidade, os relatórios de logs e Insights conterão anônimos.
    Observação

    A anonimização de PII ativada para as definições da habilidade ou do assistente digital determina como os valores de PII que são anonimizados no arquivo de exportação e também contribui para a consistência da anonimização no arquivo de exportação.
  4. Clique em Exportar.
  5. Quando a tarefa for bem-sucedida, clique em Concluído para fazer download de um ZIP do CSV (ou CSVs) para exportações grandes. O nome do CSV de exportação no nível da habilidade começa com B_. Os nomes de arquivo para exportações no nível do assistente digital começam com D_.
Descrição da ilustração insights-export-dialog.png a seguir
Descrição da ilustração insights-export-dialog.png

Verificar os Logs de Exportação

Estes são alguns dos campos com maior probabilidade de você se concentrar. Os Campos de Log de Exportação descrevem todos os campos. Filtrar os Dados Exportados do Insights descreve algumas abordagens para classificar os dados.
  • BOT_NAME contém o nome da habilidade ou do assistente digital. Você pode usar essa coluna para ver como a caixa de diálogo é roteada do sistema digital para as habilidades (e entre as habilidades).
  • CHANNEL_SESSION_ID armazena o ID da sessão do canal. Você pode usar esse ID, em conjunto com a terceira coluna, CHANNEL_ID, para criar um tipo de identificador exclusivo para a sessão. Como as sessões podem expirar ou serem encerradas, você pode usar esse identificador para descobrir se a sessão foi alterada.
  • TIMESTAMP indica a cronologia ou a sequência dos eventos. Normalmente, você classificaria por essa coluna.
  • USER_UTTERANCE e BOT_RESPONSE contêm a conversa real entre a habilidade e seu usuário. Esses dois campos tornam a intercalação das mensagens de usuário e habilidade facilmente visíveis quando você classifica pelo TIMESTAMP.

    Pode haver declarações duplicadas na coluna USER_UTTERANCE. Isso pode acontecer quando o teste do usuário é executado na mesma instância, mas é mais provável que seja porque a declaração é usada em diferentes partes da conversa.

  • Você pode usar COMPONENT_NAME, CURR_STATE e NEXT_STATE para depurar o fluxo de caixas de diálogo.

Filtrar os Dados Exportados do Insights

Normalmente, você classificaria os logs pela coluna TIMESTAMP para exibir a sequência de eventos. Para outras perspectivas, como a conversa do usuário de habilidades, por exemplo, você pode filtrar as colunas pelos estados internos gerados pelo sistema. As técnicas comuns de filtragem incluem:
  • Classificando a habilidade e a conversa do assistente digital – Quando uma exportação contém os dados de um assistente digital e suas habilidades registradas, o conteúdo do campo BOT_NAME pode parecer confuso, uma vez que a conversa parece saltar arbitrariamente entre as diferentes habilidades e entre as habilidades e o assistente digital. Para ver a caixa de diálogo na sequência correta (e contexto), a coluna TIMESTAMP em ordem crescente.
  • Localizando os limites da conversa – Use o campo System.BeginSession e um dos estados do terminal para localizar o início e o fim de uma conversa. As conversas começam com um estado System.BeginSession. Elas podem terminar com qualquer um dos seguintes estados terminais:
    • System.EndSession
    • System.ExpiredSession
    • System.MaxStatesExceededHandler
    • System.DefaultErrorHandler
  • Verificando a conversa real entre usuário e habilidade – Para isolar o conteúdo das colunas USER_UTTERANCE e BOT_RESPONSE, filtre a coluna CURR_STATE pelos estados gerados pelo sistema System.MsgReceived e System.MsgSent
    Observação

    Uma resposta de mensagem não texto, como aquelas de estados de entidades de resolução, a saída da habilidade será respostas parciais unidas por um caractere de nova linha.
    Às vezes, partes do diálogo entre usuário e habilidade podem ser repetidas nas colunas USER_UTTERANCE e BOT_RESPONSE. O texto do usuário é repetido quando há uma transição automática que não exige entrada do usuário. As respostas da habilidade serão repetidas se o próximo estado for um dos estados do terminal, como System.EndSession ou System.DefaultErrorHandler.
  • Verificando apenas a execução do fluxo de caixas de diálogo com o diálogo entre usuário e habilidade – Para exibir transações internas ou exibir somente as mensagens que não são de texto, filtre os estados System.MsgReceived e System.MsgSent da coluna CURR_STATE (a abordagem oposta para exibir apenas o diálogo).
  • Identificando uma sessão – Compare os valores nos campos CHANNEL_SESSION_ID e SESSION_ID (que estão próximos uns aos outros).

Os Campos de Log de Exportação

O CSV exportado de uma habilidade inclui os campos a seguir.
Nome da coluna Descrição Valor de Amostra
BOT_NAME O nome da habilidade PizzaBot
CHANNEL_SESSION_ID O ID de um usuário da sessão. Esse valor identifica uma nova sessão. Uma alteração nesse valor indica que a sessão expirou ou foi redefinida para o canal. 2e62fb24-8585-40c7-91a9-8adf0509acd6
SESSIONID Um identificador da sessão atual. Este é um GUID aleatório, que torna esse ID distinto do CHANNEL_SESSION_ID ou do USER_ID. Uma sessão indica que um ou mais caminhos de execução de intenção que foram encerrados por uma transição return explícita na definição de estado ou por um retorno implícito injetado pelo Mecanismo de Caixa de Diálogo. 00cbecbb-0c2e-4749-bfa9-c1b222182e12
TIMESTAMP O timestamp "criado em". Usado para ordenação cronológica ou sequenciamento de eventos. 14-SEP-20 01.05.10.409000 PM
USER_ID O ID do Usuário 2880806
DOMAIN_USERID Refere-se a USER_ID. 2880806
PARENT_BOT_ID O ID da habilidade ou do assistente digital. Quando uma conversa é acionada por um assistente digital, isso se refere ao ID do assistente digital. 9148117F-D9B8-4E99-9CA9-3C8BA56CE7D5
ENTITY_MATCHES Identifica os valores de item do repositório composto correspondentes na primeira declaração resolvida para uma intenção. Se a primeira mensagem de um usuário for "Ordem de uma pizza grande", essa coluna conterá a correspondência para o item PizzaSize dentro da entidade composta, Pizza:
{"Pizza":[{"entityName":"Pizza","PizzaSize":["Large"]}]}
Todos os outros valores de item nas mensagens de usuário subsequentes não são rastreados; portanto, se a próxima mensagem de um usuário incluir um valor PizzaType, ela não será incluída no arquivo de exportação. Se um usuário informar primeiro "Ordem de uma pizza" e, depois que a intenção tiver sido resolvida, adicionar uma mensagem de acompanhamento com um valor de entidade para o item PizzaSize ("torná-la grande"), um valor nulo será registrado na coluna ENTITY_MATCHES, porque a mensagem inicial que foi resolvida para a intenção não continha nenhum valor de item.

Um objeto vazio ({}) é retornado quando você ativa a anonimização de PII.

{"Pizza":[{"entityName":"Pizza","PizzaType":["CHEESE BASIC"],"PizzaSize":["Large"]}]}
PHRASE A interpretação do ODA da entrada do usuário large thin pizza
INTENT_LIST Uma classificação das intenções candidatas, expressa como objeto JSON. [{"INTENT_NAME":"OrderPizza","INTENT_SCORE":0.4063},{"INTENT_NAME":"OrderPasta","INTENT_SCORE":0.1986}]

Para exportações do assistente digital, essa é uma classificação de habilidades que foram chamadas por meio do assistente digital. Por exemplo: [{"INTENT_NAME":"Pizza_For_DA_Starter-1.2","INTENT_SCORE":0.931},{"INTENT_NAME":"Retail_for_DA_Starter-1.1","INTENT_SCORE":0.0996},{"INTENT_NAME":"Finance_for_DA_Starter-1.1-DA","INTENT_SCORE":0.0925}]

BOT_RESPONSE As respostas feitas pela habilidade em resposta a qualquer declaração do usuário. How old are you?
USER_UTTERANCE A entrada do usuário. 18
INTENT A intenção selecionada pela habilidade para processar a conversa. Isso lista a intenção superior na lista de intenções consideradas uma possibilidade para a conversa. OrderPizza
LOCALE A configuração regional do usuário en-US
COMPONENT_NAME O componente (sistema ou personalizado), executado no estado atual. Você pode usar esse campo com CURR_STATE e NEXT STATE para depurar a caixa de diálogo flow.There são outros valores na coluna COMPONENT_NAME que não são componentes:
  • ODA.Routing – Observe que um evento está sendo gravado.
  • __NO_COMPONENT__ – Nenhum componente foi definido para o estado. A coluna não poderá conter um valor se nenhum componente tiver sido definido para o estado.
AgeChecker
CURR_STATE O estado atual da conversa, que você usa para determinar a origem da bagagem. Esse campo contém os nomes dos estados estabelecidos na definição do fluxo de caixas de diálogo, com os estados gerados pelo sistema. Você pode filtrar o CSV por esses estados, que incluem System.MsgRecieved para mensagens do usuário e System.MsgSent para mensagens enviadas pela habilidade ou pelos agentes para integrações de atendimento ao cliente. checkage

NEXT_STATE O próximo estado no caminho de execução. As transições de estado na definição do fluxo de caixas de diálogo indicam o próximo estado no caminho de execução. crust
Language O idioma usado durante a sessão. fr
SKILL_VERSION A versão da habilidade 1.2
INTENT_TYPE Se a intenção é transacional (TRANS) ou de resposta (STATIC) STATIC
CHANNEL_ID Identifica o canal no qual a conversa foi conduzida. Esse campo, com CHANNEL_SESSION_ID, descreve uma sessão. AF5D45A0EF4C02D4E053060013AC71BD
ERROR_MESSAGE A mensagem de erro retornada. Session expired due to inactivity.
INTENT_QUERY_TEXT A entrada enviada ao servidor de intenção para classificação. O conteúdo de INTENT_QUERY_TEXT e USER_UTTERANCE é o mesmo quando a entrada do usuário está em um dos idiomas nativos, mas é diferente quando a entrada do usuário está em um idioma que não é suportado nativamente para que seja tratado por um serviço traduzido. Nesse caso, INPUT_QUERY_TEXT está em inglês.  
TRANSLATE_ENABLED Se um serviço de tradução é usado. NO
SKILL_SESSION_ID O ID da sessão 6e2ea3dc-10e2-401a-a621-85e123213d48
ASR_REQUEST_ID Um campo de chave exclusivo que identifica cada entrada de voz, ou seja, o ID de Solicitação de Fala. A presença desse valor indica que esta é uma entrada de voz. cb18bc1edd1cda16ac567f26ff0ce8f0
ASR_EE_DURATION A duração de uma única declaração de voz em uma janela de conversa. 3376
ASR_LATENCY A latência da voz, medida em milissegundos. Embora o reconhecimento de voz exija um grande número de cálculos, a largura de banda da memória e a capacidade da bateria são limitadas. Isso introduz latência do momento em que uma entrada de voz é recebida até quando ela é transcrita. Além disso, as implementações baseadas em servidor também adicionam latência por causa do round-trip. 50
ASR_RTF uma métrica padrão de desempenho no sistema de reconhecimento de voz. Se levar algum tempo {P} para processar uma entrada de duração {I}, o fator em tempo real será definido como: RTF = \frac{P}{I}.A proporção do tempo gasto para processar a entrada de áudio em relação ao tempo de CPU. Por exemplo, se for necessário um segundo de tempo da CPU para processar um segundo de áudio, o RTF será 1 (1/1). O RTF de 500 milissegundos para processar um segundo de áudio é.5 ou ½. 0.330567
CONVERSATION_ID O ID da conversa 906ed6bd-de6d-4f59-a2af-3b633d6c7c06
CUSTOM_METRICS Um array JSON que contém um objeto para cada dimensão de métrica personalizada. name é um nome de dimensão e value é o valor retornado. Esta coluna está disponível para as versões 22.02 e posteriores.
[{"name":"Order Sizes","value":"a box of 3 bottles"},{"name":"Wine Types","value":"red wine"},{"name":"Most Popular","value":"Pinot noir"}]

Estados Internos

Nome do Estado Descrição
System.MsgReceived Um evento de mensagem recebida que é acionado para o Insights quando uma habilidade recebe uma mensagem de texto de uma origem externa, como um usuário ou outra habilidade.
System.MsgSent Um evento de mensagem enviada que é acionado para o Insights quando uma habilidade responde a uma origem externa, como um usuário ou outra habilidade.

Para cada evento System.MsgReceived, pode haver zero, um ou mais eventos System.MsgSent correspondentes.

System.BeginSession Um evento System.BeginSession é enviado como marcador para iniciar a sessão quando:
  • Nenhum estado de caixa de diálogo foi executado ainda.
  • O primeiro estado de caixa de diálogo está prestes a ser acionado.
System.EndSession Um evento System.EndSession é capturado como marcador para encerramento de sessão quando o estado atual não gerou erros não tratados e tem uma transição return, o que indica que não haverá outro estado de caixa de diálogo a ser executado. O evento System.EndSession também pode ser gravado quando o estado atual tem:
  • Uma transição error para tratar um erro.
  • O marcador de conversa insightsEndConversation: true.
System.ExpiredSession (Error type: "systemHandled") Um timeout de sessão O timeout padrão é de uma hora.

Quando uma conversa é interrompida por mais de uma hora, a expiração da sessão é acionada. A expiração da sessão é capturada como dois eventos distintos no Insights. O primeiro evento é o estado inativo, o estado no fluxo de caixas de diálogo em que a comunicação do usuário é interrompida. O segunda é o evento interno System.ExpiredSession.

System.DefaultErrorHandler O handler de erros padrão é executado quando não há tratamento de erros definido no fluxo de caixas de diálogo, seja globalmente (como o nó defaultTransitions em fluxos baseados em YAML) ou no nível de estado com transições error. Quando o fluxo de caixas de diálogo inclui transições error, um evento System.EndSession é acionado.
System.ExpiredSessionHandler O evento System.ExpiredSessionHandler será gerado se uma mensagem for enviada de um sistema externo, ou usuário, para a habilidade após a sessão ter expirado. Por exemplo, esse evento é acionado quando um usuário interrompe o chat com a habilidade no meio da conversa, mas depois envia uma mensagem depois de deixar a janela de chat aberta por mais de uma hora.
System.MaxStatesExceededHandler Este evento será gerado se houver mais de 100 estados de caixa de diálogo acionados como parte de uma única mensagem do usuário.

Tutorial: Usar o Oracle Digital Assistant Insights

Aplique relatórios do Insights (incluindo o Retrainer) com este tutorial: Usar o Oracle Digital Assistant Insights.