Экспертные системы

2. Экспертные системы

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

Экспемртная системма (ЭС, expert system) -- компьютерная программа, способная частично заменить специалиста-эксперта в разрешении проблемной ситуации. ЭС начали разрабатываться исследователями искусственного интеллекта в 1970-х годах, а в 1980-х получили коммерческое подкрепление.

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

- задачи не могут быть представлены в числовой форме;

- исходные данные и знания о предметной области неоднозначны, неточны, противоречивы;

- цели нельзя выразить с помощью четко определенной целевой функции;

- не существует однозначного алгоритмического решения задачи.

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

Весьма существенно, что работа с экспертными системами может вестись удалённо (телемедицина)

Наиболее важные области применения экспертных систем:

1. Диагностика неотложных и угрожающих состояний в условиях дефицита времени

2. Ограниченные возможности обследования

3. Скудная клиническая симптоматика

4. Быстрые темпы развития заболевания

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

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

У полностью оформленной экспертной системы присутствуют 4 основных компонента (блока):

· База знаний

· Машина вывода

· Модуль извлечения знаний

· Система объяснения принятых решений

Кроме того, хорошая экспертная система имеет блок для пополнения базы знаний - система с обучением.

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

Экспертные систем

 

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

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

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

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

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

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

Для того чтобы понять, зачем современному компьютеру необходимо быть интеллектуальным, рассмотрим взаимодействие человека, которого называют конечным пользователем (КП), и ЭВМ. Вот «портрет» его знаний.


1. Он НЕ ЗНАЕТ, как устроен компьютер.

2. Он НЕ ЗНАЕТ, как писать программы для работы с компьютером.

3. Он НЕ ЗНАЕТ формальных (математических) методов решения задач в своей области, что необходимо для пользования компьютером.

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

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

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

Составленную формализованную задачу и алгоритм ее решения он передает программисту, который составляет программу решения этой задачи на ЭВМ в виде текста на одном из языков, понятных машине, вводит ее через дисплей в ЭВМ и отлаживает эту программу.

ЭВМ решает задачу. Программист расшифровывает результат, передает аналитику, и тот переводит решение на язык пользователя.

Такая простейшая схема решения задачи конечного пользователя на ЭВМ.

Естественно желание устранить промежуточные звенья. Первым шагом к решению этой проблемы стало созда­ние языков высокого уровня (бейсик, фортран, алгол и др.), с помощью которых чрезвычайно упрощается про­цесс программирования. Аналитик, владеющий одним из этих языков, уже не нуждается в программисте и может сам составить программу для решения задачи пользователя. Схема упрощается Теперь промежуточным звеном в системе КП — ЭВМ остался лишь аналитик.

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

Первый путь требует обучения поль­зователя. В процессе обучения он должен научиться формализировать задачу, которую собирается решить на ЭВМ, т. е. выполнить роль прикладн­го математика в своей области и прикладного программиста, чтобы сос­тавить нужную программу. Именно так приходится поступать сейчас ко­нечному пользователю, если он хочет решить свою задачу на ЭВМ. Почти все КП, использующие компьютер в своей области, идут этим тернистым путем, требующим много времени и усидчивости, чтобы стать программирующими пользователями (рис. 3).

Поэтому так трудно внедрять ЭВМ в новые области. Ведь кроме желания работать на ЭВМ, надо еще очень мно­го знать и уметь. На первых этапах эффективность труда специалиста не повышается, а снижается. Ему приходится тратить слишком много дополнительного времени на формализацию своей задачи и программирование, не говоря уже об отладке программы, на другие неизбежные программист­ские заботы.

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

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

Остается один путь — «научить» компьютер формализовать задачи, программировать, решать их и пред­ставлять результат решения в виде, доступном пониманию пользователя.. Несмотря на то что создание таких интеллектуальных компьютеров, рабо­тающих в определенной предметной области, дело чрезвычайно сложное, на это пришлось пойти, чтобы не готовить из каждого специалиста — инженера, медика, историка — профессиональ­ного программиста (программирующего пользователя).


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

Что же такое экспертная система?

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

Для своего нормального функцио­нирования экспертная система выпол­няет функции аналитика, как в приведенной схеме (на рис. 2), т. е. она должна:

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

