Проверьте 2 значения в файле прицеливания

Как я могу проверить 2 значения в состоянии или с другими тегами? Я хочу проверить, совпадает ли имя пользователя с неизвестным значением пользователя, но я не знаю, как я могу это сделать.

1 ответ

Решение

Предположим, у вас есть имя пользователя, хранящееся в глобальном свойстве (предикате) с именем user, используя <set name="user">George</set> Вы можете проверить имя пользователя с помощью категории 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. <li> элементы в <condition> проверить свойство name на наличие неизвестного и пустого. В этом случае AI отвечает, что пользователь не сказал нам свое имя.
  3. Финал <li> Элемент запускается, если у нас есть имя, и он отвечает "Hello", за которым следует имя пользователя.

Я не проверял это с программой O, но это стандарт AIML и должен работать нормально. Я успешно закодировал подобные категории в своем собственном AI.

Другие вопросы по тегам