Данная статья кратко представляет вдумчивому читателю планы по проектированию и разработке прототипа Системы поддержки принятия решений при диагностике и лечении судорожного синдрома (СППР ДЛСС). Мы рассмотрим постановку задачи, предназначение Системы, её задачи и очень кратко тот набор методов, которые будут использоваться в работе Системы.

Наверняка большинство читателей этого журнала уже наслышаны о моём новом проекте Разработка СППР по диагностике эпилепсии , который был запущен на Бумстартере некоторое время назад. Мне приходит много вопросов касательно этой Системы, поэтому в этой небольшой заметке я хотел бы раскрыть некоторые из них. Заодно я также хотел бы более чётко осветить то, что хочу сделать, чтобы у моих будущих спонсоров возникало поменьше сомнений.

Соответственно, всех заинтересованных читателей призываю активно комментировать, задавать вопросы, присылать мне электронные письма и т. д. Все конструктивные слова будут восприняты и вот это вот всё.

Замысел

Представьте себе ситуацию, что у некоторого человека происходят приступы, которые выглядят как эпилептические. Он теряет сознание, начинаются конвульсии, текут слюни, происходит непроизвольное мочеиспускание. Через несколько минут всё заканчивается, бедняга засыпает. А через полчаса он просыпается и не понимает, что с ним было. Но в целом-то он, конечно, представляет, что это такое, потому что диагноз «эпилепсия» поставлен.

А случалось ли вам разговаривать с человеком, который время от времени внезапно как бы замирает, его глаза тухнут на несколько секунд, а потом он продолжает свою деятельность и даже разговор, как ни в чём не бывало? А знаете ли, что в этот момент он чувствует? Как будто бы мир вокруг гаснет на несколько секунд. и всё погружается во тьму, да и само сознание уже не работает. Это абсанс, или пикнолепсия — малый эпилептический приступ.

Или человек, который резко дёргает какой-нибудь частью тела? Чаще всего можно встретить человека, который во всех отношениях нормальный, только время от времени его веки начинают трепетать часто-часто. В этот момент в его голове бушует шторм. Это миоклонический тип приступов.

А случается так, что у некоторых людей одновременно присутствуют и абсансы, и миоклонические приступы, и генерализованные судороги. А ещё бывают атипичные абсансы, когда сознание постепенно затухает в течение 30 секунд, а потом так же постепенно возвращается. Или, к примеру, атонические приступы, когда человек падает из-за того, что внезапно у него все мышцы тела перестали напрягаться. В противоположность этому есть тонические приступы, когда мышцы человека скручивает в тугой узел (многие наверняка испытывали по ночам боль в икроножных мышцах, так вот это и рядом не стояло с болью от тонического приступа). Галлюцинации любого ощущения (зрительные, слуховые, обонятельные, тактильные и т. д.), различные вегетативные симптомы, головокружения и тошнота, чувство восторженности, экстаза и даже оргазм — всё это также может быть симптомами эпилепсии.

По статистике эпилепсией болеют примерно 5 % населения Земли. Но сложно встретить на улице больного эпилепсией. Почему? Во-первых, очень немногие эпилептические синдромы проявляются в зрелом возрасте, то есть большинство заболевших являются детьми. Во-вторых, эпилептические синдромы разделяются на благоприятные и тяжёлые. Благоприятные обычно проходят или самостоятельно, либо при помощи медикаментозной терапии. А вот тяжёлые эпилептические синдромы часто имеют самый неблагориятный прогноз. Если даже ребёнок, у которого установлен тяжёлый эпилептический синдром, повзрослел, он вряд ли будет встречен на улице — инвалидизация часто окончательная.

Эпилептология в последнее время шагнула далеко вперёд. Разрабатываются антиконвульсанты нового поколения, которые снимают приступы и не имеют таких страшных побочных эффектов, как превращение человека в растение. Определяется этиология многих эпилептических синдромов, и сегодня всё чаще и чаще говорят о генетической составляющей этой непростой болезни.

