16. Экспертные системы (ЭС): понятие, назначение, архитектура, отличительные особенности. Классификация ЭС. Этапы разработки ЭС.

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

 

Рис.1. Базовая структура экспертной системы

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

Базовые функции экспертных систем
1. Приобретение знаний
"Приобретение знаний - это передача потенциального опыта решения проблемы от некоторого источника знаний и преобразование его в вид, который позволяет использовать эти знания в программе".
2. Представление знаний
Представление знаний — еще одна функция экспертной системы. Теория представления знаний — это отдельная область исследований, тесно связанная с философией формализма и когнитивной психологией. Предмет исследования в этой области — методы ассоциативного хранения информации, подобные тем, которые существуют в мозгу человека. При этом основное внимание, естественно, уделяется логической, а не биологической стороне процесса, опуская подробности физических преобразований.
3. Управление процессом поиска решения
При проектировании экспертной системы серьезное внимание должно быть уделено и тому, как осуществляется доступ к знаниям и как они используются при поиске решения. Знание о том, какие знания нужны в той или иной конкретной ситуации, и умение ими распорядиться — важная часть процесса функционирования экспертной системы. Такие знания получили наименование метазнаний — т.е. знаний о знаниях. Решение нетривиальных проблем требует и определенного уровня планирования и управления при выборе, какой вопрос нужно задать, какой тест выполнить, и т.д.
4. Разъяснение принятого решения
Вопрос о том, как помочь пользователю понять структуру и функции некоторого сложного компонента программы, связан со сравнительно новой областью взаимодействия человека и машины, которая появилась на пересечении таких областей, как искусственный интеллект, промышленная технология, физиология и эргономика. На сегодня вклад в эту область исследователей, занимающихся экспертными системами, состоит в разработке методов представления информации о поведении программы в процессе формирования цепочки логических заключений при поиске решения.

Отличительные особенности ЭС
1. Экспертиза может проводиться только в одной конкретной области.
2. Создание новой БЗ для ЭС должно обеспечивать выполнение требований машины логического вывода.
3. ЭС объясняет ход решения задачи (цепочку рассуждений) понятным пользователю способом (можно спросить как и почему получилось такое решение и получить понятный ответ).
4. Выходные результаты являются качественными (например, совет), а не количественными (цифровыми).
5. Системы строятся по модульному принципу, что позволяет наращивать их базы знаний.
6. Наиболее подходящая область применения - решение задач дедуктивным методом (лат. deductio - выведение), позволяющим по определенным правилам логики делать выводы из некоторых утверждений и комбинаций.

Классификация экспертных систем
Для классификации ЭС можно использовать различные критерии.
1. По назначению ЭС можно условно разделить на консультационные (информационные), исследовательские и управляющие. Консультационные ЭС предназначены для получения  квалифицированных ответов; исследовательские - для помощи пользователю квалифицированно решать научные задачи; управляющие - для автоматизации управления процессами в реальном масштабе времени.
2. По сложности и объему базы знаний - неглубокие и глубокие.
Неглубокие (простые) ЭС имеют относительно малые БЗ. Доказательства их заключений обычно коротки, большинство выводов являются прямыми следствиями информации, хранимой в базе знаний. Такие ЭС в основном предназначены для решения относительно простых задач типа ответов на запросы по требуемой  информации.
Глубокие ЭС делают свои выводы обязательно из моделей происходящих процессов, хранящихся в базах знаний. Сама модель процесса представляет собой набор правил, предназначенных для объяснения большого количества эмпирических данных. В глубоких ЭС доказательства выводов значительно длиннее, основываются на знаниях, выведенных из моделей.
3. По области применения ЭС делятся следующие классы.
1) Диагностика. Например, медицинская диагностика, когда системы используются для установления заболеваний; техническая диагностика, когда определяют  неисправности в механических и электрических устройствах.
2) Прогнозирование. Прогнозирующие системы предсказывают возможные результаты или события на основе данных о текущем состоянии объекта (погода, урожайность, поток пассажиров).
3) Планирование и проектирование. Такие системы предназначены для достижения конкретных целей при решении задач с большим числом переменных (консультации по приобретению товаров, проектирование космических станций, и так далее).
4) Интерпретация. Интерпретирующие системы обладают способностью получать определенные заключения на основе результатов наблюдения (например, местоположение и тип судов в океане по данным акустических систем слежения).
5) Контроль и управление (например, регулирование финансовой деятельности предприятия и оказание помощи при выработке решений в критических ситуациях, управление воздушным движением, атомными электростанциями).
6) Обучение. Экспертно-обучающие системы реализуют следующие педагогические функции: учение, обучение, контроль и диагностику знаний, тренировку.
4. По связям с реальным миром.
1) Статические ЭС разрабатываются в предметных областях, в которых БЗ и интерпретируемые данные не меняются во времени. Они стабильны. Например, диагностика неисправностей в автомобиле.
2) Квазидинамические ЭС интерпретируют ситуацию, которая меняется с некоторым фиксированным интервалом времени. Например, микробиологические ЭС, в которых снимаются лабораторные изменения с технологического процесса один раз в 4 -5 часов и анализируется динамика полученных показателей по отношению к предыдущему измерению.
3) Динамические ЭС работают в сопряжении с датчиками объектов в режиме реального времени с непрерывной интерпретацие            поступающих в систему данных. Например, управление гибкими производственными комплексами, мониторинг в реанимационных палатах.
Можно выде­лить четыре основных класса ЭС: классифицирующие, доопределяющие, трансформирующие и мультиагентные.
1) Классифицирующие ЭС решают задачи распознавания ситуа­ций. Основным методом формирования решений в таких систе­мах является дедуктивный логический вывод.
2) Доопределяющие ЭС используются для решения задач с не полностью определенными данными и знаниями. В таких ЭС возникают задачи интерпретации нечетких знаний и выбора аль­тернативных направлений поиска в пространстве возможных ре­шений. В качестве методов обработки неопределенных знаний могут использоваться байесовский вероятностный подход, коэф­фициенты уверенности, нечеткая логика.
3) Трансформирующие ЭС относятся к синтезирующим динами­ческим экспертным системам, в которых предполагается повто­ряющееся преобразование знаний в процессе решения задач. В ЭС данного класса используются различные способы обработки знаний:

