AIML - 简介

AIML 代表人工智能标记语言。AIML 由 Alicebot 自由软件社区和 Richard S. Wallace 博士于 1995-2000 年间开发。AIML 用于创建或定制 Alicebot,这是一个基于 A.L.I.C.E. 的聊天框应用程序。 (人工语言互联网计算机实体)免费软件。

AIML 标签

以下是 AIML 文档中常用的重要标签。

S.No. AIML 标签/说明
1

<aiml>

定义 AIML 文档的开始和结束。

2

<category>

定义 Alicebot 知识库中的知识单元

3

<pattern>

定义模式以匹配用户可能输入给 Alicebot 的内容。

4

<template>

定义 Alicebot 对用户的响应输入。

我们将在 AIML Basic tags 一章中讨论这些标签中的每一个。

以下是其他一些广泛使用的 aiml 标签。我们将在接下来的章节中详细讨论每个标签。

S.No. AIML 标签/说明
1

<star>

用于匹配 <pattern> 中的通配符 * 字符标签。

2

<srai>

多用途标签,用于调用/匹配其他类别。

3

<random>

使用<random>获取随机响应。

4

<li>

用于表示多个响应。

5

<set>

用于设置 AIML 变量中的值。

6

<get>

用于获取存储在 AIML 变量中的值。

7

<that>

在 AIML 中用于根据上下文。

8

<topic>

在 AIML 中用于存储上下文,以便以后可以基于该上下文进行对话。

9

<think>

在 AIML 中用于存储变量而不通知用户。

10

<condition>

类似于编程语言中的 switch 语句。它可以帮助 ALICE 响应匹配的输入。

AIML 词汇表

AIML 词汇表使用单词、空格和两个特殊字符 *_ 作为通配符。AIML 解释器优先考虑具有 _ 的模式,而不是具有 * 的模式。AIML 标签符合 XML 标准,并且模式不区分大小写。

示例

<aiml version = "1.0.1" encoding = "UTF-8"?>
   <category>
      <pattern> HELLO ALICE </pattern>
      
      <template>
         Hello User!
      </template>
      
   </category>
</aiml>

以下是需要考虑的要点 −

  • <aiml> 标签表示 AIML 文档的开始。

  • <category> 标签定义知识单元。

  • <pattern> 标签定义用户将要输入的模式。

  • <template> 标签定义如果用户输入 Hello Alice,对用户的响应。

结果

User: Hello Alice
Bot: Hello User