在本教程中,我们来讨论和学习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文档的开头和结尾。 它包含版本和编码属性下的版本和编码信息。 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>
<category>
标签<category>
标签是ALICE机器人的基本知识单元。每个类别包含 -
*
和_
这样的通配符。Alicebot
提供的用户输入。<category>
标记必须具有<pattern>
和<template>
标记。 <pattern>
表示用户输入,<template>
表示Alicebot
的响应。如下示例 -
<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”
,表示机器人对用户输入的响应。