I have also developed a language, different from AIML and other’s approach!
And I am constantly changing things, adding functionality
The base of this language is a planned pattern matcher, somehow like AIML but with several enhancements:
The matcher’s work individually and compete against each other having different “scores” and special behavior flags.
Among those matchers, there is from simple text matching, passing trough wildchars (to give AIML a chance to port some knowledge, if you dare giving AIML this attribute), and getting into deep parsing, even with semantic out-of-order inter-sentence understanding.
Then the answer engine is also different from standard AIML, you can Add-Up several answers, composing them as output, giving them timings, even being context dependent.
All this language resides inside a object-like environment, where you may operate with “concepts” rather than words, you may add two words and depending on the assigned sense, they may perform an internal operation ranging from units conversion, quantity composition, simple to complex math, logic, set operations, or simply concatenate properly as a list!
There are other pattern matchers, but the pattern may be linguistic, specified with POS tags and even sintactically parsed-segments (chunked) so you can specify “a syntagmatic part as subject”, which should have a nuclei as any animal.
Also this language has ‘persistence’ inside the user and bot objects, it has a context object capable of firing external database operations, checking the web, searching mail, reading rss feeds or whatever can be done externally.
The Natural Language generator is also somehow complex but simple to be used, it blends all elements and tries to make a sense-full sentence out of scrap, making verb conjugations, doing concordance matching among objects and their prepositions, or create anaphoric pronouns to replace things concatenating them with ‘just said’ things.
It also has a Anaphoric Selective memory, capable of getting the best match of a personal pronoun or parabolic object-grounding sentence, to help in co-reference solving. (this is still under development, just starting to day hello!)
I am also working to get ontology, but the ontological links in wordnet, are not necessarily useful when making choices, or taking decisions, under a context-full conversation.
Another issue is that I have decided to model the personality of the agent, by means of a complete analysis of the full conversation , as a time-theme-turn sequence, gathering the “success"or failure sensation from this, and even (in the future: next) guess the user’s mood!
Other thing is the theme navigation, this is controlled by a complex algorithm I’ve not fully tested, (under development) but as now, its capable of nesting things, doing questions, telling jokes in several turns, handle properly backchannel and even answering out-of order questions.
This is the first release of the language, the documentation is huge, the manual is written in Spanish (sorry) but the main customers are Latin America’s and Spain one’s.
This has also been created becauuse the failure of AIML (which I initially tested and worked with) in Spanish and all inflected languages, because of the failed pattern matching, many people had added stemmers, but the misunderstanding is huge!