Экспе́ртная систе́ма (ЭС, ) — компьютерная система, способная частично заменить специалиста-эксперта в разрешении проблемной ситуации. Современные экспертные системы начали разрабатываться исследователями искусственного интеллекта в 1970-х годах, а в 1980-х годах получили коммерческое подкрепление. Предшественники экспертных систем были предложены в 1832 году С. Н. Корсаковым, создавшим механические устройства, так называемые «интеллектуальные машины», позволявшие находить решения по заданным условиям, например, определять наиболее подходящие лекарства по наблюдаемым у пациента симптомам заболевания.
Важнейшей частью экспертной системы являются базы знаний как модели поведения экспертов в определённой области знаний с использованием процедур логического вывода и принятия решений, иными словами, базы знаний — совокупность фактов и правил логического вывода в выбранной предметной области деятельности.
Похожие действия выполняет такой программный инструмент как «Мастер» (). Мастера применяются как в системных программах, так и в прикладных для упрощения интерактивного общения с пользователем (например, при установке ПО). Главное отличие мастеров от экспертных систем — отсутствие базы знаний — все действия жёстко запрограммированы. Это просто набор форм для заполнения пользователем.
Другие подобные программы — поисковые или справочные (энциклопедические) системы. По запросу пользователя они предоставляют наиболее подходящие (релевантные) разделы базы статей (представления об объектах областей знаний, их виртуальную модель).
В настоящее время «классическая» концепция экспертных систем, сложившаяся в 1970—1980 годах, переживает кризис, по всей видимости связанный с её глубокой ориентацией на общепринятый в те годы текстовый человеко-машинный интерфейс, который в настоящее время в пользовательских приложениях почти полностью вытеснен графическим (GUI). Кроме того, «классический» подход к построению экспертных систем плохо согласуется с реляционной моделью данных, что делает невозможным эффективное использование современных промышленных СУБД для организации баз знаний таких систем.
Нередко в качестве маркетингового хода экспертными системами объявляются современные программные продукты, в «классическом» понимании таковыми не являющиеся (например, компьютерные справочно-правовые системы). Предпринимаемые энтузиастами попытки объединить «классические» подходы к разработке экспертных систем с современными подходами к построению пользовательского интерфейса (проекты CLIPS Java Native Interface, CLIPS.NET и др.) не находят поддержки среди крупных компаний-производителей программного обеспечения и по этой причине остаются пока в экспериментальной стадии.
Структура ЭС интеллектуальных систем КнигаГаврилова Т. А., Хорошевский В. Ф. Базы знаний интеллектуальных систем. Учебник. — СПб.: Питер, 2000. представляет следующую структуру ЭС:
Интерфейс пользователя Пользователь Интеллектуальный редактор базы знаний Эксперт Инженер по знаниям Рабочая (оперативная) память База знаний Решатель (механизм логического вывода (МЛВ)) Подсистема объяснений
База знаний состоит из правил анализа информации от пользователя по конкретной проблеме. ЭС анализирует ситуацию и, в зависимости от направленности ЭС, даёт рекомендации по разрешению проблемы.
Как правило, база знаний экспертной системы содержит факты (статические сведения о предметной области) и правила — набор инструкций, применяя которые к известным фактам можно получать новые факты.
В рамках логической модели базы знаний могут основываться, например, на языке программирования Пролог с помощью языка предикатов для описания фактов и правил логического вывода, выражающих правила определения понятий, для описания обобщённых и конкретных сведений, а также конкретных и обобщённых запросов к базам данных и базам знаний.
Конкретные и обобщённые запросы к базам знаний на языке Пролог записываются с помощью языка предикатов, выражающих правила логического вывода и определения понятий над процедурами логического вывода, имеющихся в базе знаний, выражающих обобщённые и конкретные сведения и знания в выбранной предметной области деятельности и сфере знаний.
Обычно факты в базе знаний описывают те явления, которые являются постоянными для данной предметной области. Характеристики, значения которых зависят от условий конкретной задачи, ЭС получает от пользователя в процессе работы, и сохраняет их в рабочей памяти. Например, в медицинской ЭС факт «У здорового человека 2 ноги» хранится в базе знаний, а факт «У пациента одна нога» — в рабочей памяти.
База знаний ЭС создаётся при помощи трёх групп людей: эксперты той проблемной области, к которой относятся задачи, решаемые ЭС; инженеры по знаниям, являющиеся специалистами по разработке ИИС; программисты, осуществляющие реализацию ЭС.
Режимы функционирования ЭС может функционировать в 2-х режимах. Режим ввода знаний — в этом режиме эксперт с помощью инженера по знаниям посредством редактора базы знаний вводит известные ему сведения о предметной области в базу знаний ЭС. Режим консультации — пользователь ведёт диалог с ЭС, сообщая ей сведения о текущей задаче и получая рекомендации ЭС. Например, на основе сведений о физическом состоянии больного ЭС ставит диагноз в виде перечня заболеваний, наиболее вероятных при данных симптомах.
Классификация ЭС
Классификация ЭС по решаемой задаче Интерпретация данных Диагностирование Мониторинг Проектирование Прогнозирование Сводное планирование Оптимизация Обучение Управление Ремонт Отладка
Классификация ЭС по связи с реальным временем Статические — решающие задачи в условиях не изменяющихся во времени исходных данных и знаний. Квазидинамические — интерпретируют ситуацию, которая меняется с некоторым фиксированным интервалом времени. Динамические — решающие задачи в условиях изменяющихся во времени исходных данных и знаний.
Этапы разработки ЭС Этап идентификации проблем — определяются задачи, которые подлежат решению, выявляются цели разработки, определяются эксперты и типы пользователей. Этап извлечения знаний — проводится содержательный анализ проблемной области, выявляются используемые понятия и их взаимосвязи, определяются методы решения задач. Этап структурирования знаний — выбираются ИС и определяются способы представления всех видов знаний, формализуются основные понятия, определяются способы интерпретации знаний, моделируется работа системы, оценивается адекватность целям системы зафиксированных понятий, методов решений, средств представления и манипулирования знаниями. Этап формализации — осуществляется наполнение экспертом базы знаний. В связи с тем, что основой ЭС являются знания, данный этап является наиболее важным и наиболее трудоёмким этапом разработки ЭС. Процесс приобретения знаний разделяют на извлечение знаний из эксперта, организацию знаний, обеспечивающую эффективную работу системы, и представление знаний в виде, понятном ЭС. Процесс приобретения знаний осуществляется инженером по знаниям на основе анализа деятельности эксперта по решению реальных задач. Реализация ЭС — создаётся один или несколько прототипов ЭС, решающие требуемые задачи. Этап тестирования — производится оценка выбранного способа представления знаний в ЭС в целом.
Наиболее известные ЭС CLIPS — весьма популярная оболочка для построения ЭС (public domain) OpenCyc — мощная динамическая ЭС с глобальной онтологической моделью и поддержкой независимых контекстов WolframAlpha — база знаний и набор вычислительных алгоритмов, интеллектуальный «вычислительный движок знаний» MYCIN — наиболее известная диагностическая система, которая предназначена для диагностики и наблюдения за состоянием больного при менингите и бактериальных инфекциях. HASP/SIAP — интерпретирующая система, которая определяет местоположение и типы судов в Тихом океане по данным акустических систем слежения. Акинатор — интернет-игра. Игрок должен загадать любого персонажа, а Акинатор должен его отгадать, задавая вопросы. База знаний автоматически пополняется, поэтому программа может отгадать практически любого известного персонажа. IBM Watson — суперкомпьютер фирмы IBM, способный понимать вопросы, сформулированные на естественном языке, и находить на них ответы в базе данных.
См. также Автоматизированная система управления База знаний Искусственный интеллект Искусственная нейронная сеть Логический вывод Система поддержки принятия решений Логическое программирование Пролог (язык программирования) Алгоритм Rete Вопросно-ответная система
Примечания
Литература Джозеф Джарратано, Гари Райли Экспертные системы: принципы разработки и программирование. / Пер. с англ. — М. : Издательский дом «Вильямс», 2006. — 1152 с. с ил.
Таунсенд К., Фохт Д. Проектирование и программная реализация экспертных систем на персональных ЭВМ / Пер. с англ. В. А. Кондратенко, С. В. Трубицына. — М.: Финансы и статистика, 1990. — 320 с. Уотермен Д. Руководство по экспертным системам. / Пер. с англ. под ред. В. Л. Стефанюка. — М.: «Мир», 1989: — 388 стр. с ил.
Ссылки Иерархический рубрикатор интеллектуальных систем РИС2004-02.1-И (проект)
Категория:Экспертные системы