|
|
|
|
|
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... . |
|
|