[PT-BR] Dialogflow Intents
Tags: dialogflow, actionsongoogle, googleassistant, chatbot
Published: 2020-04-14 10:23:27

Os _intents_ no Dialogflow definem um comportamento específico, de forma similar ao você clicar em um botão de uma página de web, você espera que algum evento ocorra após isto.

No seção _intents_, nós iremos definir as frases ditas pelos usuários, assim como as respostas dadas pela sua _conversational action_, sejam elas escritas estaticamente ou provenientes de um _endpoint_ terceiro.

Ao criar um novo _agent_ no Dialogflow, você pode perceber que já existem dois _intents_ já criados para você o _default welcome intent_ e o _default fallback intent_.

#### Default Welcome Intent

O _intent_ de boas-vindas é a primeira mensagem, geralmente uma saudação. Ele também pode ser responsável por informar seus usuários sobre as opções do que eles podem perguntar.

#### Default Fallback Intent

Seria a famosa frase do "não entendi o que o usuário falou", para corresponder algo dito que não foi compreendido, você pode criar _intents_ de _fallback_. 

Sempre que um usuário disser algo ao seu agente, este tentará corresponder a frase dita a um determinada _intent_; então, o agente retorna a resposta definida dentro deste _intent_.

#### O conceito
Durante os _workshops_ que eu ministrei, eu percebi falhas de compreensão recorrentes ao aprender este conceito fundamental para criar as conversas automatizadas.

Pergunto: quando você pensa em _intents_, seriam estas:
- As frases faladas pela pessoa que está interagindo
- As respostas provenientes do _conversational action_ 

![Treinamentos de possíveis frases ditas pelos usuários](https://miro.medium.com/max/598/1*e1pTgtX5SIsXkJdQMjQM-Q.png)

Se você falou as duas opções, parabéns! Onde está escrito "_training phrases_" deve-se adicionar as frases ditas pelos humanos.

Já em "_responses_" encontramos as frases que serão respondidas aos utentes. 

Lembre-se que você também ativar o "_Enable webhook call for this intent_" que fica bem ali embaixo de "_Fulfillment_" para a resposta proveniente àquela frase vir do seu _endpoint _!

![Treinamentos de possíveis respostas enviadas para os usuários](https://miro.medium.com/max/607/1*AxiicT5M9DWjMnXk4zmcBw.png)

Pensemos no _intent_ da seguinte forma — ele é um turno de uma conversa um a um. 

O utente irá inserir uma mensagem, ela será analisada pelo Dialogflow, e dentro do _intent_ correspondente ele irá responder à esta interação.

#### Events

![Exemplo de eventos](https://miro.medium.com/max/576/0*P-KwgWUZ61e8muAM.png)

Os _events_ podem possibilitar com que você invoque _intents_ de acordo com um acontecimento que não foi o usuário se comunicando diretamente. 

O Dialogflow oferece suporte a eventos de várias plataformas e canais (como o Google Assistente, o Telegram e muitas outras integrações) com base nas ações realizadas pelos usuários nessas plataformas. 

Você também pode criar seus próprios eventos personalizados que podem ser acionados utilizando o _fullfilment_.

#### _Actions_ e _Parameters_

![Ações e parametros](https://miro.medium.com/max/603/1*lMCwevH54KhgmKgY7fbapQ.png)


Os parâmetros são informações relevantes extraídas das frases ditas.

Exemplos desse tipo de informação incluem datas, endereços, medidas, horas, nomes, lugares entre outros.

Você pode utilizar parâmetros como entrada de fluxo, por exemplo: procurar informações, executar uma tarefa ou retornar uma resposta. 

Já o valor do campo _action_ é passado para o _fulfillment_ e pode ser usado para acionar uma lógica específica a partir do seu _backend_.

#### Vídeo aula

Uma explicação de _intents_ que criei para um projeto social, na língua portuguesa!

{% youtube 6nvPTcqC2x0 %}

#### Contato

[Site pessoal com um chatbot pra fazer perguntas](www.amanda.ml)
[Twitter](http://www.twitter.com/chibichibibr)