与AIML中的不同用户进行多次对话

时间:2020-02-22 11:27:21

标签: chat chatbot aiml

所以我想做的是在机器人和一个人之间进行对话,但是最终机器人必须在不同的人之间至少进行3次对话。我为此寻找了很多东西,但找不到任何可行的方法。

有人可以帮我解释一下如何在漫游器和多个用户之间进行多次对话吗?

1 个答案:

答案 0 :(得分:0)

使用AIML开发的机器人并不是完全无状态的,因为它们可以在与用户互动时保存每个用户的信息。

您的整个漫游器可以与N个用户进行交互,因为AIML漫游器没有这种限制。

如果您使用Set标签保存变量

<set name = "variable-name"> variable-value </set>
<category>
  <pattern>I AM *</pattern>
  <template>
     Hi there <set name="name"> <star/>!</set>
  </template>  
</category>  

然后可以将其存储为该特定用户,或者作为全局变量存储,这取决于您使用的AIML规范的实现。

我不是AIML专家,但是我确实使用SIML进行机器人开发。

SIML 中,按以下方式分别存储每个用户的信息或变量。

<Model>
 <Pattern>WHAT IS MY NAME</Pattern>
 <Response>Your name is <User Get="name"/></Response>
</Model>