AIML - Основные теги

В этом руководстве мы обсудим основные теги AIML.

  • <aiml> - определяет начало и конец документа AIML.

  • <category> - определяет unit of knowledge в базе знаний Alicebot.

  • <pattern> - определяет шаблон, соответствующий тому, что пользователь может ввести в Alicebot.

  • <template> - определяет реакцию Alicebot на ввод пользователя.

Следующие файлы AIML были использованы здесь в качестве справочных.

<?xml version = "1.0" encoding = "UTF-8"?>
<aiml version = "1.0.1" encoding = "UTF-8"?>
   <category>
      <pattern> HELLO ALICE </pattern>
      
      <template>
         Hello User
      </template>
      
   </category>
</aiml>

тег <aiml>

Тег <aiml> отмечает начало и конец документа AIML. Он содержит информацию о версии и кодировке в атрибутах версии и кодировки. Атрибут version хранит версию AIML, используемую ALICE chatterbot Knowledge Base, KB. Например, мы использовали версию 1.0.1. Этот атрибут не является обязательным.

Атрибуты кодирования предоставляют наборы символов, которые будут использоваться в документе. Например, мы использовали UTF-8. В качестве обязательного требования тег <aiml> должен содержать хотя бы один тег <category>. Мы можем создать несколько файлов AIML, где каждый файл AIML содержит один тег <aiml>. Цель каждого файла AIML - добавить по крайней мере одну единицу знаний, называемую категорией, в базу знаний ALICE chatterbot.

<aiml version = "1.0.1" encoding = "UTF-8"?>
   ...
</aiml>

тег <category>

Тег <category> - это фундаментальная единица знаний бота ALICE. Каждая категория содержит -

  • Пользовательский ввод в форме предложения, который может быть утверждением, вопросом, восклицанием и т. Д. Пользовательский ввод может содержать символы подстановки, например * а также _.

  • Ответ на ввод пользователя, представленный Alicebot.

  • Необязательный контекст.

А <category> тег должен иметь <pattern> а также <template> тег. <pattern> представляет собой ввод пользователя, а шаблон представляет ответ бота.

<category>
   <pattern> HELLO ALICE </pattern>
   
   <template>
      Hello User
   </template>
   
</category>

Здесь, если пользователь вводит Hello Alice тогда бот ответит как Hello User.

тег <pattern>

Тег <pattern> представляет ввод пользователя. Это должен быть первый тег в теге <category>. Тег <pattern> может содержать подстановочный знак, чтобы соответствовать более чем одному предложению, введенному пользователем. Например, в нашем примере <pattern> содержит HELLO ALICE.

В AIML регистр не учитывается. Если пользователь вводит Hello Alice, hello alice, HELLO ALICE и т. Д., Все данные действительны, и бот сопоставит их с HELLO ALICE.

<category>
   <pattern> HELLO ALICE </pattern>
   
   <template>
      Hello User
   </template>
   
</category>

Здесь шаблон «Hello User» представляет собой реакцию робота на ввод пользователя.

тег <template>

Тег <template> представляет ответ бота пользователю. Это должен быть второй тег в теге <category>. Этот тег <template> может сохранять данные, вызывать другую программу, давать условные ответы или делегировать другим категориям.

<category>
   <pattern> HELLO ALICE </pattern>
   
   <template>
      Hello User
   </template>
   
</category>

Здесь шаблон «Hello User» представляет собой ответ робота на ввод пользователя.