Cfirst-charlixHsecond-charlixAfifth-charlixRfourth-charlixLthird-charlixIsixth-charlixX

Charlix:Peace Love and Open Source Software!


ReversedAIML



DOWNLOAD



charlix-anim
Charlix ONLINE Demo
(No ReversedAIML
demo yet)

What is ReversedAIML?

How finished is ReversedAIML?

How does ReversedAIML really work?

What do I need to install?

What is ReversedAIML for? 

How do I configure ReversedAIML?

Where do I get ReversedAIML?

What is Charlix?






First, thanks for your interest in ReversedAIML.


What is ReversedAIML?

It is part of the charlix project.

ReversedAIML is an AIML file that transforms simple text into AIML. Basically, it analyzes each sentence and embeds possible questions about the content into AIML. It does this by searching for and analyzing the verbs, objects and other grammatical elements in each sentence.

For example, if ReversedAIML 'reads' this sentence: "Charlix is a desktop assistant." it creates the following questions:

WHO IS A DESKTOP ASSISTANT
WHO IS CHARLIX
WHAT IS CHARLIX
WHAT IS A DESKTOP ASSISTANT
IS CHARLIX  A DESKTOP ASSISTANT

These questions are embedded in AIML, and can be used for any AIML-based application.

ReversedAIML is based in A.I.M.L. (Artificial Intelligence Markup Language) code from the implementation of Dr. Richard S. Wallace's A.L.I.C.E. system. For more information about the A.L.I.C.E. Foundation (including information on AIML), visit the A.L.I.C.E. homepage.


back to top of page


How finished is ReversedAIML?

ReversedAIML is and probably will never be finished. For one, language and grammar are eternally changing, and beyond that, computers' understanding and analysis of natural human language is constantly evolving.

However, ReversedAIML is already usable and can fit the simple needs of botmasters eager to add knowledge to their AIML bots.

Here are the various improvements from previous versions.

CHANGELOG
****************

Reversedaiml-0.4
********************
No more topic setting to get a separate graphmaster; instead, a simple initialization through the pick-up category.
Better analysis of the objects and subjects of verbs: a list of people hyponyms enables it to guess if objects and subjects are persons or things  (to choose between who and what), and sometimes their gender (he, she and they can be set).
Passive form sentences are transformed to active in a recursion. For example: "Robots are created by people" becomes "People create robots".
Lots of testing and improvements.

Reversedaiml-0.3
********************
Better recognition of the objects and subjects of verbs.
Infintive verbs, tenses, numbers, dates and adverbs are managed better.
The topic setting is automatic.
Lots of testing was done, so all in all some of the questions generated should be relevant.
Implementation of "it" (first verb's subject).

Reversedaiml-0.2
********************

Grammatical corrections.
List of verbs completed.

back to top of page


How does ReversedAIML really work?

It is based in A.I.M.L. (Artificial Intelligence Markup Language) code.

Here is what you get with reversedAIML in Libaiml:
(comments are in black)

You: libaiml works well with libaiml
Bot: <category><pattern>HOW MUCH  DOES LIBAIML WORK</pattern><template>Libaiml works well with libaiml. </template></category> <category><pattern>HOW MANY  DOES LIBAIML WORK</pattern><template>Libaiml works well with libaiml. </template></category>  (not all questions are relevant)
<category><pattern>WHAT WORKS WITH LIBAIML</pattern><template>Libaiml works well with libaiml. </template></category>  <category><pattern>DOES LIBAIML WORK WITH LIBAIML</pattern><template>Libaiml works well with libaiml. </template></category>   <category><pattern>WHO DOES LIBAIML WORK  WITH</pattern><template>Libaiml works well with libaiml. </template></category>
<category><pattern>WHAT DOES LIBAIML WORK  WITH</pattern><template>Libaiml works well with libaiml. </template></category> <category><pattern>HOW DOES LIBAIML WORK </pattern><template>Libaiml works well with libaiml. </template></category>
Match path:
pattern:[*]
pattern:[INITQUESTION] (initialisation)
pattern:[RA] [_] [WELL] [*] (identified adverb)
pattern:[RA] [*] [WORKS] [*] (identified verb)
pattern:[WHOT1] [*]
pattern:[WHU] [*] [WHOT1]
pattern:[WHUT] [*]
pattern:[WHONT] [WHOT1] [*]
pattern:[THEWHAT1] [*] (the subject is a thing)
pattern:[WHOT2] [HOWMUCHADV] [*]
pattern:[WHOT] [HOWMUCHADV] (identified adverb "well" results in a "How much" question)
pattern:[RA] [1HOWMUCHADV]
pattern:[ADDQUESTION] [*]
pattern:[WHOT2] [WITH] [*]
pattern:[WHOT2] [APREP] [*]
pattern:[WHOT2] pattern:[ADDWHOT1] (no object)
pattern:[RA] [REMOVEALL] [HOWMUCHADV] [*]
pattern:[RA] [REMOVEALL] [*]
pattern:[ADDQUESTION] [*]
pattern:[WHOT] [WITH] [*]
pattern:[WHOT] [APREP] [*]
pattern:[WHOTASK] [WITH] [*]
pattern:[ADDQUESTION] [*]
pattern:[RA] [*] pattern:[RA] [*]
pattern:[ENDOFSENTENCE] (questions are printed:)
pattern:[ASKQUESTIONS] [*] [*]
pattern:[ASKQUESTIONS] [1HOWMUCHY]
pattern:[ASKQUESTIONS] [*] [*]
pattern:[ASKQUESTIONS] [WHAT1]
pattern:[ASKQUESTIONS] [1WITH]

 
back to top of page


What do I need to install?

You need an AIML interpreter.

The most compatible interpreter (especially for development) that I tested was Libaiml. Insert the the aiml file in the directory /test-app/aiml.

It should work just as nicely with ProgramQ. However, some sentences might not work due to an overly strict detection of recursive loops. Create a folder inside the directory /aiml and insert the aiml file in it.

It should also work with the last Rebecca. Unfortunately, RebeccaAIML does not yet reset predicate values, so you need to restart the interpreter for each sentence. Insert the the aiml file in the directory /aiml/annotated-alice.

There exist plenty of other interpreters, but I have not tested them with ReversedAIML.


back to top of page


What is ReversedAIML for?

 
 
ReversedAIML can be used for any kind of natural language processing.

If you find any use for it, feedback and feature requests are welcome.
Contact me through my e-mail:  chcdsl(cat)yahoo(dog)fr (cat for "@" and dog for ".")


back to top of page



How do I configure ReversedAIML?

To add a source link you need to paste your URL in the code of the category SET SOURCE then start with "set source".

If a "what" question is created when it should be a "who" question, you can add the name to the list of hyponyms of people at the end of the file.

You can edit more questions in the categories starting with the corresponding ASKQUESTIONS. (to find out check the recursion logs)

back to top of page



Charlix is a desktop assistant.
He is based in AIML from the implementation of Dr. Richard S. Wallace's A.L.I.C.E. system. For more information : A.L.I.C.E. homepage.

Charlix is embedded in QAIML

Qaiml is the most compliant and user-friendly interpreter. Charlix has been integrated in the binary version.
All you have to do to try charlix is to download QAIML, run and have fun... 
.











Definition Progress Explanation Installation Application Configuration
Charlix

  Webmaster Charles Chevallier