# Entity Types

Different entities will produce different intent recognition results. You can find here a full reference of all currently supported entity types.

## Default Entities

This is the default entity type for any newly created entity both manually and contextually. Default entities can be single or multiple words long.&#x20;

All default entities that are recognized inside a user expression are automatically translated to a corresponding [Xenioo variable](https://docs10.xenioo.com/actions-and-operations/variables-and-tags) for your chatbot. A "food" entity, if recognized, will become a variable "food" with a value equal to the word (or words) specified by the user inside the expression.

## Numbers

Numbers are built-in entities that do not need and entity definition and are recognized and translated automatically by Xenioo into a numerical value.

Whenever the user uses a number inside an expression, Xenioo will automatically create a variable for your chatbot called "number\<COUNT>" where \<COUNT> will be a number starting from one indicating the index of the number. For example, an expression like this:

```
I am 40 years old
```

Will generate a variable called **number1** with **40** as value. An expression like this :

```
I'll be twenty years old in one month
```

Will generate a variable called **number1** with **20** as value and one called **number2** with **1** as value.\
\
Numbers are recognized and transformed only if expressed in the language of the intent being triggered.

## Wildcards

Wildcards act formally like Default entities with one important exception: *values do not need to be specified*. This means that once you identify a specific part of a sentence as wildcard anything that the user says inside the expression boundary will be translated to an entity value. So, for example:

```
My name is John and I'm 20 years old
```

In the expression, we mark John as an entity user\_name like this:

```
My name is {user_name} and I'm 20 years old
```

Using a default entity type, we would need to specify all possible first names and sometimes this is impossible. Instead, we proceed to update the entity by manually making it a wildcard. From now on anything specified by the user inside that expression (or similar) is passed to user\_name. For example, taking the following expression:

```
My name is Mark Albert the third and I'm 20 years old
```

Xenioo will recognize the sentence and extract as a wildcard a user\_name entity value "Mark Albert the third". Of course expression variations are acceptable as well as multiple expression containing the same wildcard.
