?

Log in

No account? Create an account

Previous Entry | Next Entry

Основой AIML (мозга бота) являются категории (category), содержащие ключевые слова (pattern) и ответные реплики (template).
Рассмотрим простой пример:



<?xml version="1.0" encoding="UTF-8"?>
<aiml>
<category>
   <pattern>ПРИВЕТ</pattern>
   <template>
      <random>
         <li>приветик ...</li>
         <li>Здравствуйте!</li>
      </random>
   </template>
</category>
</aiml>


Обладая таким мозгом, бот сможет отвечать на слово "Привет" (независимо от регистра), произвольно выбирая в качестве варианта ответа либо "приветик ...", либо "Здравствуйте!".
Обратим внимание, что значение в теге <pattern> всегда указывается только в верхнем регистре!
Также обратим внимание на то, что на реплику "Привет, бот!" наш бот уже не ответит, так как в нашем примере паттерн определен только для слова "Привет".
Для того, чтобы бот реагировал на любую реплику, которая начинается со слова "Привет", дополним наш пример следующей конструкцией:


<?xml version="1.0" encoding="UTF-8"?>
<aiml>
<category>
   <pattern>ПРИВЕТ</pattern>
   <template>
      <random>
         <li>приветик ...</li>
         <li>Здравствуйте!</li>
      </random>
   </template>
</category>

<category>
   <pattern>ПРИВЕТ *</pattern>
   <template><srai>ПРИВЕТ</srai></template>
</category>

</aiml>


Вторая категория (<pattern>ПРИВЕТ *</pattern>) соответствует любой строке, которая начинается со слова "привет" и отправляет бота к категории "ПРИВЕТ" с помощью конструкции <srai>ПРИВЕТ</srai>.
Таким образом, теперь, на реплику "Привет, бот!" наш бот ответит либо "приветик ...", либо "Здравствуйте!".

Tags: