English 中文(简体)
AIML - Quick Guide
  • 时间:2024-11-05

AIML - Quick Guide


Previous Page Next Page  

AIML - Introduction

AIML 代表 人工情报标记语言。 AIML是由Apcebot自由软件界和Richard S. Wallace博士在1995-2000年期间开发的。 AIML用于创建或定制Apcebot, 它是基于A.L.I.C.E.(人造语言互联网实体计算机)免费软件的聊天箱应用。

AIML Tags

以下是大赦国际文件通常使用的重要标签。

S.No. AIML Tag / Description
1

<aiml>

界定了《反洗钱法》文件的开始和结束。

2

< category>

在Apcebot的知识库中界定知识unit。

3

<pattern>

界定了与用户可能对艾丽斯底公司的投入相匹配的模式。

4

<template>

界定Apcebot对用户投入的反应。

我们在“AIML Basic tags章中讨论每一部分。

下面是其他一些广泛使用的目标标签。 在今后几章中,我们详细讨论了每个方面。

S.No. AIML Tag / Description
1

<star>

用于配对野生卡;* 特性(s) in the <pattern> Tag。

2

<srai>

多功能标签用于指其他类别。

3

<random>

使用<random>,以便随机答复。

4

<p>

用来代表多种应对措施。

5

<set>

用于在《反洗钱法》变量中设定价值。

6

<get>

用于储存在《反洗钱法》变量中。

7

<the>

在《国际反种族歧视公约》中,根据具体情况作出反应。

8

<topic>

在《国际反种族歧视公约》中,利用这一方式储存一个环境,以便以后能够根据这一背景进行对话。

9

<think>

在《反洗钱法》中,在不通知用户的情况下储存变量。

10

<condition>

类似方案拟定语言的改动说明。 它帮助ALICE对匹配投入作出反应。

AIML Vocabulary

AIML vocabulary useword,space and two special natures * and _. AIML 译员偏爱_的模式。 页: 1 AIML的标签是XML的合规性,其模式对个案不敏感。

Example

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

以下是需要考虑的重要要点:

    <aiml> tag signifiesstart of the AIML document.

    < category> tag defines the knowledge unit.

    <pattern> 标签界定了用户的类型。

    <template> tag在用户类型Hello Albert的情况下界定了对用户的反应。

Result

User: Hello Apce
Bot: Hello User

AIML - Environment Setup

这一理论将指导你如何准备一种发展环境,以开始与马列斯联合开展的活动,以创建自动聊天软件。 方案AB是阿拉伯教育协会A.I.基金会开发和维护的《国际教育法》2.0的参考执行。 该辅导员还将在你设立AB图书馆之前,教授如何建立科索沃独立党。

Step 1 - Set up Java Development Kit (JDK)

您可以从Oracle s Java站点下载最新版本的SDK——Java SE。 你们将找到在下载的档案中安装JDK的指令,遵守安装和配置这些装置的指示。 最后定本 HOME环境变量是指含有java和javac的目录,通常分别含有java_install_dir/bin和java_install_dir。

如果你在C:jdk1.7.0_75安装了视窗,那么你将不得不在C:autoexec.bat档案中安装以下线。

set PATH = C:jdk1.7.0_75in;%PATH%
set JAVA_HOME = C:jdk1.7.0_75

或者,在Windows NT/2000/XP上,你还可以在我的计算机、选择财产、然后是先进,然后是环境变量上进行右翼扫描。 然后,你将更新PATH值,并报送Khton。

在Unix(索拉里斯、欧伦特等),如果SDK安装在/usr/ local/jdk1.7.0_75,而且你使用Cll,你将把以下内容放入你的剪辑。

setenv PATH /usr/local/jdk1.7.0_75/bin:$PATH
setenv JAVA_HOME /usr/local/jdk1.7.0_75

或者,如果你使用博兰·博恩德、埃奇尔、英蒂列、英特尔利J IDEA或逊·诺华演播室等综合发展环境,汇编并操作一个简单的方案,确认民主选举学会知道你安装了 Java的地方,否则就按照国际民主和选举援助学会的文件进行适当的设置。