2. Уметь построить формальную модель этой задачи, т. е. формализовать ее с тем, чтобы применить формаль­ные методы решения.

3. Составить программу решения за­дачи (или в простейшем случае найти эту программу в своем архиве — банке данных).

4. Запустить программу и получить результат.

5. Интерпретировать результат, т, е. представить его в форме, доступной пользователю.

6. Объяснить (при необходимости), каким образом был получен этот ре­зультат.

Из этих шести пунктов только чет­вертый (прогон программы) имеет тра­диционный характер. Остальные же имеют прямое отношение к искус­ственному интеллекту.

Понимание естественного языка яв­ляется обязательной чертой всякой ЭС. При этом содержание задачи в компьютер может вводиться по-раз­ному: с пульта дисплея или голосом через микрофон. Сам компьютер так­же может общаться с пользователем, выводя текст на экран дисплея или через синтезатор речи.

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

В своей работе диалоговый процессор активно взаимодействует с базой знаний, где хранятся знания в той предметной области, по которой специализирована данная ЭС.

Нет ЭС на все случаи жизни. Каждая ЭС довольно узко специализирована на определенную предметную область. Диагностика определенного вида заболеваия крови, проектирование систем заданного класса, поиск месторождений определенного минерала, скажем вольфрамовой руды и т. д.

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


Но база знаний не только позволяет понимать пользователя, но и отвечать на его вопросы. Для этого она содержит сведения о том, каким образом поступали раньше специалисты в той или иной ситуации и что из этого вышло. Эти знания представлены в ви­де так называемых продукции, т. е. конструкций вида «если ..., то ...».Они дают возможность формализовать за­дачу пользователя, т. е. составить такую цепочку, связанную причинно-следственными связями, что в ее конце будет находиться ответ на заданный пользователем вопрос или поставлен другой вопрос, на который нужно от­ветить пользователю. Например, в ме­дицинской ЭС: «если больной имеет повышенную температуру и насморк, то это возможно грипп», или в геолого­разведочной ЭС: «если тип породы неизвестен, то надо проверять, какой из трех случаев имеет место: 1 — порода рыхлая, сыпучая; 2 — прочно связанная; 3 — легко ломается руками» и т. д.

 

Особенно много ЭС специализированы по выяснению неисправностей в действующих системах. Их база зна­ний состоит из продукций вида: «Если характеристика А не в норме, то следует осмотреть блоки Б, В и Г» и т. д. Эти экспертные знания помогут найти неисправности в сложной технической системе.

Для эффективной работы ЭС необходимо преобразовать описание исходной задачи в рабочую программу, которая ее решает. Эту функцию выполняет так называемый планиров­щик — программная система, планирующая процесс решения поставлен­ной задачи на ЭВМ. Планировщик постоянно общается с базой знаний, откуда он черпает информацию о способах решения тех или иных задач, и о том, как составляются рабочие программы для ЭВМ.

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

Каждая ЭС имеет подсистему объяснения, которая позволяет при необходимости разъяснить пользователю, каким образом получено то или иное решение и обосновать его (известно, что человек плохо воспринимает не­обоснованные советы).

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

Любопытно, что появление ЭС поро­дило на Западе своеобразное луддистское движение среди экспертов, кото­рые отказывались рассекречивать и пе­редавать свой опыт для заполнения банка знаний ЭС — ведь эта ЭС становилась обычно умнее (без кавычек) каждого из экспертов в отдельности. Это хорошо доказала, например, экспертная система «Мицин», которая диагностирует заболевания крови лучше любого врача гематолога.

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

Автоматизированная диагностическая система "ЭЭГ-ЭКСПЕРТ" - предназначена для описания и хранения данных визуального анализа электроэнцефалограмм, а также для формирования экспертного описания и заключения о функциональном состоянии мозга.

Экспертная система для исследования высших психических функций "ВПФ-ЭКСПЕРТ" - предназначена для описания и хранения данных обследования высших психических функций, а также формирования экспертного описания и заключения о функциональных и топических нарушениях структур мозга.

