Вопрос 12: Онтологии. Разработка концептуальной модели предметной области на основе онтологического подхода.
Основные определения
Определение термина «онтология» зависит от контекста и целей его использования:
- Онтология - раздел философии, изучающий проблемы бытия, наука о бытии
- Онтология - это формальная спецификация концептуализации, которая имеет место в некотором контексте предметной области.
Концептуализация представляет собой описание понятий, а также всю информацию, имеющую отношение к понятиям (свойства, отношения, ограничения, аксиомы, утверждения), необходимую для описания и решения задач в избранной предметной области.
Концептуальная модель - система концептов и отношений предметной области.
Концепт - понятие, отражающее некоторый конкретный или абстрактный объект реального мира
Формально онтология состоит из понятий (терминов, организованных в таксономию), их описаний и правил вывода.
Таксономия - теория классификации и систематизации сложноорганизованных областей действительности
Онтология – это подробная спецификация структуры определенной проблемной области;
Онтология включает в себя словарь (т.е. список логических констант и предикатных символов) для описания предметной области и набор логических высказываний, формулирующих существующие в данной проблемной области ограничения и определяющих интерпретацию словаря;
Онтология предлагает словарь для представления и обмена знаниями по интересующей проблеме и набор связей и свойств, которые определены между имеющимися в ее словаре неделимыми сущностями.
Аспекты интерпретации термина “онтология”
- Философское понятие (какие свойства являются общими для всего сущего?)
- Неформальная концептуальная система (базис для определенной БЗ)
- Формальный взгляд на семантику (формализация семантических структур)
- Спецификация концептуализации (в рамках ИИ-сообщества)
- Представление концептуальной системы через логическую теорию (характеризуемую формальными свойствами или только ее назначением)
- Словарь (используемый логической теорией)
- Спецификация логической теории (метауровневая)
Онтология (в информатике) - это попытка всеобъемлющей и детальной формализации некоторой области знаний с помощью концептуальной схемы. Обычно такая схема состоит из иерархической структуры данных, содержащей все релевантные классы объектов, их связи и правила (ограничения), принятые в этой области
Онтологии - базы знаний специального вида, которые могут «читаться» и пониматься, отчуждаться от разработчика и/или физически разделяться их пользователями. Это формально представленные знания на базе концептуализации (описания множества объектов и понятий, знаний о них и связей между ними) (Гаврилова, Хорошевский)
Модель онтологии
Формально онтология определяется как
,где
- - конечное множество понятий (концептов) предметной области,
- - конечное множество отношений между понятиями,
- - конечное множество функций интерпретации, заданных на концептах и/или отношениях.
При и онтология трансформируется в простой словарь. Пример – индексы поисковых машин
Модель онтологической системы
,где
- O – онтология верхнего уровня (метаонтология), которая содержит общие понятия и отношения, не зависящие от предметной области - «объект», «свойство», «значение» и т.п.;
- P – множество предметных онтологий и онтологий задач предметной области (с учетом предпочтений пользователя);
- M – модель машины вывода данной онтологической системы (например, для изменения критериев релевантности поиска или критериев формирования репозитория).
Модель онтологической системы позволяет описывать взаимосвязь онтологий разных уровней
Классификация онтологий
- метаонтология – содержит общие понятия и отношения, не зависящие от предметной области («объект», «свойство», «значение» и т.п.);
- предметная онтология – содержит понятия, описывающие конкретную предметную область и отношения, семантически значимые для данной предметной области;
- онтология задач (и методов) – содержит в качестве понятий типы решаемых задач, а отношения специфицируют декомпозицию задач на подзадачи;
- прикладная онтология (онтология приложения) – описывает концепты, зависящие как от предметной области, так и от задач
- сетевая онтология – используется для описания конечных результатов действий, выполняемых объектами предметной области или задачи.
Другие классификации:
- по уровню детализации
- по “природе” предметных областей
- по степени разработки и сопровождения
Основные направления применения онтологий
- Формализованное представление знаний
- организация общей и предметной терминологии
- описание предметных областей для совместного использования человеком и компьютером
- индексирование, фильтрация и классификация формализованных знаний
- приобретение, структурирование знаний и формирование новых знаний
- Семантическая интеграция информационных ресурсов (Формирование единого сетевого пространства знаний)
- Обеспечение возможности поиска нужной информации (индексирование, фильтрация и классификация формализованных знаний)
Практическое применение онтологий
- Порталы
- Системы автоматизированного сбора информации
- Управление корпоративными информационными ресурсами
- Обучающие системы
- Мультимедийные энциклопедии и коллекции
- Взаимодействие электронных бытовых устройств
Направления развития онтологий
- совершенствование способов доступа к знаниям
- развитие средств разработки онтологий
- совершенствование методов автоматического вывода онтологий
- развитие средств представления
- развитие средств взаимодействия онтологий
Языки представления онтологий
- традиционные языки спецификации онтологий (LOOM, OKBC, OCML, Flogic, LBase)
- специальные языки спецификации онтологий (Ontolingua, CycL, SHOE)
- языки основанные на Web-стандартах (UPML, DAML, OIL, XODL, XML, RDF, RDFS, OWL)
Выбор языка зависит от целей разработки онтологии
OWL (Web Ontology Language) – язык Web-онтологий
Основное назначение OWL – для использования приложениями, которые должны не только представлять информацию человеку, но и обрабатывать ее.
OWL спроектирован для хранения и отображения большого количества разнородной информации и знаний, а также для поддержки семантики и связей между этими знаниями.
OWL предназначен для описания классов и отношений между ними, которые присущи для Web-документов и приложений
Коллекции онтологий
(KA)2 (Knowledge Annotation Initiative of the Knowledge Acquisition Community) – Аннотация знаний сообществом приобретения знаний (разрабатываются онтологии организаций, проекта, личности, направления исследований, публикаций, событий, исследовательских продуктов, тсследовательских групп) Инструментарий – Ontobroker
SHOE (Simple HTML Ontology Extensions)) – осуществляет аннотацию Web-страниц семантической информацией
CYC – ориентация на создание мультиагентной базы знаний всех общих понятий, включая семантическую структуру терминов и связей между ними
TOVE (Toronto Virtual Enterprise Project)- предметно ориентирована на представление модели корпорации
Plinius – предназначена для полуавтоматического извлечения знаний в области химии
Критерии разработки онтологий (Gruber)
- Ясность- онтология должна эффективно описывать смысл определяемых терминов.
- Согласованность- онтология должна быть согласованной, определения и выводимые утверждения должны быть непротиворечивыми.
- Расширяемость- онтология должна предусматривать возможность определения новых терминов без необходимости пересмотра существующих определений.
- Минимум влияния кодирования- концептуализация должна быть специфицирована на уровне знаний вне зависимости от конкретного способа кодирования.
- Минимальное онтологическое соглашение- для онтологии должен быть достигнут минимальный объем словаря, достаточный для описания знаний, которые предполагается совместно использовать.
Жизненный цикл онтологий
Планирование (задачи, ресурсы, сроки)
Разработка
- Спецификация – определяет цели создания, предполагаемое использование и потенциальных пользователей
- Концептуализация – обеспечивает структурирование предметных знаний
- Формализация – трансформирует концептуальную модель в формальную или вычислительную
- Реализация – вычислительная модель программируется на соответствующем языке представления знаний
- Проверка - включает в себя идентификацию и редактирование неопределенных терминов; выявление конфликтов и несогласованностей; проверку онтологии на полноту; идентификацию семантических различий между двумя терминами в различных онтологиях; синтаксический анализ; анализ таксономии; семантическую оценку
Поддержка (одновременно с разработкой) – приобретение знаний, оценка онтологии, интеграция при построении новой онтологии с использованием существующих
Уровни формализации онтологии
- Неформализованный. Слабо описанная на естественном языке онтология
- Неформально-структурированный. Онтология описана ограниченным набором лексики естественного языка в структурированном виде Полуформальный. Онтология описана на специальном формально определенном языке
- Строго формальный. Для описания используются тщательно определенные термины с формальной семантикой, теоремы и доказательства для таких свойств, как надежность и полнота онтологии
Основные этапы разработки онтологий:
- определение классов в онтологии (понятий в рассматриваемой предметной области);
- определение слотов (свойств и атрибутов каждого понятия);
- описание допускаемых значений этих слотов и ограничений, наложенных на слоты.
- отображение иерархии классов (подкласс – надкласс);
- определение других отношений между классами.