AIML comes with a number of grammar text manipulation tags. These tags are used to convert the input or output stream based on some basic grammar rules
* normalize - Converts input stream into text elements that are more easily parsable by the Bot
* denormalize - Essentially the reverse of normalize in that it converts text into more human readable elements
* person - Transform pronouns between first and third person
* person2 - Transforms pronouns between first and second person
* gender - Converts the gender of the enclosed text
Each of these conversion tags uses a file of substitutions that it uses to match input text and to convert to using output text. The locations of these files are held in the brain configuration section under files.
## Normalize
Normalize uses the file referenced in normal element of the files section of brain as defined below
```yaml
brain:
files:
normal: $BOT_ROOT/config/normal.txt
```
```xml
MY EMAIL IS *
OK, I'll email you on
```
```bash
Loading, please wait...
No bot root argument set, defaulting to [.]
Y-Bot version 0.0.1, initiated March 14, 2017
Hi, how can I help you today?
>>> My email is keiffster@gmail.com
OK, I'll email you on keiffster at gmail dot com
```
## Denormalize
Denormalize uses the file referenced in denormal element of the files section of brain as defined below
```yaml
brain:
files:
denormal: $BOT_ROOT/config/denormal.txt
```
```xml
EMAIL ME AT *
OK, sending an email to
```
```bash
Loading, please wait...
No bot root argument set, defaulting to [.]
Y-Bot version 0.0.1, initiated March 14, 2017
Hi, how can I help you today?
>>> Email me at keiffster at gmail dot com
OK, sending an email to keiffster@gmail.com
```
## Person
Person uses the file referenced in person element of the files section of brain as defined below
```yaml
brain:
files:
person: $BOT_ROOT/config/person.txt
```
```xml
I AM *
You are
```
```bash
Loading, please wait...
No bot root argument set, defaulting to [.]
Y-Bot version 0.0.1, initiated March 14, 2017
Hi, how can I help you today?
>>> I am waiting for you
You are waiting for me
```
## Person2
Person2 uses the file referenced in person2 element of the files section of brain as defined below
```yaml
brain:
files:
person2: $BOT_ROOT/config/person2.txt
```
```xml
GIVE THE * TO *
User has asked me to give the to
```
```bash
Loading, please wait...
No bot root argument set, defaulting to [.]
Y-Bot version 0.0.1, initiated March 14, 2017
Hi, how can I help you today?
>>> Give the password to me
User has asked me to give the password to them
```
## Gender
Gender uses the file referenced in gender element of the files section of brain as defined below
```yaml
brain:
files:
gender: $BOT_ROOT/config/gender.txt
```
```xml
DOES IT BELONG TO *
No, it belongs to
```
```bash
Loading, please wait...
No bot root argument set, defaulting to [.]
Y-Bot version 0.0.1, initiated March 14, 2017
Hi, how can I help you today?
>>> Does it belong to her
No, it belongs to him
```
***
[Back to Tutorial](./AIML-Tutorial) | [Back - Text Translation](./Tutorial-Text-Translation) | [Next - List Processing](./Tutorial-List-Processing)