AIML基本标签

在本教程中,我们来讨论和学习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 Alicehello aliceHELLO 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”,表示机器人对用户输入的响应。