Создание оболочки экспертной системы для лечения болезней органов дыхания

УДК 616.24-08

Н.В.Ульянычев, В.А.Кочегуров, В.Ф.Ульянычева

СОЗДАНИЕ ОБОЛОЧКИ ЭКСПЕРТНОЙ СИСТЕМЫ ДЛЯ ЛЕЧЕНИЯ БОЛЕЗНЕЙ ОРГАНОВ ДЫХАНИЯ

Дальневосточный научный центр физиологии и патологии дыхания, Томский политехнический университет, Амурский государственный университет

РЕЗЮМЕ

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

SUMMARY

N.V.Ulianychev, V.A.Kochegurov, V.F.Ulianycheva

EXPERT SYSTEM CREATION FOR TREATMENT OF PULMONARY DISEASES

The proposed publication represents the expert system envelope designed for treatment scheme production of patients with pulmonary diseases. The main idea of this system consists in that it shouldn’t contain anything more complex than a set of text records which are presented on the screen depending on user’s answers during a dialog. The texts are stored in an index file. The user’s answers in each dialog step are recorded into symbol array by means of which as by key the needed record with text is read from file and presented on the screen for next dialog step. The description of developed knowledge base editor and interpreter is presented. As an example of system’s possibilities the treatment of chronic obstructive bronchitis is demonstrated. The tentative analysis of system usage shows that developed envelope can be used for treatment expert system design in any diseases.

Цель работы - создание оболочки экспертной системы для выработки схем лечения пациентов с заболеваниями органов дыхания.

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

Редактор базы знаний.

Для хранения текстов создан файл DBN.DAT с индексно-последовательной организацией и доступом по ключу. Единственным ключом является 22символьный массив.

Возможности, предоставляемые пользователю редактором, перечислены в его основном «меню». К ним относятся:

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

Просмотр: на экран выводится текст, соответствующий ключу, указанному пользователем.

Исправление ключа: осуществляется замена старого значения ключа новым, при этом текст не изменяется и записывается с новым значением ключа.

Корректировка текста: делает возможным исправление различных ошибок, допущенных пользователем при вводе текста.

Работа с альтернативными ключами: вызывает-

ся подпрограмма АЬТ, которая будет рассмотрена ниже.

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

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

Рассмотрим более подробно некоторые, наиболее важные разделы «меню».

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

Работа с альтернативными ключами. В алгоритмах лечения нескольким возможным вариантам ответа пользователя может соответствовать одна и та же выходная информация или, другими словами, нескольким ключевым словам соответствует один и тот же текст.

Нецелесообразно записывать этот текст несколько раз с другими значениями ключа. Однако, чтобы затем в процессе диалога с пользователем находить этот текст и под другими ключами, необходимо установить соответствие между ключом, под которым текст реально записан, и другими ключами, при которых необходим вызов того же самого текста. Для простоты обсуждения назовем эти «другие» ключи альтернативными ключами. Чтобы установить соответствие между основным ключом и альтернативными ключами создан отдельный индексный файл (ALTKL.DAT), в котором ключевым полем является значение альтернативного ключа, а соответствующей записью - значение основного ключа. В процессе диалога поиск необходимой записи осуществляется вначале по основному ключу (в файле DBN.DAT), в случае отсутствия записи этот ключ принимается за альтернативный, и в файле ALTKL.DAT производится поиск другого основного ключа, по которому затем снова в файле DBN.DAT ищется необходимая

запись.

Работа с индексным файлом альтернативных ключей поддерживается подпрограммой ALT, которая вызывается из редактора базы знаний. Эта подпрограмма близка по структуре к подпрограмме работы с основными ключами и обеспечивает: ввод ключей, их просмотр, коррекцию, удаление, распечатку.

Интерпретатор базы знаний.

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

В процессе работы система (программа «TREAT») выводит на экран текст и «меню» с вариантами возможных ответов пользователя и запрашивает ввод необходимого значения. В зависимости от полученного ответа возникают следующие ситуации:

1. Введенный символ не является возможностью «меню». В этом случае он записывается на соответствующее место символьного массива, образующего ключевое слово, а затем по этому ключу происходит считывание из индексного файла сопутствующего текста. Если запись в файле DBN.DAT не найдена, то этот ключ принимается за альтернативный и происходит поиск основного ключа в альтернативном индексном файле ALTKL.DAT. Если необходимая запись и там не найдена, то следовательно символ был введен ошибочно и содержимое экрана остается без изменений. Если необходимая запись найдена (сразу или через альтернативный индексный файл), новый текст вместе с «меню» отображается на экране и весь процесс повторяется сначала.

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

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

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

Возможность «шаг назад» - позволяет по шагам проследить весь процесс выработки схемы лечения и, при необходимости, скорректировать его.

Таким образом, работа программы TREAT состоит из следующих этапов:

1. Начало работы. На экран выводится перечень заболеваний.

2. После выбора пользователем нужного диагноза запрашивается фамилия пациента. Осуществляется поиск данного пациента в индексном файле FAM.DAT. Возможны следующие ситуации:

а) пациент с такой фамилией в системе не зарегистрирован. Осуществляется регистрация пациента, если фамилия не введена ошибочно;

б) несколько пациентов с данной фамилией. Идет выбор нужного пациента. После этого запрашивается: «Вы будете работать с сохраненной информацией?» При положительном ответе продолжается раз-

работка схемы лечения на основе сохраненной информации.

3. Дальнейшая работа с пациентом происходит под управлением описанного выше алгоритма. Выход в исходное состояние осуществляется в соответствии с возможностями «меню»: «выход без сохранения» или «выход с сохранением».

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

УДК 574

А.В.Крылов, Ю.А.Макаров, В.А.Степанов, С.Г. Харина

ЭКОЛОГИЧЕСКОЕ СОСТОЯНИЕ ОКРУЖАЮЩЕЙ СРЕДЫ В АМУРСКОЙ ОБЛАСТИ

Ботанический сад АмурНЦ ДВО РАН,

Дальневосточный зональный научно-исследовательский ветеринарный институт, Амурский комплексный институт АмурНЦ ДВО РАН, Дальневосточный государственный аграрный университет

РЕЗЮМЕ

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

SUMMARY

A.V.Krylov, Yu.A.Makarov, V.A.Stepanov, S.G.Kharina

ENVIRONMENTAL DANGERS IN AMUR REGION

Due to the long-term use of pesticides containing mercury Amur region agro-systems are contaminated with mercury and herbicides.

Gold-mining areas also accumulate mercury. Soil, water and plants contaminated with eco-toxines are dangerous for living organisms and people.

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

Состояние природы Амурской области определяется работой двух основных отраслей: золотодобывающей промышленности и сельского хозяйства. Добыча россыпного золота в Приамурье долгие годы проводилась с применением амальгамирования вследствие преобладания в россыпях мелких классов самородного золота. При этом расход применяемой