检查aiml文件中的2个值

时间:2017-11-23 09:27:02

标签: aiml program-o

如何在条件或其他标签中检查2个值? 我想检查用户的姓名是否与未知用户价值相同,但我不知道该怎么办。

1 个答案:

答案 0 :(得分:0)

假设您使用<set name="user">George</set>将用户名存储在名为 user 的全局属性(谓词)中。您可以使用以下AIML类别检查用户名:

<category>
  <pattern>WHAT IS MY NAME</pattern>
  <template>
    <condition>
      <li name="user" value="unknown">You haven't told me your name</li>
      <li name="user" value="">You haven't told me your name</li>
      <li>Hello <get name="user"/>!</li>
    </condition>
  </template>
<category>

其工作原理如下:

  1. 您设置了一个响应用户输入“我叫什么名字”
  2. 的类别
  3. <li>中的<condition>元素测试 name 属性是否为未知和空白。在这种情况下,AI回复用户没有告诉我们他们的名字。
  4. 如果我们有一个名字,则触发最后的<li>元素,并回复“Hello”后跟用户名。
  5. 我没有用程序O对它进行测试,但它是标准的AIML,应该可以正常工作。我已经在我自己的AI中成功编写了类似的类别。