Разработка экспертной системы в составе  информационно-аналитической системы «ЦифроМед»

Е.А. Клёнов,

асп., eaklenov@gmail.com,

А.А.Кухтичев,

 асп., a.kukhtichev@mail.ru,

С.В. Скородумов

доц., skorodum@gmail.com,

 МАИ, г. Москва

В докладе представлен системный подход создания модуля экспертной системы (ЭС) в составе информационно-аналитической системы (ИАС) «ЦифроМед», а так же рассматриваются исторические предпосылки появления ЭС. Основное внимание в данной работе направлено на описание архитектуры и процесса эксплуатации ЭС в составе ИАС «ЦифроМед».

 

The report presents a systematic approach of creating an expert system (ES) module as part of information-analytic system (IAS) “TsifroMed”, and it also discusses the historical background of the emergence of ES. The focus of this work is aimed at the architecture and operation of the process of ES as part of IAS “TsifroMed”.

1. Информационная архитектура экспертной системы в составе ИАС «Цифромед»

Прототипом современных экспертных систем (ЭС) явились механические устройства, предложенные в 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).