在本教程中,我们来讨论和学习AIML的基本标记。
- <aiml>- 定义AIML文档的开头和结尾。
- <category>- 定义- Alicebot知识库中的知识单元。
- <pattern>- 定义模式以匹配用户可以输入到- Alicebot的模式。
- <template>- 定义- Alicebot对用户输入的响应。
以下的AIML文件示例,在此处列出作为参考使用。
<?xml version = "1.0" encoding = "UTF-8"?>
<aiml version = "1.0.1" encoding = "UTF-8"?>
   <category>
      <pattern> HELLO ALICE </pattern>
      <template>
         Hello User
      </template>
   </category>
</aiml>
1. <aiml>标签
<aiml>标记标记AIML文档的开头和结尾。 它包含版本和编码属性下的版本和编码信息。 version属性存储ALICE聊天机器人知识库,表示使用的AIML版本。 例如,我们使用了1.0.1版本。 此属性是可选的。
Encoding属性提供要在文档中使用的字符集。 例如,使用UTF-8。 强制性要求<aiml>标记必须至少包含一个<category>标记。 可以创建多个AIML文件,其中每个AIML文件包含一个<aiml>标记。 每个AIML文件的目的是将至少一个名为category的知识单元添加到ALICE聊天机器人知识库。
<aiml version = "1.0.1" encoding = "UTF-8"?>
   ...
</aiml>
2. <category>标签
<category>标签是ALICE机器人的基本知识单元。每个类别包含 - 
- 用户输入的句子形式可以是断言,问题和感叹号等。用户输入可以包含像*和_这样的通配符。
- 响应Alicebot提供的用户输入。
- 可选上下文。
<category>标记必须具有<pattern>和<template>标记。 <pattern>表示用户输入,<template>表示Alicebot的响应。如下示例 - 
<category>
   <pattern> HELLO ALICE </pattern>
   <template>
      Hello User
   </template>
</category>
在这里,如果用户输入Hello Alice,那么机器人将使用"Hello User"作为回复。
3. <pattern>标签
<pattern>标记表示用户的输入。它是<category>标记中的第一个标记。 <pattern>标签可以包含通配符,以匹配多个句子作为用户输入。 例如,在上面示例中,<pattern>包含"HELLO ALICE"。
AIML不区分大小写。 如果用户输入Hello Alice,hello alice,HELLO ALICE等,所有这些输入都是有效的,机器人都能与HELLO ALICE匹配。
<category>
   <pattern> HELLO ALICE </pattern>
   <template>
      Hello User
   </template>
</category>
这里,模板是“Hello User”,表示机器人对用户输入的响应。
4. <template>标签
<template>标签表示机器人对用户的响应。 它是<category>标记中的第二个标记。 此<template>标记可以保存数据,调用另一个程序,提供条件答案或委托给其他类别。
<category>
   <pattern> HELLO ALICE </pattern>
   <template>
      Hello User
   </template>
</category>
这里,模板是“Hello User”,表示机器人对用户输入的响应。
