Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Закрытая и открытая модели описания содержимого элемента



Когда мы определяем модель содержимого текущего элемента, список дополнительных допустимых элементов правилами не ограничивается - он может свободно расширяться. Например, для приведенного выше правила, кроме обозначенных элементов <tel>,<url> и <email> вполне могут использоваться дополнительные элементы, неописанные правилами, например, <fax>:

<contacts>

<tel>12-12-12</tel>

<fax>21-21-21</fax>

<email>[email protected]</email>

<url>http://www.j.com</url>

</contacts>

Однако в том случае, если мы хотим ограничить создаваемые нами правила от включения дополнительных элементов, мы должны использовать атрибут content и установить для него специальное значение CLOSED:

<elementType id="contacts" content="CLOSED">

<element type="#tel">

<element type="#email">

<element type="#url">

</elementType>

Теперь приведенный фрагмент XML-документа будет считаться некорректным, т.к. параметром contentзапрещено использование внутри элемента contacts других объектов, кроме указанных в правиле.

  1. Структура 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

  1. Примеры работы с редактором AIML – GAITOBOT.

 

Бот, а также интернет-бот, www-бот и т. п. (англ. bot, сокр. от англ. robot) – специальная программа, выполняющая автоматически и/или по заданному расписанию какие-либо действия через те же интерфейсы, что и обычный пользователь

 

 

<?xml version="1.0" encoding="ISO-8859-15"?>

 

Теги <set>, <get>

Данные теги используются для работы с переменными в AIML.

<set> устанавливает значение переменной

 

<get> получает значение переменной

 

Пример <set> , <get>

<category>

<pattern>I am *</pattern>

<template>

    Hello <set name="username"> <star/>! </set>

</template> 

</category> 

<category>

<pattern>Good Night</pattern>

<template>

    Hi <get name="username"/> Thanks for the conversation!

</template> 

</category> 






























































Пример диалога

Human: I am Mahesh

Robot: Hello Mahesh!

Human: Good Night

Robot: Good Night Mahesh! Thanks for the conversation!

 

Тег <that>

Данный тег используется в AIML для реагирования внутри контекста

 

<category>

<pattern>WHAT ABOUT MOVIES</pattern>

<template>Do you like comedy movies</template> 

</category>

<category>

<pattern>YES</pattern>

<that>Do you like comedy movies</that>

<template>Nice, I like comedy movies too.</template>

</category>

<category>

<pattern>NO</pattern>

<that>Do you like comedy movies</that>

<template>Ok! But I like comedy movies.</template>

</category>

 

Human: Hi Alice! What about movies?

Robot: Do you like comedy movies?

Human: No

Robot: Ok! But I like comedy movies.

 

Тег < topic >

Данный тег используется в AIML для хранение контекста, на основе которого будет базироваться дальнейший диалог с ботом. Как правило, тег <topic> используется в общении типа ДА/НЕТ

Human: let discuss movies

Robot: Yes movies

Human: Comedy movies are nice to watch

Robot: Watching good movie refreshes our minds.

Human: I like watching comedy

Robot: I too like watching comedy.

 

<category>

<pattern>LET DISCUSS MOVIES</pattern>

<template>Yes <set name="topic">movies</set></template> 

</category>

<topic name="movies">

<category>

    <pattern> * </pattern>

    <template>Watching good movie refreshes our minds.</template>

</category>

<category>

    <pattern> I LIKE WATCHING COMEDY! </pattern>

    <template>I like comedy movies too.</template>

</category>

</ topic >

Тег < think >

Данный тег используется в AIML для хранения значения переменной без уведомления пользователя об этом.

 

Human: My name is Mahesh

Robot: Hello!

Human: Byeee

Robot: Hi Mahesh Thanks for the conversation!

 

<category>

<pattern>My name is *</pattern>

<template>

    Hello!<think><set name="username"> <star/></set></think>

</template> 

</category> 

<category>

<pattern>Byeee</pattern>

<template>

    Hi <get name="username"/> Thanks for the conversation!

</template> 

</category>

Тег < condition >

Данный тег похож на переключатель темы

Human: How are you feeling today

Robot: I am happy!

 

<category>

<pattern>ARE YOU FEELING TODAY *</pattern>

