Testes

Lucas Agra Atualizado por Lucas Agra

Após adicionar vários exemplos para cada intenção no seu dataset, você pode querer saber se sua inteligência está funcionando corretamente, certo?

Para conferir se sua base de treinamento está se comportando da maneira esperada, você pode utilizar a seção Test!

Essa funcionalidade avalia seu dataset ao executar a base de testes no seu dataset de treinamento e comparando os mesmos.

Usuários podem adicionar frases de teste, simulando entradas do usuário final, para avaliar a qualidade dos dados de treinamento ou do algoritmo selecionado. Como as frases de teste são diferentes das frases de treinamento usadas para alimentar a inteligência, nós podemos analisar, através de alguns gráficos e métricas como podemos melhorar o treinamento da inteligência!

Nesse artigo, você aprenderá como realizar um teste no BotHub e como analisar seus resultados

Criando um teste

Para criar um teste, acesse Test -> Sentences na inteligência que deseja avaliar e adicione frases de teste para cada intenção.

Uma vez que tenha adicionado as frases ao teste, selecione o idioma que desejar e clique em no botão Run Test.

Você será redirecionado para a tela de resultados, onde estarão todos os dados relevantes do teste!

Resultados

Em Test -> Results estão todos os resultados de testes já feitos nessa inteligência.

Selecionando um dos resultados listados, alguns gráficos e métricas referentes ao teste escolhido serão exibidos:

  • Detalhes das frases (Sentence details)
  • Relatórios de Precisão e Cobertura (Precision and Recall reports)
  • Matriz de confusão de intenções (Intent confusion matrix)
  • Distribuição de confiança de intenções (Intent confidence distribuition)

Detalhes das frases (Sentence details)

É uma lista de todas as frases testadas pelo algoritmo e se elas foram ou não preditas corretamente. Clique em um delas para visualizar os detalhes sobre o teste, como a confiança e intenção preditas para cada frase.

Relatórios de Precisão e Cobertura (Precision and Recall reports)

Uma pontuação de Precisão de 1.0 para uma intenção X significa que dentre as frases classificadas como X, todas realmente pertencem à intenção X (mas não diz à respeito do restante de frases da intenção X que não foram classificadas corretamente).

Uma Cobertura de 1.0 significa que dentre as frases da intenção X, todas foram classificadas corretamente como X (mas não diz à respeito sobre quantas frases de outras intenções foram incorretamente classificadas como X).

Precisão responde à seguinte questão: “No conjunto de todas as frases classificadas como intenção X (corretas e erradas), qual a proporção foi correta?“

  • Uma intenção que não apresenta falso positivo tem Precisão de 1.0

Cobertura responde à seguinte questão: “No conjunto de todas as frases pertencentes a uma intenção X, qual a proporção classificada corretamente?“

  • Uma intenção que não apresenta falso negativo tem Cobertura de 1.0

Falso positivo e Falso negativo, no contexto de classificação de intenções, como explicado acima, são:

(referente à intenção farewell)

Matriz de confusão de intenções (Intent confusion matrix)

A matriz de confusão mostra quais intenções foram confundidas por outras. No eixo vertical, estão listadas as intenções que a inteligência deveria predizer, e no eixo horizontal estão as intenções que a inteligência predisse, de fato. Na matriz de confusão, a distribuição ideal dos dados deve ser diagonalmente, porque dessa forma todas as frases teriam sido corretamente preditas.

A matriz acima mostra que uma das frases de teste falhou. A frase tem a intenção outside, e foi predita pelo algoritmo como a intenção inside.

Distribuição de confiança de intenções (Intent confidence distribuition)

O histograma permite a visualização da distribuição de confiança para todas as predições feitas, com a quantidade de predições corretas e incorretas sendo mostradas em barras verdes e vermelhas, respectivamente.

Melhorar a qualidade do treinamento fará as barras verdes do gráfico avançarem para a direita, e as barras vermelha para a esquerda, pois o ideal é que as frases classificadas incorretamente tenham uma confiança de classificação baixa.

No gráfico acima, podemos notar que a maioria das sentenças de testes que foram preditas corretamente tiveram 95% de confiança, porém algumas foram classificadas com 100% de confiança e estavam erradas, o que não é um bom sinal.

Boas práticas

Para ter uma ideia melhor se seu bot está realmente inteligente, tente adicionar frases de teste reais, mas que nunca foram vistas pelo modelo (frases diferentes das frases treinadas). Isso permitirá testar se sua inteligência realmente consegue abstrair e compreender o sentido das intenções que foram treinadas para conseguir classificar corretamente uma frase de teste nunca vista antes.

Como a gente se saiu?

Contato