Учебники

AIML — основные теги

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

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

  • <категория> — определяет единицу знаний в базе знаний Alicebot.

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

  • <шаблон> — определяет реакцию Алисбот на ввод пользователя.

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

<категория> — определяет единицу знаний в базе знаний Alicebot.

<pattern> — определяет шаблон, соответствующий тому, что пользователь может ввести в 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 болтовней, KB. Например, мы использовали версию 1.0.1. Этот атрибут не является обязательным.

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

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

тег <category>

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

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

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

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

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

Ответ на ввод пользователя должен быть представлен Alicebot.

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

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

<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>

Здесь шаблон «Привет, пользователь» и представляет ответ робота на ввод пользователя.

тег <template>

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

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

Здесь шаблон «Привет, пользователь» и представляет ответ робота на ввод пользователя.