В настоящее время любое знание является стратегическим ресурсом [1] и актуальность разработки методов и средств управления знаниями, в том числе и базами знаний, остается высокой. В большинстве случаев под термином «управление знаниями» [2] понимается, в первую очередь, систематическое, явное и преднамеренное приобретение (сбор) и использование в основном корпоративных знаний с целью максимизации эффективности их применения с точки зрения получения прибыли и повышения качества продукции и услуг. При этом под системами управления знаниями (СУЗ) будем понимать специализированные веб-порталы, экспертные системы, системы документооборота, системы поиска, классификации, индексации и каталогизации данных. Таким образом, система управления базами знаний (СУБЗ) – это комплекс интеллектуальных средств для создания и использования баз знаний [3].
Наиболее важными задачами, решаемыми в процессе управления знаниями, являются извлечение, структурирование и формализация знаний. Сложность и трудоемкость их решения в основном и обусловливают сложность процесса создания систем, основанных на знаниях. Эффективность данного процесса может быть повышена за счет автоматизации его отдельных этапов:
– концептуализации и формализации – при помощи систем онтологического и когнитивного моделирования (например, Protégé, FreeMind, Xebece, TheBrain, XMind и др.) [4];
– реализации – при помощи специализированных редакторов баз знаний (например, Visual Expert System Designer, Expert System Designer, ES-Builder, ДИЭКС и др.) [5].
Однако в настоящий момент практически отсутствуют программные средства, охватывающие все этапы создания баз знаний и экспертных систем и обеспечивающие комплексность процесса разработки: от модели предметной области до создания кода на языке представления знаний.
Целью данной работы является разработка web-сервиса, автоматизирующего реализацию баз знаний продукционного типа на основе результатов концептуального (когнитивного) моделирования.
Сервис должен обеспечивать загрузку визуальных моделей, их преобразование во внутренний универсальный формат (с целью построения модели предметной области), моделирование продукций и генерацию на их основе кода для целевой экспертной системы, а также возможность совместной и распределенной работы исследователей над проектами.
В качестве источников моделей предлагается использовать модели классов, выполненные c применением UML (Unified Modeling Language) [6] и сохраненные в форматах XMI MOF (Meta Object Facility) и XMI UML (CASE-средство IBM Rational Rose) [7], а также визуальные модели, выполненные в системе когнитивного моделирования FreeMind [8]. В качестве целевого языка представления знаний используется CLIPS (C Language Integrated Production System) [3, 9].
Концепция web-сервиса
Функции и назначение web-сервиса. Назначением разрабатываемого сервиса является поддержка процесса создания баз знаний продукционного типа, при этом основными функциями являются:
– создание проектов баз знаний и моделей предметных областей с возможностью настройки доступа и привилегий отдельных пользователей и групп;
– автоматизированное формирование модели предметной области на основе анализа концептуальных и когнитивных моделей форматов XMI MOF, XMI UML и XML FreeMind;
– автоматизированное формирование (проектирование) баз знаний продукционного типа с использованием нотации RVML (Rule Visual Modeling Language) [10];
– разработка (автоматическая кодогенерация) баз знаний в формате CLIPS на основе моделей продукционных баз знаний.
Архитектура сервиса. Для реализации функций разработана архитектура сервиса (рис. 1), в которой можно выделить серверную и клиентскую части.
Основные модули и их назначение:
– пользовательский интерфейс; обеспечивает удобное, быстрое и эффективное взаимодействие пользователей с сервисом посредством навигации, вспомогательных панелей управления, всплывающих подсказок и т.п.;
– модуль администрирования сервиса; обеспечивает возможность определения прав доступа для разных пользователей сервиса;
– модули поддержки импорта концептуальных моделей (XMI MOF, XMI UML, FreeMind); обеспечивают возможность импорта файлов в формате XML, созданных в FreeMind и Rational Rose; если загружаемый XML-файл корректный, то в результате анализа выделяются понятия, связи, атрибуты, их параметры и т.д. и эта информация о концептуальной модели переводится во внутреннее универсальное представление, которое в дальнейшем будет использовано при формировании баз знаний;
– модуль отображения продукционных моделей (кодогенерации) в формат CLIPS; обеспечивает автоматическое формирование файла в формате CLP на основе продукционной модели;
– БД для хранения информации о концептуальных моделях; при проектировании было принято решение сегментировать БД на три части согласно характеру хранимой информации и специфике решаемых задач, которые в совокупности обеспечивают работу сервиса: пользователи и проекты, модели предметной области (концептуальные модели), продукционные базы знаний (модели продукций).
Алгоритмическое обеспечение. Основными функциями сервиса являются автоматизированное формирование (создание) моделей продукционных баз знаний и их программная реализация для CLIPS (рис. 2).
В качестве источников концептуальных моделей выбраны CASE-средство Rational Rose и среда когнитивного моделирования FreeMind, позволяющие сохранять разработанные модели в виде XML-структур. В результате анализа подобных структур выделяются понятия предметной области и формируются онтологии. Далее на основе онтологического представления создаются модели продукций, описывающие причинно-следственные зависимости предметной области. После уточнения (редактирования) продукционных моделей генерируется код для целевой экспертной системы, в частности для CLIPS.
Далее приведем примеры реализации данного алгоритма для Rational Rose и FreeMind.
Автоматизированное формирование моделей предметной области на основе UML-моделей классов. В качестве источника UML-моделей, описывающих классы предметной области, было решено использовать CASE-средство Rational Rose. При его применении в качестве источника концептуальных моделей берутся два формата: XMI MOF (Meta Object Facility) и XMI UML (Unified Modeling Language).
Отличие между этими форматами в том, что MOF содержит минимальный набор элементарных конструктов моделирования (например Classes, Associations, DataTypes) по сравнению с UML, содержащим большее количество конструкций.
Существует несколько способов описания и выполнения трансформаций UML-моделей. Один из вариантов заключается в использовании методик трансформации XML-документов и стандарта XMI.
XMI (XML Metadata Interchange) – это стандарт, позволяющий представить UML-модель в виде XML-документа. Он предназначен главным образом для хранения UML-данных, а также любых других данных, метамодель которых задана с помощью MOF (Meta Object Facility), и обмена ими между различными инструментами и средами разработки. MOF – стандарт описания метамоделей, с помощью которого, в частности, можно описать структуру и общий вид UML-модели [7].
Представим фрагмент файла в формате XML, полученный при экспорте диаграммы классов, отраженной на рисунке 3:
…
name = 'Материал' annotation = 'Материал объекта инцидента'
isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis'
isSingleton = 'false' >
name = 'Наименование' annotation = 'Наименование материала'
scope = 'instance_level' visibility = 'private_vis'
isChangeable = 'true'
isDerived = 'false' >
…
Коэффициент легированности стали
…
Автоматизированное формирование моделей предметной области на основе визуальных когнитивных моделей FreeMind. FreeMind [8] - это широко распространенный программный продукт класса mind mapping, предназначенный для построения и визуализации структуры баз знаний.
FreeMind в основном используется для следующих целей:
– управление проектами (включая создание структуры подзадач, анализ состояния подзадач и отслеживание времени их исполнения);
– представление структуры проекта (ссылки на необходимые файлы, исполняемые модули, исходные коды, источники информации и т.п.);
– проведение интернет-исследований (структуризация результатов поиска);
– брейнсторминг (программа позволяет показать цветом, какая ветвь рассуждений открыта, закрыта, не получила развития и т.п.);
– построение концептуальных моделей предметных областей.
На рисунке 4 приведен пример концепт-карты FreeMind.
Представим фрагмент файла FreeMind, при этом выделены ключевые конструкции, на основе которых осуществлялось выделение элементов концептуальной модели:
Наблюдаемая кинетика
Деградационный процесс
Материал
…
Формирование продукций и генерация кода
На основе концептуальной модели (онтологии) происходит автоматическая генерация продукционной модели, при этом понятиям онтологии ставятся в соответствие понятия продукционной модели с последующей генерацией кода базы знаний в формате CLIPS (см. таблицу).
Примеры соответствий элементов концептуальной, продукционной моделей и CLIPS
Examples of corresponding elements of conceptual, production models and CLIPS
Элементы концептуальной модели
|
Элементы продукционной модели
|
Элементы CLIPS
|
Проект (наименование, описание)
|
База знаний (наименование, описание)
|
-
|
Понятие (наименование, описание)
|
Шаблон (наименование, описание)
Факт (наименование, описание)
|
deftemplate
|
Метод
|
-
|
-
|
Атрибут
|
Слот (описание, значение)
|
slot
|
Значение атрибута
|
Значение слота
|
default
|
Тип атрибута
|
Тип атрибута
|
type
|
Связь
|
Правило
|
defrule
|
В заключение отметим, что решение проблемы управления знаниями позволяет повысить эффективность труда во многих областях, в том числе при разработке баз знаний экспертных систем и систем, основанных на знаниях.
В данной работе предлагается решение задачи формализации и реализации баз знаний на основе концептуальных моделей. В качестве источника концептуальных моделей использованы CASE-средство Rational Rose и среда когнитивного моделирования FreeMind, целевой язык представления знаний – CLIPS.
В настоящий момент создан исследовательский прототип web-сервиса для автоматизированного формирования баз знаний. Программная реализация выполнена на основе Yii Framework и PostgreSQL.
Апробация и тестирование сервиса осуществлены при создании баз знаний продукционных экспертных систем для исследования и обеспечения техногенной безопасности труднодоступных водных объектов.
Литература
1. Гапоненко А.Л., Орлова Т.М. Управление знаниями. Как превратить знания в капитал. М.: Эксмо, 2008. 400 с.
2. Гаврилова Т.А., Хорошевский В.Ф. Базы знаний интеллектуальных систем. СПб: Питер, 2000. 384 с.
3. Частиков А.П., Гаврилова Т.А., Белов Д.Л. Разработка экспертных систем. Среда CLIPS. СПб: БХВ-Петербург, 2003. 608 с.
4. Гаврилова Т.А., Гулякина Н.А. Визуальные методы работы со знаниями: попытка обзора // Искусственный интеллект и принятие решений. 2008. № 1. С. 15–21.
5. Юрин А.Ю., Грищенко М.А. Редактор баз знаний в формате CLIPS // Программные продукты и системы. 2012. № 4. С. 83–87.
6. Unified Modeling Language (UML). URL: http://www. omg.org/spec/UML/ (дата обращения: 02.06.2014).
7. XML Metadata Interchange (XMI). URL: http://www. omg.org/spec/XMI/ (дата обращения: 12.06.2014).
8. Система когнитивного моделирования «FreeMind». 2014. URL: http://www.freemind.sourceforge.net (дата обращения: 02.06.2014).
9. Джарратано Д., Райли Г. Экспертные системы: принципы разработки и программирование; [пер. с англ.]. М.: Вильямс, 2007. 4-е изд. 1152 с.
10. Грищенко М.А., Юрин А.Ю., Павлов А.И. Разработка экспертных систем на основе трансформации информационных моделей предметной области // Программные продукты и системы. 2013. № 3. С. 143–147.
References
1. Gaponenko A.L., Orlova T.M. Upravlenie znaniyami. Kak prevratit znaniya v kapital [Knowledge Management.
How to Turn Knowledge into Capital]. Moscow, Eskimo Publ., 2008, 400 p.
2. Gavrilova T.A., Khoroshevsky V.F. Bazy znany intellektualnykh sistem [Knowledge Bases of Intelligent Systems].
St. Petersburg, Piter Publ., 2000, 384 p.
3. Chastikov A.P., Gavrilova T.A., Belov D.L. Razrabotka ekspertnykh sistem. Sreda CLIPS [Expert Systems
Development. CLIPS Environment]. St. Petersburg, BKhV-Petersburg Publ., 2003, 608 p.
4. Gavrilova T.A., Gulyakina N.A. Visual methods of working with knowledge: an attempt to review. Iskusstvenny
intellekt i prinyatie resheny [Artificial Intelligence and Decision-making]. 2008, no. 1, pp. 15–21 (in Russ.).
5. Yurin A.Yu., Grishchenko M.A. Knowledge base editor for CLIPS. Programmnye produkty i sistemy [Software &
Systems]. 2012, no. 4, pp. 8–87 (in Russ.).
6. Unified Modeling Language (UML). Available at: http://www.omg.org/spec/UML/ (accessed June 2, 2014).
7. XML Metadata Interchange (XMI). Available at: http://www.omg.org/spec/XMI/ (accessed June 2, 2014).
8. Mind mapping “FreeMind”. Available at: http://www.freemind.sourceforge.net (accessed June 2, 2014).
9. Giarratano J.C., Riley G.D. Expert Systems: Principles and Programming. 4th ed., PWS, Boston, MA, 2004 (Russ.
ed.: Moscow, Williams Publ., 2007, 1152 p.).
10. Grishchenko M.A., Yurin A.Yu., Pavlov A.I. Expert systems design based on the transformation of domain
information models. Programmnye produkty i sistemy [Software & Systems]. 2013, no. 3, pp. 143–147 (in Russ.).