Общая структура и схема функционирования экспертных систем на примере MYCIN Система MYCIN MYCIN была задумана как программа, консультирующая врача при установлении диагноза и выдаче рекомендаций по лечению инфекционных заболеваний крови. Затем область применения системы была распространена на ряд других инфекционных заболеваний. Успешная реализация этих приложений привела к созданию на основе MYCIN базовой ЭС EMYCIN. Требования к ЭС MYCIN • выдача заслуживающих доверия рекомендаций; • удобство эксплуатации; • организация помощи врачу, а не замена его; • ориентированность на приобретение и модификацию знаний; • ведение диалога, для объяснения своего поведения. Пример В ходе операции пациенту была занесена инфекция и врачу, который не является специалистом в области инфекционных заболеваний, необходима консультация. Сложность ситуации в том, что к лечению бактериальных заболеваний необходимо приступать как можно скорее (выращивание культур 48 часов). Два выхода: дать лекарство широкого спектра (чаще всего так и происходит) либо назначить специфическое лекарство, рискуя не угадать возбудителя. В течение одного года пенициллин был прописан каждому четвёртому, хотя в 90% в назначении пенициллина не было необходимости. Этапы решения задачи с помощью MYCIN 1) определяется, являются ли микроорганизмы, обнаруженные у пациента патогенными, т.е. вызвавшими болезнь пациента; 2) если микроорганизм является патогенным, то он идентифицируется; 3) выбирается метод лечения. Общая схема системы MYCIN Система состоит из 6 компонент. Рабочая память служит для хранения данных, полученных от пользователя, и промежуточных данных, выведенных в ходе работы системы. База знаний хранит продукционные правила и факты об области экспертизы. Управляющая компонента выполняет основную функцию системы установления диагноза и выработки рекомендаций относительно методов лечения. Остальные программы выполняют служебные функции для обеспечения гибкости и удобства системы. Компонента анализа и синтеза обеспечивает обработку простых предложений английского языка. Объяснительная компонента сообщает, почему и как программа обрабатывает тот или иной символ. Компонента приобретения знаний служит для пополнения и модификации знаний системы в ходе диалога с экспертом. Состав знаний и способ их представления Знания о предметной области представлены в системе в виде фактов, правил, дерева целей, дерева контекстов и фиксированной иерархии объектов, определяющей структуру диалога. Знания делятся на статические и динамические. Статические знания хранятся в базе знаний и не зависят от конкретного диалога. Это сведения о болезнях и лекарствах, правила вывода и сведения об иерархии объектов. Динамические знания - дерево контекстов, дерево целей, активные факты и правила, т.е. используемые в ходе диалога. Иерархия объектов предметной области 1) пациент; 2) инфекция; 3) культура; 4) микроорганизмы; Система ведёт диалог в соответствии с иерархией. Сначала собирает информацию о пациенте, затем об инфекции и т.д. На основании иерархии объектов и тех объектов, которые были упомянуты в диалоге, система строит дерево объектов (или дерево контекстов). Все знания (факты), получаемые в ходе диалога с пользователем, организуются в тройки: атрибут - объект - знание. Конечная задача системы - определить значение всех атрибутов всех объектов, введенных в диалоге. Многие факты, хранящиеся в базе знаний тоже представлены в виде троек, остальные в виде списков и таблиц. Каждой тройке приписывается КО, указывается степень уверенности. Основным источником знаний в MYCIN являются продукционные правила. В общей сложности их около 400. Правила имеют вид: "предпосылка- действие" (Место получения культуры-1, кровь 1, 0). Предпосылка на верхнем уровне представляет комбинацию предложений соединенных функцией И. В действии указывается одно или более заключений, которые должны выполнятся, если предпосылка удовлетворена. Каждое правило является независимым фрагментом знаний о предметной области. Управляющий механизм Поиск решений в MYCIN осуществляется в направлении от цели (искомого диагноза) к данным. Базовой стратегией является стратегия "поиска в глубину". Сначала выбираются все правила X, в заключении которых устанавливается какойлибо диагноз. Затем предпринимается попытка вычислить предпосылки правил из множества X. Каждая предикатная функция в предложении предпосылки возвращает в качестве значения число от -1 до 1. Затем вычисляется итоговое значение для предпосылки. Если оно больше 0.2, то считается, что предпосылка удовлетворена, если < -0.2, то ложна. Для правил, предпосылки которых удовлетворены, выполняется заключение, содержащееся в действии правила. КО<заключение>=<КО посылки>x<КО правила>. Если значение некоторого предложения в предпосылке не может быть вычислено из-за того, что неизвестны значения входящих в это предложение атрибутов, то значение этих атрибутов объявляются новыми подцелями и процесс поиска рекурсивно продолжается. В ходе поиска решений строится дерево, называемое деревом целей (историческим деревом). Каждая вершина Xl в дереве соответствует некоторой цели Gl и содержит кроме описания цели следующую информацию: - как система пыталась достичь эту цель (спрашивая пользователя или с помощью правила); - для каждого правила, примененного к данной цели, запоминается, успешно оно применено или имела место неудача (причина неудачи). Объяснительные способности В системе MYCIN имеются возможности объяснять ход рассуждений. Объяснительные способности реализуются с помощью нескольких программ ("специалистов"), каждая из которых реализует одну разновидность объяснений. Все объяснения разделяются на 3 вида: 1) объяснение действий (рассуждений) системы в ходе диалога; 2) ответы на вопросы о динамических знаниях рабочей памяти 3) ответы на вопросы о статических знаниях базы знаний. Первый тип реализуется набором программ "контролер рассуждений" и даются в процессе установления диагноза и выдаче рекомендаций. 2 и 3 тип - набор программ "общий ответчик" даются после выдачи рекомендаций. Объяснение действий Т.к. система решает задачи с помощью поиска в дереве целей, для получения объяснений ее действий уместно задавать две разновидности вопросов: 1) вопрос "Почему", т.е. какую цель преследует система, совершая данное действие; 2) вопрос "Как X" (где X - ссылка на цель), т.е. вопросы о том, с помощью каких действий система достигла (достигнет) цели, указанной в X . При ответе на первый вопрос движение по дереву целей, осуществляется вверх от текущей цели для поиска цели, объясняющей, зачем достигается текущая цель. При ответе на второй вопрос движение идет вниз от указанной цели для рассмотрения того, какие правила привели к достижению текущей цели. Объяснения как ответ на вопрос Объяснения 2 и 3 типов являются ответами на вопросы о динамических и статических значениях. На этапе анализа сообщений определяется тип вопроса и вызывается "специалист", обрабатывающий вопросы данного вида. Вопросы о статических знаниях подразделяются на вопросы о фактах и вопросы о правилах. Вопросы о фактах сводятся к поиску информации в базе знаний. Обработка вопросов о правилах сложнее. Для объяснения находятся все правила, предпосылки и действия которых соответствуют обрабатываемому вопросу. Анализируются два списка, связанных с каждым аргументом. Один список содержит перечень правил, использующих данный "аргумент" в предпосылке, а другой - перечень правил, использующих аргумент в "действии". Анализ и синтез сообщений. В MYCIN использована довольно простая техника анализа и синтеза предложений английского языка, основанная на выделении в предложении ключевых слов. Узкая проблемная область позволила обойти вопросы многозначности выражений естественного языка. В процессе анализа вопросов можно выделить 3 этапа: 1) осуществляется замена слов в вопросе на терминальные слова 2) определяется тип вопроса и осуществляется разбиение вопроса на предпосылку и действие 3) на основании словарных сведений о терминальных словах выделяется информация, релевантная вопросу. Далее, каждому из типов вопросов в системе соответствует несколько возможных шаблонов для ответа. "Специалист", отвечающий на вопросы данного типа, должен будет просмотреть дерево целей и базу знаний для того, чтобы определить, какой из двух шаблонов уместен в данном случае. Приобретение знаний. Процесс приобретения знаний можно разбить на 3 этапа: • обнаружение неполноты базы знаний и выявление новых знаний, устраняющих эту неполноту (выполняется экспертом и инженером по знаниям); • введение в систему новых знаний (преобразование данных в правила); • объединение новых знаний со старыми (эксперт убеждается в правильности правила и его согласованности с другими правилами).