ReversedAIML is a program written in AIML for creating AIML content. ReversedAIML, developed by Charlix, converts factual statements into AIML.
More info: http://charlix.sourceforge.net
ReversedAIML is a clever program developed by Charles Chevallier, also known as Charlix.
ReversedAIML can generate AIML from factual statemenets.
For example we can tell the bot, "Remember John dreams about Jane".
Bot: Don't worry I will remember.
Now we can ask the bot a variety of related questions, for example,
"Does John dream about Jane?"
Bot: Yes. John dreams about Jane.
"Who does John dream about?"
Bot: Jane. John dreams about Jane.
"Who does John think about?"
Bot: Jane. John dreams about Jane.
As you can see, ReversedAIML has created a new set of AIML patterns and responses from the original factual statement, "John dreams about Jane."
Let's take a look at how this works.
Charlix has generously provided his program on Sourceforge.
ReversedAIML consists of about 36,000 AIML categories that basically
enumerate every part of speech.
Charlix has provided a nice online demo of ReversedAIML.
If we input the statement, "John dreams about Jane",
the demo shows us the AIML which is automatically created.
First there's a base category with the the pattern SENTENCE1 and the response,
"John dreams about Jane."
This base category is repeatedly linked by
all the different variations of these questions.
We can simply cut and paste this AIML and insert it into Pandorabots.
However we are in the process of automating these steps
and integrating ReversedAIML directly into Pandorabots.
If we look at the code for ReversedAIML, we can see that basically it contains a huge list of proper names.
Another file contains a large list of adjectives.
Yet another file contians a large list of verbs.
Essentially ReveresedAIML looks for these parts of speech by
identifying the individual instances,
and then reverses the input sentence to produce a list of new patterns and responses.
We can continuously improve the results of ReversedAIML
by adding new content to these parts of speech files.
We can also add new sentence patterns.
Let's see how this might work on some business news.
For example, we can put in, "Apple bought Lala for its music downloading technology".
ReversedAIML creates a new set of AIML patterns and responses.
We can add that to the bot.
And again, we're working on a procedure to automate this process.
Now we can we ask the bot
"Did Apple bought Lala?"
Bot: Yes. Apple bought Lala for its music downloading technology.
"What bought Lala?"
Bot: Apple. Apple bought Lala for its music downloading technology.
"What did Apple buy Lala for?"
Bot: Apple bought Lala for its music downloading technology.
Let's try ReversedAIML with a piece of real business news
from the Wall Street Journal.
We'll copy a sentence and paste it into the ReversedAIML demo.
The sentence, "Discount airlines saw notable traffic increases in November,
while other carries saw muted results," generated a collection of AIML.
Again, we'll copy this and paste it into our bot.
Now we can ask the bot,
"Did discount airlines see notable traffic increases?"
Bot: Yes. Discount arilines saw notable traffic increases in November, while other carriers saw muted results.
"What did discount airlines see?"
Bot: Notable traffic increases.
"What saw notable traffic increases?"
Bot: Discount airlines.
"Did carriers see muted results?"
"What did carriers see?"
Bot: Muted results.
"What saw muted results?"
However if we try something like, "What carriers saw muted results?"
Bot: I would do a search for it.
The bot does not yet have a correct answer.
More work needs to be done to improve the quality of Reversed AIML.
It is an important first step in translating factual statements into AIML categories.