Труды КНЦ (Технические науки вып.3/2025(16))
Существенно упрощает процесс построения онтологии использование онтологических паттернов, которые представляют собой детально описанные и проверенные на практике решения регулярно возникающих проблем онтологического моделирования [18; 19]. Они позволяют повторно использовать удачные проектные решения и обеспечивают единообразие структуры и семантики создаваемых онтологий. В зависимости от решаемых задач различают несколько типов онтологических паттернов [20]. В настоящей работе, как и в [21], используются онтологические паттерны содержания (Content Ontology Design Patterns, CDP), так как они непосредственно определяют структуру понятийной системы разрабатываемой онтологии. Как было отмечено ранее, они представляют собой фрагменты онтологий, предназначенные для повторного использования при моделировании распространенных ситуаций, возникающих между объектами, процессами и явлениями в различных предметных областях, таких как, например, участие объектов в событиях, отношения часть — целое, последовательности действий, причинно-следственные зависимости и др. Фактически паттерны содержания можно рассматривать как структурированные фрагменты онтологий верхнего уровня. Они содержат общие классы (Агент, Последовательность), свойства (идентификатор, имя) и отношения (зависит от, имеет часть), которые могут быть конкретизированы. После такой специализации содержащихся в них элементов и добавления новых элементов CDP становятся неотъемлемыми составными частями прикладных онтологий. Использование CDP в процессе проектирования онтологий способствует унификации их моделей и согласованности. Каждый паттерн содержания отражает определенную точку зрения на понятие (conceptual viewpoint), которая должна коррелировать с задачами моделирования конкретной предметной области или задачи. Для выбора наиболее подходящего паттерна применяются так называемые компетентностные вопросы (Competency Questions, CQ) [20]. Эти вопросы определяют, какие сведения можно получить из онтологии, если в ее структуре используется данный паттерн. Таким образом, набор CQ служит инструментом для проверки релевантности CDP целям моделирования и помогает разработчику выбрать паттерн, представляющий подходящую схему описания знаний. Сами паттерны содержания целесообразно генерировать с использованием больших языковых моделей (Large Language Models, LLM). В настоящее время существуют работы, посвященные применению языковых моделей [22; 23] в онтологическом моделировании, однако они преимущественно ориентированы на создание и/или наполнение полноценных онтологий. Такой подход требует значительных вычислительных и когнитивных ресурсов, а также сложной верификации. В отличие от этого, генерация онтологических паттернов содержания представляет собой намного более простую задачу, так как паттерн концептуально проще полной онтологии. Он описывает решение одной конкретной задачи моделирования и, как правило, включает ограниченное число сущностей и отношений. Благодаря этому при генерации описание требуемого паттерна можно задать в виде краткой инструкции (промпта) нескольких предложений, содержащих спецификацию типовой ситуации, которую необходимо отразить в онтологии. Для повышения контроля над процессом генерации, а также снижения сложности инструкций для языковой модели и тем самым уменьшения вероятности получения синтаксических ошибок и/или так называемых галлюцинаций имеет смысл проводить генерацию в два этапа. На первом этапе выполняется формирование набора функций на выбранном языке программирования, которые принимают на вход простые структуры данных — массивы (списки), ассоциативные массивы (словари), вложенные структуры, которые содержат естественно языковые имена понятий, отношений и атрибутов — и текущую онтологию. Каждая функция реализует определенный тип модификации онтологической модели (например, добавление класса, отношения, атрибута, ограничения). На выходе функции возвращают модифицированную онтологию, включающую новые элементы, описанные во входных данных. Таким образом, язык программирования выступает в роли прослойки между LLM и онтологическим форматом, обеспечивая контроль корректности синтаксиса и структуры создаваемых фрагментов. В качестве примера рассмотрим промпт для генерации функции, добавляющей список понятий в онтологию: Напиши на Python функцию для наполнения онтологии OWL с использованием библиотеки owlready2. Функция должна принимать следующие аргументы: * объект онтологии (Ontology) из библиотеки owlready2; Труды Кольского научного центра РАН. Серия: Технические науки. 2025. Т. 16, № 3. С. 22-34. Transactions of the Kola Science Centre of RAS. Series: Engineering Sciences. 2025. Vol. 16, No. 3. P. 22-34. © Ломов П. А., Маслобоев А. В., Олейник А. Г., 2025 27
Made with FlippingBook
RkJQdWJsaXNoZXIy MTUzNzYz