> For the complete documentation index, see [llms.txt](https://docs.chatlayer.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/nlp/natural-language-processing-nlp/how-to-nlp/creating-diverse-expressions.md).

# Ordem das palavras e diversidade de expressões

<figure><img src="/files/58fe7fe5904e358531efa3b58358d82a72552e2f" alt="" width="375"><figcaption></figcaption></figure>

Para garantir que seu chatbot entenda os usuários de forma eficaz, ele deve analisar dois elementos-chave:

* as palavras específicas usadas
* a ordem em que essas palavras são usadas

{% hint style="warning" %}
A ordem das palavras e a diversidade de palavras não são os únicos elementos a serem considerados ao criar conjuntos ideais de expressões. Dê uma olhada na nossa lista de[ boas práticas](/chatlayer-documentation-pt-br/nlp/natural-language-processing-nlp/how-to-nlp.md) também.
{% endhint %}

## **Ordem das palavras**

A ordem das palavras pode impactar significativamente o significado. Por exemplo, *quero pegar o trem, não o carro* difere de *quero pegar o carro, não o trem*, apesar de conter as mesmas palavras em uma ordem diferente.

Ao gerar expressões para o seu chatbot, é crucial considerar todas as ordens de palavras e estruturas sintáticas plausíveis.

<details>

<summary>Exemplo</summary>

Por exemplo, se você estiver alimentando sua intent book\_train\_ticket com expressões, certifique-se de considerar diferentes:

* *Quero pegar o trem para Paris.*
* *Para Paris, quero pegar o trem.*
* *Quero ir para Paris de trem.*

</details>

{% hint style="info" %}
Embora algumas estruturas possam não ser perfeitamente gramaticais, é importante incluí-las, pois os usuários nem sempre podem estar sintaticamente corretos. Se o significado estiver claro para um ser humano, ele deve fazer parte do seu modelo.
{% endhint %}

## Diversidade de palavras

Para garantir que seu chatbot entenda a diferença entre entradas boas e ruins, use palavras diversas e pertinentes ao caso de uso. Para casos restritos, controle rigorosamente o vocabulário.

#### Vetores de palavras

Para tornar as palavras utilizáveis por algoritmos de aprendizado de máquina, elas são convertidas em vetores numéricos com centenas ou milhares de dimensões, semelhantes a coordenadas em um gráfico.

A vantagem dessa abordagem é que ela agrupa naturalmente palavras com significados semelhantes, como "barco" e "navio", próximas umas das outras no espaço vetorial. Com as técnicas certas, os vetores de palavras podem capturar relações ainda mais complexas. Por exemplo, "carros" e "aviões" são ambos meios de transporte e estarão relacionados, mas suas diferenças também são preservadas.

Se colocarmos esses meios de transporte em um gráfico simples, fica algo assim:

<img src="/files/ab08a163eb01be3301d778fba180740b12a7b979" alt="Exemplo de como as palavras são representadas para aprendizado de máquina." width="375">

<details>

<summary>Exemplo</summary>

Por exemplo, para criar um chatbot para organizar transporte terrestre, você deve ser preciso com o eixo horizontal — sem água, não há transporte por barco. O eixo vertical pode ser mais flexível; por exemplo, uma bicicleta basta para pequenas encomendas em cidades lotadas, enquanto cargas maiores exigem caminhões ou trens. Os diferentes meios de transporte que você consideraria estão destacados em amarelo abaixo.

Considere outro cenário em que você precise transportar algo grande, independentemente do meio de transporte — terra, água ou ar. Aqui, carros e bicicletas não são adequados, mas um barco, trem ou avião seriam apropriados. Nesse cenário, você deve permitir alguma variedade horizontal, mas limitar a diversidade vertical, como mostrado pela caixa azul na ilustração.

<img src="/files/d10067718e9c1c1f88dacd61805ade56f82bff6b" alt="" data-size="original">

</details>

## **Como criar conjuntos ideais de expressões**

Agora que sabemos o quão importantes são a diversidade de palavras e a ordem das palavras, podemos usar essa percepção para criar um guia passo a passo sobre como montar um bom conjunto de expressões.

{% hint style="info" %}
Para facilitar esse processo, [gerar expressões](/chatlayer-documentation-pt-br/navegacao/natural-language-processing-nlp/expressions.md#generate-expressions) de sua **Intenções** aba..
{% endhint %}

Para ser ideal na sua [entrada manual de expressões](/chatlayer-documentation-pt-br/navegacao/natural-language-processing-nlp/expressions.md#manual-entry):

1. Crie uma lista de expressões com ordens de palavras muito diferentes. Tente pensar em o maior número possível de frases estranhas que possam transmitir sua intenção de pegar o trem. Não se preocupe se esquecer algo; você sempre pode voltar a essa etapa mais tarde e adicionar outras frases.

<details>

<summary>Exemplo</summary>

Se olharmos para as expressões mostradas acima para pegar o trem, já podemos usar as frases acima e adicionar mais algumas:

1. *Quero pegar o trem para Paris*
2. *Para Paris quero pegar o trem*
3. *Quero ir para Paris de trem*
4. *De trem é como quero ir para Paris*
5. *Para Paris de trem é como quero ir*
6. *…*

</details>

2. Seja diverso. Nesta etapa, você pega todas as frases listadas acima e pensa em tantos sinônimos quanto possível.

* Comece dividindo uma expressão geral que represente sua intenção em uma série de componentes.

<details>

<summary>Exemplo</summary>

Para ilustrar como isso funciona, vamos usar a frase: *Quero ir para Paris de trem*. Primeiro, você remove os componentes dessa frase, assim:

* *Quero*
* *ir*
* *como*
* *Paris*
* *de*
* *treinar*

</details>

* Encontre sinônimos para cada um desses componentes. Aqui é importante cobrir a maior diversidade de palavras possível para cada termo.

<details>

<summary>Exemplo</summary>

Pegar *Quero* por exemplo. Você pode substituir isso por:

* *Eu gostaria de*
* *Eu devo*
* *Eu deveria*
* *Eu prefiro*
* *Deixe-me*
* *…*

</details>

3. Repita isso para cada palavra ou conjunto de palavras.

<details>

<summary>Exemplo</summary>

Usando [geração de expressões](/chatlayer-documentation-pt-br/navegacao/natural-language-processing-nlp/expressions.md#generate-expressions), isso ficará algo assim:

* *Quero ir para Paris*
* *Eu gostaria de viajar na direção de Paris*
* *Eu deveria ir para Paris*

</details>

Se mais tarde você tiver um sinônimo adicional, basta adicioná-lo à lista de alternativas. Assim, você não precisa verificar todas as suas expressões novamente para ver se deixou algo passar.

Seguindo essa abordagem, você pode gerar rapidamente uma grande quantidade de expressões. Se você observar o exemplo acima para “Quero ir para Paris de trem”, todas as combinações possíveis para essa frase somam 6 x 3 x 3 x 2 x 2 x 3 = 648 expressões! Então, se você repetir isso para todas as 5 frases acima, acabará com mais de 3.000 expressões e só precisou pensar em 5 ou 6 frases. Sem complicação.

{% hint style="warning" %}
A ordem das palavras e a diversidade de palavras não são os únicos elementos a serem considerados ao criar conjuntos ideais de expressões. Dê uma olhada na nossa lista de[ boas práticas](/chatlayer-documentation-pt-br/nlp/natural-language-processing-nlp/how-to-nlp.md) também.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.chatlayer.ai/chatlayer-documentation-pt-br/nlp/natural-language-processing-nlp/how-to-nlp/creating-diverse-expressions.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
