AIML <topic>标签

<topic>标签在AIML中用于存储上下文,以便以后的对话可以基于该上下文完成。 通常,<topic>标签用于是/否类型对话。 它有助于AIML搜索在主题上下文中编写的类别。

语法

使用<set>标记定义主题 -

<template> 
   <set name = "topic"> topic-name </set>
</template>

使用<topic>标记定义类别 -

<topic name = "topic-name">
   <category>
      ...
   </category>     
</topic>

例如,请考虑以下对话。

Human: let discuss movies
Robot: Yes movies
Human: Comedy movies are nice to watch
Robot: Watching good movie refreshes our minds.
Human: I like watching comedy
Robot: I too like watching comedy.

这里的机器人以“movies”为主题。

示例

D:/software/ab/bots/test/aiml目录中创建一个文件:topic.aiml,并在D:/software/ab/bots/test/aimlif目录中创建一个文件:topic.aiml.csv

文件:topic.aiml

<?xml version = "1.0" encoding = "UTF-8"?>
<aiml version = "1.0.1" encoding = "UTF-8"?>
   <category>
      <pattern>LET DISCUSS MOVIES</pattern>
      <template>Yes <set name = "topic">movies</set></template>  
   </category>

   <topic name = "movies">
      <category>
         <pattern> * </pattern>
         <template>Watching good movie refreshes our minds.</template>
      </category>

      <category>
         <pattern> I LIKE WATCHING COMEDY! </pattern>
         <template>I like comedy movies too.</template>
      </category>

   </topic>
</aiml>

文件:topic.aiml.csv -

0,LET DISCUSS MOVIES,*,*,Yes <set name = "topic">movies</set>,topic.aiml
0,*,*,movies,Watching good movie refreshes our minds.,topic.aiml
0,I LIKE WATCHING COMEDY!,*,movies,I like comedy movies too.,topic.aiml

执行程序

打开命令提示符。 进入目录:D:/software/ab 并键入以下命令 -

java -cp lib/Ab.jar Main bot = test action = chat trace = false

执行上面示例代码,得到以下结果 -

Human: let discuss movies
Robot: Yes movies
Human: Comedy movies are nice to watch
Robot: Watching good movie refreshes our minds.
Human: I like watching comedy
Robot: I too like watching comedy.

猿狮妹
2023-01-25
AIML 标签 在线教程
热门教程
1 AIML教程 AIML代表人工智能建模语言。 AIML是一种基于XML的标记语言,旨在创建人工智能应用程序。 AIML可以创建人机界面,同时保持实现简单易用,易于理解和高度可维护。
2 AIML <topic>标签 标签在AIML中用于存储上下文,以便以后的对话可以基于该上下文完成。 通常,标签用于是/否类型对话。 它有助于AIML搜索在主题上下文中编写的类别。语法使用标记定义主题 - 使用
3 AIML <condition>标记 标签类似于编程语言中的switch语句。 它有助于ALICE响应匹配的输入。语法例如,请考虑以下对话。Human: How are you feeling todayRobot: I am happy!在这里,我们将happy存放为ALICE的状态,看看它是如...
4 AIML <think>标签 标签在AIML中用于存储变量而不通知用户。语法使用标记定义主题 - variable-value 例如,请考虑以下对话。Human: My name is MaheshRobot: Hello!Human: ByeeeRobot:...
5 AIML环境安装设置 本教程将指导如何准备开发环境以开始使用AIML来创建自动聊天软件。 程序AB是由ALICE A.I基金会开发和维护的AIML 2.0的参考实现。 本教程还将演示如何在设置程序AB库之前设置JDK - 第1步 - 设置Java Development Kit(JDK)可以从Oracle的Java站点下载最新版本的SDK - Java SE下载。 找到有关在下载文件中安装JDK的说明,请按照给出的说明安装和配置设置。 最后设置PATH和JAVA_HOME环境变量来引用包含...
6 AIML <that>标签 AIML 标签在AIML中用于根据上下文进行响应。语法 template 例如,请考虑以下对话。Human: Hi Alice! What about movies?Robot: Do you like comedy movies?Human: NoRobot: Ok! But I like comedy movies.示例在D:/software/ab/bots/test/aiml...
7 AIML入门程序 在这章中,我们来学习如何创建一个机器人,当用户键入Hello Alice时,它能简单地用Hello User问候用户。创建项目结构与在AIML环境设置中一样,基于以下目录结构(D:/software/ab)。序号目录描述说明1D:/software/ab/bots存储AIML机器人2D:/software/ab/lib存储Java库3D:/software/ab/outJava类文件目录4D:/software/ab/r...
8 AIML基本标签 在本教程中,我们来讨论和学习AIML的基本标记。 - 定义AIML文档的开头和结尾。
9 AIML <star>标记 标签用于匹配标签中的通配符*字符。语法n表示标签中用户输入中*的位置。参考以下示例 - A * is a *.