Wednesday, January 16, 2013

AIML 2.0 draft specification released

The ALICE A.I. Foundation has released a draft specification of a major uprgade to AIML (Artificial Intelligence Markup Language), version 2.0 of the language.   AIML is a widely adopted standard for creating chat bots and mobile virtual assistants like ALICE, Mitsuku, English Tutor, The Professor and many more.  A decade or more of experience building AIML bots has informed the need for new features in the language.  The need for new features however is tempered by the goal of keeping AIML as simple as possible, especially for non-programmers.

AIML 2.0 combines Pandorabots extensions to the language, the Out-of-Band (OOB) tags that implement actions on mobile devices, and a collection of new AIML features.   AIML 2.0 includes a new tag so that the bot can access responses from remote web services and even other AIML bots.  The AIML 2.0 draft includes new wildcards, conditional loops, local variables, and the ability to specify attribute values in tags.  One significant advance, AIML Sets and Maps, is described in a companion document.

The AI Foundation will shortly be releasing a new open source AIML interpreter in Java to serve as a reference implementation of AIML 2.0.  To join the discussion about AIML 2.0 please visit and the forum.

What’s new in AIML 2.0?

  • Zero+ wildcards: new wildcards that match 0 or more words.
  • Highest priority matching: select certain words to have top matching priority.
  • Migrating from attributes to tags: more dynamic control of attribute values.
  • AIML Sets: match inputs with sets of words and phrases.
  • AIML Maps: map set elements to members of other sets.
  • Loops: Iterations in conditional expressions.
  • Local variables: variables with scope limited to one category.
  • Sraix: access external web services and other Pandorabots.
  • Pandorabots extensions
    • date: formatted date and time.
    • request: access previous input request history.
    • response: access previous bot response history.
    • unbound predicates: check if a predicate has been set or not.
    • learn: learn new AIML categories.
    • learnf: learn new AIML categories and save in a file.
    • explode: split words and phrases into individual characters.

  • OOB (Out of Band) Tags: AIML extension for mobile device control

No comments:

Post a Comment


blogger templates | Make Money Online