Componente Perguntas e Respostas
Com esse componente, é possível criar um chatbot capaz de realizar buscas em uma base de dados de Perguntas e Respostas. Ele responde com a resposta correspondente à pergunta que melhor se encaixa com o texto enviado para o chatbot. Isso permite que o chatbot forneça informações precisas e úteis aos usuários
Criando a Base de Perguntas e Respostas
Na interface visual do gerenciador, após adicionar o componente no fluxo ou abri-lo para edição, será oferecida abaixo da listagem de perguntas já cadastradas a opção de Adicionar Nova pergunta.
Ao formular uma pergunta, tente expressar a necessidade do usuário do seu chatbot. Este texto é a forma base da pergunta. No entanto, para enriquecer o motor de conversação, e permitir diferentes formas de expressão, é interessante adicionar outras variações que representem maneiras distintas de se referir ao mesmo assunto.
Uma boa lista de variações irá potencializar o motor de conversação, permitindo que técnicas de Processamento de Linguagem Natural extrapolem e levem em conta 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 corrido usual, é possível ainda compor uma resposta com diferentes partes sequenciais (balões na janela de conversa), sendo eles do tipo: Texto, Figura ou Opções.
Na parte da resposta do tipo Texto também podem ser ser utilizadas tags HTML básicas para formatação, se desejado.
A parte da resposta do tipo Figura receberá como entrada a URL pública de um arquivo de imagem.
Já a parte da resposta do tipo Opções, permite 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 no chat. 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. É sempre recomendado que seja feito um teste visual para entender a forma de apresentação e as limitações dos demais canais.
Score e Desambiguação
Internamente, ao receber a entrada do usuário no chat, o motor de conversação Perguntas e Respostas irá fazer uma busca textual nas perguntas e suas variações e calcular um ranking daquelas mais correlatas. Cada pergunta ganhará um score entre 0.0
e 1.0
. A pergunta com maior relação textual com a entrada do usuário ganhará score 1.0
(100%). Perguntas menos relacionadas, irão naturalmente ganhar um score menor. Pode ocorrer de nenhuma pergunta ter relação com a entrada e o componente não devolver 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, nos parâmetros avançados é 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
Nos parâmetros avançados é possível definir a lista de stopwords, palavras que não farão parte da análise textual. Uma lista inicial é fornecida, mas 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
Nos parâmetros avançados é 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í.
Parâmetros Avançados
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 0.9, os resultados com mais de 90% do maior score são sugeridos. 1.0 desliga a desambiguação. | Decimal |
Título dos resultados sugeridos | O título usado para apresentar as opcõ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 |