# 2. Entenda seus usuários

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FVCBlP55EogtXWiSvSJuc%2FChooChoo%20tutorial%20rework%20(5).jpg?alt=media&#x26;token=efdbb8e1-2a7e-4876-ae26-97609660e910" alt="" width="563"><figcaption><p>O que será construído na lição 2 do Leadzy. </p></figcaption></figure>

Os seres humanos começam a processar a fala desde o nascimento. Ouvimos inúmeras frases ao longo do tempo que nos ajudam a entender novas. Considere seu bot como um bebê: ele precisa que você o 'ensine' muitas expressões para reconhecer aquelas que nunca encontrou antes.

{% hint style="success" %}
Ensinar um bot a processar linguagem é chamado de Processamento de Linguagem Natural, que você verá referido como PLN (NLP). Para um mergulho mais profundo em PLN, leia mais [aqui](https://docs.chatlayer.ai/understanding-users/natural-language-processing-nlp).
{% endhint %}

No Chatlayer, construir um modelo de PLN é feito em 3 passos:

1. Definir o que os usuários significariam (a [intents](https://docs.chatlayer.ai/understanding-users/natural-language-processing-nlp/intents)).
2. Definir como os usuários poderiam formular essas intenções (as [expressões](https://docs.chatlayer.ai/understanding-users/natural-language-processing-nlp#expressions)).
3. Com essas intenções e expressões, [treine o PLN](https://docs.chatlayer.ai/understanding-users/natural-language-processing-nlp#expressions) para que seu bot aprenda a rotular corretamente uma expressão com uma intenção.

Vamos construir um pequeno modelo de PLN para nosso chatbot de varejo.

## Passo 4: Adicionar uma intenção

Depois que o bot se apresentou e sugeriu um desconto, gostaríamos que os usuários pudessem digitar se estão interessados. Para isso, precisamos adicionar uma intenção de sim.

{% hint style="success" %}
Intenções são um grupo de expressões ou enunciados que significam a mesma coisa. Quando você constrói um chatbot, uma intenção pode ser referida como um objetivo do usuário. Por exemplo, a intenção sim poderia ser composta por expressões como *Eu concordo*, *Sim*, *sim, por favor*, etc. Saiba mais sobre intenção e expressões [aqui](https://docs.chatlayer.ai/understanding-users/natural-language-processing-nlp/intents).
{% endhint %}

### Criar uma intenção

Para criar uma intenção:

1. Na aba PLN no lado esquerdo, clique em **Intents**.

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FKbX1GgzX9ehgVUIcEXhz%2FScreenshot%202024-03-26%20at%2015.57.46.png?alt=media&#x26;token=3b190f0b-08d8-49d9-86c3-e763eaf42f39" alt=""><figcaption><p>A aba Intenções está vazia.</p></figcaption></figure>

2. Clique em **+** botão no topo da tela, ou no **Criar intenção** botão verde no meio da tela.
3. Um **Criar intenção** uma janela se abre. Dê à sua intenção o nome *sim*, e adicione uma descrição para ela, por exemplo *Uma intenção para concordar ou dizer sim a um desconto*.

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FHgYQ6y7YU9AgVvNWarDW%2FScreenshot%202024-02-02%20at%2012.13.38%20(1).png?alt=media&#x26;token=8302b9f8-c5cc-4fca-ac0c-09b380fe6dac" alt="" width="375"><figcaption><p>Crie uma nova intenção de sim e dê-lhe uma descrição.</p></figcaption></figure>

4. Clique em **Criar**.

Sua intenção agora aparece na sua tela, com zero expressões nela. Isso significa que está vazia. Precisamos adicionar expressões a ela para que possamos usá-la.

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FFSDaY6QZag71tDSzyOZu%2FScreenshot%202024-03-26%20at%2016.01.15.png?alt=media&#x26;token=9562f55b-1ef8-4e4e-9b17-194c533678b8" alt=""><figcaption><p>A intenção sim tem 0 expressões.</p></figcaption></figure>

### Adicionar expressões a uma intenção

Para adicionar expressões à sua **sim** intenção:

1. Do seu **Intents** página, clique no **sim** intenção que acabamos de criar.
2. Digite sua expressão no campo de texto. Por exemplo, digite *sim, por favor*.
3. Vamos primeiro adicionar expressões manualmente. Ou clique no **+** botão ao lado, ou pressione Enter no seu teclado. Você pode adicionar expressões como:
   * *sim*
   * *ah sim!*
   * *eu adoraria*

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FurCtyvW5WkeVZGfC20RY%2FScreenshot%202024-02-02%20at%2012.17.16.png?alt=media&#x26;token=c8cdf2be-5c7c-4c37-9f92-3f347e05ff91" alt=""><figcaption><p>Adicione expressões manualmente à sua intenção. </p></figcaption></figure>

4. Se você quiser que a IA gere expressões para você:
   * &#x20;clique no botão de estrelas ao lado do campo de texto.

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FpmtSXK0ky8NpQp2n8NSz%2FScreenshot%202024-03-26%20at%2016.05.04.png?alt=media&#x26;token=ef1b5faa-4b87-4736-9042-8bd349523451" alt=""><figcaption><p>Gerar novas expressões usando IA.</p></figcaption></figure>

* Aceite os termos e condições da IA Generativa.
* Será sugerida uma lista de expressões com base na intenção que você criou. Selecione as expressões geradas que você deseja manter.
* Clique em **Adicionar selecionadas**.

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FfPF0xn3sZAepkaE3IxCe%2FScreenshot%202024-02-02%20at%2012.20.39.png?alt=media&#x26;token=534d689f-4fae-43c5-a6a7-728df8d7b1d9" alt=""><figcaption><p>Adicionar expressões geradas por IA à sua intenção.</p></figcaption></figure>

As expressões adicionadas aparecem agora como uma lista abaixo da sua intenção.

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FunjuaQKav2TNVnxSvDVb%2FScreenshot%202024-03-06%20at%2015.26.43.png?alt=media&#x26;token=dfa746df-2e05-49bd-9002-dcbf45bf6fc9" alt=""><figcaption><p>A intenção sim contém 6 expressões.</p></figcaption></figure>

Você criou uma intenção com sucesso! Isso significa que sua intenção agora tem expressões. No entanto, ainda não está utilizada no bot. Vamos explorar como conectar essa intenção a um bloco.

### Faça sua intenção acionar uma resposta

Por enquanto, sua intenção existe no seu chatbot mas não é usada dentro da conversa. Em outras palavras, quando um usuário diz ‘*sim*’, isso não acionaria nenhuma resposta do bot.

Para fazer sua intenção acionar uma resposta, precisamos inserir essa intenção no canvas do bot.

#### Adicionar um bloco de Intenção ao seu canvas

Para adicionar sua intenção ao seu canvas:

1. Em **Diálogos do bot**, clique em **Fluxo** para acessar o canvas do seu bot.
2. No lado esquerdo, arraste e solte um bloco de intenção no seu canvas.

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FrrIVDw1UWdeKNuSkqD1i%2FScreenshot%202024-02-02%20at%2016.13.19.png?alt=media&#x26;token=afa526c5-6e1e-4d9d-be89-0f456d15a911" alt=""><figcaption></figcaption></figure>

3. O bloco de Intenção abre no lado direito da tela. Do dropdown, selecione sim, que é [a intenção que você acabou de criar](#create-an-intent).

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2F28xBu7bVwhh9qd6RvfYf%2FScreenshot%202024-02-02%20at%2016.18.15.png?alt=media&#x26;token=a9a90db8-219f-4436-848f-9d977767ec15" alt="" width="375"><figcaption><p>Adicione a intenção sim ao seu canvas.</p></figcaption></figure>

#### Conecte sua intenção a uma resposta

Agora, se o usuário responder ‘**sim**’, gostaríamos que o bot respondesse ‘Incrível!’. Para isso, devemos ligar o bloco de intenção a outro usando uma conexão Ir-para (Go-to).

{% hint style="success" %}
No Chatlayer, um [conexão Ir-para](https://docs.chatlayer.ai/bot-answers/go-to-connections) é representado por uma seta no canvas. Se o bloco A está ligado ao bloco B por um Ir-para, isso significa que o bloco B ocorrerá logo após o bloco A na conversa.
{% endhint %}

Para conectar sua intenção a uma resposta:

1. Ainda dentro do seu bloco de intenção, clique em **Ir para**, na parte inferior da janela.
2. Clique no espaço reservado para selecionar um bloco para onde o bot deve ir após este. Crie um novo bloco dando-lhe um nome. Digite *Yes to discount* e selecione o **Mensagem** tipo de bloco.

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FJ5yFcFR7v8ioyxIaL8Ei%2FScreenshot%202024-03-06%20at%2015.34.57.png?alt=media&#x26;token=471e3d97-ea9a-4a57-96da-88f17af595d9" alt="" width="375"><figcaption></figcaption></figure>

3. Clique **Salvar**.

O **sim** a intenção agora aparece no seu canvas e está ligada a um bloco chamado **Yes to discount**.

No entanto, o conteúdo do **Yes to discount** bloco ainda está vazio. Para editar o conteúdo deste novo bloco:

1. Clique em **Yes to discount** clique no bloco para abri-lo.
2. Adicione um texto ali que diga: *Incrível!*
3. **Salvar** suas alterações.

O resultado no seu canvas deve ser parecido com isto:

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FkTZvWFblK7QHakE6VUtM%2FScreenshot%202024-02-02%20at%2016.29.39.png?alt=media&#x26;token=bc0acdc5-34de-42a7-80ef-2022cdede698" alt=""><figcaption><p>A intenção sim aciona o bloco Sim para desconto.</p></figcaption></figure>

Hora de testar as mudanças!

#### Teste seu bot

Reproduza o que fizemos no passo 3 para testar seu bot:

1. Digite uma das expressões do **sim** intenção.
2. Seu bot deve reconhecer a expressão e responder *Incrível*!

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FvvJ2314s9uAvgLrOfVk8%2FScreenshot%202024-02-06%20at%2011.26.56.png?alt=media&#x26;token=8adef3eb-1419-400f-b199-4b502e3f3991" alt="" width="374"><figcaption><p>Teste seu fluxo se você disser sim a um desconto.</p></figcaption></figure>

3. Clique em **Reiniciar conversa** ícone de filtro no canto superior direito do **Janela de teste.**

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FRBDZIDqyK8JZdjbreYPe%2FScreenshot%202024-03-26%20at%2016.15.31.png?alt=media&#x26;token=fd87a80b-d790-453f-b52b-fb1fd8e0bbe6" alt="" width="375"><figcaption><p>Reinicie a conversa de teste.</p></figcaption></figure>

4. Agora, digite algo que não estava no seu conjunto de expressões, como *claro, pode ser*.
5. Seu bot deve exibir o **Não entendido** bloco da seguinte forma:

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FpEpdkRCijsXgVceSX1v7%2FScreenshot%202024-02-06%20at%2011.29.57%20(1).png?alt=media&#x26;token=954aa5ff-6660-4a71-ba7c-4ca79e28ff95" alt="" width="373"><figcaption><p>Teste seu bot com uma expressão que não estava na sua intenção.</p></figcaption></figure>

{% hint style="success" %}
O **Não entendido** o bloco é acionado quando seu bot não entendeu o que o usuário disse.
{% endhint %}

Isso significa que seu bot não reconhece *‘claro, pode ser’* como uma **sim** intenção. Por que isso acontece? Porque ainda não treinamos o modelo de PLN!

{% hint style="info" %}
Se você não [treinou seu NLP](#train-the-nlp-model), seu chatbot só será capaz de reconhecer as expressões exatas que você inseriu em uma intenção.
{% endhint %}

## Passo 5: Treine seu PLN

Vamos explorar como treinar o modelo de Processamento de Linguagem Natural (PLN) para reconhecer uma gama mais ampla de expressões.

{% hint style="info" %}
[Treinando seu PLN ](https://docs.chatlayer.ai/understanding-users/natural-language-processing-nlp#train-the-nlp)o modelo permite que seu bot entenda novas expressões que transmitam o mesmo significado daquelas já inseridas em uma intenção.
{% endhint %}

### Treinar o modelo de PLN

Para treinar seu NLP:

1. Na sua aba Intenções, clique no **Treinar** botão no canto superior direito da sua tela.

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2Fln2vShqI4mcc4Hbc2d1j%2FScreenshot%202024-03-19%20at%2011.52.56.png?alt=media&#x26;token=6a437eee-d47f-42db-9640-a79d42a9e234" alt=""><figcaption><p>Treine seu PLN clicando no botão no canto superior direito da sua aba Intenções.</p></figcaption></figure>

2. Uma janela aparece. Selecione **Inglês** como o idioma no qual você deseja treinar.
3. Clique em **Atualizar**.

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2Fx8qCN6KfPnHpWgZ8chPL%2FScreenshot%202024-02-06%20at%2011.47.05.png?alt=media&#x26;token=0b9a511e-8fbf-4d10-9b62-5efbfc077c22" alt="" width="374"><figcaption><p>Selecione o idioma para treinar seu PLN.</p></figcaption></figure>

{% hint style="info" %}
Você pode ver quando foi a última vez que seu PLN foi atualizado verificando o [painel do PLN](https://docs.chatlayer.ai/understanding-users/natural-language-processing-nlp/nlp-dashboard-and-nlp-improve#nlp-dashboard). Para isso, vá para **Painel** no campo **PNL** aba.
{% endhint %}

{% hint style="success" %}
Dica: ative o [Impulsionador de Intenção por IA](https://docs.chatlayer.ai/understanding-users/natural-language-processing-nlp/ai-intent-booster) para aumentar o reconhecimento de suas intenções para bots menores. Isso será explorado em um tutorial de acompanhamento dedicado às funcionalidades de IA do Chatlayer.
{% endhint %}

### Teste seu bot

É hora agora de testar o bot com nosso *claro, pode ser* novamente.

Seu bot deve reconhecê-lo, portanto responder com o bloco correto!

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2F6r48IeCNCH9HqeatJrxB%2FScreenshot%202024-02-06%20at%2011.58.14.png?alt=media&#x26;token=f4e33008-3747-4e75-bc66-85fe5a28b3b2" alt="" width="366"><figcaption><p>Teste seu fluxo com uma expressão que não faz parte do seu conjunto de expressões.</p></figcaption></figure>

## \[Opcional: Teste seus conhecimentos]

Reproduza os mesmos passos para que você adicione uma **não** intenção: crie a intenção, preencha-a com expressões, vincule-a a um bloco, treine seu PLN e teste-o.

É assim que deve ficar no seu canvas:

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2Fl7hfm3I4nULvhGjsbgEj%2FScreenshot%202024-02-06%20at%2012.13.59.png?alt=media&#x26;token=ea9a5553-2a9a-4592-a8ff-444595fc2c7f" alt=""><figcaption><p>A intenção não aciona o bloco Não para desconto.</p></figcaption></figure>

## Passo 6: Edite seu bloco Não Entendido

Todo bot deve ter uma forma de redirecionar usuários para um humano. Tipicamente, isso é o que você quer que aconteça se o usuário não for entendido várias vezes.

Para editar seu bloco Não Entendido:

1. No seu canvas, clique duas vezes no **Não compreendido** clique no bloco para abri-lo.
2. Edite o texto para o seguinte: *Sinto muito, mas não entendi. Por favor, tente reformular ou nos envie um e-mail com sua pergunta:* [*email@empresa.com*](mailto:email@company.com)*.*
3. **Salvar** suas alterações.

Deve ficar parecido assim no seu canvas:

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2F88VyzubsE4Dtp9NDpYNn%2FScreenshot%202024-03-19%20at%2011.57.11.png?alt=media&#x26;token=8f6df572-35b6-4bd0-a517-a369cd1754c4" alt=""><figcaption><p>Quando o usuário diz algo que o bot não entende, o bloco Não entendido é acionado.</p></figcaption></figure>

## Recapitulação da lição 2

Nesta lição, você aprendeu a:

* [ ] Faça um modelo de PLN.
* [ ] Adicione intenções ao seu PLN e dê-lhes expressões.
* [ ] Acione uma resposta do bot com base no que ele reconheceu como uma intenção.
* [ ] Treine seu modelo de PLN para que ele reconheça mais expressões.
* [ ] Edite seu bloco Não Entendido para que ele redirecione seu usuário para um humano.

## O que vem a seguir

Na próxima lição, veremos como seu bot pode manter a entrada do usuário na memória para reutilizá-la depois.

{% content-ref url="3.-collect-and-display-user-input" %}
[3.-collect-and-display-user-input](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/comece-rapidamente/leadzy-tutorial/3.-collect-and-display-user-input)
{% endcontent-ref %}

## 💬 Feedback

{% hint style="warning" %}
Seu feedback sobre o tutorial significa muito para nós! Por favor, conte-nos o que você acha através de [este formulário curto.](https://forms.office.com/Pages/ResponsePage.aspx?id=ropROyGJe0qEl2GddWziDlEYn6XpsIRDjnCtdRk8L21UMFZMMlAzN0tHOTI4UjMxVTgzTVAwTE5aOCQlQCN0PWcu)
{% endhint %}
