Разработка языка запросов в бинарной модели знаний и транслятора этого языка в язык SQL (бакалаврская работа) (544460)
Текст из файла
96
НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ
УНИВЕРСИТЕТ
«МЭИ»
Институт Автоматики и вычислительной техники
Кафедра Прикладной математики
В Ы П У С К Н А Я Р А Б О Т А
бакалавра Прикладной математики и информатики
по направлению «Прикладная математика и информатика» (010500)
Тема: Разработка языка запросов в бинарной модели знаний и транслятора этого языка в язык SQL.
Студент А-13-08 Машеров Д.Е.
группа подпись фамилия, и., о.,
Научный
руководитель профессор к.ф.-м.н. Плесневич Г.С.
должность звание подпись фамилия, и., о.,
Консультант
должность звание подпись фамилия, и., о.,
«Работа допущена к защите»
Зав. кафедрой д.т.н. Еремеев А.П.
звание подпись фамилия, и., о.,
Дата_____________
Москва 2012 г.
АННОТАЦИЯ
Даются описание системы «Бинарная модель знаний», описание языков для построения онтологий, язык запросов, транслятор с языка запросов в язык SQL, инструкции по использованию программы, реализующей транслятор.
ВВЕДЕНИЕ
В работе рассматривается задача разработки подсистемы «Язык запросов» (ЯЗ) системы «Бинарная Модель Знаний» (БМЗ). Проект БМЗ был разработан Г.С. Плесневичем. БМЗ предназначена для спецификации онтологий.
Термин «онтология» в настоящее время популярен в информатике. Онтологию определяют как явную формальную спецификацию концептуализации предметной области, понимание которой разделяется сообществом агентов. Онтология используется для описания предметной области и для того, чтобы рассуждать об объектах предметной области. Она часто разрабатывается в конкретных целях в данной прикладной области. Онтология представляют знание, выраженное как описание понятий (классов), индивидных объектов, свойств классов и индивидов, отношений между классами. Описание онтологии выполняется экспертами в формальном языке, который удобен на экспертов и пользователей, а также «понимаем» программными агентами.
Онтологии играют центральную роль в Семантическом Вебе, целью которого является создание инфраструктуры, позволяющей сделать информацию в Интернете доступной программным агентам и другим системам математического обеспечения.
К настоящему времени разработано много языков для построения онтологий. Некоторые из этих языков представлены в главе 1 настоящей работы. В главе 2 дано описание системы БМЗ. В главе 3 дано описание языка запроса и транслятор с языка запросов в язык SQL.
ГЛАВА 1
ОБЩИЕ СВЕДЕНИЯ ОБ ОНТОЛОГИЯХ И ЯЗЫКАХ ДЛЯ СПЕЦИФИКАЦИИ ОНТОЛОГИЙ
Неформально онтология представляет собой некоторое описание взгляда на мир применительно к конкретной области интересов. Это описание состоит из терминов и правил использования этих терминов, ограничивающих их значения в рамках конкретной области. На формальном уровне онтология - это система, состоящая из набора понятий и набора утверждений об этих понятиях, на основе которых можно описывать классы, отношения, функции и индивиды.
Одно из самых известных определений онтологии дал Том Грубер, звучит оно следующим образом: Онтология - это точная спецификация концептуализации. Концептуализация - это структура реальности, рассматриваемая независимо от словаря предметной области и конкретной ситуации. Например, если мы рассматриваем простую предметную область, описывающую кубики на столе, то концептуализацией является набор возможных положений кубиков, а не конкретное их расположение в текущий момент времени.
Более поздней модификацией определения Грубера является такое определение: Онтология - это формальная спецификация согласованной концептуализации. Под согласованной концептуализацией подразумевается, что данная концептуализация не есть частное мнение, а является общей для некоторой группы людей.
Сформулировано еще достаточно много разных определений онтологии. Например, Никола Гуарино определяет онтологию следующим образом: Онтология - это формальная теория, ограничивающая возможные концептуализации мира.
Некоторые определения отражают способы, которыми авторы строят и используют онтологии, например: Онтология - это иерархически структурированное множество терминов, описывающих предметную область, которое может быть использовано как исходная структура для базы знаний.
1.1. Содержание онтологии
Основными компонентами онтологии могут являться:
-
классы (или понятия),
-
отношения (или свойства, атрибуты),
-
функции,
-
аксиомы,
-
экземпляры (или индивиды).
Классы или понятия используются в широком смысле. Понятием может быть любая сущность, о которой может быть дана какая-либо информация. Классы - это абстрактные группы, коллекции или наборы объектов. Они могут включать в себя экземпляры, другие классы, либо же сочетания и того, и другого. Классы в онтологиях обычно организованы в таксономию - иерархическую классификацию понятий по отношению включения. Например, классы Мужчина и Женщина являются подклассами класса Человек, который в свою очередь включен в класс Млекопитающие.
Отношения представляют тип взаимодействия между понятиями предметной области. Формально n -арные отношения определяются как подмножество произведения n множеств: R
C1 x C2 x … x Cn, где Сj – классы. В том случае, когда n =2, отношение R называется бинарным. Пример бинарного отношения - отношение ISA («есть некоторое», отношение включения одного класса в другой).
Отношения могут быть организованы в таксономию по включению; например, отношения Быть_отцом_ и Быть_матерью_на множестве людей содержатся в отношении Быть_родителем, которое в свою очередь содержится в отношении Быть_предком.
Функции - это специальный случай отношений, в которых n -й элемент отношения однозначно определяется n-1 предшествующими элементами.
Аксиомы используются, чтобы записать высказывания, которые всегда истинны. Они могут быть включены в онтологию для разных целей, например, для определения ограничений на значения атрибутов, аргументы отношений, для проверки корректности информации, описанной в онтологии, или для вывода новой информации.
1.2 Цели создания онтологий
В последние годы разработка онтологий (т.е. явное формальное описание терминов предметной области и отношений между ними) и переходит из мира лабораторий по искусственному интеллекту на рабочие столы экспертов по предметным областям. В Вебе WWW онтологии стали обычным явлением. Онтологии в Вебе варьируют от больших таксономий, категоризирующих веб-сайты (как в Google), до категоризаций продаваемых товаров и их характеристик (как на сайте Amazon.com). Во многих дисциплинах сейчас разрабатываются стандартные онтологии, которые могут использоваться экспертами по предметным областям для совместного использования и аннотирования информации в своей области.
Например, в области медицины созданы большие стандартные, структурированные словари, такие как SNOMED и семантическая сеть Системы Унифицированного Медицинского Языка (Unified Medical Language System, UMLS). Также появляются обширные общецелевые онтологии. Например, Программа ООН по развитию (the United Nations Development Program) и компания Dun & Bradstreet объединили усилия для разработки онтологии UNSPSC, которая предоставляет терминологию товаров и услуг (unspsc.org).
Онтология определяет общий словарь для ученых, которым нужно совместно использовать информацию в предметной области. Она включает машинно-интерпретируемые формулировки основных понятий предметной области и отношения между ними.
Почему возникает потребность в разработке онтологии? Вот некоторые причины, которые ниже будут рассмотрены подробнее:
-
для совместного использования людьми или программными агентами общего понимания структуры информации;
-
для возможности повторного использования знаний в предметной области;
-
для того чтобы сделать допущения в предметной области явными;
-
для отделения знаний в предметной области от оперативных знаний;
-
для анализа знаний в предметной области.
Совместное использование людьми или программными агентами общего понимания структуры информации является одной из наиболее общих целей разработки онтологий. К примеру, пусть несколько различных веб-сайтов содержат информацию по медицине или предоставляют информацию о платных медицинских услугах, оплачиваемых через Интернет. Если эти веб-сайты совместно используют и публикуют одну и ту же базовую онтологию терминов, которыми они все пользуются, то компьютерные агенты могут извлекать информацию из этих различных сайтов и накапливать ее. Агенты могут использовать накопленную информацию для ответов на запросы пользователей или как входные данные для других приложений.
Обеспечение возможности использования знаний предметной области стало одной из движущих сил недавнего всплеска в изучении онтологий. Например, для моделей многих различных предметных областей необходимо сформулировать понятие времени. Это представление включает понятие временных интервалов, моментов времени, относительных мер времени и т.д. Если одна группа ученых детально разработает такую онтологию, то другие могут просто повторно использовать ее в своих предметных областях. Кроме того, если нам нужно создать большую онтологию, мы можем интегрировать несколько существующих онтологий, описывающих части большой предметной области. Мы также можем повторно использовать основную онтологию, такую как UNSPSC, и расширить ее для описания интересующей нас предметной области.
Создание явных допущений в предметной области, лежащих в основе реализации, дает возможность легко изменить эти допущения при изменении наших знаний о предметной области. Жесткое кодирование предположений о мире на языке программирования приводит к тому, что эти предположения не только сложно найти и понять, но и также сложно изменить, особенно непрограммисту. Кроме того, явные спецификации знаний в предметной области полезны для новых пользователей, которые должны узнать значения терминов предметной области.
Отделение знаний предметной области от оперативных знаний - это еще один вариант общего применения онтологий. Мы можем описать задачу конфигурирования продукта из его компонентов в соответствии с требуемой спецификацией и внедрить программу, которая делает эту конфигурацию независимой от продукта и самих компонентов. После этого мы можем разработать онтологию компонентов и характеристик ЭВМ и применить этот алгоритм для конфигурирования нестандартных ЭВМ. Мы также можем использовать тот же алгоритм для конфигурирования лифтов, если мы предоставим ему онтологию компонентов лифта.
Анализ знаний в предметной области возможен, когда имеется декларативная спецификация терминов. Формальный анализ терминов чрезвычайно ценен как при попытке повторного использования существующих онтологий, так и при их расширении.
Часто онтология предметной области сама по себе не является целью. Разработка онтологии сродни определению набора данных и их структуры для использования другими программами. Методы решения задач, доменно-независимые приложения и программные агенты используют в качестве данных онтологии и базы знаний, построенные на основе этих онтологий.
1.3. Области применения онтологий
Современные информационные технологии требует решения задач распределенной семантики знаний. Онтологии представляют средства для формального выражения этой семантики. В настоящее время организации начинают рассматривать онтологии как полезный формальный инструмент для представления машинно-обрабатываемой семантики для многих компьютерных приложений. Примерами таких приложений являются:
• электронная коммерция;
• биоинформатика;
• юридические информационные системы;
• электронное обучение;
• технология агентов;
• построение баз данных;
• программная инженерия;
• обработка естественного языка;
• информационный поиск;
• Семантический Веб;
• Веб-сервисы .
1.4. Формальная концептуализация и формальные онтологии
В книге [Genesereth et al., 1987], определяя понятие концептуализации, авторы пишут: «Блок формально представленного знания основан на концептуализации: объекты, понятия и другие сущности, которые существуют, как предполагается, в некоторой области интереса, а также отношения, которые существуют между ними. Концептуализация – абстрактный, упрощенный взгляд на мир, который мы хотим представить с некоторой целью. Каждая база знаний, система, основанная на знаниях, или агент на уровне знаний фиксирует, явно или неявно, некоторую концептуализацию».
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.















