Экспе́ртная систе́ма (ЭС, англ. expert system) — компьютерная система, способная частично заменить специалиста-эксперта в разрешении проблемной ситуации. Современные экспертные системы начали разрабатываться исследователями искусственного интеллекта в 1970-х годах, а в 1980-х годах получили коммерческое подкрепление. Предшественники экспертных систем были предложены в 1832 году С. Н. Корсаковым, создавшим механические устройства, так называемые «интеллектуальные машины», позволявшие находить решения по заданным условиям, например, определять наиболее подходящие лекарства по наблюдаемым у пациента симптомам заболевания[1].
Важнейшей частью экспертной системы являются базы знаний как модели поведения экспертов в определённой области знаний с использованием процедур логического вывода и принятия решений, иными словами, базы знаний — совокупность фактов и правил логического вывода в выбранной предметной области деятельности.
Похожие действия выполняет такой программный инструмент как «Мастер» (англ. Wizard). Мастера применяются как в системных программах, так и в прикладных для упрощения интерактивного общения с пользователем (например, при установке ПО). Главное отличие мастеров от экспертных систем — отсутствие базы знаний — все действия жёстко запрограммированы. Это просто набор форм для заполнения пользователем.
Другие подобные программы — поисковые или справочные (энциклопедические) системы. По запросу пользователя они предоставляют наиболее подходящие (релевантные) разделы базы статей (представления об объектах областей знаний, их виртуальную модель).
В настоящее время «классическая» концепция экспертных систем, сложившаяся в 1970—1980 годах, переживает кризис, по всей видимости связанный с её глубокой ориентацией на общепринятый в те годы текстовый человеко-машинный интерфейс, который в настоящее время в пользовательских приложениях почти полностью вытеснен графическим (GUI). Кроме того, «классический» подход к построению экспертных систем плохо согласуется с реляционной моделью данных, что делает невозможным эффективное использование современных промышленных СУБД для организации баз знаний таких систем.
Нередко в качестве маркетингового хода экспертными системами объявляются современные программные продукты, в «классическом» понимании таковыми не являющиеся (например, компьютерные справочно-правовые системы). Предпринимаемые энтузиастами попытки объединить «классические» подходы к разработке экспертных систем с современными подходами к построению пользовательского интерфейса (проекты CLIPS Java Native Interface, CLIPS.NET и др.) не находят поддержки среди крупных компаний-производителей программного обеспечения и по этой причине остаются пока в экспериментальной стадии.
Структура ЭС интеллектуальных систем
правитьКнига[2] представляет следующую структуру ЭС:
- Интерфейс пользователя
- Пользователь
- Интеллектуальный редактор базы знаний
- Эксперт
- Инженер по знаниям
- Рабочая (оперативная) память
- База знаний
- Решатель (механизм логического вывода (МЛВ))
- Подсистема объяснений
База знаний состоит из правил анализа информации от пользователя по конкретной проблеме. ЭС анализирует ситуацию и, в зависимости от направленности ЭС, даёт рекомендации по разрешению проблемы.
Как правило, база знаний экспертной системы содержит факты (статические сведения о предметной области) и правила — набор инструкций, применяя которые к известным фактам можно получать новые факты.
В рамках логической модели базы знаний могут основываться, например, на языке программирования Пролог с помощью языка предикатов для описания фактов и правил логического вывода, выражающих правила определения понятий, для описания обобщённых и конкретных сведений, а также конкретных и обобщённых запросов к базам данных и базам знаний.
Конкретные и обобщённые запросы к базам знаний на языке Пролог записываются с помощью языка предикатов, выражающих правила логического вывода и определения понятий над процедурами логического вывода, имеющихся в базе знаний, выражающих обобщённые и конкретные сведения и знания в выбранной предметной области деятельности и сфере знаний.
Обычно факты в базе знаний описывают те явления, которые являются постоянными для данной предметной области. Характеристики, значения которых зависят от условий конкретной задачи, ЭС получает от пользователя в процессе работы, и сохраняет их в рабочей памяти. Например, в медицинской ЭС факт «У здорового человека 2 ноги» хранится в базе знаний, а факт «У пациента одна нога» — в рабочей памяти.
База знаний ЭС создаётся при помощи трёх групп людей:
- эксперты той проблемной области, к которой относятся задачи, решаемые ЭС;
- инженеры по знаниям, являющиеся специалистами по разработке ИИС;
- программисты, осуществляющие реализацию ЭС.
Режимы функционирования
правитьЭС может функционировать в 2-х режимах.
- Режим ввода знаний — в этом режиме эксперт с помощью инженера по знаниям посредством редактора базы знаний вводит известные ему сведения о предметной области в базу знаний ЭС.
- Режим консультации — пользователь ведёт диалог с ЭС, сообщая ей сведения о текущей задаче и получая рекомендации ЭС. Например, на основе сведений о физическом состоянии больного ЭС ставит диагноз в виде перечня заболеваний, наиболее вероятных при данных симптомах.
Классификация ЭС
правитьКлассификация ЭС по решаемой задаче
править- Интерпретация данных
- Диагностирование
- Мониторинг
- Проектирование
- Прогнозирование
- Сводное планирование
- Оптимизация
- Обучение
- Управление
- Ремонт
- Отладка
Классификация ЭС по связи с реальным временем
править- Статические — решающие задачи в условиях не изменяющихся во времени исходных данных и знаний.
- Квазидинамические — интерпретируют ситуацию, которая меняется с некоторым фиксированным интервалом времени.
- Динамические — решающие задачи в условиях изменяющихся во времени исходных данных и знаний.
Этапы разработки ЭС
править- Этап идентификации проблем — определяются задачи, которые подлежат решению, выявляются цели разработки, определяются эксперты и типы пользователей.
- Этап извлечения знаний — проводится содержательный анализ проблемной области, выявляются используемые понятия и их взаимосвязи, определяются методы решения задач.
- Этап структурирования знаний — выбираются ИС и определяются способы представления всех видов знаний, формализуются основные понятия, определяются способы интерпретации знаний, моделируется работа системы, оценивается адекватность целям системы зафиксированных понятий, методов решений, средств представления и манипулирования знаниями.
- Этап формализации — осуществляется наполнение экспертом базы знаний. В связи с тем, что основой ЭС являются знания, данный этап является наиболее важным и наиболее трудоёмким этапом разработки ЭС. Процесс приобретения знаний разделяют на извлечение знаний из эксперта, организацию знаний, обеспечивающую эффективную работу системы, и представление знаний в виде, понятном ЭС. Процесс приобретения знаний осуществляется инженером по знаниям на основе анализа деятельности эксперта по решению реальных задач.
- Реализация ЭС — создаётся один или несколько прототипов ЭС, решающие требуемые задачи.
- Этап тестирования — производится оценка выбранного способа представления знаний в ЭС в целом.
Наиболее известные ЭС
править- CLIPS — весьма популярная оболочка для построения ЭС (public domain)
- OpenCyc — мощная динамическая ЭС с глобальной онтологической моделью и поддержкой независимых контекстов
- Wolfram|Alpha — база знаний и набор вычислительных алгоритмов, интеллектуальный «вычислительный движок знаний»
- MYCIN — наиболее известная диагностическая система, которая предназначена для диагностики и наблюдения за состоянием больного при менингите и бактериальных инфекциях.
- HASP/SIAP — интерпретирующая система, которая определяет местоположение и типы судов в Тихом океане по данным акустических систем слежения.
- Акинатор — интернет-игра. Игрок должен загадать любого персонажа, а Акинатор должен его отгадать, задавая вопросы. База знаний автоматически пополняется, поэтому программа может отгадать практически любого известного персонажа.
- IBM Watson — суперкомпьютер фирмы IBM, способный понимать вопросы, сформулированные на естественном языке, и находить на них ответы в базе данных.
См. также
правитьПримечания
править- ↑ Изобретения С. Н. Корсакова . Дата обращения: 4 ноября 2013. Архивировано из оригинала 9 марта 2014 года.
- ↑ Гаврилова Т. А., Хорошевский В. Ф. Базы знаний интеллектуальных систем. Учебник. — СПб.: Питер, 2000.
Литература
править- Джозеф Джарратано, Гари Райли Экспертные системы: принципы разработки и программирование. / Пер. с англ. — М. : Издательский дом «Вильямс», 2006. — 1152 с. с ил.
- Питер Джексон. Введение в экспертные системы = Introduction to Expert Systems. — 3-е изд. — М.: Вильямс, 2001. — С. 624. — ISBN 0-201-87686-8.
- Таунсенд К., Фохт Д. Проектирование и программная реализация экспертных систем на персональных ЭВМ / Пер. с англ. В. А. Кондратенко, С. В. Трубицына. — М.: Финансы и статистика, 1990. — 320 с.
- Уотермен Д. Руководство по экспертным системам. / Пер. с англ. под ред. В. Л. Стефанюка. — М.: «Мир», 1989: — 388 стр. с ил.
Ссылки
правитьВ статье есть список источников, но не хватает сносок. |