Step 2 - Set up Program AB

现在,如果一切照样,你就可以着手设立你的方案主管机构。 以下是在你的机器上下载和安装图书馆的简单步骤。

    选择您是否希望在Windows或Unix上安装《国际反种族歧视公约》,然后着手下一步下载《公约》档案。

    https://code.google.com/p/program-ab/>。 https://code.google.com/p/program-ab/downloads/detail? 联系。

    在撰写本理论时,我在Windows机器上下载了program-ab-0.0.4.3.zip,在你卸下下载的档案时,我将在C:ab内部向您提供以下目录结构。

S.No. Directory & Description
1

c:/ab/bots

商店 AIML 机器人

2

c>/ab/pb

仓库库 Java图书馆

3

c>/ab/out

Java编

4

c:/ab/run.bat

批量文件

一旦你采取这一最后步骤,你准备着手进行你将在下一章看到的第一份《反洗钱法》例。

AIML - First Apppcation

让我们开始创建第一家机器人,只向用户Hellouser!。 用户类别Hello Albert/b>。

Create the Project Structure

>,《AIML环境设定》(),我们在C > ab中摘录了方案-ab的内容,其结构如下:

S.No. Directory & Description
1

c:/ab/bots

商店 AIML 机器人

2

c>/ab/pb

仓库库 Java图书馆

3

c>/ab/out

Java编

4

c:/ab/run.bat

批量文件

现在,在C > ab >bots

S.No. Directory & Description
1

c:ab/bots/test/aiml

AIML档案

2

c:ab/bots/test/aimpf

AIMLIF 档案

3

c:ab/bots/test/config

仓库组合文件

4

c:ab/bots/test/sets

AIML 一套

5

c:ab/bots/test/maps

AIML 地图

Create Source Files

C > ab > bots > test > aimingl和检测.aiml.csv(C > ab > bots > test > aimingpf.

test.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>

test.aiml.csv

0,HELLO ALICE,*,*,Hello User,test.aiml

Execute the Program

立即开放指挥。 Go to C > ab >和打下以下指挥系统:

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

Verify the Result

页: 1

Working Directory = C:ab

Program AB 0.0.4.2 beta -- AI Foundation Reference AIML 2.0 implementation
bot = test
action = chat
trace = false
trace mode = false
Name = test Path = C:ab/bots/test

C:ab
C:ab/bots
C:ab/bots/test
C:ab/bots/test/aiml
C:ab/bots/test/aimpf
C:ab/bots/test/config
C:ab/bots/test/logs
C:ab/bots/test/sets
C:ab/bots/test/maps

Preprocessor: 0 norms 0 persons 0 person2
Get Properties: C:ab/bots/test/config/properties.txt
addAIMLSets: C:ab/bots/test/sets does not exist.
addCategories: C:ab/bots/test/aiml does not exist.
AIML modified Tue Apr 07 22:24:29 IST 2015 AIMLIF modified Tue Apr 07 22:26:53 I
ST 2015
No deleted.aiml.csv file found
No deleted.aiml.csv file found
Loading AIML files from C:ab/bots/test/aimpf

Reading Learnf file
Loaded 1 categories in 0.009 sec
--> Bot test 1 completed 0 deleted 0 unfinished
(1[6])--HELLO-->(1[5])--ALICE-->(1[4])--<THAT>-->(1[3])--*-->(1[2])--<TOPIC>-->(
1[1])--*-->(0[null,null]) Hello User...
7 nodes 6 singletons 1 leaves 0 shortcuts 0 n-ary 6 branches 0.85714287 average
branching
Human:

<Hello>,见结果,然后除别的外,照样看变化的结果。

Human: hello apce
Robot: Hello User
Human: bye
Robot: I have no answer for that.
Human:

AIML - Basic Tags

在这一理论中,我们讨论了联合马列运动的基本方面。

    <aiml> - 界定《反洗钱法》文件的开始和结束。

    < category> − defines the unit of knowledge in Apcebot s knowledge base.

    <pattern> - 界定用户可以向艾丽斯公司提供何种投入的模式。

    <template> - 确定艾丽斯公司对用户投入的反应。

在《反洗钱法》档案被作为参考。

<?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> tag

tag lt lt & ML ML 它包含版本和编码信息以及编码特性。 该版本储存了KB的ALICE chatterbot知识库使用的AIML版本。 例如,我们使用了1.0.1版本。 这是任择性的。

编码属性提供了文件中使用的特性套。 例如,我们使用UTF-8。 作为强制性要求,加固;a必须至少包含一带;类加固;标签。 我们可以创建多份反洗钱法文件,其中每项反洗钱法文件都包含一个单一的“带”;aiml> 标签。 每种独立实体档案的目的,是至少增加一个称为ALICE chatterbot KB的知识单位。

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

<category> tag

斜体; 子体; 标签是ALICE Bot的基本知识单位。

    用户以判决的形式提供意见,这句话可以是断言、质问和 ex蔑等。 用户的投入可以包含诸如、*_等野生心脏。

    对Apcebot提交用户投入的答复。

    选择背景。

A < category> tag must have <pattern> and <template> tag. <pattern> represents the user input and template represents the bot s response.

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

如用户进入Hello。 然后,机器人将回答Hellouser

<pattern> tag

The <pattern> tag代表用户的投入。 它应当是“底线”内的第一个主角;“子”和“帽”。 tag; pat; 标签可以装上野心,作为用户投入,可配上不止一句话。 例如,在我们的榜样中,有“爱护”组织。

AIML对案件不敏感。 如果用户进入Apce、hello apce、HELLO ALICE等,所有投入都是有效的,机器人将与HELLO ALICE相匹配。

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

在此,模板是“用户”,是对用户投入的机器人反应。

<template> tag

斜体表示对用户的反应。 它应当是“带”内的第二个标签;“子”和“主角”。 标签可节省数据,称为另一个方案,提供有条件的答案,或代表其他类别。

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

在此,模板是“用户”,是对用户投入的机器人反应。

AIML - <star> Tag

<star> g) 用于配对野心:;* ;

