← На главную

СППР ДЛСС – постановка, предназначение, задачи и методы (гостевой пост Романа Душкина)

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

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

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

Замысел

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

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

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

А случается так, что у некоторых людей одновременно присутствуют и абсансы, и миоклонические приступы, и генерализованные судороги. А еще бывают атипичные абсансы, когда сознание постепенно затухает в течение 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. От себя я хочу сказать Роману большое спасибо за статью.