# Entidades contextuais

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FIzosxBALLPPFXoYMUXGk%2FScreenshot%202024-08-14%20at%2017.22.44.png?alt=media&#x26;token=1c6b1f0b-40a3-450e-8d68-60552d74c450" alt=""><figcaption><p>Guia de entidades contextuais.</p></figcaption></figure>

## Detectar informações contextualizadas

Contextuais são reconhecidas dentro de expressões. O [PNL](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/nlp/basic-nlp-concepts#nlp-model) entende a entidade aprendendo que tipo de palavra é, onde está localizada na frase e qual é o contexto específico ao redor dela.&#x20;

<details>

<summary>Quando usar entidades contextuais</summary>

Imagine que você é um vendedor de frutas que vende maçãs, peras, bananas e abacaxis. Seu chatbot pode ajudar pessoas a pedir frutas e perguntar o preço. Vamos analisar esse caso de uso de precificação para maçãs. Algumas expressões de exemplo poderiam ser:

* Quanto custa a maçã?
* Quanto custa uma maçã?
* Qual é o preço das maçãs?

Claro, essas expressões poderiam ser perguntadas não apenas para maçãs, mas também para peras, bananas e abacaxis. Isso significa que você precisa copiar cada expressão e substituir a fruta? Não, você pode usar entidades contextuais!&#x20;

Crie uma entidade contextual chamada 'fruit' e adicione os seguintes valores a ela:

* maçã
* banana
* pera
* abacaxi

Nesse caso, recomendamos ativar a correspondência aproximada para que o bot também reconheça 'apples' e o plural das outras frutas. Mais informações sobre correspondência aproximada na próxima seção.

Agora você pode simplesmente criar uma expressão com a entidade contextual nela:

* Qual é o preço de **@fruit**?
* Quanto custa uma **@fruit** ?
* Qual é o preço do **@fruit**?

Agora seu bot entenderá cada expressão, mesmo se a fruta mudar!&#x20;

</details>

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FplpevVlnwZNTe22Uy7ag%2FScreenshot%202024-08-14%20at%2017.35.20.png?alt=media&#x26;token=b11ef58e-749b-4eee-abdb-1c367b368034" alt="" width="563"><figcaption><p>Exemplo de uma intenção que usa a entidade contextual @bike_model.</p></figcaption></figure>

{% hint style="warning" %}
Entidades contextuais são o único tipo de entidades que podem (e devem) [ser adicionadas à própria expressão](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/navegacao/natural-language-processing-nlp/expressions#add-entities-to-your-expressions), por exemplo: *Quero reservar uma passagem de trem de `@origin` para `@destination`.*
{% endhint %}

{% hint style="warning" %}
Observe que [entidades de correspondência](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/nlp/natural-language-processing-nlp/detect-information-with-entities/match-entities) são independentes de contexto, significando que podem ser detectadas em qualquer lugar da conversa. Portanto, elas são bem diferentes de [entidades contextuais ](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/nlp/natural-language-processing-nlp/detect-information-with-entities/contextual-entities)que são dependentes do contexto e só podem ser detectadas em certos lugares dentro da conversa.
{% endhint %}

## Adicionar entidades contextuais

Existem 2 maneiras de adicionar entidades contextuais ao seu bot:

* A partir da sua lista de [expressões](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/navegacao/natural-language-processing-nlp/expressions#add-contextual-entities-to-your-expressions)
* A partir da [**Entidades**](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/navegacao/natural-language-processing-nlp/synonym-entities) guia (veja abaixo)

Para adicionar uma entidade contextual:

1. A partir da [Entidades](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/navegacao/natural-language-processing-nlp/synonym-entities) aba, clique em **Adicionar entidade contextual**.
2. Dê a ela um **Nome** e uma série de **Valores da entidade**.
3. Você pode dar **Sinônimos** a esses valores se quiser.

<details>

<summary>Sinônimos para entidades contextuais</summary>

Para cada valor, você pode adicionar um sinônimo que será detectado como o valor original. Sinônimos permitem que você adicione alternativas para entidades que são atribuídas ao mesmo valor.&#x20;

Por exemplo:

*Quero ir para Bruxelas*

*Quero ir para Bruxelles*

O significado das duas expressões acima é exatamente o mesmo, mas você quer converter *Bruxelles* para *Brussels* para que seu bot possa trabalhar com um único e mesmo valor.

Observe que as entidades não diferenciam maiúsculas de minúsculas, então não há necessidade de adicionar sinônimos capitalizados.

</details>

{% hint style="info" %}
Ao adicionar variáveis de entidade contextual, não há necessidade de adicionar palavras capitalizadas e não capitalizadas. Todo o texto é descapitalizado pelo NLP antes de qualquer reconhecimento acontecer.
{% endhint %}

4. Você pode ativar a **Correspondência aproximada** se quiser.

<details>

<summary>Correspondência aproximada para entidades contextuais</summary>

A correspondência aproximada permite reconhecer uma ligeira variação de um valor de entidade (ou seu sinônimo) como o valor original. Por exemplo "Brusselt" será automaticamente corrigido para "Brussels" se a correspondência aproximada estiver ativada.

A correspondência aproximada é bastante rigorosa. Menos de 20% dos caracteres podem ser diferentes para vinculá-la a outra entidade. Isso evita que o valor seja vinculado a outra entidade que também tenha sobreposição.&#x20;

</details>

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FHnK88wetrZXpQETSnOn0%2FScreenshot%202024-08-14%20at%2017.32.34.png?alt=media&#x26;token=ab047d0a-02a6-4a3e-badc-a3b9c5dbe0a6" alt="" width="563"><figcaption><p>Adicionar uma entidade contextual.</p></figcaption></figure>


---

# Agent Instructions: 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:

```
GET https://docs.chatlayer.ai/chatlayer-documentation-pt-br/nlp/natural-language-processing-nlp/detect-information-with-entities/contextual-entities.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