<template>

    <think><set name="state"> <star/> </set></think>

    <condition name="state" value="happy">

       I am happy!

    </condition>

    <condition name="state" value="sad">

       I am sad!

    </condition>

</template>

</category>

23. Программный бот, его программирование, регистрация в WWW, сообщества ботов. Области использования ботов.

Ро́бот, или бот, а также интернет-бот, www-бот и т. п. (англ. bot, сокр. от чеш. robot) — специальная программа, выполняющая автоматически и/или по заданному расписанию какие-либо действия через те же интерфейсы, что и обычный пользователь.

Обычно боты предназначаются для выполнения работы, однообразной и повторяемой, с максимально возможной скоростью (очевидно, намного выше возможностей человека). Лицо, обслуживающее серверы, может поместить на сервере файл robots.txt, содержащий ограничения, которым обязаны подчиняться боты.

Боты находят также применение в условиях, когда требуется лучшая реакция по сравнению с возможностями человека (например, игровые боты, боты для интернет-аукционов и т. п.) или, реже, для имитации действий человека (например, боты для чатов и т. п.).

Чат-бот может выдать достаточно адекватный ответ на вопрос, сформулированный на правильном русском языке (или любом другом, работа с которым поддерживается). Такие боты часто применяются для сообщения прогноза погоды, результатов спортивных соревнований, курсов валют, биржевых котировок и т. п. Они находят применение, например, в системе SmarterChild в AOL Instant Messenger и MSN messenger. (наплетите фигню, как мы создавали чат-бота на сайте Pandora).

Также бывают боты для коммерческого использования, такие используются на eBay, а также для вредоносного использования.

У каждого бота должна бать своя учетная запись. Все боты, которые осуществляют какие-либо протоколируемые действия (например, редактирование страниц, загрузка файлов или создание аккаунтов), должны быть одобрены до начала работы. Операторы могут осуществлять ограниченное тестирование ещё не одобренного бота при условии, что испытания малы и немногочисленны, а также ограничены в области проведения тестовыми страницами. Подобные тестовые правки могут быть выполнены из-под любой учётной записи. Кроме того, любой бот или автоматизированный процесс, затрагивающий лишь собственные личные страницы и подстраницы либо личные страницы ботовладельца, может быть запущен без предварительного одобрения.

24.  Понятие онтологии, элементы онтологии : экземпляры (примеры), понятия (концепты), атрибуты, отношения.

 

Термин «онтология» был предложен Рудольфом Гоклениусом в 1613, имеет два значения:

• «Философская дисциплина, которая изучает наиболее общие характеристики бытия и сущностей» • «Онтология – артефакт, структура, описывающая значения элементов некоторой системы»

Онтология - это точная спецификация некоторой предметной области. Формальное и декларативное представление, которое включает словарь (или имена) указателей на термины предметной области и логические выражения, которые описывают, что эти термины означают, как они соотносятся друг с другом, и как они могут или не могут быть связаны друг с другом. Самое короткое определение.

Онтология - это спецификация концептуализации (Том Грубер, 1993 ) 

• Тезаурусы -особая разновидность словарей, в которых указаны семантические отношения (синонимы, антонимы, паронимы, и т. п.) между лексическими единицами. • Словари, таксономии • Идея системы ссылок (пример нелинейного описания предметной области - Библия).

Элементы онтологий

Современные онтологии строятся по большей части одинаково, независимо от языка написания. Обычно они состоят из экземпляров, понятий, атрибутов и отношений.

Экземпляры (англ. instances) или индивиды (англ. individuals) — это основные, нижнеуровневые компоненты онтологии. Экземпляры могут представлять собой как физические объекты (люди, дома, планеты), так и абстрактные (числа, слова). Строго говоря, онтология может обойтись и без конкретных объектов. Однако, одной из главных целей онтологии является классификация таких объектов, поэтому они также включаются.

Понятия (англ. concepts) или классы (англ. classes) — абстрактные группы, коллекции или наборы объектов. Они могут включать в себя экземпляры, другие классы, либо же сочетания и того, и другого. Пример:

· Понятие «люди», вложенное понятие «человек». Чем является «человек» — вложенным понятием, или экземпляром (индивидом) — зависит от онтологии.

· Понятие «индивиды», экземпляр «индивид».