· генерация и проверка гипотез;

· логика предположений и умолчаний (когда по неполным данным формируются представления об объектах определенного класса, которые впоследствии адаптируются к конкретным усло­виям изменяющихся ситуаций);

· использование метазнаний (более общих закономерностей) для устранения неопределенностей в ситуациях.

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

· реализация альтернативных рассуждений на основе исполь­зования различных источников знаний и механизма устранения противоречий;

· распределенное решение проблем, декомпозируемых на па­раллельно решаемые подзадачи с самостоятельными источника­ми знаний;

· применение различных стратегий вывода заключений в за­висимости от типа решаемой проблемы;

· обработка больших массивов информации из баз данных;

· использование математических моделей и внешних процедур для имитации развития ситуаций.

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

 

Этапы разработки экспертных систем
В коллектив разработчиков ЭС входят как минимум четыре человека:

  • эксперт;
  • инженер по знаниям;
  • программист;
  • пользователь.

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

Процесс разработки ЭС можно разделить на следующие этапы:
1. Выбор проблемы.
2. Разработка прототипа ЭС.
3. Доработка до промышленной ЭС.
4. Оценка ЭС.
5. Стыковка ЭС.
6. Поддержка ЭС.

1.Выбор подходящей проблемы. На этом этапе:
·определяется проблемная область;
·подбираются специалисты-эксперты;
·подбирается  коллектив разработчиков;
·определяется предварительный подход к решению проблемы;
·готовится подробный план разработки.
 2. Разработка прототипа ЭС. Прототипная система является сокращенной версией ЭС, спроектированной для проверки правильности представления фактов, связей и стратегий рассуждения эксперта. Объем прототипа – несколько десятков правил, фреймов или примеров. Разработка прототипа ЭС делится на шесть стадий: идентификация проблемы, извлечение знаний, концептуализация (структурирование) знаний, формализация, реализация прототипа, тестирование.
 2.1. Идентификация проблемы – знакомство и обучение членов коллектива разработчиков, а также создание неформальной формулировки проблемы. На этом этапе уточняется задача, планируется ход разработки прототипа ЭС, определяются:
·ресурсы (время, люди и т.д.);
·источники знаний (книги, дополнительные эксперты);
·имеющиеся аналогичные ЭС;
·классы решаемых задач и т.д.
2.2. Извлечение знаний – получение инженером по знаниям наиболее полного из возможных представлений о предметной области и способах принятия решения в ней. Для извлечения знаний  инженер использует различные методы: анализ текстов, диалоги, лекции, дискуссии, интервью, наблюдение и др.
2.3. Концептуализация (или структурирование) знаний – разработка неформального описания знаний о предметной области в виде графа, таблицы, диаграммы или текста, которое отражает основные концепции и взаимосвязи между понятиями предметной области. На этом этапе определяются: терминология, список основных понятий и их атрибутов, отношения между понятиями, структура входной и выходной информации, стратегия принятия решений и т.д.
2.4. Формализация знаний – это разработка базы знаний на языке представления знаний. На этом этапе используются: логические методы, продукционные модели, семантические модели, фреймы, объектно-ориентированные языки.
2.5. Реализация прототипа – разработка программного комплекса, демонстрирующего жизнеспособность подхода в целом. На этом этапе создается прототип ЭС (включающий базу знаний, остальные программные модули) при помощи: языков программирования (традиционных, специализированных), инструментальных средств разработки ЭС, «пустых» оболочек ЭС.
2.6. Тестирование – процесс выявления ошибок в подходе и реализации прототипа. Прототип проверяется на: удобство и адекватность интерфейса ввода/вывода, качество проверочных примеров, полнота и непротиворечивость правил в базе знаний.
3. Развитие прототипа до промышленной ЭС. Основная работа на этом этапе заключается в расширении базы знаний (добавление правил, фреймов, узлов семантической сети или других элементов знаний). После установления основной структуры знаний ЭС инженер по знаниям приступает к разработке и адаптации интерфейсов, с помощью которых система будет общаться с пользователем и экспертом. Система должна предоставлять пользователю возможность уточнять непонятные моменты, приостанавливать работу и т.д.
4. Оценка системы необходима для того, чтобы проверить точность работы программы и ее полезность. Оценка проводится по следующим критериям:

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

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

 

 

 

Конструктор сайтов - uCoz