Онтологии и тезаурусы: модели, инструменты, приложения
Покупка
Тематика:
Онтология. Гносеология. Метафизика
Издательство:
ИНТУИТ
Авторы:
Добров Борис Викторович, Иванов Владимир Владимирович, Лукашевич Наталья Валентиновна, Соловьев Валерий Дмитриевич
Год издания: 2016
Кол-во страниц: 151
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-9963-0007-5
Артикул: 124652.05.99
В книге впервые на русском языке в систематизированной форме излагаются теоретические и практические вопросы использования онтологии и тезаурусов как способов организации информации и знаний в современных информационных системах. На конкретных примерах проиллюстрирован процесс проектирования онтологии. Учебный курс, разработанный на основе материалов книги, получил гриф УМО по специальности "Прикладная математика и информатика", а также вошел в число победителей конкурсов учебных курсов, проведенных фирмами Майкрософт и Яндекс в 2006 году.
Книга может использоваться для поддержки соответствующих курсов на факультетах ВМК и филологии в классических и педагогических университетах.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 47.03.01: Философия
- ВО - Магистратура
- 47.04.01: Философия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Онтологии и тезаурусы: модели, инструменты, приложения 2-е издание, исправленное Добров Б.В. Иванов В.В. Лукашевич Н.В. Соловьев В.Д. Национальный Открытый Университет “ИНТУИТ” 2016 2
УДК 81‘322(075.8) ББК 7 О59 Онтологии и тезаурусы: модели, инструменты, приложения / Добров Б.В., Иванов В.В., Лукашевич Н.В., Соловьев В.Д. - M.: Национальный Открытый Университет “ИНТУИТ”, 2016 (Основы информационных технологий) ISBN 978-5-9963-0007-5 Курс направлен на формирование базовых знаний об онтологиях и тезаурусах и практических навыков по проектированию и применению онтологий при разработке компонентов интеллектуального программного обеспечения. Курс знакомит студентов с основными понятиями области представления знаний, примерами лучшего опыта в разработке систем основанных на онтологиях и тезаурусах, описывает задачи, решаемые с их помощью, а также набор инструментальных средств проектирования и представления онтологий и информационно-поисковых тезаурусов. Практическая составляющая курса включает задания по самостоятельной разработке онтологии для некоторой предметной области и задачи по применению этого ресурса в соответствующей области для автоматической обработки текста, интеллектуального поиска. (c) ООО “ИНТУИТ.РУ”, 2009-2016 (c) Добров Б.В., Иванов В.В., Лукашевич Н.В., Соловьев В.Д., 2009-2016 3
Введение. Основные определения В данной лекции даны основные определения онтологии, концептуализации, согласованной концептуализации. Рассмотрены основные компоненты онтологии. Приведены примеры Определения онтологии Слово “онтология” имеет два значения: Онтология 1 - философская дисциплина, которая изучает наиболее общие характеристики бытия и сущностей; Онтология 2 - это артефакт, структура, описывающая значения элементов некоторой системы. Настоящий курс посвящен способам разработки и использования в приложениях онтологий как артефактов (Онтология 2). Неформально онтология представляет собой некоторое описание взгляда на мир применительно к конкретной области интересов. Это описание состоит из терминов и правил использования этих терминов, ограничивающих их значения в рамках конкретной области. На формальном уровне онтология - это система, состоящая из набора понятий и набора утверждений об этих понятиях, на основе которых можно описывать классы, отношения, функции и индивиды. Одно из самых известных определений онтологии дал Том Грубер, звучит оно следующим образом: Онтология - это точная спецификация концептуализации. Концептуализация - это структура реальности, рассматриваемая независимо от словаря предметной области и конкретной ситуации. Например, если мы рассматриваем простую предметную область, описывающую кубики на столе, то концептуализацией является набор возможных положений кубиков, а не конкретное их расположение в текущий момент времени. Более поздней модификацией определения Грубера является такое определение: Онтология - это формальная спецификация согласованной концептуализации. Под согласованной концептуализацией подразумевается, что данная концептуализация не есть частное мнение, а является общей для некоторой группы людей. Сформулировано еще достаточно много разных определений онтологии. Например, Никола Гуарино определяет онтологию следующим образом: Онтология - это формальная теория, ограничивающая возможные концептуализации мира. Некоторые определения отражают способы, которыми авторы строят и используют онтологии, например: Онтология - это иерархически структурированное множество 4
терминов, описывающих предметную область, которое может быть использовано как исходная структура для базы знаний. Содержание онтологии Основными компонентами онтологии могут являться: классы (или понятия), отношения (или свойства, атрибуты), функции, аксиомы, экземпляры (или индивиды). Классы или понятия используются в широком смысле. Понятием может быть любая сущность, о которой может быть дана какая-либо информация. Классы - это абстрактные группы, коллекции или наборы объектов. Они могут включать в себя экземпляры, другие классы, либо же сочетания и того, и другого. Классы в онтологиях обычно организованы в таксономию - иерархическую классификацию понятий по отношению включения. Например, классы Мужчина и Женщина являются подклассами класса Человек, который в свою очередь включен в класс Млекопитающие. Отношения представляют тип взаимодействия между понятиями предметной области. Формально n -арные отношения определяются как подмножество произведения n множеств: R ⊆ C1 x C2 x … x Cn. Пример бинарного отношения - отношение ЧАСТЬ ЦЕЛОЕ. Отношения тоже могут быть организованы в таксономию по включению; например, отношения быть_отцом_для и быть_матерью_для на множестве людей содержатся в отношении быть_родителем_для, которое в свою очередь содержится в отношении быть_предком_для. Функции - это специальный случай отношений, в которых n -й элемент отношения однозначно определяется n-1 предшествующими элементами. Формально функции определяются следующим образом: F: C1 x C2 x … x Cn-1 -> Cn. Примерами функциональных отношений являются отношения быть_матерью_для на множестве людей, или цена_подержанного_автомобиля, которая вычисляется в зависимости от модели автомобиля, даты изготовления и пробега. Аксиомы используются, чтобы записать высказывания, которые всегда истинны. Они могут быть включены в онтологию для разных целей, например, для определения комплексных ограничений на значения атрибутов, аргументы отношений, для проверки корректности информации, описанной в онтологии, или для вывода новой информации. В качестве примера того, что в рамках онтологий понимается под аксиомами, можно привести следующее положение и его формальную запись на языке исчисления предикатов первого порядка: Работник, являющийся руководителем проекта, работает в проекте. 5
Вводятся переменные Е (работник) и P (руководитель проекта). Тогда аксиома записывается следующим образом: Forall (E,P) Employee(E) and Head-Of-Project(E,P) => Works-At-Project(E,P) Цели создания онтологий В последние годы разработка онтологий - явное формальное описание терминов предметной области и отношений между ними - переходит из мира лабораторий по искусственному интеллекту на рабочие столы экспертов по предметным областям. Во всемирной паутине WWW онтологии стали обычным явлением. Онтологии в сети варьируются от больших таксономий, категоризирующих веб-сайты (как на сайте Yahoo!), до категоризаций продаваемых товаров и их характеристик (как на сайте Amazon.com). Во многих дисциплинах сейчас разрабатываются стандартные онтологии, которые могут использоваться экспертами по предметным областям для совместного использования и аннотирования информации в своей области. Например, в области медицины созданы большие стандартные, структурированные словари, такие как SNOMED и семантическая сеть Системы Унифицированного Медицинского Языка (Unified Medical Language System, UMLS). Также появляются обширные общецелевые онтологии. Например, Программа ООН по развитию (the United Nations Development Program) и компания Dun & Bradstreet объединили усилия для разработки онтологии UNSPSC, которая предоставляет терминологию товаров и услуг (unspsc.org). Онтология определяет общий словарь для ученых, которым нужно совместно использовать информацию в предметной области. Она включает машинноинтерпретируемые формулировки основных понятий предметной области и отношения между ними. Почему возникает потребность в разработке онтологии? Вот некоторые причины, которые ниже будут рассмотрены подробнее: для совместного использования людьми или программными агентами общего понимания структуры информации; для возможности повторного использования знаний в предметной области; для того чтобы сделать допущения в предметной области явными; для отделения знаний в предметной области от оперативных знаний; для анализа знаний в предметной области. Совместное использование людьми или программными агентами общего понимания структуры информации является одной из наиболее общих целей разработки онтологий. К примеру, пусть несколько различных веб-сайтов содержат информацию по медицине или предоставляют информацию о платных медицинских услугах, оплачиваемых через Интернет. Если эти веб-сайты совместно используют и публикуют одну и ту же базовую онтологию терминов, которыми они все пользуются, то 6
компьютерные агенты могут извлекать информацию из этих различных сайтов и накапливать ее. Агенты могут использовать накопленную информацию для ответов на запросы пользователей или как входные данные для других приложений. Обеспечение возможности использования знаний предметной области стало одной из движущих сил недавнего всплеска в изучении онтологий. Например, для моделей многих различных предметных областей необходимо сформулировать понятие времени. Это представление включает понятие временных интервалов, моментов времени, относительных мер времени и т.д. Если одна группа ученых детально разработает такую онтологию, то другие могут просто повторно использовать ее в своих предметных областях. Кроме того, если нам нужно создать большую онтологию, мы можем интегрировать несколько существующих онтологий, описывающих части большой предметной области. Мы также можем повторно использовать основную онтологию, такую как UNSPSC, и расширить ее для описания интересующей нас предметной области. Создание явных допущений в предметной области, лежащих в основе реализации, дает возможность легко изменить эти допущения при изменении наших знаний о предметной области. Жесткое кодирование предположений о мире на языке программирования приводит к тому, что эти предположения не только сложно найти и понять, но и также сложно изменить, особенно непрограммисту. Кроме того, явные спецификации знаний в предметной области полезны для новых пользователей, которые должны узнать значения терминов предметной области. Отделение знаний предметной области от оперативных знаний - это еще один вариант общего применения онтологий. Мы можем описать задачу конфигурирования продукта из его компонентов в соответствии с требуемой спецификацией и внедрить программу, которая делает эту конфигурацию независимой от продукта и самих компонентов. После этого мы можем разработать онтологию компонентов и характеристик ЭВМ и применить этот алгоритм для конфигурирования нестандартных ЭВМ. Мы также можем использовать тот же алгоритм для конфигурирования лифтов, если мы предоставим ему онтологию компонентов лифта. Анализ знаний в предметной области возможен, когда имеется декларативная спецификация терминов. Формальный анализ терминов чрезвычайно ценен как при попытке повторного использования существующих онтологий, так и при их расширении. Часто онтология предметной области сама по себе не является целью. Разработка онтологии сродни определению набора данных и их структуры для использования другими программами. Методы решения задач, доменно-независимые приложения и программные агенты используют в качестве данных онтологии и базы знаний, построенные на основе этих онтологий. Основные темы курса В данном курсе будут рассмотрены следующие вопросы: 7
1. существующие классификации онтологий по различным критериям; 2. способы сопоставления понятий, содержащихся в онтологиях, и языковых (лексических) выражений; 3. существующие лингвистические (лексические) онтологии; 4. применение онтологий в решении различных задач, в частности: онтологии в концепции Semantic Web, онтологии для решения задач информационного поиска, онтологии для интеграции разнородных источников данных; 5. структура конкретных онтологий, таких как: онтологии верхнего уровня, онтология вина и пищи, онтология в сфере культурного наследия CIDOC CRM; 6. структура, проблемы и применение наиболее известной лингвистической онтологии WordNet; 7. традиции использования ресурсов для информационного поиска, таких как информационно-поисковые тезаурусы (ИПТ), которые рассматриваются как вид онтологических ресурсов; 8. методы использования ИПТ в современных условиях, характеризующиеся значительным преобладанием автоматических режимов обработки текста; 9. принципы разработки специальных тезаурусов как ресурсов для автоматической обработки текстов, которые соединяют в себе существующие традиции в трех областях создания ресурсов онтологического типа: формальные онтологии, лингвистические онтологии, традиционные информационно-поисковые тезаурусы; 10. использование тезауруса для автоматической обработки текстов в различных приложениях в области информационного поиска. 8
Классификации онтологий В данной лекции рассмотрена классификация онтологий: онтологии верхнего уровня, прикладные онтологии, онтологии предметной области и т.д. Рассмотрены 3 основных принципа классификации онтологий. Также рассмотрены онтологии для обработки текстов на естественном языке (лексические онтологии). Приведены примеры 2.1. Онтологии верхнего уровня, предметных областей, прикладные онтологии В проектировании онтологий условно можно выделить два направления, до некоторого времени развивавшихся отдельно. Первое связано с представлением онтологии как формальной системы, основанной на математически точных аксиомах. Второе направление развивалось в рамках компьютерной лингвистики и когнитивной науки. Там онтология понималась как система абстрактных понятий, существующих только в сознании человека, которая может быть выражена на естественном языке (или средствами какой-то другой системы символов). При этом обычно не делается предположений о точности или непротиворечивости такой системы. Таким образом, существует два альтернативных подхода к созданию и исследованию онтологий. Первый (формальный) основан на логике (предикатов первого порядка, дескриптивной, модальной и т.п.). Второй (лингвистический) основан на изучении естественного языка (в частности, семантики) и построении онтологий на больших текстовых массивах, так называемых корпусах. В настоящее время данные подходы тесно взаимодействуют. Идет поиск связей, позволяющих комбинировать соответствующие методы. Поэтому иногда бывает сложно отделить лексические онтологии с элементами формальных аксиоматик от логических систем с включениями лингвистических знаний. Независимо от различных подходов можно выделить 3 основных принципа классификации онтологий: по степени формальности; по наполнению, содержимому; по цели создания. Рассмотрим соответствующие классификации по порядку. Классификация по степени формальности. “Спектр онтологий” Обычно люди и компьютерные агенты (программы) имеют некоторое представление о значениях терминов. Программные агенты иногда предоставляют спецификацию входных и выходных данных, которые также могут быть использованы как спецификация программы. Сходным образом онтологии могут быть применены, чтобы предоставить конкретную спецификацию имен терминов и значений терминов. В 9
рамках этого понимания (где онтология является спецификацией концептуальной модели - концептуализации) существует простор для вариаций. Отдельные виды онтологий могут быть представлены как точки на спектре в зависимости от деталей их реализации. Рис. 2.1. Спектр онтологий. Косая черта разделяет системы, предоставляющие “человеко-понятные” (выше черты) и “машино-понятные” (ниже черты) описания На рис. 2.1 изображен так называемый спектр онтологий по степени формальности представления, использованию тех или иных синтаксических конструкций. Каждая точка соответствует наличию некоторых ключевых структур в онтологии, отличающих ее от других точек на спектре. Косая черта условно отделяет онтологии от других ресурсов, имеющих онтологический характер. Первой точке на спектре соответствует контролируемый словарь, т.е. конечный список терминов (простейшим примером является каталог на основе идентификаторов). Каталоги представляют точную (не многозначную) интерпретацию терминов. Например, каждый раз, ссылаясь на термин “машина”, мы будем использовать одно и то же значение (соответствующее некоторому ID в словаре), вне зависимости от того, о чем идет речь в контексте: о “стиральной машине”, “автомобиле” или “государственной машине”. Другой спецификацией онтологии может быть глоссарий, представляющий собой список терминов с их значениями. Значения описываются в виде комментариев на естественном языке. Это дает больше информации, поскольку люди могут прочесть такой комментарий и понять смысл термина. Интерпретации терминов могут быть многозначными. Глоссарии непригодны для автоматической обработки программными агентами, но можно, как и ранее, присвоить терминам ID. Тезаурусы несут дополнительную семантику, определяя связи между терминами. Отношения, свойственные для тезаурусов: синонимия, иерархическое отношение и ассоциация. Ранние иерархии терминов, появившиеся в Сети, определяли термины 10