Использование <that> с * в AIML

Я пытаюсь заставить своего бота задавать вопросы и отвечать в зависимости от ответа. Вопрос случайный, заканчивающийся словами "как дела?".

<aiml version = "1.0.1" encoding = "UTF-8">
   <category>
      <pattern>HI</pattern>
      <template>
          <random>
              <li>Hi! How are you?</li>
              <li>Hello there. How are you?</li>
              <li>Greeings. And how are you?</li>
          </random>
      </template>
   </category>

    <category>
        <pattern>GOOD</pattern>
        <that>* how are you?</that>
        <template>Happy to hear that.</template>
    </category>


    <category>
        <pattern>*</pattern>
        <template>Can you rephrase that?</template>
    </category>

</aiml>

Если я отвечу "Хорошо", бот не поймет и ответит "Можете ли вы перефразировать это?".

1 ответ

Попробуйте удалить знак вопроса из текста внутри вашего that тег. В версии AIML 1 для всех шаблонов и тегов 'that' следует использовать только символы подчеркивания звездочки (*) (_) или текст в верхнем регистре. Верхний регистр - это скорее соглашение, чем фактическое требование.

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