Artificial Intelligence Markup Language

From Citizendium
Revision as of 15:12, 5 May 2008 by imported>Bruce M. Tindall ((Insignificant change to force re-alphabetization in Live Articles list))
Jump to navigation Jump to search
This article is a stub and thus not approved.
Main Article
Discussion
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
 
This editable Main Article is under development and subject to a disclaimer.

Artificial Intelligence Markup Language (AIML) is an XML compliant language created to store data to drive a dialog engine. Responses to various stimulus phrases are stored in an organized way. These responses are optionally recursive in nature.

AIML was used to win the Lobner (Turing test) Prize in AI in three different years. There are AIML engines in Python, C++, Java and other languages. AIML processes word oriented data; punctuation and capitalization are generally ignored.

Example

What does AIML look like? Consider: hello_world.aiml

<?xml ?>
<aiml>
  <category>
    <pattern>hello alice</pattern>
    <template>Hello world</template>
  </category>
</aiml>
sample output: ------------
you say > hello alice
alice > hello world

Tags

Various tags exist in aiml.

<aiml>      the root tag
<category>  a stimulus-response pair
<pattern>   a stimulus
<template>  a response
*, <star/>  wild card characters
<srai>      recursive response tag
<set>       set a variable value
<get>       get a variable value