Разработка экспертной системы в составе информационно-аналитической системы «ЦифроМед»
Е.А.
Клёнов,
асп., eaklenov@gmail.com,
А.А.Кухтичев,
асп., a.kukhtichev@mail.ru,
С.В.
Скородумов
доц., skorodum@gmail.com,
МАИ, г. Москва
В докладе
представлен системный подход создания модуля экспертной системы (ЭС) в составе информационно-аналитической
системы (ИАС) «ЦифроМед», а так же рассматриваются исторические
предпосылки появления ЭС. Основное внимание в данной работе направлено на
описание архитектуры и процесса эксплуатации ЭС в составе ИАС «ЦифроМед».
Прототипом
современных экспертных систем (ЭС) явились механические устройства, предложенные
в 1832 году русским учёным Корсаковым С.Н. [1] – «интеллектуальные машины»,
позволявшие находить решения по заданным условиям (например, определять
наиболее подходящие лекарства по наблюдаемым у пациента симптомам заболевания).
Первые
ЭС были разработаны как научно-исследовательские инструментальные средства в
1960-х годах и рассматривались в качестве искусственного интеллекта
специального типа, предназначенного для успешного решения сложных задач в узкой
предметной области, такой как медицинская диагностика заболеваний.
Экспертная
система является программным продуктом и её назначение – автоматизация
деятельности человека. Однако принципиальным отличием ЭС от других программ
является то, что она выступает не в роли «ассистента», выполняющего за человека
часть работы, а в роли «эксперта-консультанта». ЭС не призвана заменить
специалиста медицинского учреждения, она призвана помочь. Стратегии экспертных
систем основаны на знаниях человека-эксперта.
Хотя
многие программы пишутся самими носителями знаний о предметной области,
большинство экспертных систем являются плодом сотрудничества между экспертом, в
данном случае – врачом, и независимым специалистом по искусственному интеллекту
(ИИ)[5]. Эксперт предоставляет необходимые знания о предметной области,
описывая методы принятия решений и демонстрируя свои знания на тщательно
отобранных примерах. Специалист по ИИ, или инженер по знаниям, отвечает за
реализацию их знаний в программе, которая должна работать эффективно и внешне
разумно.
Экспертная
система должна обладать следующими свойствами[2]:
1.
Программа
должна обладать знаниями;
2.
Знания,
которыми обладает программа, должны быть сконцентрированы на определённую
предметную область;
3.
Знания
предполагают определённую организацию и интеграцию – то есть отдельные правила
и факты должны соотноситься друг с другом и образовывать сеть;
4.
Из
знаний должно непосредственно вытекать решение проблемы.
Основными
пользователями системы «ЦифроМед» должны стать
космонавты, пилоты, штурманы и др. авиаспециалисты. Для контроля показателей
жизнедеятельности человека требуются новые решения в области разработки и
использования приборов нового поколения, какими являются НУМ и ВУМ.
Информационная
система «ЦифроМед» должна выполнять следующие
функции:
1.
Измерение
и контроль показателей жизнедеятельности пользователей, «цифроризация»
пользователей (космонавтов, пилотов, штурманов и др. авиаспециалистов).
2.
Привязка
пользователя к врачу или группе медицинских специалистов (МС), которые должны
следить за показателями здоровья пользователей системы.
3.
Диагностика
на ранних этапах и мониторинг процесса оперативного лечения.
4.
Проведение
консультаций и семинаров для специалистов.
В
основе системы «ЦифроМед»[4] лежит трехуровневая
архитектура (рис. 1) – архитектурная модель, предполагающая наличие трёх
компонентов: клиента (слой клиента – пользовательский интерфейс), сервера
приложений (слой логики – программные модули и обработчик данных) и сервера
базы данных (слой данных – хранилище большого объёма данных).
Пользовательский
интерфейс предназначен для обмена данными с основным пользователем системы и
его лечащим врачом [3], а также для получения и передачи данных посредством
специального API от носимых и вживляемых устройств микроэлектроники (НУМ и ВУМ).
Слой логики обеспечивает все вычислительные процессы, подготовку и обработку
данных. Хранение больших объёмов данных обеспечивается при помощи хранилища
данных. Взаимодействие между модулями и архитектурными слоями обеспечивается
обработчиком данных.
Рассмотрим
более детально слой логики:
· Модуль анализа
показателей НУМ/ВУМ анализирует показатели НУМ/ВУМ, если они превышают норму,
передает информацию модулю оповещения;
· Модуль оповещения
передает сигнал на НУМ в виде вибрации или звонка, а также данные о результатах
анализа показателей пользовательскому интерфейсу;
· Модуль управления
пользователями обеспечивает логику регистрации, входа, разграничивает области
доступа для разных типов пользователей, а также организует информацию для
личного кабинета врача;
· Модуль управления
электронной медицинской картой организует логическую последовательность
действий при работе с ЭМК;
· Модуль диагностики
управляет статистикой показаний, статистикой данных с НУМ составе “паспорта
здоровья”;
· Информационный модуль
систематизирует информацию, разбивая ее по отдельным рубрикам, а также отвечает
за механизм публикаций, редактирования и удаления различных элементов контента портала;
· ЭС в составе информационно-аналитической системы
(ИАС) «ЦифроМед» – системы, позволяющей контролировать
физические показатели пилотов летательных аппаратов в режиме реального времени
– в случае отклонения одного или нескольких физических показателей от нормы,
даёт рекомендации лечащему врачу на основе измеряемых данных и патологий
пользователя, отранжированных в порядке вероятности
возникновения;
· Поисковый модуль
обеспечивает корректную выдачу результатов поиска.
Рис. 1. Архитектура информационно-аналитической системы «ЦифроМед»
На
рис. 2 изображён принцип работы модуля экспертной системы в составе ИАС «ЦифроМед». НУМ и ВУМ в режиме реального времени собирают
показатели жизнедеятельности конечного пользователя, после чего передают их на
виртуальную машину, где они обрабатываются и заносятся в базу данных. Модуль
оповещения (мониторинга) в случае отклонений одного или нескольких показателей
от нормы информирует лечащего врача и автоматически вызывает модуль экспертной
системы, который, анализируя данные пользователя, предлагает лечащему врачу
возможные патологии.
Рис. 2. Принцип работы экспертной системы в составе ИАС «ЦифроМед»
База
знаний ЭС «ЦифроМед» разделяется на две части:
статические и динамические знания. Статические знания состоят из симптомов –
информации, доступной врачу на этапе постановки диагноза, описывающее текущее
состояние пользователя – и диагнозов – названий всех возможных патологий
человека и их групп. Динамические знания – это физические показатели
жизнедеятельности пользователя, измеряемые НУМ и ВУМ. В операционной памяти хранятся
симптомы, диагнозы, применимые правила вывода и рассуждения, относящиеся к
очередному сеансу работы лечащего врача с ЭС. При выявлении отклонений
показателей жизнедеятельности пользователя модулем оповещения (мониторинга)
происходит процесс логического вывода. Каждый симптом и диагноз имеет свой
коэффициент – вероятность наличия той или иной патологии. Тем самым лечащий
врач получает полную информацию о состояние пользователя и предложенных ЭС
патологий.
Для
генерации базы статических знаний был выбран Python
Knowledge Engine
(PyKE) [6] –
высокоуровневый компилятор логического языка для языка программирования Python.
Для работы с PyKE необходимо описать
базу фактов (файлы kfb) и базу правил
прямого и/или обратного вывода (файлы krb).
Ниже приведен фрагмент файлов для описания базы фактов и базы правил обратного
вывода.
#
symptoms.kfb
symptom_of("кашель",
"простуда")
symptom_of("температура",
"простуда")
symptom_of("температура",
"тахокардия")
symptom_of("жар",
"лихорадка")
symptom_of("жар", "гипертония")
# bc_forall.krb
subseq_done
use subseq((), ())
subseq_0
use subseq(($_, *$REST), ($HEAD, *$TAIL))
when
subseq($REST, $HEAD)
subseq(($REST), $TAIL)
subseq_1
use subseq(($_, *$REST), ($HEAD))
when
subseq($REST, $HEAD)
subseq_2
use subseq(($_, *$REST), $HEAD)
when
symptoms.symptom_of($HEAD, $REST)
get_disease
use no_step_siblings($symptoms, $disease)
when
subseq($disease, $symptoms)
2. Экспериментальная часть проверки ЭС системы «ЦифроМед»
На
рис. 3 приведен пример реализованной страницы мониторинга физиологических
показаний авиаспециалиста научным сотрудником.
Рис. 3. Графический интерфейс лечащего врача при выявлении
отклонений системой оповещения (мониторинга) физических показателей
пользователя от нормы
Результаты
исследования используются в проекте создания информационного портала «ЦифроМед», обеспечивающего непрерывный контроль показателей
жизнедеятельности авиаспециалистов на основе показаний НУМ и ВУМ, в составе
технологии БОС – биологической обратной связи. Этапы проектирования ИАС «ЦифроМед» соответствуют результатам исследования:
1.
Исследованы
основные компоненты и свойства экспертных систем;
2.
Разработана
архитектура ЭС ИАС «ЦифроМед», состоящая из набора
связанных модулей, определены основные источники данных;
3.
Разработана
информационная архитектура системы, отвечающая требованиям обеспечения удобства
и эффективности для всех пользователей системы. Сконструированы и реализованы
макеты пользовательского интерфейса;
4.
Разработан
программно-аппаратный комплекс «ЦифроМед» на основе
выбранных программных средств разработки;
5.
Проведен
эксперимент по проверке работоспособности системы мониторинга и ЭС.
Внедрение системы «ЦифроМед»
в аэрокосмической отрасли позволит свести к минимуму вероятность возникновения
аварий и авиакатастроф, вызванных человеческим фактором, исключить риски,
связанные с перегрузками или с длительным пребыванием в состоянии невесомости,
а также улучшить качество подготовки авиаспециалистов, так как данные о
физическом состоянии пользователя системы становятся доступны экспертам в
режиме реального времени.
1.
Корсаков
С.В. Начертание нового способа исследования при помощи машин, сравнивающих идеи
/ Пер. с франц. Под ред. А.С. Михайлова – М.: МИФИ, 2009 , 44 с.
2.
Питер
Джексон – «Введение в экспертные системы» – М.: Вильямс, 2001. – 624 с.
3.
А.А.
Кухтичев, В.С. Скородумов, Ч.А. Салчак,
Разработка информационной архитектуры системы для создания сервисов цифровой
медицины // XIV Международная конференция «Системы проектирования,
технологической подготовки производства и управления этапами жизненного цикла
промышленного продукта CAD/CAM/PDM», Москва,
14-16 октября 2014 г., с. 98-100.
4.
Клёнов
Е.А., Кухтичев А.А., Скородумов С.В. Разработка
программно-аппаратного комплекса контроля физического состояния
авиаспециалистов с использованием носимых устройств микроэлектроники // Труды
МАИ, Выпуск № 83.
5.
Джордж
Ф. Люгер. Искусственный интеллект: стратегии и методы
решения сложных проблем. – М.: Издательский дом «Вильямс», 2005. – 864 с.
6.
Python Knowledge
Engine (PyKE). URL: http://pyke.sourceforge.net/ (Дата обращения:
10.10.2015).