А теперь представьте себе такую ситуацию. Жила да была один врач, именем которого назван один из тяжёлых эпилептических синдромов. Она изучала клинические проявления этого синдрома и установила, что из обследованных ею детей, у которых есть проявления в виде, скажем, миоклоний, атипичных абсансов и умственной отсталости, 80 % имеют мутацию de novo (проявившуюся саму по себе, не унаследованную от кого-либо из родителей) в гене натриевого канала. И вот она пишет статью, что так и так, есть комплекс симптомов, и внезапно у 80 % детей обнаружена та или иная мутация — дескать надо ещё поисследовать вопрос, но закономерность интересная.

И вот врачи в клиниках получают на курсах по повышению квалификации копию перевода этой статьи. Что же происходит дальше. На приём к такому врачу попадает ребёнок, у которого генетики нашли мутацию в этом самом гене. Но у него нет ни одного из описанных проявлений того тяжёлого эпилептического синдрома. Но врач всё равно ставит этот диагноз и прописывает кучу антиконвульсантов самого тяжёлого свойства со словами: «Вот вам таблетки, вряд ли они помогут, но ничего другого ещё не придумано».

Мне одному кажется, что здесь что-то не так с логикой? Математики, программисты, вообще люди технического склада ума придут в ужас от такого вывода врача. А вот у врачей это, как оказалось, обычное дело. Используется самая простая схема, делаются самые поверхностные выводы. А при столкновении с нестандартной ситуацией наступает перекос в мозгах и попытки скинуть её на коллег из другого департамента. Ну и, само собой разумеется, системно подходить к лечению никто не хочет. Конечно, не все врачи действуют именно так, но, в силу необходимости повращавшись в этой среде, я нахожу, что это типичный паттерн поведения. И, к сожалению, это касается не только эпилептологии, а в принципе всех отраслей врачебной практики.

И вот я решил реализовать Систему, которая позволит хоть как-то объективизировать медицинское знание. Я выбрал отрасль эпилептологии и неврологии потому, что мне самому интересна она. И вот здесь я хочу позволить врачам иметь инструмент, который поможет принимать правильные решения и назначать адекватное лечение. Ведь есть очень много знаний, есть и люди с огромным экспертным опытом, но это всё не доходит до обычных врачей в обычных поликлиниках. Я планирую, что Система не только сможет расщёлкивать типовые ситуации, как орехи, но и помогать специалистам изучать и разбирать сложные случаи.

Предназначение Системы

Итак, рассмотрим предназначение будущей Системы. Для чего всё это задумано и поставлены такие амбициозные цели? Есть несколько аспектов использования.

Перво-наперво необходимо отметить, что у пользователи разрабатываемой Системы будут иметь разные роли. Таких ролей на текущий момент выделено 5, и только 2 из них работают с Системой непосредственно для получения рекомендаций по поводу диагностики и лечения судорожного синдрома. Рассмотрим их по порядку:

1. Роль «Врач». Для врачей Система предоставляет полный инструментарий для работы с пациентами с судорожным синдромом. Это и ведение фактологической информации о пациенте (естественно с изучением состояния пациента в динамике), и получение рекомендаций относительно назначений для лечения. Бонусом является наличие разнообразных аналитических инструментов — поиск информации в больших массивах данных, построение отчётности и визуализация данных, выявление скрытых закономерностей и т. д. Другими словами, предназначение Системы для врача заключается в облегчении его повседневной работы и снятии с него рутинных и, в особенности, тяжёлых задач по анализу данных.

2. Роль «Ухаживающий за пациентом». Однако не секрет, что врач смотрит за большим количеством пациентов, а обеспечение полноты фактологической информации для наиболее корректной работы Системы представляет собой довольно кропотливую работу. Отсюда следует, что у пациента должен быть тот, кто ухаживает за ним и вводит всю необходимую информацию в Систему. Чаще всего это будет родитель ребёнка, наиболее заинтересованный в том, чтобы вылечить своё чадо. Но, естественно, если пациент может пользоваться Системой самостоятельно, то ввод фактологической информации может осуществляться и им самим. Так что предназначение Системы для пациента или ухаживающего за ним заключается в обеспечении всей полноты информации для более корректного вывода рекомендаций. а также объективного контроля врача и его действий.

3. Роль «Эксперт». Но есть ещё и эксперты, которые задействованы в построении Системы, хранят в ней свои знания. Для этой категории пользователей Система предоставляет инструменты для структуризации и формализации знаний, аналитической работы с ними, подготовки материалов для публикаций и научной работы. Ведь, к примеру, используя весь массив информации по тем пациентам, лечение которых ведётся при помощи Системы, можно обобщать информацию, находить новые закономерности и выполнять иную научно-исследовательскую работу в целях улучшения и рафинирования экспертных знаний и, как следствие, эволюции самой Системы. Таким образом, предназначение Системы для экспертов заключается в помощи в проведении научных исследований.

4. Роль «Когнитолог». Этот пользователь занимается непосредственным извлечением знаний из экспертов и источников знаний третьего рода. Для когнитолога Система является непосредственным инструментом работы. Прямых выгод для данного пользователя от использования Системы нет, если не считать облегчения его интеллектуального труда. Впрочем, можно сказать, что Система позволит когнитологу оттачивать своё искусство извлечения знаний.

5. Роль «Чиновник». Наконец, Систему можно использовать для обобщения информации о том, сколько пациентов было вылечено при помощи её использования в целях построения разнообразной бюрократической отчётности (зачастую ради самой отчётности, но такова природа бюрократии). Так что Система может стать полезной и для такой в целом бесполезной области деятельности, как администрирование и контроль врачебной практики.

Задачи Системы

Из перечисленного в предыдущем разделе следует тот набор задач, который должен решаться Системой. Вот они:

1. Извлечение и верификация экспертных знаний. Система должна позволять пользователям с ролями «Эксперт» и «Когнитолог» вносить в базу знаний информацию о методах принятия решений, правилах вывода, классификаторах и значениях реквизитов разнообразных объектов из проблемной области. Это относится, к примеру, к извлечению, структуризации и формализованному внесению в базу знаний всех симптомов конкретного эпилептического синдрома. Каждый синдром должен быть описан набором тех симптомов, которыми он определяется, а также при помощи дополнительной информации, возможно при помощи продукционных правил вывода (например, «ДЛЯ абсанс ЕСЛИ моторные феномены = нет ТО тип абсанса = простой УВЕРЕННОСТЬ 100%»). Ну и кроме самих синдромов примерно таким же должны описываться методы исследования, антиэпилептические и иные терапевтические препараты и т. д. Кроме того, Система должна позволять верифицировать знания, то есть ставить «удостоверяющую метку» авторитетного в проблемной области эксперта о том, что база знаний корректна, полна и может использоваться по своему прямому назначению.

2. Ведение исторической и фактографической истории пациента. Само собой разумеется, что для получения наиболее корректных рекомендаций в Систему необходимо ввести наиболее полную информацию об анамнезе пациента и его текущем состоянии. Более того, Система позволяет вести такую информацию в динамике, и это также способствует получению более корректных рекомендаций. Эта функция выполняется пользователями с ролями «Врач» и «Ухаживающий за пациентом», при этом большая часть обязанностей по ведению истории ложится, конечно, на второго пользователя. Дело в том, что у одного врача на лечении могут находиться десятки пациентов, и у него просто не хватит времени для детального описания их состояний в Системе. Но чем меньше информации даётся, тем более недостоверными становятся результаты вывода, то есть рекомендации. Поэтому наиболее заинтересованным пользователем становится именно тот, кто ухаживает за пациентом — на такого человека ложится всё бремя необходимости ведения информации о пациенте и поддержании её в актуальном виде. Тем более, что у такого лица обычно один пациент, и ухаживающий за пациентом становится первым помощником врача.

3. Вывод рекомендаций относительно диагноза и по лечению. А это, конечно же, самая главная функция Системы. Имея у себя актуальную базу знаний и получив на вход историческую и фактологическую информацию о пациенте, Система осуществляет вывод рекомендаций, построение плана дальнейшего лечения и, более того, далее ведёт этот план, напоминая и врачу, и лицу, ухаживающему за пациентом, о том, что необходимо сделать, какие диагностические процедуры провести, какие новые параметры о пациенте ввести в Систему. Также, с учётом того, что как у врачей может быть разная квалификация, так и ухаживающие за пациентами лица в большинстве своём вообще не имеют медицинского образования, в Системе должна быть реализована функция объяснения рекомендаций, то есть описания на естественном языке того, как была получена та или иная рекомендация, в том числе и со ссылками на авторитетные источники. При помощи этого подхода, в том числе, и ухаживающее за пациентом лицо будет способно понять суть рекомендаций и говорить на одном языке с лечащим врачом, что иногда очень важно и необходимо для родителей больных детей.

4. Построение различной отчётности. Эта задача выполняется Системной не только для обеспечения бюрократических процедур, как было сказано ранее, но и для непосредственной помощи эксперту, врачу и лицу, ухаживающему за пациентом. Ведь обобщение информации и её грамотная визуализация помогает анализировать данные и находить в них скрытые закономерности, даже если такой поиск происходит на интуитивном уровне. И тут происходит системное взаимодействие искусственного и естественного интеллекта, что позволяет более полно осуществлять лечение пациента.

5. Вспомогательные функции для облегчения работы. Кроме всего прочего для того, чтобы у пользователей Системы не возникало проблем с работой в ней, предполагается использование различных вспомогательных функций, в том числе и для интеллектуальной обработки вводимых данных. Если, как определено ранее, основной массив информации вводит лицо, ухаживающее за пациентом, у которого нет специального медицинского образования, то Система должна сделать работу такого пользователя максимально комфортной. Это значит, например, что Система не будет впадать в ступор, если пользователь ошибётся в названии какого-либо симптома (ну, скажем, переспросит на всякий случай), а сам ввод данных может осуществляться на формализованном естественном языке. Более того, Система предоставит подсказки и краткую справку по терминам из области эпилептологии и детской неврологии. Ну и т. д.

Также необходимо отметить, что сегодня в XXI веке, когда космические корабли бороздят просторы Вселенной. любая пользователеориентированная информационная система должна иметь дружественный графический интерфейс пользователя. Времена, когда для работы предоставляются сухие экранные формы с бесконечным количеством полей ввода на них, безвозвратно ушли в прошлое. Экранные формы могут остаться только для специалистов и тех, кто специально переключил интерфейс на них. Для обычных же пользователей (лиц, ухаживающих за пациентами) должен предоставляться интерфейс с естественноязыковым вводом и имитирующим общение с различными врачами-специалистами.

Описание методов, используемых Системой

Теперь же перейдём к более подробному (но, тем не менее, краткому) описанию тех методов, которые будут использоваться в работе Системы для осуществления вывода на знаниях, то есть получения рекомендаций при наличии описания исторической и фактологической информации о пациенте. Вот эти методы:

1. Индуктивный вывод или вывод от частного к общему. Честно говоря, эта стратегия вывода не пользуется почётом в научных кругах, однако в случае диагностирующих СППР она может позволять формировать гипотезы, которые затем проверяются на исполнимость. Поскольку Система имеет дело с вполне определёнными заболеваниями, то в условиях неполноты входной информации она может сформировать гипотезы, а затем спланировать их проверку при помощи известных методов. Например, если на вход Системе пришла фактографическая информация о том, что у пациента наблюдается «грустных смех», то Система может обобщить до диагноза «геластическая эпилепсия». Однако для более точной установки дифференцированного диагноза Система делает рекомендацию «провести нейровизуализацию гипоталамуса». В случае, если при визуализации обнаруживается гамартома гипоталамуса, гипотеза подтверждается, и Система делает практически стопроцентную постановку диагноза.

