> 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

Este tutorial aprofunda como criar conjuntos ideais de expressões para seu modelo de NLP usando ordem das palavras e diversidade de palavras.

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FpfZy8kOH6RFpbZg8t2Qe%2FScreenshot%202024-08-26%20at%2014.49.57.png?alt=media&amp;token=46326bda-ee3e-41ea-94ef-b101bbd4ed58" 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="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LLTwFwbOqJj4dDhg8Ju%2F-MEwt8ZuW7Kc8gDZdyDt%2F-MF-uM3spL29d0yWB-8Z%2Fimage.png?alt=media&amp;token=459eafdc-4f80-4b1a-a0d5-eed802eef06d" 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="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FhWdGk6mG6kQc2z0QFLg7%2FScreenshot%202024-08-26%20at%2014.38.32.png?alt=media&amp;token=36e3a7bd-76a7-4a91-920b-347e18a3d82f" 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
