【发布时间】:2016-10-04 18:34:00
【问题描述】:
我找到了bot.aiml 文件here,它使用了诸如<bot name="genus"/> 之类的东西。我认为这类似于<get name="name"/> 之类的东西,它会得到客户的名字。那么,如何为机器人设置诸如genus 之类的属性,以便我可以通过这种方式检索它?
【问题讨论】:
标签: aiml
我找到了bot.aiml 文件here,它使用了诸如<bot name="genus"/> 之类的东西。我认为这类似于<get name="name"/> 之类的东西,它会得到客户的名字。那么,如何为机器人设置诸如genus 之类的属性,以便我可以通过这种方式检索它?
【问题讨论】:
标签: aiml
假设机器人问你你的名字,当你说“我的名字是 JACOB”时,你希望机器人说“我会记住你的名字是 JACOB”,并将变量“clientname”的值设置为“JACOB ”。
将这些行添加到您的 AIML 文件中:
<category>
<pattern>MY NAME IS *</pattern>
<template>I will remember that your name is </star><think><set name="clientname"></star></set></template>
</category>
在此,</star> 标记代表您将在 * 的位置输入的任何内容(在本例中为 JACOB)。
【讨论】:
我认为最初的问题是关于机器人的属性,而不是用户属性。
在 AIML v1(和 v2)中,使用 <bot name="name"/>(例如)检索机器人属性以获取机器人的名称。使用<get name="name"/> 检索用户属性并使用<set name="name">Fred</set> 进行更新(例如)。我认为标准 AIML 没有任何方法可以在加载机器人后更新机器人的属性。
【讨论】: