Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Структура AIML документа, основные тэги языка.

AIML (Artificial Intelligence Markup Language) — язык разметки для искусственного интеллекта. AIML — подмножество XML, он предназначается для создания виртуальных собеседников.

Основой 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>.
Таким образом, теперь, на реплику "Привет, бот!" наш бот ответит либо "приветик...", либо "Здравствуйте!".

Передразнивание. Тег <star/>.

Допустим, собеседник предлагает боту неизвестную тему для разговора: "Поговорим о ФКН". Тем для разговора может быть много, знать их все боту нереально трудно, поэтому мы создаем лишь иллюзию того, что бот понимает о чем речь и принимает тему, отвечая: "Ок, о ФКН так о ФКН...". Создать такую ответную реплику нам удается с помощью тега <star/>.

<category>
<pattern>ПОГОВОРИМ О *</pattern>
<template>Ок, о <star/>, так о <star/></template>
</category
>

 

<star/> - это та самая звездочка, которая стоит в паттерне. Таким образом то, что находится после "Поговорим о" будет вставлено в ответную реплику.

Человек: Поговорим о ФКН?
Бот: Ок, о ФКН, так о ФКН
Человек: Поговорим о РГФ?
Бот: Ок, о РГФ, так о РГФ

Тег <sr/>

 

Что же такое <sr/>?

<sr/> это сокращенная запись <srai><star/></srai>, то есть ссылка на звездочку.
рассмотрим следующий блок AIML-кода и диалог с его использованием

<category>
<pattern>Я ДУМАЮ *</pattern>
<template><sr/></template>
</category>

<category>
<pattern>ТЫ *</pattern>
<template>Я <star/>?</template>
</category>

<category>
<pattern>ДА</pattern>
<template>Не буду спорить.</template>

 

Пример разговора:

Человек: Я думаю, ты хороший бот.
Бот: Я хороший бот?
Человек: Да.
Бот: Не буду спорить

Ключевой символ «_»

Этот символ отбрасывает все слова, которые были написаны до искомого слова и обрабатывает только слово, которое должно быть после данного символа.

 

Примечание: в случае если искомое слово было написано слитно с «_», то искомое слово как отдельное не найдётся.

<category>
<pattern>
_ FRIENDS
</pattern>
<template>
<random>
<li>
It is good!
</li>
<li>
Well, when there are friends
</li>
</random>
</template>
</category>

 

Пример общения:

 

We're true friends

It is good!

You're my friend

Well, when there are friends

 



<== предыдущая лекция | следующая лекция ==>
Контроль и оценка результатов освоения учебной дисциплины. | Механика проведения Конкурса
Поделиться с друзьями:


Дата добавления: 2017-02-24; Мы поможем в написании ваших работ!; просмотров: 662 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Студент может не знать в двух случаях: не знал, или забыл. © Неизвестно
==> читать все изречения...

2853 - | 2410 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.014 с.