Skip to main content

Olá comunidade, existe algum conteúdo que detalhe boas práticas na construção de uma IA através do BLiP (algo genérico que atenda aos diversos motores cognitivos)?



Como construir intenções e suas frases de treinamento, por exemplo (é uma boa prática citar possíveis entidades nas frases de treinamento de determinada intenção?);



Exemplos de intenções x frases de treinamento, etc…



Desde já agradeço a colaboração.

Ei @Italo_Brito_de_Morae tudo bem? Vou deixar algumas coisas aqui pra vocês:





Recomendações







  • Recorrentemente usuários tendem a interagir com o bot fazendo perguntas, então escrever os exemplos na forma de perguntas seria uma boa prática recomendada.







  • Utilizar a gramática mais correta possível.







  • Evitar exemplos muito curtos, com apenas uma ou duas palavras.







  • Garantir que os exemplos de uma mesma intenção tenham o mesmo sentido semântico (falem da mesma coisa).







  • Garantir que os exemplos de uma mesma intenção tenham variações relevantes na redação.







  • Evitar ao máximo variações simples na redação (colocar ou não um artigo na frase). (Ex.:Quero receber o extrato/Quero receber um extrato)







  • Procurar criar nomes de intenções que façam sentido e estejam relacionados aos exemplos.





    • Sugestão de um passo a passo para dar nomes para intenções seria ler os exemplos cadastrados buscando entender a ideia principal, explicar essa ideia em uma frase. Cortar em 30 caracteres: OU cortar nos primeiros 30 caracteres, OU resumir a frase em 3 palavras (até 30 caracteres na soma). E por fim, usar o resultado desse procedimento como novo nome da intenção.








  • Também uma boa recomendação geral dos provedores de NLP é ter em média 10 exemplos para cada intenção, pois poucos exemplos dificultam o processo de generalização, sendo esse número apenas uma estimativa para ser usado como referência, mas o importante mesmo é o modelo estar em bom funcionamento.







  • Balancear a quantidade de exemplos em cada intenção.







    • Intenções com muito mais exemplos que as outras podem:







      • Ser mais reconhecidas que as demais.







      • Podem ser incorretamente reconhecidas e não atingir níveis mínimos de confiança.











    • Intenções com muito menos exemplos que as outras podem:







      • Ter comportamento inesperado. (Ex: Exemplos serem reconhecidos com confiabilidade muito baixa mesmo sendo claramente de determinada intenção, ou exemplos de determinada intenção sendo reconhecido como outro com confiabilidade alta)







      • Nunca ser reconhecidas nas variações.

















Dicas







  • Sempre ir do conteúdo para o exemplo, não o contrário.







  • Usar o conteúdo como fonte para geração de novos exemplos.







  • Quando o insumo para gerar a base for muito grande, busque priorizar os assuntos críticos e mais relevantes. Quantos menos exemplos para avaliar, melhor.







  • Garantir que os exemplos sejam respondidos pelo conteúdo proposto.







  • O trabalho não é linear, por isso é importante ressaltar o foco em um trabalho constante e incremental (fazer aos poucos, mas constantemente)







  • No momento de avaliar as variações sintáticas, testar variações dos exemplos (o texto exato do exemplo sempre é reconhecido pelo provedor)









Exceções







  • Algumas expressões podem ser colocadas na base de conhecimento mesmo que não sejam perguntas (afirmações, por exemplo).







  • Caso o vocabulário do cliente seja com gírias ou maneirismos atípicos de falar, não se faz necessário realizar a “correção ortográfica”.







  • Caso a intenção seja sobre um assunto muito específico, identificado por uma simples palavra ou expressão, ela pode ser adicionada como exemplo no modelo.







  • A regra do número de exemplos não deve ser “gravada em pedra”. O ideal é buscar um equilíbrio, evitando ao máximo que existam intenções com poucos exemplos.






Uma boa dica também, @Italo_Brito_de_Morae é que agora no Blip já existe uma opção de importar Intenções e Entidades pré-definidas, pra você se basear mesmo.



O botão fica ao lado do botão de criar uma nova Intenção/Entidade.


Maravilha @BrunoC , tudo bem e contigo?



Na documentação cheguei a ver essas dicas, mas é sempre bom relembrar 🤗



Eu queria dicas mais específicas como: no cadastramento de entidades, inserimos a palavra como ela é na íntegra (quando houver acentuação), faz alguma diferença em cadastrar toda a palavra em minúsculo? Os sinônimos, cadastro em minúsculo, com acentuação, sem acentuação…



As intenções… Nelas podem conter entidades ou só a parte mais específica (predicado)? O uso de ponto de interrogação para perguntas faz alguma diferença?



Consegue me ajudar com essas dúvidas?


@Italo_Brito_de_Morae posso ajudar sim! hahaha


Vou preparar por aqui



E venho com spoilers: no final do mês de Maio, vai ter um hands-on exatamente sobre isso.




É indicado cadastrar sem acentuação, pra evitar conflitos no provedor. Por padrão, o Blip converte as palavras acentuadas em palavras sem acento, então as entidades pão e pao são consideradas as mesmas e não faz diferença cadastrar tudo em minúsculo.





Idealmente, as intenções não devem conter as entidades e devem ser mais genéricas.





Não necessariamente! Exemplos em forma de pergunta são feitas assim pois essa é a maneira que provavelmente o usuário falará com o bot. Mas isso varia de caso para caso.


Maravilha @BrunoC


Muito agradecido. Consigo encontrar essas informações de boas práticas em alguma documentação? Caso negativo, o que acha de criarmos um tópico para esse tema?


Amo essa ideia!


Inclusive, acho que o @BrunoC precisa escrever mais dicas de boas práticas pra gente :watching: just saying


A voz da comunidade é uma ordem! :smileoh:


Comente