AIML是人工智能的标记语言。 它是一种XML标准用于定义的聊天机器人的反应。 机器人自由的机器人支持AIML,但是基于自有的知识基础,类似于人的大脑。
AIML定义一个机器人应该回答的一个问题时使用<模式>和<模板> 元素。 一种模式表示对用户的问题,和模板的定义了机器人的响应。 该模式和模板元素都集中在一个类别的元素,它可以进行分组下的专题单元。
| Tags | Description | 
|---|---|
| <star index="N"/> | Replaced with value of * in pattern (or Nth *). | 
| <that index="M,N"/> | Replaced with value of bot's previous response (or Mth previous response, and N sentence of the response). | 
| <input index="N"/> | Replaced with value of users's input (or Nth *). | 
| <thatstar index="N"/> | Replaced with value of * in "that" (or Nth *). | 
| <topicstar index="N"/> | Replaced with value of * in topic (or Nth *). | 
| <get name="XXX"/> | Replaced by the value of the conversation specific variable. | 
| <bot name="XXX"/> | Replaced by the value of the bot specific variable. | 
| <sr/> | Short form for <srai><star/><srai> (replaced with response to value of * from pattern). | 
| <person2/> | Converts the text (or <star/>) between 1st and 2nd person (I <-> he, etc.). | 
| <person/> | Converts the text (or <star/>) between 1st and 3rd person (I <-> you, etc.). | 
| <gender/> | Converts the text (or <star/>) between male and female (he <-> she). | 
| <date/> | Replaced with the current date and time, a "format" attribute is also supported. | 
| <id/> | Replaced by the client id. | 
| <size/> | Replaced with the size of bot's memory. | 
| <version/> | Replaced with the AI engine version. | 
| <uppercase> | Converts the text to uppercase. | 
| <lowercase> | Converts the text to lowercase. | 
| <formal> | Converts all words in the text to be capitalized. | 
| <sentence> | Converts the first word in the text to be capitalized. | 
| <condition name="X" value="Y"> | Defines an "if" condition based on comparing the value of a variable to a pattern. | 
| <condition name="X"> | Case statement. | 
| <condition> | Multi-valued if/else statement. | 
| <random> | Choose on of the nested <li> values at random. | 
| <li name="X" value="Y"> | Used in random and condition tags. | 
| <li value="Y"> | Used in random and condition tags. | 
| <li> | Used in random and condition tags. | 
| <set name="XXX"> | Set the value of a variable. | 
| <gossip> | Logs the text. | 
| <srai> | Recursively evaluates the text and replaces it with the response. | 
| <think> | Evaluates the nested statements but does not output any result. | 
| <learn> | Load external AIML file, this is not currently allowed. | 
| <system> | Executes a OS command, this is not currently allowed. | 
| <javascript> | Executes JavaScript code. | 
| <topic> | Category topic tags can now be set on a category to make it easier to add categories to topics. | 
| <map> | Maps tag to allow the lookup of the element value in a predefined mapping, returning the mapped value. | 
| <loop> | Condition loops tag to loop a conditional statement. | 
| <var> | Local variables attribute for variables scoped to a category. | 
| <sraix> | Remote requests tag to make a remote request of another bot instance, or service. | 
| <normalize> and <denormalize> | Normalization and denormalization tags to convert special character into words, and back again. | 
| <request> | Request tag to return the user's previous input request. | 
| <response> | Response tag to return the bot's previous response. | 
| <learn>, <learnf>, and <eval> | Learning tags to dynamically train a bot with new responses. | 
| <explode> | Explode tag to split a word into its characters. | 
| <oob> | Mobile (out of band) tag to support client and mobile device commands. | 
| (<b>, <a>, <i>, <ul>, <ol>, <li>, <p>, <br>, <button>, <img>, <video>) | Various HTML tags are also allowed. | 
| <self> | Evaluate Self code (Bot Libre extension). | 
| Tags | Description | 
|---|---|
| * | Matches one or more words. | 
| _ | Matches one or more words, takes priority over all other words and wildcards, except $. | 
| ^ | Matches zero or more words. | 
| # | Matches zero or more words, takes priority over all other words and wildcards, except $. | 
| $ | Pattern priority marker to make a pattern word match highest priority. | 
| () | Optional set of words (Bot Libre extension). | 
| [] | Required set of words (Bot Libre extension). | 
| <set> | Set tag to evaluate a pattern based on words defined in a predefined set. | 
| / | Regular expression pattern (Bot Libre extension). | 
| {} | Self code (Bot Libre extension). |