Como usar arquivos de teste para analisar meu modelo de IA 29 de agosto de 2024 16:26 Atualizado Índice Utilização Resultados Atualização do arquivo Versionamento O arquivo de teste é uma lista de interações críticas que se deseja que o modelo de NLP classifique. Modelo este criado usando a base de conhecimento (intenções e entidades). O objetivo da criação deste arquivo é possibilitar a validação da assertividade do modelo, mais especificamente, garantir que o modelo identifique corretamente as intenções para as interações mais críticas do chatbot. Entende-se por perguntas críticas as interações relacionadas às skills (e conteúdos) que o chatbot não pode, em hipótese nenhuma, deixar de responder. A recomendação é que sejam coletadas interações reais dos usuários que estejam dentro dos assuntos críticos mencionados acima. Dica: Use os filtros da Tela de Aprimoramento para encontrar essas interações. Esse arquivo é importante, pois assim é possível validar as modificações feitas na base, garantindo que tais alterações não gerem nenhum impacto negativo ao modelo, ou seja, tudo o que era reconhecido continua sendo reconhecido corretamente. O arquivo deve estar no formato .csv, onde a primeira coluna contém as perguntas e a segunda o id da intenção que se espera que o modelo reconheça para aquela pergunta, utilize a ferramenta BLiP Build AI Model Analysis File para construir este arquivo facilmente. Utilização O uso do arquivo é feito na tela Análise do modelo de IA, onde pode-se criar o relatório com métricas de avaliação do modelo de IA. Deve-se escolher a opção de Arquivo e seguir as orientações. Lembrando que para gerar o relatório é necessário que o BLIP envie as perguntas para o modelo, o que pode gerar custos dependendo do provedor utilizado. Resultados As métricas apresentadas pelo relatório, são: Acurácia Precisão Recall F1 Score Confiabilidade média Classificados corretamente Classificados incorretamente Top Falsos Positivos Top Falsos Negativos No caso do relatório criado com o arquivo de teste, as métricas geradas devem ter os seguintes valores da tabela abaixo: Acurácia 1,00 Precisão 1,00 Recall 1,00 F1 Score 1,00 Confiabilidade Média Variável Classificados Corretamente 100% Classificados Incorretamente 0% Top Falsos Positivos Nenhum Top Falsos Negativos Nenhum A Confiabilidade média é variável, pois este valor é a média da confiabilidade dada pelo provedor ao analisar cada uma das perguntas do arquivo de teste. Caso o valor de alguma das outras métricas seja diferente do que está na tabela, significa que o modelo não está respondendo corretamente todas as perguntas. Sendo assim, a sugestão é conferir quais são elas nas abas Top Falsos Positivos e Top Falsos Negativos, onde é possível identificar qual intenção era esperada e qual foi reconhecida. Além disso, também é gerado a Matriz de Confusão onde é possível identificar pontos de confusão entre intenções. A coluna superior representa as intenções esperadas, enquanto a coluna da esquerda mostra as intenções reconhecidas. Ex.: Era-se esperado que 10 perguntas fossem reconhecidas como Curiosidades, mas apenas 5 foram. Portanto, há confusão entre a intenção Curiosidades com a intenção O que é, Sinais básicos, e Como aprender, pois uma pergunta foi reconhecida como O que é, outra como Sinais básicos e outras 3 como Como aprender. O cenário ideal da análise da matriz de confusão é que apenas a diagonal principal seja diferente de 0 (zero), e é esse cenário que se deve ter quando o arquivo de teste for usado para gerar o relatório. Atualização do arquivo O arquivo de teste deve conter as perguntas críticas relacionadas as skills (e conteúdos) que o chatbot não pode, em hipótese nenhuma, deixar de responder. Sendo assim, toda vez que o modelo for treinado e publicado deve-se adicionar interações que testem o que foi alterado na base (desde que seja algo crítico). É importante salientar que não se deve adicionar exatamente o exemplo que foi adicionado à uma intenção mas, sim, uma interação que teste a capacidade do modelo de NLP de entender quando algo parecido for enviado ao chatbot. Além disso, a recomendação é que a atualização (e operação) do arquivo seja feita pela mesma pessoa que fez as modificações na base de conhecimento (intenções e entidades) ou, no máximo, por alguém que tenha conhecimento das alterações que foram feitas. Versionamento Para controle de versão do arquivo recomenda-se que cada versão criada seja nomeada com o dia e hora da publicação do modelo a ser testado, para que se tenha uma relação entre a versão do arquivo e o respectivo modelo. Se seguidas as recomendações feitas neste documento, a pessoa responsável pela evolução da base de conhecimento (e, consequentemente, do modelo de NLP) terá a capacidade de validar as modificações feitas na base, garantindo que, no geral, houve evolução e não retrocesso. Além disso, cria-se um modo de garantir que o modelo responde corretamente aquilo que o cliente espera e, caso seja identificado algo que não é respondido, isso deve ser entendido como melhoria do modelo e não bug. Para mais informações, acesse a discussão sobre o assunto em nossa comunidade ou os vídeos no nosso canal. 😃 Artigos relacionados Como criar entidades e intenções Como aprimorar meu modelo de IA Como realizar o reset de usuários pelo Beholder? Como configurar o seu modelo de IA no Chatbot Como usar o Assistente de Conteúdo
Índice Utilização Resultados Atualização do arquivo Versionamento O arquivo de teste é uma lista de interações críticas que se deseja que o modelo de NLP classifique. Modelo este criado usando a base de conhecimento (intenções e entidades). O objetivo da criação deste arquivo é possibilitar a validação da assertividade do modelo, mais especificamente, garantir que o modelo identifique corretamente as intenções para as interações mais críticas do chatbot. Entende-se por perguntas críticas as interações relacionadas às skills (e conteúdos) que o chatbot não pode, em hipótese nenhuma, deixar de responder. A recomendação é que sejam coletadas interações reais dos usuários que estejam dentro dos assuntos críticos mencionados acima. Dica: Use os filtros da Tela de Aprimoramento para encontrar essas interações. Esse arquivo é importante, pois assim é possível validar as modificações feitas na base, garantindo que tais alterações não gerem nenhum impacto negativo ao modelo, ou seja, tudo o que era reconhecido continua sendo reconhecido corretamente. O arquivo deve estar no formato .csv, onde a primeira coluna contém as perguntas e a segunda o id da intenção que se espera que o modelo reconheça para aquela pergunta, utilize a ferramenta BLiP Build AI Model Analysis File para construir este arquivo facilmente. Utilização O uso do arquivo é feito na tela Análise do modelo de IA, onde pode-se criar o relatório com métricas de avaliação do modelo de IA. Deve-se escolher a opção de Arquivo e seguir as orientações. Lembrando que para gerar o relatório é necessário que o BLIP envie as perguntas para o modelo, o que pode gerar custos dependendo do provedor utilizado. Resultados As métricas apresentadas pelo relatório, são: Acurácia Precisão Recall F1 Score Confiabilidade média Classificados corretamente Classificados incorretamente Top Falsos Positivos Top Falsos Negativos No caso do relatório criado com o arquivo de teste, as métricas geradas devem ter os seguintes valores da tabela abaixo: Acurácia 1,00 Precisão 1,00 Recall 1,00 F1 Score 1,00 Confiabilidade Média Variável Classificados Corretamente 100% Classificados Incorretamente 0% Top Falsos Positivos Nenhum Top Falsos Negativos Nenhum A Confiabilidade média é variável, pois este valor é a média da confiabilidade dada pelo provedor ao analisar cada uma das perguntas do arquivo de teste. Caso o valor de alguma das outras métricas seja diferente do que está na tabela, significa que o modelo não está respondendo corretamente todas as perguntas. Sendo assim, a sugestão é conferir quais são elas nas abas Top Falsos Positivos e Top Falsos Negativos, onde é possível identificar qual intenção era esperada e qual foi reconhecida. Além disso, também é gerado a Matriz de Confusão onde é possível identificar pontos de confusão entre intenções. A coluna superior representa as intenções esperadas, enquanto a coluna da esquerda mostra as intenções reconhecidas. Ex.: Era-se esperado que 10 perguntas fossem reconhecidas como Curiosidades, mas apenas 5 foram. Portanto, há confusão entre a intenção Curiosidades com a intenção O que é, Sinais básicos, e Como aprender, pois uma pergunta foi reconhecida como O que é, outra como Sinais básicos e outras 3 como Como aprender. O cenário ideal da análise da matriz de confusão é que apenas a diagonal principal seja diferente de 0 (zero), e é esse cenário que se deve ter quando o arquivo de teste for usado para gerar o relatório. Atualização do arquivo O arquivo de teste deve conter as perguntas críticas relacionadas as skills (e conteúdos) que o chatbot não pode, em hipótese nenhuma, deixar de responder. Sendo assim, toda vez que o modelo for treinado e publicado deve-se adicionar interações que testem o que foi alterado na base (desde que seja algo crítico). É importante salientar que não se deve adicionar exatamente o exemplo que foi adicionado à uma intenção mas, sim, uma interação que teste a capacidade do modelo de NLP de entender quando algo parecido for enviado ao chatbot. Além disso, a recomendação é que a atualização (e operação) do arquivo seja feita pela mesma pessoa que fez as modificações na base de conhecimento (intenções e entidades) ou, no máximo, por alguém que tenha conhecimento das alterações que foram feitas. Versionamento Para controle de versão do arquivo recomenda-se que cada versão criada seja nomeada com o dia e hora da publicação do modelo a ser testado, para que se tenha uma relação entre a versão do arquivo e o respectivo modelo. Se seguidas as recomendações feitas neste documento, a pessoa responsável pela evolução da base de conhecimento (e, consequentemente, do modelo de NLP) terá a capacidade de validar as modificações feitas na base, garantindo que, no geral, houve evolução e não retrocesso. Além disso, cria-se um modo de garantir que o modelo responde corretamente aquilo que o cliente espera e, caso seja identificado algo que não é respondido, isso deve ser entendido como melhoria do modelo e não bug. Para mais informações, acesse a discussão sobre o assunto em nossa comunidade ou os vídeos no nosso canal. 😃