2. Дедуктивный вывод или вывод от общего к частному. По своей сути это единственный способ вывода, который имеет чёткое логическое обоснование. В случае диагностирующих СППР представляет собой классификацию рассматриваемого случая. Если Система рассматривает текущее состояние пациента, то в неё должны быть внесены все текущие клинические проявления. Далее Система сопоставляет набор таких клинических проявлений с теми описаниями эпилептических синдромов, которые находятся в её базе знаний. Результатом такого сопоставления становится ранжированный набор гипотез о том, каким синдромам наиболее соответствует представленная клиническая картина. Например, при описании текущего состояния пациента указывается, что на ЭЭГ у него наличествют окципитальные спайки и редкие короткие генерализованные разряды, а клиническая картина приступа похожа на вегетативные кризы, при этом чаще всего приступы происходят во сне и часто имеет место недержание мочи и кала (ну и плюс дополнительные характерные признаки). Система может сделать достоверный вывод о наличии синдрома Панайотопулоса без проведения дополнительных обследований.

3. Вывод по аналогии. Однако иногда случается так, что никакой из имеющихся в базе знаний синдромов не похож по описанию на текущую картину клинических проявлений. Такое редко, но случается. И тогда Система, как и настоящий врач, начинает копаться в архивах и искать случаи с похожими клиническими проявлениями заболевания. Восторг вызывает то, что у врача в арсенале есть личная практика и пара случаев, рассказанных коллегами, да и то всё это затуманено в памяти, а у Системы в наличии полные структурированные и формализованные описания сотен и тысяч случаев, среди которых можно что-нибудь да найти. В результате можно вывести не только степень совпадения с теми или иными случаями в прошлой клинической практике, но и сделать выводы об адекватном лечении.

4. Прямой вывод. Это технология вывода от симптомов к синдромам. Если есть набор описаний текущих проявлений заболевания, то на их основе можно вывести гипотезы о том, каким заболеваниям и в какой степени эти симптомы соответствуют. В принципе, это уже описано выше в п. 2 «Дедуктивный вывод». В логике этой стратегии соответствует правило Modus Ponens.

5. Обратный вывод. Другая стратегия вывода, которая идёт от синдрома к симптомам. В рамках машинного вывода при работе Системы особенно полезно её использование для подтверждения гипотез. В частности, если Система зашла в тупик в попытках вывести рекомендации, и при этом она также не может рекомендовать произвести какие-либо дополнительные анализы с последующим вводом новых данных, то можно попробовать переключить стратегию вывода и попытаться пройти от имеющихся описаний синдромов к тем выводам, которые уже получены на основе введённой фактографической информации. В логике этой стратегии соответствует правило Modus Tollens, а сам вывод осуществляется по тому же методу, что и дедуктивный.

6. Нечёткий вывод. Эксперты часто оперируют совершенно нечёткими значениями в своих рассуждениях (математики называют их «лингвистическими переменными») — достаточно открыть любой справочник и посмотреть описания синдромов. В огромном количестве случаев будут представлены такие формулировки, как «Наиболее часто проявляется постиктальная головная боль» или «При нейровизуализации отклонения от нормы редки». Вот здесь слова «часто» и «редко» являются именно лингвистическими переменными. Нечёткая логика формализует способы обработки таких значений, и нечёткий вывод позволяет их использовать непосредственно. Для обработки таких значений в базе знаний Системы строятся классификаторы нечётких переменных и их связь с симптомами.

7. Вывод в условиях неопределённости. Также в знаниях экспертов часто присутствуют некоторые значения с приписанными им степенями определённости. Это может быть частотная вероятность встречаемости симптома при данном заболевании, либо иное выражение уверенности эксперта в утверждении. Например, такое предложение в описании синдрома как «У 90 % больных после приступа развивается сон» преобразуется в запись в базу знаний «Постиктальный сон, 90 %». Само собой разумеется, в математике также разработаны формализмы для обработки таких утверждений.

8. Интервальная арифметика. Третьим видом необычных значений при извлечении знаний из экспертов являются интервалы, которыми эксперты оперируют только так и интуитивно их понимают. Например, для большинства синдромов возраст первого проявления заболевания описывается именно интервалом: «2 — 5 лет». Очень многие симптомы имеют именно такие значения, и Система должна уметь их обрабатывать.

