没有合适的资源?快使用搜索试试~ 我知道了~
首页AIML参考手册(中文版)
资源详情
资源评论
资源推荐

AIML 参考手册
<aiml>
<aiml>是每段 AIML 代码的根元素。所有其他元素都以 AIML 子元素形式存在。
属性
version(可选)
指定该 AIML 文档的版本号。
用法
<?xml version="1.0" encoding="UTF-8"?>
<aiml version="2.0">
<!-- AIML code goes here -->
</aiml>
<bot />
bot 元素(element)用于指向用户定义在.properties 文件中的自定义机器人属性。这些属性对于机器
人所有用户都是可见的。
属性
name(必选)
指定指向的属性名称。如果该名称下不存在以该名称命名的属性,则 bot 属性返回 default-property 属
性的值。
用法
<category>
<pattern>WHAT IS YOUR NAME</pattern>
<template>My name is <bot name="name" /></template>
</category>
<button />
button 标签是一个富媒体元素,用于在会话期间为用户提供快速点击选项。目前该元素支持两种形式
的回发(给机器人回送消息)按钮以及一种类似链接的 url 按钮。
属性
text(可选)

指定显示在按钮上的文字。
postback(可选)
指定当按钮触发时机器人接收的消息。该消息对用户是不可见的。
url(可选)
指定当按钮触发时跳转的链接。
用法
<button>
<text>Tell Me More</text>
<postback>xmoreabout foo</postback>
</button>
<button>
<text>Visit Us</text>
<url>https://home.pandorabots.com</url>
</button>
<card>
一个 card 标签包裹若干其他标签,比如 image 标签、button 标签、title 标签和 subtitle 标签等。该标
签作用是包含上述富媒体元素的菜单。
属性
title(必选)
显示在顶端的黑体文字,用于给用户看的描述。
subtitle(可选)
对标题文字的补充,从文字等级上较之 title 更轻。
image(必选)
提供图片指向的链接位置。
button(必选)
一到多个按钮标签,为用户提供响应选项。
用法
<card>
<title>Card Menu</title>

<subtitle>Describe a card</subtitle>
<image>https://url.for.image</image>
<button>
<text>Learn More</text>
<postback>xlearnmoreabout cards</postback>
</button>
</card>
<carousel>
一个 carousel 标签将一些 card 元素包装起来,以创建一个按不同类别组织的 tap-through(类似 ajax
但是需要用户操作,见 card 属性)菜单。
属性
card(必选)
如果有两个以上 card 标签,carousel 每次显示一个,允许用户通过交互继续展示。
用法
<carousel>
<card>
<title>Robots</title>
<subtitle>Made of metal</subtitle>
<image>https://url.for.image</image>
<button>Tell Me More</button>
</card>
<card>
<title>Humans</title>
<subtitle>Made of carbon</subtitle>
<image>https://url.for.image</image>
<button>Tell Me More</button>
</card>
</carousel>
<category>
在基于 AIML 的聊天机器人中,category 元素划定一个基础知识单元。广义来讲,单个的 category 接
受一个输入并返回一个输出。
所有 AIML 元素(除了 AIML 根元素和主题元素之外)必须包含在 category 块中。
属性
无
用法
<category>
<pattern>HI</pattern>
<template>Hello world!</template>
</category>

<condition>
condition 元素用于在机器人对话中创建 IF-THEN-ELSE 类型的控制流。这是通过检查变量的值,并根
据该值返回响应来完成的。
属性
您可以选择您的条件取决于谓词还是局部变量,这取决于您提供的属性:
name
用于指定要检查其值的谓词的名称。
Var
用于指定要检查其值的局部变量的名称。
用法
condition 元素与使用值属性编写的列表元素一起使用。如果条件元素中引用的谓词的值与任何列表
元素的值匹配,则将返回该列表元素。
如果列表元素不包含 value 属性,那么在没有其他列表元素匹配谓词值的情况下,将返回该元素。
<category>
<pattern>DO YOU FIND ME ATTRACTIVE</pattern>
<template>
<condition name="gender">
<li value="male">I find you very handsome.</li>
<li value="female">I find you very pretty.</li>
<li>I find you very attractive.</li>
</condition>
</template>
</category>
在本例中,机器人将检查名为 gender 的谓词的值。在谓词的值为“male”或“female”的情况下,将返回
前两个列表元素之一。如果这两个条件都不满足,那么将返回第三个 list 元素。
您还可以使用条件来检查谓词的状态,即是否设置了谓词。
<category>
<pattern>WHAT IS MY NAME</pattern>
<template>
<condition name="firstname">
<li value="unknown">You haven't told me your name.</li>
<li>Your name is <get name="firstname" /></li>
</condition>
</template>
</category>
注意:如果谓词还没有设置值,则该值将是基于 bot default-get 属性的“unknown”。

<date />
用于返回用户的本地日期。
属性
format (可选)
用于指定返回日期的格式。可以写成 UNIX 的 strftime 函数的参数形式。更多信息请点击这里。
用法
<category>
<pattern>WHAT IS THE DATE</pattern>
<template>Today is <date format="%B %d, %Y" /></template>
</category>
<delay>
delay 标签用于在响应的不同部分之间引入停顿,以便更容易阅读,或者用于模拟人类读取和键入响应
所需的时间。它们很容易使用——只需要将标签包住您希望您的机器人响应等待的秒数即可。
用法
<delay>3</delay>
<denormalize>
denormalize 元素试图匹配内容而不是在 denormal.substitution 中的属性名称。如果找到匹配项,则
denormalize 元素及其内容将被属性值替换。
在 denormal.substitution 中发现的属性用于反转由 normal.substitution 完成的转换。
用法
在预处理过程中,normal.subsitution 移除标点符号。
我们来看一个轮次对话,该对话在起始输入中包含一些标点符号。
<category>
<pattern>SAY *</pattern>
<template><star /></template>
</category>
Input: Say pandorabots.com
Output: pandorabots dot com
这个标点符号可以使用 denormalize 元素重新插入:
剩余30页未读,继续阅读



安全验证
文档复制为VIP权益,开通VIP直接复制

评论0