УДК 004.891.2
В.Н. Тарасов, доктор технических наук, профессор, заведующий кафедрой программного обеспечения и управления в технических системах, ФГБОУ ВО «Поволжский государственный университет телекоммуникаций и информатики» e-mail: tarasov-vn@psuti.ru
О.В. Трофимова, аспирант кафедры программного обеспечения и управления в технических системах, ФГБОУ ВО «Поволжский государственный университет телекоммуникаций и информатики» e-mail: olga.trofimova.1985@mail.ru
НАЧАЛЬНЫЙ ЭТАП К СОЗДАНИЮ ЭКСПЕРТНОЙ ИНФОРМАЦИОННОЙ СИСТЕМЫ ДЛЯ ПРИНЯТИЯ ВРАЧЕБНОГО РЕШЕНИЯ
В статье рассмотрены вопросы организации и реализации экспертной интеллектуальной системы (ЭИС) - информационной системы, использующей экспертные знания для обеспечения эффективного принятия решений в медицине или в других областях. При этом знания и опыт экспертов (специалистов в своей области) будут представлены в базе знаний, представляющей совокупность правил вывода. Таким образом, ЭИС (включая базу знаний) должна будетрешать в общем случае следующие задачи: интерпретации данных; диагностики; мониторинга; поддержки принятия решений в одной конкретной области.
Данная система будет работать в двух режимах: приобретение знаний (обучение и самообучение системы) и решение задачи (называемой также режимом консультации). Использование таких знаний особенно может потребоваться в случаях принятия решений, которые являются сложными и неочевидными.
ЭИС как программная система, должна обладать следующими свойствами: программная система должна использовать механизм рассуждений, который может быть представлен в виде пар ссылок и заключений типа «если - то»; система должна комментировать ход решения задачи понятным пользователю способом; выходные данные программы должны быть качественными, а не количественными; база знаний системы должна быть открытой и наращиваемой; система способна обучаться, т.е. коррекция базы знаний должна сопровождаться улучшением эффективности ее работы.
Ключевые слова: экспертная информационная система, метод ассоциативных правил, метод Байеса.
Введение
В последнее время благодаря государственной поддержке уделяется значительное внимание информатизации здравоохранения на основе создания медицинских информационных систем, которые призваны повысить эффективность и качество оказания медицинских услуг. Однако их анализ показывает, что, несмотря на большое количество таких систем, подавляющее их большинство направлены все же на решение задач сбора первичных данных о пациентах и формирование статистической отчетности, а также на решение задач управления лечебно-профилактическими учреждениями [3].
Для повышения качества оказания медицинских услуг и снижения вероятности врачебной ошибки такие информационные системы в первую очередь должны обеспечивать поддержку принятия врачебных решений, т.е. должны функционировать совместно с системами поддержки принятия решений в классическом понятии, либо их дополнять. Эффективным подходом к решению этой задачи стало бы создание экспертных информационных систем, включающих базы знаний в поддержку принятия врачебных решений. К сожалению, отечественная медицина и здравоохранение в настоящее время не в полной степени соответствуют такому уровню информатизации.
Разработка таких систем является актуальной задачей, так как зачастую для принятия медицинских решений при постановке диагнозов характерны недостаточность знаний, ограниченность временных ресурсов, отсутствие возможности привлечения компетентных экспертов, неполнота информации о состоянии больного и другие факторы, которые могут приводить к врачебным ошибкам. Для решения данной задачи в качестве математического аппарата для поиска и выявления скрытых знаний могут быть использованы вероятностно-статистические методы, используемые в искусственном интеллекте, так как медицина относится к одной из слабо формализуемых областей знаний.
Как обычно это происходит: врач при осмотре пациента наблюдает симптомы заболевания визуально, либо их озвучивает пациент. Набор симптомов позволяет идентифицировать нозологические единицы, то есть идентифицировать заболевание - поставить диагноз, а также определить синдром и отнести его к группе состояний, являющихся следствием заболевания. Кроме ограничения врача во времени существует проблема: наличие необходимой для принятия решения информации, особенно когда пациент не может объяснить симптомы или же наблюдаемые симптомы обуславливают разные диагнозы. В этих случаях информаци-
онная поддержка врача позволит ему сформировать объективное представление о заболевании и определить первоочередные меры его лечения.
Постановка задачи
Проведенный анализ процесса постановки диагноза врачом на основе наблюдаемых симптомов показывает, что врач для постановки диагноза руководствуется внешними проявлениями заболевания и жалобами пациента. Причем установлено, что существует взаимосвязь между симптомами согласно правилу: «если симтом(1) + если симптом(2) ... + ... если симптом(К) ..., то симптом (М)». Конечный набор симптомов и позволяет идентифицировать диагноз.
Для примера рассмотрим симптомы и постановку диагноза при заболеваниях сердечно-сосудистой системы. При осмотре больного с признаками перечисленных заболеваний врач может наблюдать конкретные симптомы, которые обозначим S1, S2, ..., Sm, не раскрывая в статье их словесного содержания. Причем каждый из перечисленных симптомов будет иметь свою значимость (вес) в диагнозе, то есть их проявление логически взаимосвязано. Следовательно, можно построить цепь симптомов и определить наиболее вероятный диагноз. Таким образом, задача заключается в построении конечного набора симптомов, позволяющего надежно идентифицировать заболевание.
Решение задачи
Для решения поставленной задачи на начальном этапе применим метод ассоциативных правил. Одной из распространенных задач анализа данных является определение часто встречающихся наборов объектов в большом множестве наборов. Опишем задачу в обобщённом виде. Для этого обозначим объекты, составляющие исследуемые наборы следующим множеством:
1=01Д2,..Л;,..Лп},
где ^ - объекты, входящие в анализируемые наборы; п - общее количество объектов.
В контексте решаемой задачи объектами ^ являются симптомы Sj (]=1^т). Наборы объектов из множества I, хранящиеся в БД и подвергаемые анализу назовем транзакциями. Опишем транзакцию как подмножество множества I:
Т{П}={^ I ц е I}.
Такие транзакции в медицине соответствуют наборам симптомов, наблюдаемых у пациента при постановке диагноза и сохраняемые в БД на медицинской карте пациента, в которой перечисляются симптомы, диагноз, лечение той или иной болезни. Например, следующие транзакции соответствуют набору симптомов, наблюдаемые у больного при его осмотре:
Т1 = {S10, ^ 11
Тз=№, S8, Sз}.
Набор транзакций, информация о которых до-
ступна для анализа, обозначим следующим множеством:
D = {T1(T2,...Tr, ...Tk},
где k - количество доступных для анализа транзакций.
Например, при осмотре больного пациента в нашем случае таким множеством будет: D = {{S10, S3, Ss}, {S11, S5, S3}, {Si, S6, S8, S3}}.
Множество D с учетом значимости симптомов может быть представлено в виде табл.1:
Таблица 1. Набор транзакций с учетом значимости симптомов
Номер транзакции Идентификатор симптома
1 S10
1 S3
1 S8
2 S11
2 S5
2 S3
3 S1
3 S6
3 S8
3 S3
Множество транзакций, в которые входит объект ij, обозначим следующим образом:
D,, = {{Tr I ij€Tr; J = Hn;r=Hm}£D}.
В нашем случае множество транзакций, содержащих объект S8, является следующее множество:
D8 ={{Sio, S3, S8}, {Si, Se, Ss, S3}}.
Некоторый произвольный набор объектов (симптомов) в постановке диагноза обозначим следующим образом: F = {ijlij е I; j = 1 п}, например, F={S8, S6}.
Набор, состоящий из k-объектов, называется k-элементным набором (в данном примере это 2-элементный набор). Множество транзакций, в которые входит набор F, обозначим следующим образом:
DF = {{TrIF cTr;r = Hm}c D}.
В данном примере: df={{sio, S3, S8}, {Si, S6, S8, S3}} совпадает с D8.
Отношение количества транзакций, в которое входит набор F, к общему количеству транзакций называется поддержкой (support) набора F и обозначается Supp(F):
Supp(F) =
Для набора F={s8, s6} поддержка будет равна 2/3, так как данный набор входит в две транзакции с номерами 1 и 3, а всего транзакций 3. Этот набор может быть взят за исходный, с которого начинается построение ассоциативного правила вывода диагноза.
При формировании исходного набора можно указать минимальное значение поддержки интересующих наборов Suppmin. Набор называется частым (large itemset), если значение его поддержки больше минимального значения поддержки, заданного пользователем: Supp(F)>Suppmin.
Таким образом, при поиске ассоциативных правил постановки диагноза требуется найти соответствующий частый набор: L={FISupp(F)>Suppmin}.
Решение задачи поиска ассоциативных правил, как и любой задачи, сводится к обработке исходных данных и получению результатов. Обработка исходных данных выполняется по некоторому алгоритму. Результаты, получаемые при решении этой задачи, принято представлять в виде ассоциативных правил. В связи с этим при поиске выделяют два основных этапа [1]:
1 нахождение всех частых наборов объектов;
2 генерация ассоциативных правил из найденных частых наборов объектов.
Первый из данных этапов уже рассмотрен. Далее приводится описание решение второй задачи. Ассоциативные правила имеют следующий вид: если (условие), то (результат), где условие - обычно не логическое выражение (как в классификационных правилах), а набор объектов из множества I, с которыми связаны (ассоциированы) объекты, включенные в результат данного правила.
Например, ассоциативное правило: если {S8, S6}, то S3
означает, что если у больного обнаружен набор двух конкретных симптомов s8, s6, то в его симптомах вероятнее всего может быть и третий s3.
В ассоциативных правилах условие и результат являются объектами множества I: если X, то Y, где XeI,YeI,XuY=9. Ассоциативное правило можно представить как импликацию над множеством X^Y, где XeI,YeI,XuY=9.
Таким образом, необходимый для постановки диагноза набор симптомов определен методом ассоциативных правил. При этом за начальное число симптомов всегда берется два, а затем происходит добавление симптомов до тех пор, пока диагноз не будет установлен однозначно. Заметим, что ассоциативные правила не связывают напрямую симптомы и диагноз.
Далее, с привлечением вероятностно-статистических методов, может быть рассчитана вероятность правильности определения диагноза по полученному набору симптомов. Для этого воспользуемся методом Байеса, который позволит получить процентное (долевое) выражение участия каждого из симптомов в диагнозе, предполагая изначально независимость симптомов между собой. Это все же довольно грубое допущение метода, так как зачастую симптомы могут быть зависимыми.
Вкратце приведем теорию Байеса. Пусть:
N„1 - количество объектов с признаком i класса А;
- количество объектов с признаком i класса В. Тогда статистическая вероятность появления признака i в классе А N ■
Ра, = ."„ , (1)
Nai+Nbi
а вероятность появления признака i в классе B
Ры
(2)
Так как в формулах Байеса предполагается, что вероятности независимы и поэтому возможно их перемножение:
Р{чтА) = рлхРа2х...хРаЫ, (3)
для вероятности принадлежности объекта ю классу A;
P(aeB) = pblxpb2x...xpbN (4)
для вероятности принадлежности ю объекта к классу B.
Тогда на основе теоремы Байеса с применением априорного знания получим:
Р{Нл)=-Р^^Ра--(5)
Р(т е А) х-ра + Р(ю еВ)хрь' - апостериорная вероятность принадлежности объекта к классу A;
" Р((оеВ)хРь
Р(НВ)--
(6)
Р(сое Ä)хра + Р(ше В)хрь - апостериорная вероятность принадлежности объекта к классу B.
В формулах (5) и (6) статистические вероятности е Л) и Р(ш е В) определяются выражениями (3) и (4), а событие HA - объект относится к классу A (сое А); событие HB - объект относится к классу
. . Na
B (сое5); Ра=^тт—тт - априорная вероятность,
Na +!Sb
что объект со е А; рь
Nh
Na+Nb
- априорная вероят-
ность того, что объект со е В; Na - общее количество объектов класса А; N - общее количество объектов класса В [2].
Стадия обучения системы
Рассмотрим эту теорию для объектов из таблицы 2, где приведены сочетания симптомов, полученные при осмотре пациента для постановки диагноза, обозначенного D. Для этого рассчитаем необходимые вероятности, при которых можно будет подтвердить диагноз D или его отвергнуть.
Здесь вариантов всех исходов 14, из них вариантов «да», что диагноз D подтвердится 9, вариантов «нет», что диагноз D не подтвердится, - 5. Следовательно, в этом примере априорные вероятности гипотез о подтверждении и не подтверждении диагноза равны: Рф=да)=9/14, Рф=нет)=5/14 по формулам (1) и (2) соответственно. Эти априорные вероятности нам и предстоит пересчитать с помощью формул Байеса, то есть получить соответствующие апостериорные вероятности 2-х введенных гипотез.
Таблица 2. Информация о подтверждении диагноза при разных симптомах
Сочетания 2-х важных симптомов Возможные проявления 2-х других симптомов Под-тверж-дение диагноза D
Б9
Б10 да нет да
S10 да да да
нет да да
Б12 да да нет
нет нет да
да нет нет
нет да да
Б10 Б12 да да нет
Б10 нет нет да
Я4 да нет нет
Б10 Б12 нет да да
Я3 нет да да
Я3 нет да нет
Я4 Б12 да нет да
Условные вероятности симптомов Sз, S4, 8ю при условии подтверждения диагноза будут равны: Р^юЮ=да)=4/9, P(SзID=да)=4/9, Р^Ю=да)=1/9, а при не подтверждении -Р^юЮ=нет)=1/5, P(SзID=нет)=1/5, P(S4lD=нет)=3/5. Определим далее вероятность подтверждения диагноза Рф=да^) при следующих значениях независимых симптомов: Sз, Б6, S9, S5. Здесь набор независимых симптомов ^з, Б6, S9, S5} для краткости изложения обозначен как событие S. Для определения вероятности Рф=да^) нужно найти следующие условные вероятности по данным таблицы 2: P(SзID=да)=4/9, Р^6ГО=да)=4/9, P(S9ID=да)=3/9, P(S5lD=да)=5/9.
Для определения вероятности не подтверждения диагноза нужно вычислить следующие условные вероятности по данным таблицы 2: Р^3ГО=нет)=1/5, P(S6ID=нет)=2/5, Р^9ГО=нет)=4/5, P(S5lD=нет)=3/5.
Подставляя соответствующие вероятности в числители формул Байеса (5) и (6), получим следующие значения:
Рф=да^)хР(Б=да)=4/9*4/9*3/9*5/9*9/14=0,0235 для формулы (5);
P(D=нетIS)хP(D=нет)=1/5*2/5*4/5*3/5*5/14=0,0137 для (6).
Здесь вероятности P(D=даIS) и P(D=нетIS) соответствуют вероятностям и в вышеприведенных формулах (3) - (6).
В данном случае можно утверждать, что при наблюдаемых симптомах диагноз подтвердится с вероятностью:
P(D=даIS)=0,0235/(0,0235 +0,0137)=0,63; и не подтвердится с вероятностью: P(D =нет^)=1-0,63=0,37.
Следовательно, для постановки диагноза, вероятности его подтверждения P=0,63 не достаточно
и требуется доделать систему для повышения ее достоверности путем последовательного добавления дополнительных симптомов. Для сокращения выкладок, добавим в таблицу 2 сразу два дополнительных, наблюдаемых у пациента симптома: S11 и S8 (см. табл.3).
Таблица 3. Информация о подтверждении диагноза при разных симптомах
Сочетания 2-х важных симптомов Возможные проявления 4-х других симптомов Подтверждение диагноза D
Бп Б8 б9 Б5
Б10 да нет да нет да
Б10 нет да да да да
да нет нет да да
Б12 нет да да да нет
да да нет нет да
да да да нет нет
да да нет да да
Б10 Б12 да да да да нет
Б10 да да нет нет да
нет да да нет нет
Б10 Б12 да да нет да да
да да нет да да
да нет нет да нет
Б12 да да да нет да
Подставляя соответствующие вероятности, получим следующие значения для формул Байеса (5) и (6):
P(D=даIS)хP(D=да) = (4/9*4/9*3/9*5/9*7/9*7/9* 9/14)=0,0142 для формулы (5);
P(D=нетIS)хP(D=нет) = (1/5*2/5*4/5*3/5*2/5*1/5* 5/14)=0,0011 для - (6).
Окончательно вероятность для подтверждения диагноза при таких сопутствующих симптомах:
P(D=даIS)=0,0142/(0,0142 +0,0011)=0,93; - для не подтверждения диагноза P(D =нетIS)=1-0,93=0,07.
Обучая систему таким образом, можно повысить достоверность принятия решений, доведя вероятность правильности диагноза вплоть до 100%.
Заключение. Такой подход подводит к идее о разработке экспертной интеллектуальной системы (ЭИС) - информационной системы, использующей экспертные знания для обеспечения эффективного принятия решений в медицине или в других областях. При этом знания и опыт экспертов (специалистов в своей области) будут представлены в базе знаний, представляющей совокупность правил вывода в данном случае с использованием двух научных подходов: метода ассоциативных правил и теорию Байеса. Таким образом, ЭИС (включая базу знаний) будет решать в общем случае следующие задачи:
- интерпретации данных;
- диагностики;
- мониторинга;
- поддержки принятия решений в одной конкретной области.
Данная система будет работать в двух режимах: приобретение знаний (обучение и самообучение системы) и решение задачи (называемой также режимом консультации). Использование таких знаний особенно может потребоваться в случаях принятия решений, которые являются сложными и неочевидными.
Подведя итог, можем дополнить черты ЭИС как программной системы, которыми она должна обладать:
- программная система должна использовать механизм рассуждений, которые могут быть представлены в виде пар посылок и заключений типа «если - то»;
- система должна комментировать ход решения задачи понятным пользователю способом;
- выходные данные программы должны быть качественными, а не количественными;
- база знаний системы должна быть открытой и наращиваемой;
- система способна обучаться, то есть коррекция базы знаний должна сопровождаться увеличением эффективности ее работы;
- система должна общаться с пользователем на естественном языке.
Литература
1. Баргесян, А.А. Технологии анализа данных: Data Mining, Visual Mining. / - Санкт-Петербург: БХВ-Петербург. - 2007. - 384 с.
2. Тарасов, В.Н. Об одном из способов повышения надежности классификационного анализа / В.Н. Тарасов // Интеллект. Инновации. Инвестиции. - 2014. - №4. - С.107-111.
3. Халафян, А.А. Анализ и синтез медицинских систем поддержки принятия решений на основе технологий статистического моделирования / автореф. дис. д.т.н. - Краснодар: - 2010. - 46 с.