Классы онтологии составляют таксономию — иерархию понятий по отношению вложения[1].

Объекты в онтологии могут иметь атрибуты. Каждый атрибут имеет по крайней мере имя и значение и используется для хранения информации, которая специфична для объекта и привязана к нему. Например, объект Автомобиль-модели-А имеет такие атрибуты, как:

· Название: Автомобиль-модели-А

· Число-дверей: 4

· Двигатель: {4.0Л, 4.6Л}

· Коробка-передач: 6-ступенчатая

Значение атрибута может быть сложным типом данных. В данном примере значение атрибута, который называется Двигатель, является списком значений простых типов данных.

Важная роль атрибутов заключается в том, чтобы определять отношения (зависимости) между объектами онтологии. Обычно отношением является атрибут, значением которого является другой объект.

Предположим, что в онтологии автомобилей присутствует два объекта — автомобиль Автомобиль-модели-А и Автомобиль-модели-Б. Пусть Автомобиль-модели-Б это модель-наследник Автомобиль-модели-А, тогда отношение между Автомобиль-модели-А и Автомобиль-модели-Б определим как атрибут «isSuccessorOf» со значением «Автомобиль-модели-А» для объекта Автомобиль-модели-Б (следует заметить, что в языках описания онтологий существуют предопределенные отношения наследования).

 

25. Типы онтологий: верхнего уровня, предметных областей, прикладные онтологии.

Характеристики онтологий верхнего уровня (ОВУ)

 

n Набор основных отношений:

§ Иерархические

§ класс-подкласс

§ часть-целое

§ Ассоциативные

n Типичные концепты и принципы разделения:

§ Сущность

§ Явление

§ Объект

§ Процесс

§ Роль

n Нацеленность на многократное повторное использование онтологии

 

Характеристики онтологий предметных областей

n Существенные отличия от ОВУ:

§ Охват конкретной области знаний (авиация, медицина, культура),

§ Круг решаемых задач и вопросов, на которые онтология отвечает, ограничен выбранной областью,

§ Больший по сравнению с ОВУ объем онтологии,

§ Наличие отношений специфичных для конкретной области.

n Повторное использование только в рамках предметной области

 

Характеристики прикладных онтологий

n Направленность на решение конкретной задачи, обеспечение работы некоторого приложения.

n Круг вопросов, на которые онтология отвечает

n Задается перед ее созданием

n Влияет на процесс концептуализации

n Используется для проверки “компетентности” онтологии

 

26. Языки описания онтологий. Стандарты.

Язык описания онтологий — формальный язык, используемый для кодирования онтологии. Существует несколько подобных языков (изначально это был язык XML):

· OWL — Web Ontology Language, стандарт W3C, язык для семантических утверждений, разработанный как расширение RDF и RDFS;

· KIF (англ.)русск. (англ. Knowledge Interchange Format — формат обмена знаниями) — основанный на S-выражениях синтаксис для логики;

· Common Logic (CL) (англ.)русск. — преемник KIF (стандартизован — ISO/IEC 24707:2007).

· CycL (англ.)русск. — онтологический язык, использующийся в проекте Cyc. Основан на исчислении предикатов с некоторыми расширениями более высокого порядка.

· DAML+OIL (англ.) русск. (FIPA)

Для работы с языками онтологий существует несколько видов технологий: редакторы онтологий (для создания онтологий), СУБД онтологий (для хранения и обращения к онтологии) и хранилища онтологий (для работы с несколькими онтологиями).

 

27. Назначение онтологий. Задачи, решаемые с помощью онтологий.

ОНТОЛОГИИ: применение

• формирование и фиксация общего разделяемого всеми экспертами знания о предметной области (ПО)

• явная концептуализация ПО, позволяющая описывать семантику данных

• Возможность многократно использовать формализованные знания

• интеграция и возможность совместного использования разнородных данных и знаний в рамках одной системы

• обеспечение лучшего понимания предметной области пользователями системы                                           • Использование онтологии при проектировании и разработке ИС (управляемая онтологией разработка ИС).

• Использование онтологии в качестве полноценного компонента ИС (в управляемой онтологией ИС)


Поделиться:



Последнее изменение этой страницы: 2019-04-10; Просмотров: 207; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.096 с.)
Главная | Случайная страница | Обратная связь