Автоматизированная диагностическая система "ОСГ-ЭКСПЕРТ" для выбора тактики обследования и типа операции при отслойке сетчатки глаза - позволяет описать обследование офтальмологического больного и создать банк данных, а также сформировать экспертное заключение в виде рекомендации адекватного вида операции и прогноза лечения.

создании компьютерных экспертных и обучающе-диагностических систем:

"Обучающе-диагностическая система по электроэнцефалографии"

"Обучающе-диагностические системы" для исследования высших психических функций (ВПФ) (для детей и взрослых отдельно) - представляет собой структурно-организованное учебное пособиеи имеют приложения в виде альбомов со стимульным материалом.

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

ПЕРСПЕКТИВЫ РАЗВИТИЯ

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

Экспертные системы в медицине

 

За последние годы медицина сделала решительный шаг вперед. Использование прогрессивных технологий, в том числе нанотехнологий, инновационных методов позволяет врачу работать на самом современном оборудовании. Например, методика Холтер суточного мониторирования сегодня кардинально отличается от методов, применяемых в недалеком прошлом. А современные прогрессивные дефибрилляторы способны спасти гораздо больше жизней, чем их аналоги прошлого века.

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

Экспертные системы

В Европе развитие информационных технологий используется для реализации задач телемедицины. Большинство лабораторного и радиологического оборудования компьютеризировано, обеспечивается концепция интеграции информационных систем, что позволяет повысить эффективность диагностирования и лечения. Источниками данных для телерадиологических систем являются компьютерная томография, УЗИ, магнитный резонанс, цифровая флюорография, компьютерная радиография. Государственные программы по телемедицине охватывают области создания баз данных (NUCLEUS-мультимедийное досье пациента, EMDIS-Европейская информационная система о донорах костного мозга, EPIC-Европейская модель лечения, FEST-база знаний для Европейских служб телемедицины), телекоммуникационной инфраструктуры (ISAAC-интегрированная телекоммуникационная система, SHINE-стратегическая информационная сеть здравоохранения Европы), содержательных программ обслуживания отдельных групп населения (пожилых, калек и др.) или отдельных ситуационных задач (катастрофы и пр.).

С 1988 г. в Европе начались работы по программе AIM по внедрению современных средств информатики в медицину. Компания ATL представила экспертную систему HDI 5000, обеспечивающую обработку изображений со скоростью 14 млрд. операций в секунду с динамическим диапазоном 150 дБ, что позволяет наблюдать четкое цветное изображение кровотока. Система снабжена интеллектуальной адаптивной системой настройки, системой оптимизации параметров, обеспечивает трехмерное изображение сосудов.

В России существуют экспертные системы для ортопедии. Их успех определяется степенью точного понимания реальных медико-технических процессов. Система совмещена с мультимедийными устройствами.

Ряд интеллектуальных систем позволяют учитывать мнение врача (ДИАГЕН), реализуют механизм корректировки "весов" признаков, вводят коэффициенты "уверенности" и др. Такие системы обеспечивают варианты решений: "мягкое решение", "жесткий выбор", и др.

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

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

Мультимедийные технологии приеняются при создании информационно-диагностических и обучающих систем. В ЦИТО им. Н.Н. Приорова при участии НТЦ "Новые медицинские технологии" мультимедийные системы работают при участии экспертов соответствующих специальностей. В системах используются ПК типа Pentium, SVGA монитор, 4 Мб ОЗУ, Windows 95.

Структура экспертных систем

Типичная статическая ЭС состоит из следующих основных компонентов (рис. 1.):

решателя (интерпретатора);

рабочей памяти (РП), называемой также базой данных (БД);

базы знаний (БЗ);

компонентов приобретения знаний;

объяснительного компонента;

диалогового компонента.

 

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

База знаний (БЗ) в ЭС предназначена для хранения долгосрочных данных, описывающих рассматриваемую область (а не текущих данных), и правил, описывающих целесообразные преобразования данных этой области.

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

Компонент приобретения знаний автоматизирует процесс наполнения ЭС знаниями, осуществляемый пользователем-экспертом.

Объяснительный компонент объясняет, как система получила решение задачи (или почему она не получила решение) и какие знания она при этом использовала, что облегчает эксперту тестирование системы и повышает доверие пользователя к полученному результату.

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