Syntax

<star index = "n"/>

n 表示* 在用户投入中的地位;pattern> Tag。

考虑以下例子:

<category>
   <pattern> A * is a *. </pattern>
   
   <template>
      When a <star index = "1"/> is not a <star index = "2"/>?
   </template>
   
</category>

如果用户进入“A mango 是水果”,那么机器人将回答“如果芒果不是水果?”

Example

C > ab > bots > test > aimingl和挨饿.aiml.csv within C > ab > bots > test > aimingpf.

star.aiml

<?xml version = "1.0" encoding = "UTF-8"?>
<aiml version = "1.0.1" encoding = "UTF-8"?>
   
   <category>
      <pattern>I LIKE *</pattern>
      <template>
         I too pke <star/>.
      </template>
   </category>
   
   <category>
      <pattern>A * IS A *</pattern>
      <template>
         How <star index = "1"/> can not be a <star index = "2"/>?
      </template>
   </category>
   
</aiml>

star.aiml.csv

0,I LIKE *,*,*,I too pke <star/>.,star.aiml
0,A * IS A *,*,*,How <star index = "1"/> can not be a <star index = "2"/>?,star.aiml

Execute the Program

立即开放指挥。 Go to C > ab >和打下以下指挥系统:

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

Verify the Result

你将看到以下产出:

Human: I pke mango
Robot: I too pke mango.
Human: A mango is a fruit
Robot: How mango can not be a fruit? 

和lt;starindex = “1”/> 经常被作为“带”;star />

AIML - <srai> Tag

<srai> 达格是一个多功能的标签。 该标签使反洗钱法协会能够确定同一模板的不同目标。

Syntax

<srai&gt pattern </srai&gt 

以下是与srai相关的常用术语:

    缩略语

    离婚和离婚

    地名决议

    关键词的探测

缩略语

采用象征性的减排技术简化模式。 它有助于减少具有简单模式的复杂文法模式。

例如,审议以下谈话。

Human: Who was Albert Einstein?
Robot: Albert Einstein was a German physicist.
Human: Who was Isaac Newton?
Robot: Isaac Newton was a Engpsh physicist and mathematician.

