Этапы разработки экспертных систем
Разработка ЭС имеет существенные отличия от разработки обычного программного продукта. Опыт создания ЭС показал, что использование при их разработке методологии, принятой в традиционном программировании, либо чрезмерно затягивает процесс создания ЭС, либо вообще приводит к отрицательному результату. Использовать ЭС следует только тогда, когда разработка ЭС возможна, оправдана и методы инженерии знаний соответствуют решаемой задаче. Чтобы разработка ЭС была возможной для данного приложения, необходимо одновременное выполнение по крайней мере следующих требований:
1) существуют эксперты в данной области, которые решают задачу значительно лучше, чем начинающие специалисты;
2) эксперты сходятся в оценке предлагаемого решения, иначе нельзя будет оценить качество разработанной ЭС;
3) эксперты способны вербализовать (выразить на естественном языке) и объяснить используемые ими методы, в противном случае трудно рассчитывать на то, что знания экспертов будут "извлечены" и вложены в ЭС;
4) решение задачи требует только рассуждений, а не действий;
5) задача не должна быть слишком трудной (т.е. ее решение должно занимать у эксперта несколько часов или дней, а не недель);
6) задача хотя и не должна быть выражена в формальном виде, но все же должна относиться к достаточно "понятной" и структурированной области, т.е. должны быть выделены основные понятия, отношения и известные (хотя бы эксперту) способы получения решения задачи;
7) решение задачи не должно в значительной степени использовать "здравый смысл" (т.е. широкий спектр общих сведений о мире и о способе его функционирования, которые знает и умеет использовать любой нормальный человек), так как подобные знания пока не удается (в достаточном количестве) вложить в системы искусственного интеллекта.
Использование ЭС в данном приложении может быть возможно, но не оправдано. Применение ЭС может быть оправдано одним из следующих факторов:
решение задачи принесет значительный эффект, например экономический;
использование человека-эксперта невозможно либо из-за недостаточного количества экспертов, либо из-за необходимости выполнять экспертизу одновременно в различных местах;
использование ЭС целесообразно в тех случаях, когда при передаче информации эксперту происходит недопустимая потеря времени или информации;
использование ЭС целесообразно при необходимости решать задачу в окружении, враждебном для человека.
Приложение соответствует методам ЭС, если решаемая задача обладает совокупностью следующих характеристик:
1) задача может быть естественным образом решена посредством манипуляции с символами (т.е. с помощью символических рассуждений), а не манипуляций с числами, как принято в математических методах и в традиционном программировании;
2) задача должна иметь эвристическую, а не алгоритмическую природу, т.е. ее решение должно требовать применения эвристических правил. Задачи, которые могут быть гарантированно решены (с соблюдением заданных ограничений) с помощью некоторых формальных процедур, не подходят для применения ЭС;
3) задача должна быть достаточно сложна, чтобы оправдать затраты на разработку ЭС. Однако она не должна быть чрезмерно сложной (решение занимает у эксперта часы, а не недели), чтобы ЭС могла ее решать;
4) задача должна быть достаточно узкой, чтобы решаться методами ЭС, и практически значимой.
При разработке ЭС, как правило, используется концепция "быстрого прототипа". Суть этой концепции состоит в том, что разработчики не пытаются сразу построить конечный продукт. На начальном этапе они создают прототип (прототипы) ЭС. Прототипы должны удовлетворять двум противоречивым требованиям: с одной стороны, они должны решать типичные задачи конкретного приложения, а с другой - время и трудоемкость их разработки должны быть весьма незначительны, чтобы можно было максимально запараллелить процесс накопления и отладки знаний (осуществляемый экспертом) с процессом выбора (разработки) программных средств (осуществляемым инженером по знаниям и программистом). Для удовлетворения указанным требованиям, как правило, при создании прототипа используются разнообразные средства, ускоряющие процесс проектирования.Прототип должен продемонстрировать пригодность методов инженерии знаний для данного приложения. В случае успеха эксперт с помощью инженера по знаниям расширяет знания прототипа о проблемной области. При неудаче может потребоваться разработка нового прототипа или разработчики могут прийти к выводу о непригодности методов ЭС для данного приложения. По мере увеличения знаний прототип может достигнуть такого состояния, когда он успешно решает все задачи данного приложения. Преобразование прототипа ЭС в конечный продукт обычно приводит к перепрограммированию ЭС на языках низкого уровня, обеспечивающих как увеличение быстродействия ЭС, так и уменьшение требуемой памяти. Трудоемкость и время создания ЭС в значительной степени зависят от типа используемого инструментария.
В ходе работ по созданию ЭС сложилась определенная технология их разработки, включающая шесть следующих этапов (рис. 1.4):
идентификацию, концептуализацию, формализацию, выполнение, тестирование, опытную эксплуатацию. На этапе идентификации определяются задачи, которые подлежат решению, выявляются цели разработки, определяются эксперты и типы пользователей.На этапе концептуализации проводится содержательный анализ проблемной области, выявляются используемые понятия и их взаимосвязи, определяются методы решения задач.На этапе формализации выбираются ИС и определяются способы представления всех видов знаний, формализуются основные понятия, определяются способы интерпретации знаний, моделируется работа системы, оценивается адекватность целям системы зафиксированных понятий, методов решений, средств представления и манипулирования знаниями.На этапе выполнения осуществляется наполнение экспертом базы знаний. В связи с тем, что основой ЭС являются знания, данный этап является наиболее важным и наиболее трудоемким этапом разработки ЭС. Процесс приобретения знаний разделяют на извлечение знаний из эксперта, организацию знаний, обеспечивающую эффективную работу системы, и представление знаний в виде, понятном ЭС. Процесс приобретения знаний осуществляется инженером по знаниям на основе анализа деятельности эксперта по решению реальных задач. Экспертные системы в медицине
Врач во время работы — будь то прием пациента, проведение операции, выписка рецепта и т.д. — должен сделать определенное заключение, ведущее к конкретным действиям, на основании фактов, полученных из наблюдений, ответов на вопросы, лабораторных анализов, измерения давления, пульса, температуры и других показателей.
При этом он руководствуется знаниями, полученными при обучении, чтении специальной литературы, собственным опытом, интуицией, советами коллег. Для облегчения принятия решения создаются и широко распространяются компьютерные экспертные медицинские системы, которые выполняют роль интеллектуального справочника, предлагающего варианты вопросов к пациенту, основываясь на полученной до этого информации. Вводимая информация может быть не только текстовая, но и графическая, в виде кардиограмм, рентгенограмм и т.д. Система анализирует все параметры, учитывая историю болезни пациента, хранящуюся в базе данных, и предлагает врачу свой вариант диагноза и возможных действий. При этом она основывается на базе знаний квалифицированных специалистов, которая создавалась при разработке программы. Поэтому такую систему правильнее назвать «Справочник-консультант». Конечно, окончательное решение принимает врач. Поскольку эта сфера применения очень ответственна, существующие экспертные системы используют достаточно сложные алгоритмы, уменьшающие вероятность неверных действий, поэтому здесь трудно рассчитывать на универсальность и многопрофильность. за последние годы медицина сделала решительный шаг вперед. Использование прогрессивных технологий, в том числе нанотехнологий, инновационных методов позволяет врачу работать на самом современном оборудовании. Например, методика Холтер суточного мониторирования сегодня кардинально отличается от методов, применяемых в недалеком прошлом. А современные прогрессивные дефибрилляторы способны спасти гораздо больше жизней, чем их аналоги прошлого века Профессиональные медицинские пакеты очень специализированы. Например, программы экстренной диагностики и неотложной терапии, диагностики болей в области сердца, предупреждения осложнений беременности, анестезиологии и т.п. Но, нет сомнений, что не смотря на прогресс, который не обошел стороной медицину, самым важным для пациента остаются знания и умения самого доктора. Медицинская диагностика. Диагностические системы используются для установления связи между нарушениями деятельности организма и их возможными причинами. Наиболее известна диагностическая система MYCIN, которая предназначена для диагностики и наблюдения за состоянием больного при менингите и бактериальных инфекциях. Ее первая версия была разработана в Стенфордском университете в середине 70-х годов. В настоящее время эта система ставит диагноз на уровне врача-специалиста. Она имеет расширенную базу знаний, благодаря чему может применяться и в других областях медицины.
22. Экспе́ртная систе́ма(ЭС, англ. expert system) — компьютерная система, способная частично заменить специалиста-эксперта в разрешении проблемной ситуации. Структура ЭС интеллектуальных систем представляет следующую структуру ЭС:
Интерфейс пользователя
Пользователь
Интеллектуальный редактор базы знаний
Эксперт
Инженер по знаниям
Рабочая (оперативная) память
База знаний
Решатель (механизм вывода)
Подсистема объяснений
база знаний состоит из правил анализа информации от пользователя по конкретной проблеме. ЭС анализирует ситуацию и, в зависимости от направленности ЭС, дает рекомендации по разрешению проблемы.Как правило, база знаний экспертной системы содержит факты (статические сведения о предметной области) и правила — набор инструкций, применяя которые к известным фактам можно получать новые факты.В рамках логической модели баз данных и базы знаний записываются на языке Пролог с помощью языка предикатов для описания фактов и правил логического вывода, выражающих правила определения понятий, для описания обобщенных и конкретных сведений, а также конкретных и обобщенных запросов к базам данных и базам знаний.Конкретные и обобщенные запросы к базам знаний на языке Пролог записываются с помощью языка предикатов, выражающих правила логического вывода и определения понятий над процедурами логического вывода, имеющихся в базе знаний, выражающих обобщенные и конкретные сведения и знания в выбранной предметной области деятельности и сфере знаний.Обычно факты в базе знаний описывают те явления, которые являются постоянными для данной предметной области. Характеристики, значения которых зависят от условий конкретной задачи, ЭС получает от пользователя в процессе работы, и сохраняет их в рабочей памяти. Например, в медицинской ЭС факт «У здорового человека 2 ноги» хранится в базе знаний, а факт «У пациента одна нога» — в рабочей памяти.
База знаний ЭС создается при помощи трех групп людей:
эксперты той проблемной области, к которой относятся задачи, решаемые ЭС;
инженеры по знаниям, являющиеся специалистами по разработке ИИС;
программисты, осуществляющие реализацию ЭС. Классификация ЭС
Классификация ЭС по решаемой задаче
Интерпретация данных
Диагностирование
Мониторинг
Проектирование
Прогнозирование
Сводное Планирование
Обучение
Управление
Ремонт
Отладка
Классификация ЭС по связи с реальным временем
Статические ЭС - это ЭС, решающие задачи в условиях не изменяющихся во времени исходных данных и знаний.
Квазидинамические ЭС интерпретируют ситуацию, которая меняется с некоторым фиксированным интервалом времени.
Динамические ЭС - это ЭС, решающие задачи в условиях изменяющихся во времени исходных данных и знаний.