0% found this document useful (0 votes)
13 views

Artificial_Intelligence_Markup_Language

Artificial Intelligence Markup Language (AIML) is an XML dialect designed for creating natural language software agents, developed by Dr. Richard S. Wallace between 1995 and 2002. AIML allows for the creation of conversational agents, such as the A.L.I.C.E. bot, which has won multiple AI competitions. The language includes elements like categories, patterns, and templates to facilitate user interaction and response generation.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

Artificial_Intelligence_Markup_Language

Artificial Intelligence Markup Language (AIML) is an XML dialect designed for creating natural language software agents, developed by Dr. Richard S. Wallace between 1995 and 2002. AIML allows for the creation of conversational agents, such as the A.L.I.C.E. bot, which has won multiple AI competitions. The language includes elements like categories, patterns, and templates to facilitate user interaction and response generation.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Artificial Intelligence Markup Language

Artificial Intelligence Markup Language (AIML) is


Artificial Intelligence Markup
an XML dialect for creating natural language software
Language
agents.

History Filename .aiml


extension
The XML dialect called AIML was developed by Developed by Dr. Richard S. Wallace
Richard Wallace and a worldwide free software Initial release July 16, 2001 [1]
community between 1995 and 2002. AIML formed the Latest release 2.1[2] (rev 1.0.2.22 )
basis for what was initially a highly extended Eliza June 20, 2018 [2]
called "A.L.I.C.E." ("Artificial Linguistic Internet Type of format Artificial intelligence
Computer Entity"), which won the annual Loebner
Extended from XML
Prize Competition in Artificial Intelligence[3] three
Open format? Yes
times, and was also the Chatterbox Challenge[4]
Champion in 2004. Website www.aiml.foundation/doc
.html (http://www.aiml.found
Because the A.L.I.C.E. AIML set was released under ation/doc.html)
the GPL, and because most AIML interpreters are
offered under a free or open source license, many "Alicebot clones" have been created based upon the
original implementation of the program and its AIML knowledge base. Free AIML sets[5] in several
languages have been developed and made available by the user community. There are AIML interpreters
available in Java, Ruby, Python, C++, C#, Pascal, and other languages (see below ). A semi-formal
specification[6] and a W3C XML Schema for AIML[7] are available.

Since early 2013, The A.L.I.C.E foundation has been working on a draft specification for AIML 2.0.[8]

Elements of AIML
AIML contains several elements. The most important of these are described in further detail below.

Categories
Categories in AIML form the fundamental unit of knowledge. A category consists of at least two further
elements: the pattern and template elements. Here is a simple category:

<category>
<pattern>WHAT IS YOUR NAME</pattern>
<template>My name is Michael N.S Evanious.</template>
</category>
When this category is loaded, an AIML bot will respond to the input "What is your name" with the
response "My name is Michael N.S Evanious."

Patterns
A pattern is a string of characters intended to match one or more user inputs. A literal pattern like

WHAT IS YOUR NAME

will match only one input, ignoring case: "what is your name". But patterns may also contain wildcards,
which match one or more words. A pattern like

WHAT IS YOUR *

will match an infinite number of inputs, including "what is your name", "what is your shoe size", "what is
your purpose in life", etc.

The AIML pattern syntax is a very simple pattern language, substantially less complex than regular
expressions and as such less than level 3 in the Chomsky hierarchy. To compensate for the simple pattern
matching capabilities, AIML interpreters can provide preprocessing functions to expand abbreviations,
remove misspellings, etc.

The AIML syntax itself is at least as complex as finite-state machines and as such at least of level 3 in the
Chomsky hierarchy. This is because a state correlates to one topic. To implement that behavior, the topic
should have a "*" Pattern to make sure, that the state is not left accidentally. A state transit is implemented
with the <think><set name="topic">state2</set></think> Tag. This way, the bot will
be able to "remember" the topic talked about or even user privileges, which are gained during the chat.

Templates
A template specifies the response to a matched pattern. A template may be as simple as some literal text,
like

My name is John.

A template may use variables, such as the example

My name is <bot name="name"/>.

which will substitute the bot's name into the sentence, or

You told me you are <get name="user-age"/> years old.

which will substitute the user's age (if known) into the sentence.

Template elements include basic text formatting, conditional response (if-then/else), and random
responses.
Templates may also redirect to other patterns, using an element called srai (Symbolic Reduction in
Artificial Intelligence). This can be used to implement synonymy, as in this example (where CDATA is
used to avoid the need for XML escaping):

<category>
<pattern>WHAT IS YOUR NAME</pattern>
<template><![CDATA[My name is <bot name="name"/>.]]></template>
</category>
<category>
<pattern>WHAT ARE YOU CALLED</pattern>
<template>
<srai>what is your name</srai>
</template>
</category>

The first category simply answers an input "what is your name" with a statement of the bot's name. The
second category, however, says that the input "what are you called" should be redirected to the category
that matches the input "what is your name"—in other words, it is saying that the two phrases are
equivalent.

Templates can contain other types of content, which may be processed by whatever user interface the bot
is talking through. So, for example, a template may use HTML tags for formatting, which can be ignored
by clients that don't support HTML.

References
1. "Press Release: AIML 1.0 Standard Passed (A.L.I.C.E. AI Foundation)" (https://web.archive.
org/web/20070715113602/http://www.alicebot.org/press_releases/2001/aiml10.html).
alicebot.org. San Francisco CA. 16 July 2001. Archived from the original (http://www.alicebo
t.org:80/press_releases/2001/aiml10.html) on 15 July 2007. Retrieved 1 December 2013.
2. "AIML 2.1 (AIML Foundation)" (http://www.aiml.foundation/doc.html). aiml.foundation/.
Archived (https://web.archive.org/web/20190514124117/http://www.aiml.foundation/doc.htm
l) from the original on 14 May 2019. Retrieved 2022-06-11.
3. "loebner.net - Informationen zum Thema loebner" (https://web.archive.org/web/2010123019
5120/http://www.loebner.net/Prizef/loebner-prize.html). loebner.net. 26 October 2007.
Archived from the original (http://www.loebner.net/Prizef/loebner-prize.html) on 30
December 2010. Retrieved 10 November 2010.
4. "Chatterbox Challenge" (https://web.archive.org/web/20060325195507/http://www.chatterbo
xchallenge.com/). chatterboxchallenge.com. Archived from the original (http://www.chatterbo
xchallenge.com/) on 25 March 2006. Retrieved 10 November 2010.
5. "Free AIML sets - aitoold.org" (https://web.archive.org/web/20061009222437/http://aitools.or
g/Free_AIML_sets). aitools.org. 17 May 2006. Archived from the original (http://aitools.org/Fr
ee_AIML_sets) on 9 October 2006.
6. "AIML 1.0.1 (A.L.I.C.E. AI Foundation)" (https://web.archive.org/web/20131118214101/http://
www.alicebot.org/TR/2011/). alicebot.org. 13 October 2011. Archived from the original (htt
p://www.alicebot.org:80/TR/2011/) on 18 November 2013. Retrieved 1 December 2013.
7. "AIML.xsd" (https://web.archive.org/web/20060317085750/http://aitools.org/programd/resour
ces/schema/AIML.xsd). aitools.org. Archived from the original (http://aitools.org/programd/re
sources/schema/AIML.xsd) on 17 March 2006. Retrieved 10 November 2010.
8. "AIML 2.0 draft specification released" (https://web.archive.org/web/20130518171303/http://
alicebot.blogspot.com/2013/01/aiml-20-draft-specification-released.html).
alicebot.blogspot.com. 16 January 2013. Archived from the original (http://alicebot.blogspot.
com:80/2013/01/aiml-20-draft-specification-released.html) on 18 May 2013. Retrieved
19 June 2014.

Retrieved from "https://en.wikipedia.org/w/index.php?


title=Artificial_Intelligence_Markup_Language&oldid=1264116077"

You might also like