9. Машинное обучение. Тут имеется два аспекта. Во-первых, это классическое Machine learning для выделения тенденций, нахождения аналитических описаний различного рода зависимостей и т. д. Все методы давно известны и широко используются в СППР при решении самых разных задач. И задача диагностики здесь не исключение. Во-вторых, здесь и постоянное обучение Системы, актуализация её базы знаний. Например, Система помогает врачу вести больного, и в конечном итоге больной выписывается с долговременной ремиссией. В системе делается запись об этом, причём всё как обычно структурируется и формализуется. Эксперт или лечащий врач описывают то, какие именно назначения и процедуры помогли добиться ремиссии, и Система берёт это новое знание на вооружение. Ну и, опять же, это ещё одна запись в базу для вывода по аналогии.

10. Поиск закономерностей. То, что называется Data mining и Big data analysis. Системе очень просто взять и проанализировать огромный массив введённой информации тогда, когда у врача или даже академика, каким головастым он бы ни был, уже разбегаются глаза и рассеивается внимание. Методы также давно все известны, от чётко формализованных до эвристических. Например, самый такой простой пример, который, однако, показывает, как врачи упускают интересные закономерности, которые вполне можно использовать для прогнозирования. Вот, скажем, есть база с описанием двух сотен приступов, при этом каждый приступ описан не только с точки зрения клинических проявлений, интересных врачу, но и разных других признаков, вплоть до фазы Луны. Так вот внезапно оказывается, что в новолуние приступы случаются в два раза чаще, чем в любой другой день. То есть налицо какая-то положительная корелляция. И тогда Система делает предупреждения лицу, ухаживающему за пациентом, что «Вот, де, завтра у нас новолуние, будьте внимательны и осторожны».

11. Обработка естественного языка. Ранее уже было упомянуто, что Система должна предоставлять пользователю очень дружественный интерфейс для взаимодействия и ввода информации. А это значит, что ввод, в основном, должен осуществляться на естественном языке, пусть и несколько формализованном. В некоторых случаях, конечно, можно принимать от пользователя информацию при помощи выбора из предоставленных альтернатив, но это очень ограничивает, и часто пользователь начинает теряться, что выбрать, что наибольшим способом подходит под фактическую информацию, когда не подходит ничего из предложенного. Ну и обратная задача синтеза фраз на естественном языке тоже относится к этой теме. В итоге пользователь более удовлетворён, а Система может не только принимать информацию в более полном виде, но и обучаться на этой основе.

12. Автоматизированная верификация знаний. Наконец, в качестве дополнительной функции для экспертов и когнитологов Система может производить автоматизированную верификацию введённых в неё знаний на наличие таких НЕ-факторов знания, как неполнота, противоречивость и неточность. Модель знаний описана, соответствие вводиной информации модели можно провериь и выдать инженеру по знаниям необходимые рекомендации по исправлению.

Заключение

Как обычно я призываю своих читателей высказываться в комментариях, поскольку без отзывов от вас я не смогу понять, насколько тема интересна и доступно изложена. Задавайте ваши вопросы, я с удовольствием постараюсь на них ответить.

Также я хотел бы напомнить о двух вещах:

1. У меня есть книга Методы получения, представления и обработки знаний с НЕ-факторами , в которой описаны многие методы, которые будут использоваться при создании Системы. Книга доступна свободно для скачивания. Так что всех заинтересованных читателей призываю.

2. Всех-всех-всех добрых людей я призываю поддержать наше начинание и стать спонсором проекта по разработке СППР ДЛСС .

Гостевой пост был любезно предоставлен Романом Душкиным. Вы можете ознакомиться с другими его статьями в блоге haskell98.blogspot.ru . Аккаунт Романа в Twitter — @romandushkin . От себя я хочу сказать Роману большое спасибо за статью. Также хотелось бы сообщить читателям этого блога, что если вы желаете разместить здесь гостевой пост, то сделать это очень просто. За подробностями обращайтесь ко мне по e-mail, указанному в сайдбаре.

EnglishRussianUkrainian