fbpx
Wikipedia

Artificial Intelligence Markup Language

Artificial Intelligence Markup Language (AIML) is an XML dialect for creating natural language software agents.

Artificial Intelligence Markup Language
Filename extension
.aiml
Developed byDr. Richard S. Wallace
Initial releaseJuly 16, 2001; 22 years ago (2001-07-16) [1]
Latest release
2.1[2] (rev 1.0.2.22[citation needed])
June 20, 2018; 5 years ago (2018-06-20) [2]
Type of formatArtificial intelligence
Extended fromXML
Open format?Yes
Websitewww.aiml.foundation/doc.html

History edit

The XML dialect called AIML was developed by Richard Wallace and a worldwide free software community between 1995[citation needed] and 2002. AIML formed the basis for what was initially a highly extended Eliza called "A.L.I.C.E." ("Artificial Linguistic Internet Computer Entity"), which won the annual Loebner Prize Competition in Artificial Intelligence[3] three times, and was also the Chatterbox Challenge[4] Champion in 2004.

Because the A.L.I.C.E. AIML set was released under the GNU 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[dead link]). 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 edit

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

Categories edit

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 edit

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 edit

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 edit

  1. ^ . alicebot.org. San Francisco CA. 16 July 2001. Archived from the original on 15 July 2007. Retrieved 1 December 2013.
  2. ^ a b "AIML 2.1 (AIML Foundation)". aiml.foundation/. from the original on 14 May 2019. Retrieved 2022-06-11.
  3. ^ . loebner.net. 26 October 2007. Archived from the original on 30 December 2010. Retrieved 10 November 2010.
  4. ^ . chatterboxchallenge.com. Archived from the original on 25 March 2006. Retrieved 10 November 2010.
  5. ^ . aitools.org. 17 May 2006. Archived from the original on 9 October 2006.
  6. ^ . alicebot.org. 13 October 2011. Archived from the original on 18 November 2013. Retrieved 1 December 2013.
  7. ^ . aitools.org. Archived from the original on 17 March 2006. Retrieved 10 November 2010.
  8. ^ . alicebot.blogspot.com. 16 January 2013. Archived from the original on 18 May 2013. Retrieved 19 June 2014.

artificial, intelligence, markup, language, this, article, about, computer, language, 20th, century, political, party, with, this, abbreviation, india, muslim, league, research, institute, adelaide, australian, institute, machine, learning, this, article, reli. This article is about a computer language For the 20th century political party with this abbreviation see All India Muslim League For the research institute in Adelaide see Australian Institute for Machine Learning This article relies excessively on references to primary sources Please improve this article by adding secondary or tertiary sources Find sources Artificial Intelligence Markup Language news newspapers books scholar JSTOR March 2017 Learn how and when to remove this template message Artificial Intelligence Markup Language AIML is an XML dialect for creating natural language software agents Artificial Intelligence Markup LanguageFilename extension aimlDeveloped byDr Richard S WallaceInitial releaseJuly 16 2001 22 years ago 2001 07 16 1 Latest release2 1 2 rev 1 0 2 22 citation needed June 20 2018 5 years ago 2018 06 20 2 Type of formatArtificial intelligenceExtended fromXMLOpen format YesWebsitewww wbr aiml wbr foundation wbr doc wbr html Contents 1 History 2 Elements of AIML 2 1 Categories 2 2 Patterns 2 3 Templates 3 ReferencesHistory editThe XML dialect called AIML was developed by Richard Wallace and a worldwide free software community between 1995 citation needed and 2002 AIML formed the basis for what was initially a highly extended Eliza called A L I C E Artificial Linguistic Internet Computer Entity which won the annual Loebner Prize Competition in Artificial Intelligence 3 three times and was also the Chatterbox Challenge 4 Champion in 2004 Because the A L I C E AIML set was released under the GNU 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 dead link 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 editAIML contains several elements The most important of these are described in further detail below Categories edit 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 lt category gt lt pattern gt WHAT IS YOUR NAME lt pattern gt lt template gt My name is Michael N S Evanious lt template gt lt category gt 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 edit 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 span class nt lt think gt lt set span span class w span span class na name span span class s topic span span class nt gt span state2 span class nt lt set gt lt think gt span 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 edit 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 lt bot name name gt which will substitute the bot s name into the sentence or You told me you are lt get name user age gt 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 lt category gt lt pattern gt WHAT IS YOUR NAME lt pattern gt lt template gt lt CDATA My name is lt bot name name gt gt lt template gt lt category gt lt category gt lt pattern gt WHAT ARE YOU CALLED lt pattern gt lt template gt lt srai gt what is your name lt srai gt lt template gt lt category gt 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 edit Press Release AIML 1 0 Standard Passed A L I C E AI Foundation alicebot org San Francisco CA 16 July 2001 Archived from the original on 15 July 2007 Retrieved 1 December 2013 a b AIML 2 1 AIML Foundation aiml foundation Archived from the original on 14 May 2019 Retrieved 2022 06 11 loebner net Informationen zum Thema loebner loebner net 26 October 2007 Archived from the original on 30 December 2010 Retrieved 10 November 2010 Chatterbox Challenge chatterboxchallenge com Archived from the original on 25 March 2006 Retrieved 10 November 2010 Free AIML sets aitoold org aitools org 17 May 2006 Archived from the original on 9 October 2006 AIML 1 0 1 A L I C E AI Foundation alicebot org 13 October 2011 Archived from the original on 18 November 2013 Retrieved 1 December 2013 AIML xsd aitools org Archived from the original on 17 March 2006 Retrieved 10 November 2010 AIML 2 0 draft specification released alicebot blogspot com 16 January 2013 Archived from the original on 18 May 2013 Retrieved 19 June 2014 Retrieved from https en wikipedia org w index php title Artificial Intelligence Markup Language amp oldid 1185567510, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.