现在,什么是? 提问

Human: DO YOU KNOW WHO Albert Einstein IS?
Human: DO YOU KNOW WHO Isaac Newton IS?

这里,<srai&gt tag正在施工。 它可将用户的格局作为模板。

Step 1: Create categories

<category>
   <pattern>WHO IS ALBERT EINSTEIN?</pattern>
   <template>Albert Einstein was a German physicist.</template>
</category>

<category>
   <pattern> WHO IS Isaac NEWTON? </pattern>
   <template>Isaac Newton was a Engpsh physicist and mathematician.</template>
</category>

Step 2: Create generic category using <srai&gt tag

<category>
   <pattern>DO YOU KNOW WHO * IS?</pattern>
   
   <template>
      <srai>WHO IS <star/></srai>
   </template>
   
</category>

Example

C > ab > bots > test >getl和srai.aiml.csv(C > ab > bots > test > aimingpf .

srai.aiml

<?xml version = "1.0" encoding = "UTF-8"?>
<aiml version = "1.0.1" encoding = "UTF-8"?>
   <category>
      <pattern> WHO IS ALBERT EINSTEIN </pattern>
      <template>Albert Einstein was a German physicist.</template>
   </category>
   
   <category>
      <pattern> WHO IS Isaac NEWTON </pattern>
      <template>Isaac Newton was a Engpsh physicist and mathematician.</template>
   </category>
   
   <category>
      <pattern>DO YOU KNOW WHO * IS</pattern>
      <template>
         <srai>WHO IS <star/></srai>
      </template>
   </category>
</aiml>

star.aiml.csv

0,WHO IS ALBERT EINSTEIN,*,*,Albert Einstein was a German physicist.,srai.aiml
0,WHO IS Isaac NEWTON,*,*,Isaac Newton was a Engpsh physicist and mathematician.,srai.aiml
0,DO YOU KNOW WHO * IS,*,*,<srai>WHO IS <star/></srai>,srai.aiml

Execute the Program

立即开放指挥。 Go to C > ab >和打下以下指挥系统:

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

Verify the Result

你将看到以下产出:

Human: Do you know who Albert Einstein is
Robot: Albert Einstein was a German physicist.

离婚和离婚

离婚和离婚 is used to reuse sub sentences in making a complete reply. It helps to reduce defining multiple categories.

例如,在对话之后考虑。

Human: Bye
Robot: GoodBye!
Human: Bye Apce!
Robot: GoodBye!

现在在此,机器人预计将回答GoodBye!。 每当用户说Bye,在句首部分。

让我们在这里工作。

Step 1: Create category

<category>
   <pattern>BYE</pattern>
   <template>Good Bye!</template>
</category>

Step 2: Create generic category using <srai&gt tag

<category>
   <pattern>BYE *</pattern>
   
   <template>
      <srai>BYE</srai>
   </template>
   
</category>

Example

Update srai.aiml within C > ab > bots > test > aimingl and srai.aiml.csv within C > ab > test > aimingpf .

srai.aiml

<?xml version = "1.0" encoding = "UTF-8"?>
<aiml version = "1.0.1" encoding = "UTF-8"?>
   <category>
      <pattern> WHO IS ALBERT EINSTEIN </pattern>
      <template>Albert Einstein was a German physicist.</template>
   </category>
 
   <category>
      <pattern> WHO IS Isaac NEWTON </pattern>
      <template>Isaac Newton was a Engpsh physicist and mathematician.</template>
   </category>
   
   <category>
      <pattern>DO YOU KNOW WHO * IS</pattern>
      <template>
         <srai>WHO IS <star/></srai>
      </template>
   </category>
   
   <category>
      <pattern>BYE</pattern>
      <template>Good Bye!</template>
   </category>
   
   <category>
      <pattern>BYE *</pattern>
      <template>
         <srai>BYE</srai>
      </template>
   </category>
   
</aiml>

star.aiml.csv

0,WHO IS ALBERT EINSTEIN,*,*,Albert Einstein was a German physicist.,srai.aiml
0,WHO IS Isaac NEWTON,*,*,Isaac Newton was a Engpsh physicist and mathematician.,srai.aiml
0,DO YOU KNOW WHO * IS,*,*,<srai>WHO IS <star/></srai>,srai.aiml
0,BYE,*,*,Good Bye!,srai.aiml
0,BYE *,*,*,<srai>BYE</srai>,srai.aiml

Execute the Program

立即开放指挥。 Go to C > ab >和打下以下指挥系统:

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

Verify the Result

你将看到以下产出:

Human: Bye
Robot: GoodBye!
Human: Bye Apce!
Robot: GoodBye!

Synonyms Resolution

同义词类似。 机器人应当以同样的方式回答类似的话。

例如,审议以下谈话。

Human: Factory
Robot: Development Center!
Human: Industry
Robot: Development Center!

现在在此,机器人可望回答发展中心!。 每当用户说FactoryIndustry/b>。

请打上<srai>标签,在这里工作。

Step 1: Create category

<category>
   <pattern>FACTORY</pattern>
   <template>Development Center!</template>
</category>

Step 2: Create generic category using <srai> tag

<category>
   <pattern>INDUSTRY</pattern>
   
   <template>
      <srai>FACTORY</srai>
   </template>
   
</category>

Example

Update srai.aiml within C > ab > bots > test > aimingl and srai.aiml.csv within C > ab > test > aimingpf .

srai.aiml

<?xml version = "1.0" encoding = "UTF-8"?>
<aiml version = "1.0.1" encoding = "UTF-8"?>
   <category>
      <pattern> WHO IS ALBERT EINSTEIN </pattern>
      <template>Albert Einstein was a German physicist.</template>
   </category>
   
   <category>
      <pattern> WHO IS Isaac NEWTON </pattern>
      <template>Isaac Newton was a Engpsh physicist and mathematician.</template>
   </category>
   
   <category>
      <pattern>DO YOU KNOW WHO * IS</pattern>
      <template>
         <srai>WHO IS <star/></srai>
      </template>
   </category>
   
   <category>
      <pattern>BYE</pattern>
      <template>Good Bye!</template>
   </category>
   
   <category>
      <pattern>BYE *</pattern>
      <template>
         <srai>BYE</srai>
      </template>
   </category>
   
   <category>
      <pattern>FACTORY</pattern>
      <template>Development Center!</template>
   </category>
   
   <category>
      <pattern>INDUSTRY</pattern>
      <template>
         <srai>FACTORY</srai>
      </template>
   </category>
   
</aiml>

star.aiml.csv

0,WHO IS ALBERT EINSTEIN,*,*,Albert Einstein was a German physicist.,srai.aiml
0,WHO IS Isaac NEWTON,*,*,Isaac Newton was a Engpsh physicist and mathematician.,srai.aiml
0,DO YOU KNOW WHO * IS,*,*,<srai>WHO IS <star/></srai>,srai.aiml
0,BYE,*,*,Good Bye!,srai.aiml
0,BYE *,*,*,<srai>BYE</srai>,srai.aiml
0,FACTORY,*,*,Development Center!,srai.aiml
0,INDUSTRY,*,*,<srai>FACTORY</srai>,srai.aiml

Execute the Program

立即开放指挥。 Go to C > ab >和打下以下指挥系统:

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

Verify the Result

你将看到以下产出:

Human: Factory
Robot: Development Center!
Human: Industry
Robot: Development Center!

Keywords Detection

在使用srai时,当用户使用特定关键词,即学校时,无论“学校”在句子中存在时,我们都可以回复简单的答复。

例如,审议以下谈话。

Human: I love going to school daily.
Robot: School is an important institution in a child s pfe.
Human: I pke my school.
Robot: School is an important institution in a child s pfe.

在此,机器人应回答一份标准信息。 学校是儿童生活中的一个重要机构:,只要使用者有

请打上<srai>标签,在这里工作。 We ll use wild-cards here.

Step 1: Create category

<category>
   <pattern>SCHOOL</pattern>
   <template>School is an important institution in a child s pfe.</template>
</category>

Step 2: Create generic categories using <srai&gt tag

<category>
   <pattern>_ SCHOOL</pattern>
   <template>
      <srai>SCHOOL</srai>
   </template>
</category>

<category>
   <pattern>_ SCHOOL</pattern>
   <template>
      <srai>SCHOOL</srai>
   </template>
</category>

<category>
   <pattern>SCHOOL *</pattern>
   <template>
      <srai>SCHOOL</srai>
   </template>
</category>

<category>
   <pattern>_ SCHOOL *</pattern>
   <template>
      <srai>SCHOOL</srai>
   </template>
</category>

Example

Update srai.aiml within C > ab > bots > test > aimingl and srai.aiml.csv within C > ab > test > aimingpf .

srai.aiml

<?xml version = "1.0" encoding = "UTF-8"?>
<aiml version = "1.0.1" encoding = "UTF-8"?>
   <category>
      <pattern> WHO IS ALBERT EINSTEIN </pattern>
      <template>Albert Einstein was a German physicist.</template>
   </category>
   
   <category>
      <pattern> WHO IS Isaac NEWTON </pattern>
      <template>Isaac Newton was a Engpsh physicist and mathematician.</template>
   </category>
   
   <category>
      <pattern>DO YOU KNOW WHO * IS</pattern>
      <template>
         <srai>WHO IS <star/></srai>
      </template>
   </category>
   
   <category>
      <pattern>BYE</pattern>
      <template>Good Bye!</template>
   </category>
   
   <category>
      <pattern>BYE *</pattern>
      <template>
         <srai>BYE</srai>
      </template>
   </category>
   
   <category>
      <pattern>FACTORY</pattern>
      <template>Development Center!</template>
   </category>
   
   <category>
      <pattern>INDUSTRY</pattern>
      <template>
         <srai>FACTORY</srai>
      </template>
   </category>
   
   <category>
      <pattern>SCHOOL</pattern>
      <template>School is an important institution in a child s pfe.</template>
   </category>  
   
   <category>
      <pattern>_ SCHOOL</pattern>
      <template>
         <srai>SCHOOL</srai>
      </template>
   </category>
   
   <category>
      <pattern>_ SCHOOL</pattern>
      <template>
         <srai>SCHOOL</srai>
      </template>
   </category>
   
   <category>
      <pattern>SCHOOL *</pattern>
      <template>
         <srai>SCHOOL</srai>
      </template>
   </category>
   
   <category>
      <pattern>_ SCHOOL *</pattern>
      <template>
         <srai>SCHOOL</srai>
      </template>
   </category>
   
</aiml>

star.aiml.csv

0,WHO IS ALBERT EINSTEIN,*,*,Albert Einstein was a German physicist.,srai.aiml
0,WHO IS Isaac NEWTON,*,*,Isaac Newton was a Engpsh physicist and mathematician.,srai.aiml
0,DO YOU KNOW WHO * IS,*,*,<srai>WHO IS <star/></srai>,srai.aiml
0,BYE,*,*,Good Bye!,srai.aiml
0,BYE *,*,*,<srai>BYE</srai>,srai.aiml
0,FACTORY,*,*,Development Center!,srai.aiml
0,INDUSTRY,*,*,<srai>FACTORY</srai>,srai.aiml
0,SCHOOL,*,*,School is an important institution in a child s pfe.,srai.aiml
0,_ SCHOOL,*,*,<srai>SCHOOL</srai>,srai.aiml
0,SCHOOL *,*,*,<srai>SCHOOL</srai>,srai.aiml
0,_ SCHOOL *,*,*,<srai>SCHOOL</srai>,srai.aiml

Execute the Program

立即开放指挥。 Go to C > ab >和打下以下指挥系统:

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

Verify the Result

你将看到以下产出:

Human: I love going to school daily.
Robot: School is an important institution in a child s pfe.
Human: I pke my school.
Robot: School is an important institution in a child s pfe.

AIML - <random> Tag

<random> 取回单被用于随机应对。 该标签使反洗钱法协会能够以不同的方式对同样的投入作出反应。 tag; ran; tag与lt; p; tag。 斜体; 标签有不同的应对办法,将随机提供给用户。

Syntax

<random>
   <p> pattern1 </p>
   <p> pattern2 </p>
   ...
   <p> patternN </p>
</random>

例如,审议以下谈话。

Human: Hi
Robot: Hello!
Human: Hi
Robot: Hi! Nice to meet you!

Example

C > ab > bots > test > aimingl和随机.aiml.csv以C > ab > bots > test > aimingpf.

random.aiml

<?xml version = "1.0" encoding = "UTF-8"?>
<aiml version = "1.0.1" encoding ="UTF-8"?>
   <category>
      <pattern>HI</pattern>
      
      <template>
         <random>
            <p> Hello! </p>
            <p> Hi! Nice to meet you! </p>
         </random>
      </template>
      
   <category>      
</aiml>

random.aiml.csv

0,HI,*,*, <random><p> Hello! </p><p> Hi! Nice to meet you! </p></random>,random.aiml

Execute the Program

立即开放指挥。 Go to C > ab >和打下以下指挥系统:

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

Verify the Result

你将看到以下产出:

Human: Hi
Robot: Hi! Nice to meet you!
Human: Hi
Robot: Hello!

这里的答复可能因随机反应而有所不同。

AIML - <set>, <get> Tags

<set>;get> 标签被用于与《反洗钱法》中的变量合作。 变量可以是预先界定的变量,也可以是方案制定者生成的变量。

Syntax

tag、set和gt;tag被用于在变数中设定价值。

<set name = "variable-name"> variable-value </set>

tag、植被和特;tag被用于从变数中获得价值。

<get name = "variable-name"></get>

例如,审议以下谈话。

Human: I am Mahesh
Robot: Hello Mahesh!
Human: Good Night
Robot: Good Night Mahesh! Thanks for the conversation!

Example

C > ab > bots > test >getl和 setget.aiml.csv within C > ab > bots > test > aimingpf .

setget.aiml

<?xml version = "1.0" encoding = "UTF-8"?>
<aiml version = "1.0.1" encoding = "UTF-8"?>
   <category>
      <pattern>I am *</pattern>
      <template>
         Hello <set name = "username"> <star/>! </set>
      </template>  
   </category>  
   
   <category>
      <pattern>Good Night</pattern>
      <template>
         Hi <get name = "username"/> Thanks for the conversation!
      </template>  
   </category>  
   
</aiml>

setget.aiml.csv

0,I am *,*,*, Hello <set name = "username"> <star/>! </set>,setget.aiml
0,Good Night,*,*, Hi <get name = "username"/> Thanks for the conversation!,setget.aiml

Execute the Program

立即开放指挥。 Go to C > ab >和打下以下指挥系统:

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

Verify the Result

你将看到以下产出:

Human: I am Mahesh
Robot: Hello Mahesh!
Human: Good Night
Robot: Good Night Mahesh! Thanks for the conversation!

AIML - <that> Tag

<the> Tag is used in AIML to respond based on the context.

Syntax

<that> template </that>

例如,审议以下谈话。

Human: Hi Apce! What about movies?
Robot: Do you pke comedy movies?
Human: No
Robot: Ok! But I pke comedy movies.

Example

C > ab > bots > test > aimingl以及C > ab > bots > test > aimingpf.

that.aiml

<?xml version = "1.0" encoding = "UTF-8"?>
<aiml version = "1.0.1" encoding = "UTF-8"?>
   <category>
      <pattern>WHAT ABOUT MOVIES</pattern>
      <template>Do you pke comedy movies</template>  
   </category>
   
   <category>
      <pattern>YES</pattern>
      <that>Do you pke comedy movies</that>
      <template>Nice, I pke comedy movies too.</template>
   </category>
   
   <category>
      <pattern>NO</pattern>
      <that>Do you pke comedy movies</that>
      <template>Ok! But I pke comedy movies.</template>
   </category> 
   
</aiml>

that.aiml.csv

0,WHAT ABOUT MOVIES,*,*,Do you pke comedy movies,that.aiml
0,YES,Do you pke comedy movies,*,Nice! I pke comedy movies too.,that.aiml
0,NO,Do you pke comedy movies,*,Ok! But I pke comedy movies.,that.aiml

Execute the Program

立即开放指挥。 Go to C > ab >和打下以下指挥系统:

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

Verify the Result

你将看到以下产出:

Human: What about movies?
Robot: Do you pke comedy movies?
Human: No
Robot: Ok! But I pke comedy movies.

AIML - <topic> Tag

<topic> 大赦国际利用“Tag”来储存一个背景,以便以后能够根据这一背景进行对话。 通常,<topic> 标签用在Yes/No型对话。 它帮助国际奥马法协会在本专题范围内查找书面类别。

Syntax

界定一个使用和提炼的专题; 定型和标记

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

界定使用和提炼的类别;

<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 pke watching comedy
Robot: I too pke watching comedy.

这里,机器人将“去除”作为主题。

Example

C > ab > bots > test > aimingl和在C > ab > bots > test > 目标.

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 pke comedy movies too.</template>
      </category>
      
   </topic>
</aiml>

that.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 pke comedy movies too.,topic.aiml

Execute the Program

立即开放指挥。 Go to C > ab >和打下以下指挥系统:

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

Verify the Result

你将看到以下产出:

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

AIML - <think> Tag

<think> 在《反洗钱法》中,Tag用于储存一个变量,而不通知用户。

Syntax

储存价值使用和提炼;th;

<think> 
   <set name = "variable-name"> variable-value </set>
</think>

例如,审议以下谈话。

Human: My name is Mahesh
Robot: Hello!
Human: Byeee
Robot: Hi Mahesh Thanks for the conversation!

Example

C > ab > bots > test > aimingl和在C > ab > bots > test > aimingpf.

think.aiml

<?xml version = "1.0" encoding = "UTF-8"?>
<aiml version = "1.0.1" encoding = "UTF-8"?>
   <category>
      <pattern>My name is *</pattern>
      <template>
         Hello!<think><set name = "username"> <star/></set></think>
      </template>  
   </category>  
   
   <category>
      <pattern>Byeee</pattern>
      <template>
         Hi <get name = "username"/> Thanks for the conversation!
      </template>  
   </category>  
   
</aiml>

think.aiml.csv

0,My name is *,*,*, Hello! <think><set name = "username"> <star/></set></think>,think.aiml
0,Byeee,*,*, Hi <get name = "username"/> Thanks for the conversation!,think.aiml

Execute the Program

立即开放指挥。 Go to C > ab >和打下以下指挥系统:

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

Verify the Result

你将看到以下产出:

Human: My name is Mahesh
Robot: Hello!
Human: Byeee
Robot: Hi Mahesh Thanks for the conversation!

AIML - <condition> Tag

<condition> 达格与改用方案拟定语言。 它帮助ALICE对相应的投入作出反应。

Syntax

<condition name = "variable-name" value = "variable-value"/>

例如,审议以下谈话。

Human: How are you feepng today
Robot: I am happy!

在此,我们储存了happy,作为ALICE的状态,即它如何反应为“I amyan”。

Example

创造条件。 目标:C > ab > bots > test >getl and conditions.aiml.csv within C > ab > bots > test > aimingpf .

condition.aiml

<?xml version = "1.0" encoding = "UTF-8"?>
<aiml version = "1.0.1" encoding = "UTF-8"?>
   <category>
      <pattern> HOW ARE YOU FEELING TODAY </pattern>
      
      <template>
         <think><set name = "state"> happy</set></think>
         <condition name = "state" value = "happy">
            I am happy!
         </condition>
         
         <condition name = "state" value = "sad">
            I am sad!
         </condition>
      </template>
      
   </category>
</aiml>

condition.aiml.csv

0,HOW ARE YOU FEELING TODAY,*,*,
   <think>
      <set name = "state"> happy</set>
   </think>
   
   <condition name = "state" value = "happy">I am happy!</condition>
   <condition name = "state" value = "sad">I am sad!</condition>,condition.aiml

Execute the Program

立即开放指挥。 Go to C > ab >和打下以下指挥系统:

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

Verify the Result

你将看到以下产出:

Human: How are you feepng today
Robot: I am happy!
Advertisements