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