В разработке ЭС участвуют представители следующих специальностей:

эксперт в проблемной области, задачи которой будет решать ЭС;

инженер по знаниям - специалист по разработке ЭС (используемые им технологию, методы называют технологией (методами) инженерии знаний);

программист по разработке инструментальных средств (ИС), предназначенных для ускорения разработки ЭС.

Необходимо отметить, что отсутствие среди участников разработки инженеров по знаниям (т. е. их замена программистами) либо приводит к неудаче процесс создания ЭС, либо значительно удлиняет его.

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

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

Программист разрабатывает ИС (если ИС разрабатывается заново), содержащее в пределе все основные компоненты ЭС, и осуществляет его сопряжение с той средой, в которой оно будет использовано.

Экспертная система работает в двух режимах: режиме приобретения знаний и в режиме решения задачи (называемом также режимом консультации или режимом использования ЭС).

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

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

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

"Почему система задает тот или иной вопрос?", "как ответ, собираемый системой, получен?".

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

 

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

Подчеркнем, что структура ЭС, представленная на рис. 1.1 и 1.2, отражает только компоненты (функции), и многое остается "за кадром". На рис. 1.3 приведена обобщенная структура современного ИС для создания динамических ЭС, содержащая кроме основных компонентов те возможности, которые позволяют создавать интегрированные приложение в соответствии с современной технологией программирования.

Этапы разработки экспертных систем

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

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

1) существуют эксперты в данной области, которые решают задачу значительно лучше, чем начинающие специалисты;

2) эксперты сходятся в оценке предлагаемого решения, иначе нельзя будет оценить качество разработанной ЭС;

3) эксперты способны вербализовать (выразить на естественном языке) и объяснить используемые ими методы, в противном случае трудно рассчитывать на то, что знания экспертов будут "извлечены" и вложены в ЭС;

4) решение задачи требует только рассуждений, а не действий;

5) задача не должна быть слишком трудной (т.е. ее решение должно занимать у эксперта несколько часов или дней, а не недель);

6) задача хотя и не должна быть выражена в формальном виде, но все же должна относиться к достаточно "понятной" и структурированной области, т.е. должны быть выделены основные понятия, отношения и известные (хотя бы эксперту) способы получения решения задачи;

7) решение задачи не должно в значительной степени использовать "здравый смысл" (т.е. широкий спектр общих сведений о мире и о способе его функционирования, которые знает и умеет использовать любой нормальный человек), так как подобные знания пока не удается (в достаточном количестве) вложить в системы искусственного интеллекта.

Использование ЭС в данном приложении может быть возможно, но не оправдано. Применение ЭС может быть оправдано одним из следующих факторов:

решение задачи принесет значительный эффект, например экономический;

использование человека-эксперта невозможно либо из-за недостаточного количества экспертов, либо из-за необходимости выполнять экспертизу одновременно в различных местах;

использование ЭС целесообразно в тех случаях, когда при передаче информации эксперту происходит недопустимая потеря времени или информации;

использование ЭС целесообразно при необходимости решать задачу в окружении, враждебном для человека.

Приложение соответствует методам ЭС, если решаемая задача обладает совокупностью следующих характеристик:

1) задача может быть естественным образом решена посредством манипуляции с символами (т.е. с помощью символических рассуждений), а не манипуляций с числами, как принято в математических методах и в традиционном программировании;

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

3) задача должна быть достаточно сложна, чтобы оправдать затраты на разработку ЭС. Однако она не должна быть чрезмерно сложной (решение занимает у эксперта часы, а не недели), чтобы ЭС могла ее решать;

4) задача должна быть достаточно узкой, чтобы решаться методами ЭС, и практически значимой.

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

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

В ходе работ по созданию ЭС сложилась определенная технология их разработки, включающая шесть следующих этапов (рис. 1.4):

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

 

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

На этапе формализации выбираются ИС и определяются способы представления всех видов знаний, формализуются основные понятия, определяются способы интерпретации знаний, моделируется работа системы, оценивается адекватность целям системы зафиксированных понятий, методов решений, средств представления и манипулирования знаниями.

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