Труды КНЦ (Технические науки вып.3/2025(16))

* словарь, в котором ключ — имя понятия, а значение — его определение. Функция должна добавлять понятия в онтологию как классы, а их определения — как аннотации rdfs:comment. Добавь подробный комментарий (docstring), описывающий назначение функции и её аргументы. Результатом генерации с помощью языковой модели GigaChat будет следующая функция: from owlready2 import * d e fpopulate_ontology_with_classes_and_comments(onto: Ontology, conceptsdict: dict): tttttt Функция наполняет онтологию новыми классами и добавляет аннотации к ним. Параметры: onto (owlready2.Ontology): Объект онтологии, куда будут добавляться новые классы. concepts dict (dict): Словарь, где ключи - имена понятий (названия классов), а значения - их описания (аннотации). Действия: 1. Для каждого элемента словаря создается новый класс с именем ключа. 2. Классу добавляется аннотация 'rdfs:comment' с текстом, указанным в значении словаря. tttttt fo r conceptname, definition in concepts_dict.items(): # Создаем новый класс в онтологии с заданным именем n ew c la ss = types.new_class(concept_name, (Thing,), ontology=onto) # Добавляем аннотацию rdfs:comment с описанием класса newclass.comment.append(definition) На втором этапе формируется инструкция для языковой модели, включающая запрос на генерацию набора элементов будущего паттерна — классов, свойств, отношений и ограничений — представленных в виде структур данных, принимаемых функциями, созданными на первом этапе. В этом случае LLM не формирует онтологию напрямую, а лишь порождает описание паттерна в виде структурированных данных, которые используются для получения окончательного результата с помощью функций на языке программирования. Например, с помощью такого промпта можно извлечь из текста — описания паттерна понятия, которые далее можно поместить в его онтологию с помощью ранее приведенной функции: Из представленного текста необходимо извлечь информацию для построения OWL-онтологии. Построй структуру онтологии, соответствующую содержанию текста, и представь результат в виде трёх Python-структур: concepts — словарь, где — имя понятия, значение — определение понятия. object_properties — список кортежей, где каждый кортеж имеет вид: (subjectconcept, property_name, rangeconcept, описаниесвойства) и отражает отношения между понятиями (objectproperties). datatype_properties — список кортежей, где каждый кортеж имеет вид: (subject concept, property_name, тип значения, описание_свойства) и отражает атрибуты (data properties) понятий. При указании типов значений используй корректные OWL/XSD-обозначения: xsd:string, xsd:integer, xsd:float, xsd:boolean, xsd:dateTime. В результате будет получен список понятий в виде python-словаря: concepts = { "ResilienceCycle": "Формальная модель управления устойчивостью системы, включающая взаимосвязанные фазы, функции, ресурсы и агентов.", "Phase": "Фаза жизненного цикла устойчивости: anticipation, absorption или adaptation.", "ControlFunction": "Управляющая функция, выполняемая в определённой фазе цикла для поддержания устойчивости.", ... } Труды Кольского научного центра РАН. Серия: Технические науки. 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 28

RkJQdWJsaXNoZXIy MTUzNzYz