Gerenciar Perguntas e Respostas
Para gerenciar o motor de conversação de Perguntas e Respostas, primeiramente deve existir um componente no fluxo do chatbot. Esse componente permite configurar um motor de conversação que faz buscas numa base de Perguntas e Respostas informada, respondendo com a respectiva resposta da pergunta que mais se assemelha ao texto enviado para o chatbot.
Criando a Base de Perguntas e Respostas
Na Interface de Curadoria, após adicionar o componente no fluxo ou abri-lo para edição será apresentada um botão para adicionar pergunta e resposta.
A pergunta deve ter pelo menos uma primeira variação que é também a forma base. Recomenda-se adicionar mais de uma variação da pergunta, representando formas diferentes de se expressar aquele intenção.
Uma boa lista de variações deve potencializar o motor de conversação, permitindo que técnicas de Processamento de Linguagem Natural extrapolem e levem em consideração palavras correlatas como plural, singular, diferentes conjugações e flexões verbais, uso ou não de pronomes e preposições, dentre outros.
No cadastro da resposta, além do texto simples usual, é possível adicionar uma sequência de mensagens (balões na janela de conversa) dos seguintes tipos: Texto, Figura ou Opções.
Nas mensagens do tipo Texto também podem ser ser utilizadas tags HTML básicas para formatação, se desejado.
Nas mensagens do tipo Figura deve ser informada como entrada, a URL pública de um arquivo de imagem.
Já nas mensagens do tipo Opções, é possível informar um título e uma lista de rótulos e seus valores que irão compor as opções apresentadas para o usuário na resposta. A lista de opções pode ter estilos diferentes e o indicador Mostrar Valor permite definir se o valor de uma determinada opção será exibido na conversa como uma mensagem enviada.
Alerta
Algumas dessas opções de formatação e estilo das opções só funcionam no canal Webchat. É recomendado a realização de um teste visual para avaliar a forma de apresentação e as limitações dos demais canais.
Configurações
O componente ainda permite a configuração de alguns parâmetros que alteram o comportamento da chatbot durante a conversa. Essas configurações podem ser realizadas na seção Configurações:
Segue a lista completa de configurações possíveis:
Parâmetro | Descrição | Tipo |
---|---|---|
Quantidade máxima de sugestões | O número máximo de respostas buscadas. Em caso de ocorrer desambiguação, define o número de resultados máximos sugeridos. | Inteiro |
Tolerância da desambiguação | Linha de corte para ocorrer desambiguação. Se 90%, os resultados com mais de 90% do maior score são sugeridos. 100% desliga a desambiguação. | Decimal |
Título dos resultados sugeridos | O título usado para apresentar as opções de desambiguação. | Texto |
Tolerância da busca Fuzzy | Quantidade de mudanças toleradas na busca Fuzzy. 0 desliga a busca Fuzzy. Sugere-se usar o valor AUTO que leva em conta o tamanho do texto. | Texto |
Keywords | Lista de keywords que devem ser preservadas sem qualquer pré-processamento. Listar separando por vírgula. | Texto |
Stopwords | Lista de stopwords usadas (palavras removidas da indexação e da busca). Listar separando por vírgula. | Texto |
Score e Desambiguação
Internamente, ao receber a entrada do usuário no chat, o motor de conversação Perguntas e Respostas realiza uma busca textual nas perguntas e suas variações e calcula um ranking daquelas mais correlatas. Cada pergunta ganhará um score entre 0
e 100%
. A pergunta com maior relação textual com a entrada do usuário ganhará score máximo (100%). Perguntas menos relacionadas, irão naturalmente ganhar um score menor. É possível que nenhuma pergunta tenha relação com a entrada e o componente não devolva uma resposta nesse caso.
Há casos em que mais de uma pergunta tem uma boa correlação com a resposta, próxima de 100%. Nesse caso, na seção Configurações é possível definir o limiar onde todas as perguntas acima daquele valor de corte do score sejam consideradas como possíveis opções, acionando a Desambiguação. Nesse caso, será apresentado na janela de chat uma lista de perguntas para o usuário selecionar qual delas melhor representa sua intenção.
Dica
Quanto mais baixo esse limiar, mais a desambiguação irá ocorrer. Deixando o limiar em 1.0
a desambiguação será desligada, pois apenas a resposta de maior score será retornada sempre, se houver alguma.
Stopwords
Nas Configurações também é possível definir a lista de stopwords, palavras excluídas da análise textual. Uma lista inicial é fornecida, mas ela pode ser alterada. É comum que a lista de stopwords contemple preposições, conjunções, pronomes e outras palavras de menor valor semântico que não representam termos-chave úteis para aquele contexto, podendo então serem removidas da análise, simplificando a representação interna daquele conteúdo para o mecanismo de busca.
Keywords
Nas Configurações também é possível definir uma lista de keywords, palavras-chave que serão preservadas de qualquer processamento. Isso é muito útil se houver desconfiança de que as técnicas de Processamento de Linguagem Natural estejam descaracterizando alguma sigla, nome próprio ou mesmo palavra importante, causando confusão e prejudicando a correta diferenciação das perguntas entre sí.