DOI: 10.7256/2306-4196.2015.1.13722
Received:
18-11-2014
Published:
20-01-2015
Abstract:
The article describes an approach in management of diagnostic solutions inference in a medical diagnosis expert system. The study reviews the features of the software implementation of presented models and algorithms. The author proposes a combination of the reverse and direct inference for diagnostic solutions. At reverse deduction requesting new information from the patient requires generation of additional questions on the leading symptom. At the same time, the direct inference allows calculation of the output integral estimates of detection of possible diseases at the onset of symptoms. To output decisions under uncertainty the Mamdani fuzzy model is applied. The author proposes a RETE-network for generating a diagnostic solution in a reasonable time. The described mechanism of inference a diagnostic solutions has the following advantages: it allows the direction of reasoning on the most promising ways of obtaining a diagnosis and determines the correct order questions on leading symptoms; it allows the diagnosis under uncertainty in information on symptoms and does not stop though the diagnostic decision may not be accurate; it allows to set a preliminary diagnosis in real time and makes a conclusion in a reasonable time after the symptoms have been entered.
Keywords:
medicine, diagnostics, expert system, knowledge base, frames, production rules, output mechanism solutions, direct inference, reverse deduction, RETE-network
Введение Важным элементом экспертных систем (ЭС) является механизм вывода, который дает возможность организовать процедуру применения правил для получения диагностического вывода на основе построенной ранее базы знаний. В зависимости от выбранного подхода к представлению знаний в ЭС, механизм вывода может быть реализован различными способами [1].
В задачах медицинской диагностики часто встречается неопределенность информации. Выявленный симптомокомплекс не всегда однозначно соответствует тому или иному заболеванию. Информация, используемая для постановки диагноза и назначения обследования, в большинстве своем является нечеткой.
Для обеспечения скорости вывода решения на больших базах знаний, применяется алгоритм RETE [2], предложенный C. Forgy.
Поэтому целью настоящей статьи является разработка механизма вывода решения, позволяющего своевременно и точно ставить предварительный диагноз в условиях неопределенности информации о симптоматике.Механизм вывода диагностического решения В дистанционной медицинской экспертной системе диагностики для представления знаний предложена гибридная структура, объединяющая фреймовую и нечетко-продукционную модели[3]. Слот значения каждого симптома из предпосылки нечетких правил рассматривается как исходный, а слот значения заболевания из заключения – целевой. При присваивании исходных значений слотам выполняется нечеткий вывод для получения целевых значений слотов заболеваний.
Механизм вывода диагностического решения предназначен для получения диагностического заключения на основании входных оценок выявленных симптомов.
В зависимости от текущей интегральной оценки выводимый диагноз может находиться в одном из трех возможных состояний:
- неактивный кандидат (не рассматривается в качестве диагностической гипотезы);
- потенциальный кандидат (имеет смысл рассмотреть в качестве диагностической гипотезы);
- активный кандидат (помещенный в список диагностических гипотез).
Под диагностической гипотезой понимается диагноз со значением выходной переменной. И список диагностических гипотез – это, по сути, список пар «диагноз– интегральная оценка обнаружения», упорядоченных в убывающем порядке значений оценок.
Комбинированный механизм вывода решения реализуется следующим образом:
- генерация дополнительных вопросов по ведущим симптомам и запрос оценок проявлений (осуществляется с применением обратного вывода);
- формирование диагностического заключения (осуществляется с применением прямого вывода после каждого обратного вывода).
Генерация дополнительных вопросов по симптомам при обратном выводе Генерация дополнительных вопросов состоит из четырех этапов (рис. 1): выделение основного диагноза; определение ведущего симптома выделенного заболевания; генерация дополнительного вопроса по определенному симптому; запрос оценки проявления симптома у пациента.
Рис. 1. Схема генерации дополнительных вопросов
Выделение основного диагноза. Каждый из симптомокомплексов заболеваний включает множество симптомов, причем некоторые симптомы могут одновременно входить в несколько симптомокомплексов [4]. На рис. 2 представлена иллюстрация расположения эллипсоидов рассеяния заболеваний в пространстве признаков.
Рис. 2. Иллюстрация расположения эллипсоидов рассеяния заболеваний
Как показано, симптом Sm одновременно включается в симптомокомплексы для заболеваний D1 и D2, что приводит к пересечению эллипсоидов рассеяния. Таким образом, в эллипсоиде рассеяния можно условно выделить область достоверного решения для заболевания Di, обозначаемую `del` i , которая вычисляется по следующей формуле:
`del` i=`sum` (SFik), где Sk `in`D i D j
где SFik – экспертная оценка проявления k-го симптома Sk при обнаружения заболевания Di.
Основному диагнозу соответствует минимальная область достоверного решения. В случае, если области достоверного решения для нескольких заболеваний равны, то выбирается заболевание с максимальной суммой экспертный оценок проявлений симптомов в его симптомокомплексе.
Для учета ответов на вопросы по имеющимся симптомам, необходимо умножить сравнительную оценку и интегральную оценку проявления заболевания. Определение ведущего симптома выделенного заболевания.Ведущему симптому соответствует симптом, имеющий наиболее максимальную экспертную оценку проявления.
На этапе генерации дополнительного вопроса по ведущему симптому пациенту задается очередной вопрос для определения количественной оценки. Формирование диагностического заключения при прямом выводе На рис. 3 представлена схема формирования диагностического заключения, состоящего из шести основных этапов.
Рис. 3. Схема формирования диагностического заключения
При использовании RETE-сети база знаний (БЗ) при трансляции преобразуется в сеть вывода решения [5]. Формирование диагностического заключения происходит каждый раз при поступлении новых фактов в рабочую память. Факты, приходящие на вход RETE-сети делятся на два следующих класса:
- персональная информация;
- информация о симптоматике.
Факты подаются на вход сети вывода решения, задачей которой является определение изменений в конфликтном множестве, которые вызваны поступившими фактами.
На рис. 4 представлена структура RETE-сети вывода решения.
Рис. 4. Структура RETE-сети вывода решения
В сети используются узлы пяти типов:
- корневой узел не имеет входов. Данный единственный узел определяет тип информации, поступающий на вход сети (оценки проявлений симптомов или персональная информация), и в зависимости от результата записывает факт в одну из частей сети;
- тип-узел имеет один вход, один выход. В узлах данного типа осуществляется сравнение типа записываемого факта с указанным типом (например, типы «Насморк», «Кашель» и др.);
- альфа-узел имеет один вход, один и более выходов. Узлы данного типа запоминают попавшие на вход факты. После запоминания факт без проверок и изменений передается потомкам узла;
- бета-узел имеет два входа (правый и левый), один или более выходов. Узлы данного типа служат для получения всех различных парных объединений всех приходящих в нее фактов. Полученные объединенные факты пропускаются дальше по сети;
- терминальный узел имеет один вход и ни одного выхода. Узлы данного типа являются заключительными узлами фрагментов сети, соответствующих описаниям симптомокомплексов заболеваний из БЗ.
Использование RETE-сети для вывода решения на нечеткой модели типа Мамдани[6] в условиях неопределенности представлено следующим образом.
Каждый симптомокомплекс для заболевания соответствует одному фрагмент RETE-сети. При прохождении факта через сеть он сначала попадает в корневой узел, который по типу информации передает его альфа-узлам. Осуществляется фаззификация входных ЛП симптомов при присваивании значения исходному слоту. Степень уверенности для лингвистических термов (ЛТ) переменной i-го симптома в условной части k-го нечеткого правила, обозначаемая bik, записывается в альфа-памяти, и передается дальше в бета-узлы.
В корневых узлах происходит объединение поступивших фактов и агрегирование предпосылок. Степень истинности предпосылки для k-го нечеткого правила, обозначаемая ck, записывается в бета-памяти. В бета-памяти также хранятся копии фактов, пришедших на данный вход. Это необходимо для сопоставления с фактами, которые позднее придут на другой вход узла.
Перемещение факта через сеть прекращается, если факт попадет в терминальный узел. Терминальный узел завершает последовательность узлов для некоторого заболевания. Факт, попадающий на его вход, сигнализирует об успешной активации фрагмента сети и подает сигнал для активизации заключения. Значение активизированной ФП и степень истинности ЛТ переменной заболевания из заключения для k-го нечеткого правила, обозначаемые `mu` Bk*(y) и dk в соответствии, записываются в памяти терминальных узлов.
Попадание каких-либо объединенных фактов в терминальный узел сети означает, что это потенциальные кандидаты-заболевания, связанные с данным терминальным узлом. Для разрешения конфликтов (выбора одного или нескольких активных заболеваний из списка потенциальных кандидатов) применяется комбинированный критерий, рассчитанный как сумма коэффициентов новизны и специфики.
- Коэффициент новизны. Активному заболеванию соответствуют факты проявления симптомов, которые поступают в РП. Для отслеживания времени поступления факты снабжаются специальным атрибутом времени порождения. Коэффициент новизны вычисляется на основании времени порождения всех фактов;
- Коэффициент специфики. Активному заболеванию соответствует симптомокомплекс с большим количеством фактов проявления поступающих в РП симптомов. Коэффициент специфики вычисляется на основании количества фактов.
Коэффициент новизны и коэффициент специфики для каждого заболевания запоминаются в памяти терминального узла и используются в процедурах разрешения конфликтов.
После разрешения конфликта выполняется нечетко-продукционное правило (НПП) для каждого активного заболевания. Данная процедура разбивается на два следующих этапа: аккумуляция заключений для вычисления значений функции принадлежности итогового нечеткого множества `mu` (y); дефаззификация выходной лингвистической переменной для вычисления интегральных оценок обнаружений заболеваний y*.
Активное заболевание с интегральным значением образует диагностическую гипотезу.
В этом случае в память терминального узла записывается информация, которая запрещает повторно проходить этот фрагмент сети для рассмотренного набора фактов.
Далее происходит обновление состояния РП и формирование заключения о предварительном диагнозе. Программная реализация подсистемы предварительной диагностики На основании описанной модели был разработан прототип программного комплекса, который предназначен для постановки предварительного диагноза (см. рис. 5).
Рис. 5. Структурная схема программного комплекса
База медицинских знаний состоит из фреймовой базы знаний и нечетко-продукционной базы знаний.
Подсистема генерации дополнительных вопросов предназначена для определения очередных правильных вопросов по ведущим симптомам, и также запрашивания оценок проявлений выявленных симптомов у пациента.
Подсистема формирования диагностического заключения предназначена для вычисления интегральных оценок обнаружения возможных заболеваний на основании информации о симптоматике.
Пользовательский интерфейс обеспечивает преобразование сообщений с внутреннего на естественный язык и обратно.
Для разработки прототипа были использованы следующие программные средства: язык программирования C#; среда разработки Microsoft Visual 2010; система управления базами данных Microsoft SQL Server 2008. Заключение Таким образом, в перспективе рассмотренный прототип может послужить базой для создания медицинских экспертных систем, предназначенных для предварительной постановки диагноза на основе симптоматики в условиях неопределенности в режиме реального времени.
References
1. Smolin, D. V. Vvedenie v iskusstvennyi intelekt: konspekt lektsii / D. V. Smolin – M.: Fizmatlit, 2004. – 208 s.
2. Rete algorithm [Elektronnyi resurs]. – Rezhim dostupa: http://en.wikipedia.org/wiki/Rete_algorithm (data obrashcheniya: 06.11.2014).
3. Le, Nguen Vien Model' predstavleniya znanii pri sozdanii meditsinskoi ekspertnoi sistemy differentsial'noi diagnostiki / Le Nguen Vien, V. A. Kamaev, D. P. Panchenko, O. A. Trushkina // Izvestiya VolgGTU: mezhvuz. sb. nauch. st. №6 (133) / VolgGTU. – Volgograd: VolgGTU, 2014. – C. 41-50. – (Aktual'nye problemy upravleniya, vychislitel'noi tekhniki i informatiki v tekhnicheskikh sistemakh ; vyp. 20).
4. Povoroznyuk, A. I. Kontseptual'naya model' ob''ekta diagnostiki v komp'yuternykh sistemakh meditsinskoi diagnostiki / A. I. Povoroznyuk // Sistemi obrob. іnformatsії. – 2007. – Vip. 9. – S. 133-136.
5. Korukhova, L. S. Programmnye sredstva realizatsii assotsiativnogo planirovaniya / L. S. Korukhova, E. Z. Lyubimskii, V. V. Malyshko // preprint IPM im. M. V. Keldysha RAN. – 2002. – № 10. – S. 1-29.
6. Iancu, I. (2009a). Extended Mamdani Fuzzy Logic Controller, The 4th IASTED Int. Conf. on Computational Intelligence, ACTA Press, Honolulu, USA, pp. 143-149
7. Bogomolov D.V., Kochoyan A.L., Martem'yanova A.A. Vozmozhnosti primeneniya immunogistokhimicheskogo metoda issledovaniya v sudebno-meditsinskoi praktike // Politseiskaya i sledstvennaya deyatel'nost'.-2014.-1.-C. 61-69. DOI: 10.7256/2306-4218.2014.1.9919. URL: http://www.e-notabene.ru/pm/article_9919.html
8. A.S. Katasev, L.Yu. Emaletdinova Nechetko-produktsionnaya kaskadnaya model' diagnostiki sostoyaniya slozhnogo ob''ekta // Programmnye sistemy i vychislitel'nye metody.-2013.-1.-C. 69-81. DOI: 10.7256/2305-6061.2013.01.6.
9. Le V.N., Panchenko D.P. Programmnaya realizatsiya meditsinskoi ekspertnoi sistemy differentsial'noi diagnostiki // Programmnye sistemy i vychislitel'nye metody. – 2014. – № 3. – S. 291-297. DOI: 10.7256/2305-6061.2014.3.11162
|