# Conceitos básicos de NLP

Compreender a linguagem natural é desafiador. Levamos mais de 12 anos para aprender 20.000 palavras comuns. Imagine o quão difícil isso é para os computadores! Treinar motores de PLN requer dados massivos. Felizmente, modelos pré-treinados ajudam. Nosso motor de PLN lida com erros de ortografia, sinônimos, gírias e ordem das palavras.

Nesta página, você aprenderá o básico para treinar o modelo de PLN do seu bot.

## Modelo de PLN

Um modelo de PLN é composto por um conjunto de [intents](#intents) e [entidades](#entities) que são [treinados](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/nlp/natural-language-processing-nlp/train-your-nlp) com dados para que o modelo possa reconhecer expressões nunca vistas.

Cada bot tem seu próprio modelo de PLN.

Você pode configurar seu modelo de PLN na [aba PLN](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/navegacao/natural-language-processing-nlp).

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2F9HLBn2uBQA0zHiFFEEJA%2FScreenshot%202024-08-14%20at%2015.13.54.png?alt=media&#x26;token=110cc401-e5f3-46e8-a14b-8ac51ba64c99" alt="" width="563"><figcaption><p>O básico de PLN.</p></figcaption></figure>

Sempre que um usuário envia uma mensagem para o bot, o bot verificará se essa mensagem pode ser rotulada com uma intenção que faça parte do modelo de PLN.

<details>

<summary>Exemplo</summary>

Por exemplo, quando um usuário digita *'Me arrume uma passagem aérea,'* o PLN verificará se esta frase corresponde a alguma de suas expressões e se esta mensagem contém palavras semelhantes às expressões. No exemplo acima, o PLN dá uma pontuação de confiança de 93% que *'Me arrume uma passagem aérea'* pertence à intenção *'Reservar voo'*. Porque esta frase é reconhecida acima do [limiar de NLP](https://docs.chatlayer.ai/understanding-users/natural-language-processing-nlp/settings), a resposta vinculada a essa intenção será exibida ao usuário.

</details>

## Intents

Uma intenção é uma série de **expressões** (ou enunciados) que significam a mesma intenção ou objetivo por parte do usuário. Durante a conversa, as intenções são reconhecidas pelo [motor de PLN](https://docs.chatlayer.ai/understanding-users/natural-language-processing-nlp) e servem para direcionar a conversa de diferentes maneiras.&#x20;

<details>

<summary>Exemplo de intenções</summary>

Alguns exemplos de intenções:

* Reservar passagem de trem
* Falar com um humano
* Criar chamado de suporte
* Saudação
* Sim

</details>

Você pode [adicionar intenções na aba PLN](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/navegacao/natural-language-processing-nlp/intents#add-a-new-intent).

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FMYgk0N23soerSzH6Izni%2FScreenshot%202024-08-14%20at%2015.25.56.png?alt=media&#x26;token=5d39041e-6016-4901-9c29-f493ff844b70" alt="" width="229"><figcaption></figcaption></figure>

{% hint style="info" %}
É importante delimitar bem suas intenções para que o bot possa reconhecê-las mais facilmente. Aprenda como criar boas intenções [aqui](https://docs.chatlayer.ai/tips-and-best-practices/how-to-nlp).
{% endhint %}

## Expressões

Expressões são frases de exemplo para uma intenção específica: são todas as diferentes maneiras que um usuário pode expressar sua intenção.&#x20;

<details>

<summary>Exemplo de expressões</summary>

Aqui estão algumas expressões para a intenção 'quem é você'

* Quem é você?
* Qual é o seu nome?
* Você tem nome?
* Me conte mais sobre você
* Por favor, eu gostaria de saber com quem estou falando
* Como devo chamá-lo?
* quem é choo choo?
* Diga-me qual é o seu nome
* Quem é você?
* Como as pessoas te chamam?

Aqui estão algumas expressões para a intenção 'pedir\_pizza'

* Eu gostaria de pedir uma pizza, por favor
* Posso pegar uma pizza para viagem?
* Quero uma pizza margherita
* Gostaria de pedir comida
* Você pode me ajudar a pedir pizza?
* Estou com vontade de comer pizza hoje à noite!

</details>

Você pode [adicionar expressões na aba PLN](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/navegacao/natural-language-processing-nlp/expressions#add-expressions).

{% hint style="info" %}
É crucial que uma intenção contenha expressões diversas para que o PLN possa fornecer resultados mais precisos. Saiba mais sobre como criar um bom conjunto de expressões [aqui](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/nlp/how-to-nlp#trainingdatagenerationforchatbots-bestpractices-expressions).
{% endhint %}

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FdIZwBBEuSN7aKgUKFcTh%2FScreenshot%202024-08-14%20at%2015.27.13.png?alt=media&#x26;token=d14f4460-1a0a-41fb-a179-02529c9c21d5" alt="" width="375"><figcaption><p>Expressões para uma intenção 'talk_to_human'.</p></figcaption></figure>

{% hint style="info" %}
Observe que nosso motor de PLN tem um limite de 1000 caracteres. Mensagens com mais de 1000 caracteres sempre acionarão o bloco Não entendido.&#x20;
{% endhint %}

## Entidades

[Entidades](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/nlp/natural-language-processing-nlp/detect-information-with-entities) são importantes peças de informação que podem ser extraídas de uma expressão. Você vai querer armazenar essas entidades como variáveis para poder reutilizá-las posteriormente.

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FGh2cNQjTvsWTmgflhHmu%2FScreenshot%202024-06-05%20at%2015.36.53.png?alt=media&#x26;token=d6ff2106-a2c3-428f-87fd-5a5ee72871fc" alt=""><figcaption><p>Exemplo de uma expressão onde as entidades @date, @origin e @destination são extraídas.</p></figcaption></figure>

{% hint style="info" %}
O Chatlayer tem diferentes tipos de entidades. Saiba tudo sobre elas [aqui](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/nlp/natural-language-processing-nlp/detect-information-with-entities).
{% endhint %}
