[pandorabots-general] Announcement & Invitation: xAIML
Noel Bush
noel at aitools.org
Tue May 16 19:56:58 PDT 2006
Greetings to all,
This message is to announce the start of a public discussion of an
initiative called "xAIML", and to invite you to join it.
xAIML is likely to be of interest to implementors of AIML interpreters,
to AIML developers, as well as to the wider community of bot developers
who would like to leverage the advantages of standardization enjoyed by
the AIML community over the last several years, but also need to extend
or otherwise modify the functionality set.
The key value here is: you can implement and use variations on the
general feature set of AIML, without losing "measurable compatibility"
among interpreters and among (x)AIML sets.
Below you will find a brief background and introduction to xAIML. To go
further, you are invited to peruse the materials at http://aitools.org,
and to help start up the discussion there -- the site is now
reconfigured as a wiki. We will also set up an xAIML mailing list
shortly, for those who find that a more comfortable medium for
collaboration.
This is an initiative in the full spirit of open source and free
software collaboration. Anybody can enjoy the benefits of this new
technology, and anybody can contribute and help to shape its
development. It is my sincere hope that this will provide a neutral,
commercial-free, non-partisan cooperative space for implementing a
framework that will be of use to bot developers of all stripes,
commercial to hobbyist, amateur to professional.
Here now is the above-mentioned overview and background (taken from the
main xAIML wiki page):
xAIML grows out of needs that have arisen since the formalization and
standardization of AIML in 2001. It is generally agreed that the
publication of the formal AIML specification encouraged an explosion in
the development of AIML interpreters. Implementors of these
interpreters, as well as AIML developers, found it very beneficial to be
able to rely on a fixed standard that provided a reasonable guarantee
that AIML working on one interpreter would work on another.
At the same time, however, many people have wished to extend the
functionality of AIML, and some people have decided to implement AIML
interpreters that do not fully conform to the AIML specification (for
instance, commonly, do not implement the <javascript/> element). The
result has been, on the one hand, some pressure *against* innovation,
and on the other hand, some confusion about the "true compliance" of
various interpreters.
In order to alleviate the pressure and the confusion, xAIML is provided
as a "meta-specification" that gives interpreter implementors and AIML
developers a path to follow when providing and using new functionality.
xAIML does *not* specify any new functionality for AIML--instead, it
specifies *how* to specify a derivation of AIML. It is anticipated that
people's needs may vary widely--some may only want to remove or add one
or two tags, while others will want to deploy a considerably different
variation of the functionality set. In all cases, xAIML offers a
framework for formally describing these derivations, called "xAIML
dialects", and for measuring the difference between any two dialects.
A key aspect of the xAIML framework is its use of Internet domain names.
Since the ownership of domain names is well-established and regulated,
this provides a handy mechanism for implementors and developers to keep
track of "ownership" of xAIML dialects. Creators of xAIML dialects are
provided the opportunity to supply extensive detail about the
implementation of unique functionality, although some parts of the
specification are also optional and do not preclude the participation of
dialects whose source code is hidden.
Also key to xAIML is its use of a simple hierarchy of inheritance. The
"baseline" xAIML is functionally equivalent to AIML (and provides a
fully xAIML-Spec annotated description of the same)--every other dialect
inherits directly or indirectly from this. This is the mechanism by
which xAIML dialects may easily make small changes to a dialect (or
numerous changes) without needing to literally duplicate the effort
provided by parent/ancestor dialects.
Any AIML interpreter may become an "xAIML Interpreter" by implementing a
well-specified set of essential functionality. It is anticipated that a
liberally-licensed library of xAIML functionality in several popular
programming languages will be made available.
See http://aitools.org for more!!
Best regards,
Noel
More information about the pandorabots-general
mailing list