Pesquisa no Google para não compreendidos
E se um usuário fizer uma pergunta que está fora do escopo do bot? Ou e se seu bot não conseguir entender a entrada do usuário? Uma das coisas que você pode fazer é mostrar uma mensagem de bloco 'não compreendido', que normalmente leva a uma ação de encaminhamento. Isso funciona bem, mas e se houver uma forma mais amigável para o usuário ainda obter a resposta à sua pergunta sem encaminhar ou sair do bot?
Este tutorial mostrará como criar um consulta em mecanismo de busca no seu próprio site usando a entrada do usuário do seu chatbot! Vamos guiá-lo pelos passos de criar uma busca de consulta no seu site, usando o 'Programmable Search' do Google.
Por exemplo, o usuário pergunta sobre 'horário de funcionamento' no chatbot. Entretanto, isso não é reconhecido porque não existe tal intenção no bot. Então, o bot irá para 'não compreendido'. Em seguida, será feita uma pesquisa no seu site usando a entrada. O Google pesquisará por '{seu site} + horário de funcionamento' e mostrará os cinco primeiros resultados em um carrossel no chatbot.

Google Programmable Search
Com o Google Programmable Search você pode incluir um mecanismo de busca em um site que você especificar. Usaremos esse recurso (gratuito) do Google para este tutorial. Primeiro, crie um novo mecanismo de busca aqui para o seu site. Simplesmente adicione seu site ou as páginas onde deseja pesquisar e clique em salvar.
Para este tutorial, você precisa da chave GoogleAPI e do ID do seu mecanismo de busca.

Expressão de Consulta no bloco de Ação
Agora podemos colocar a Consulta com as informações do mecanismo Google em um Ação bloco no chatbot:
Adicione os seguintes argumentos ao seu bloco de Ação:
NLP: esta é a variável que estamos procurando, ou seja, a entrada que o usuário forneceu e que resultou em um 'não compreendido'
googleAPIKey: esta você obteve usando o link mencionado acima
googleEngine: O 'Search engine ID' na página do mecanismo de busca acima

Uma vez feito isso, adicione o código a seguir no mesmo bloco de Ação. Na linha 15, cole uma imagem de fallback ali, por exemplo o logotipo da sua empresa. Essa imagem será exibida no carrossel se a pesquisa não recuperar uma imagem.
const { nlp, googleEngine, googleAPIKey } = args;
const { expression } = nlp;
const url = `https://www.googleapis.com/customsearch/v1?key=${googleAPIKey}&cx=${googleEngine}&q=${expression}`;
const searchResult = await fetch(url).then(res => res.json());
const elements = _.get(searchResult, 'items', [])
.slice(0, 5)
.map(result => {
const imageUrl = _.get(
result,
'pagemap.cse_thumbnail[0].src',
'https:// {sua imagem aqui} .png'
);
return {
title: result.title,
subTitle: result.snippet,
...(imageUrl ? { imageUrl } : {}),
buttons: [
{
title: result.title,
type: 'web_url',
url: result.link,
payload: {},
},
],
};
});
const builder = ChatlayerResponseBuilder();
if (elements.length) {
builder.addCarousel(elements);
} else {
builder.addMessage('Nada encontrado!');
}
builder.send();
Esse bloco de código já cuida do carrossel, portanto não há necessidade de adicionar um bloco de Mensagem extra. Agora a última coisa a fazer é vincular isso à mensagem do bot 'Não compreendido':
Altere a mensagem de texto para {internal.nlp.expression}, para que a entrada do usuário seja exibida na mensagem 'não compreendido'
Adicione um 'Ir para' para vincular o bloco de Ação de Consulta ao 'Não compreendido'

Você também pode adicionar a mensagem de encaminhamento após a consulta, para garantir que o usuário possa obter a resposta de um agente humano se a resposta não for suficiente.
E é isso! Você acabou de criar uma mensagem 'não compreendido' mais amigável!
Last updated
Was this helpful?