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>

<aiml> 标签

<aiml> 标签标记 AIML 文档的开始和结束。它在版本和编码属性下包含版本和编码信息。版本属性存储 ALICE chatterbot 知识库 (KB) 使用的 AIML 版本。例如,我们使用了 1.0.1 版本。此属性是可选的。

编码属性提供文档中要使用的字符集。例如,我们使用了 UTF-8。作为强制性要求,<aiml> 标签必须至少包含一个 <category> 标签。我们可以创建多个 AIML 文件,其中每个 AIML 文件包含一个 <aiml> 标签。每个 AIML 文件的目的是向 ALICE chatterbot KB 添加至少一个称为 category 的知识单元。

<aiml version = "1.0.1" encoding = "UTF-8"?>
   ...
</aiml>

<category> 标签

<category> 标签是 ALICE Bot 的基本知识单元。每个类别包含 −

  • 用户输入的句子形式可以是断言、问题和感叹等。用户输入可以包含通配符,如 *_

  • Alicebot 对用户输入的响应。

  • 可选上下文。

<category> 标签必须具有 <pattern><template> 标签。<pattern> 表示用户输入,而 template 表示机器人的响应。

<category>
   <pattern> HELLO ALICE </pattern>
   
   <template>
      Hello User
   </template>
   
</category>

此处,如果用户输入 Hello Alice,则机器人将以 Hello User 的形式进行响应。

<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",表示机器人对用户输入的响应。

<template> 标签

<template> 标签表示机器人对用户的响应。它应该是 <category> 标签内的第二个标签。此 <template> 标签可以保存数据、调用另一个程序、提供条件答案或委托给其他类别。

<category>
   <pattern> HELLO ALICE </pattern>
   
   <template>
      Hello User
   </template>
   
</category>

这里的模板是"Hello User",代表机器人对用户输入的响应。