В волонтерском проекте всплыло слово “онтология”, а что это и как будет использоваться непонятно. Нашел небольшой учебник, чтобы немного “въехать” в суть. В этой заготовке буду мыслить письмом на эту тему.
Целью онтологического описания мета-мета-модели является повышение точности ответов LLM при использовании понятий из руководств, а также соблюдение типов и классов. Нам необходимо научить LLM корректно обрабатывать задачи с различными уровнями абстракций.
Предполагается, что единомышленники не всегда будут давать формальные постановки задач (точные формулировки условий задач, входной и выходной информации), однако минимальные данные для генерации ответа будут предоставляться.
Онтология определяет общий словарь понятий, предназначенный для совместного использования сообществом. Она должна включать машинно-интерпретируемые формулировки ключевых понятий и их взаимосвязей в предметной области. Это необходимо для:
- совместного использования людьми и ИИ-агентами общего понимания структуры информации;
- повторного использования знаний;
- явного представления допущений, особенно полезного при изменении предметной области;
- разделения устойчивых знаний предметной области от оперативных знаний, поскольку:
- оперативные знания быстро устаревают;
- предметные знания устаревают значительно медленнее.
Онтология — это формальное, явное описание понятий в конкретной предметной области (классы, экземпляры классов, свойства, атрибуты и ограничения). Примеры элементов онтологии:
- Класс (обобщённая категория объектов) – руководство, практика, понятие, роль.
- Подкласс (более конкретный класс, наследующий свойства) – практика → практика мышления письмом, руководство → «Практики саморазвития», система → шариковая ручка.
- Экземпляр (конкретный объект) – шариковая ручка, которой я пишу заметки; конкретное руководство «Практики саморазвития», пройденное мной на 50%.
- Слот (атрибут или отношение) – автор руководства.
Разработка онтологии включает:
- определение классов;
- размещение классов в таксономической иерархии;
- определение слотов и допустимых значений;
- заполнение значений слотов у экземпляров.
Фундаментальные правила разработки онтологии:
- Не существует единственного правильного способа моделирования предметной области; возможны альтернативы.
- Разработка онтологии является итеративным процессом.
- Понятия должны быть близки к реальным объектам (физическим или логическим) и отношениям интересующей предметной области (обычно существительные — это объекты, глаголы — отношения).
Важно помнить, что онтология является моделью реального мира, и понятия должны отражать эту реальность.
Определение области и масштаба
Разработку онтологии рекомендуется начинать с нескольких основных вопросов:
- Какую область охватывает?
- Системное мышление, системный менеджмент и практики саморазвития.
- Для чего будет использоваться?
- Генерация адаптивных текстов курсов (Graph + RAG к LLM).
- Персональные рекомендации (сопоставление целей, навыков и прогресса).
- Контроль качества контента через SHACL-валидацию и reasoning.
- На какие типы вопросов должна давать ответы?
- (Ответ требует дальнейшего уточнения)
- Кто будет использовать и поддерживать?
- Пользователи: студенты, тьюторы, LLM-агенты.
- Поддержка: онто-инженеры ШСМ (Мастера).
Эти вопросы помогут ограничить масштаб и фокус создаваемой онтологии.
Многие онтологии уже созданы и могут быть адаптированы под наши нужды. В интернете доступны ресурсы для повторного использования онтологий:
- BioPortal — крупнейший репозиторий онтологий, включая образовательные (например, LRMI, Dublin Core Education).
- LOV (Linked Open Vocabularies) — коллекция открытых онтологий и словарей.
- OntoHub — репозиторий онтологий с возможностью поиска по предметным областям.
- OBO Foundry — онтологии в биомедицине и смежных областях, полезные для системного моделирования.