Экспертная система

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Экспе́ртная систе́ма (ЭС, англ. expert system) — компьютерная система, способная частично заменить специалиста-эксперта в разрешении проблемной ситуации. Современные экспертные системы начали разрабатываться исследователями искусственного интеллекта в 1970-х годах, а в 1980-х годах получили коммерческое подкрепление. Предшественники экспертных систем были предложены в 1832 году С. Н. Корсаковым, создавшим механические устройства, так называемые «интеллектуальные машины», позволявшие находить решения по заданным условиям, например, определять наиболее подходящие лекарства по наблюдаемым у пациента симптомам заболевания[1].

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

Похожие действия выполняет такой программный инструмент как «Мастер» (англ. Wizard). Мастера применяются как в системных программах, так и в прикладных для упрощения интерактивного общения с пользователем (например, при установке ПО). Главное отличие мастеров от экспертных систем — отсутствие базы знаний — все действия жёстко запрограммированы. Это просто набор форм для заполнения пользователем.

Другие подобные программы — поисковые или справочные (энциклопедические) системы. По запросу пользователя они предоставляют наиболее подходящие (релевантные) разделы базы статей (представления об объектах областей знаний, их виртуальную модель).

В настоящее время «классическая» концепция экспертных систем, сложившаяся в 1970—1980 годах, переживает кризис, по всей видимости связанный с её глубокой ориентацией на общепринятый в те годы текстовый человеко-машинный интерфейс, который в настоящее время в пользовательских приложениях почти полностью вытеснен графическим (GUI). Кроме того, «классический» подход к построению экспертных систем плохо согласуется с реляционной моделью данных, что делает невозможным эффективное использование современных промышленных СУБД для организации баз знаний таких систем.

Нередко в качестве маркетингового хода экспертными системами объявляются современные программные продукты, в «классическом» понимании таковыми не являющиеся (например, компьютерные справочно-правовые системы). Предпринимаемые энтузиастами попытки объединить «классические» подходы к разработке экспертных систем с современными подходами к построению пользовательского интерфейса (проекты CLIPS Java Native Interface, CLIPS.NET и др.) не находят поддержки среди крупных компаний-производителей программного обеспечения и по этой причине остаются пока в экспериментальной стадии.

Структура ЭС интеллектуальных систем

[править | править код]

Книга[2] представляет следующую структуру ЭС:

База знаний состоит из правил анализа информации от пользователя по конкретной проблеме. ЭС анализирует ситуацию и, в зависимости от направленности ЭС, даёт рекомендации по разрешению проблемы.

Как правило, база знаний экспертной системы содержит факты (статические сведения о предметной области) и правила — набор инструкций, применяя которые к известным фактам можно получать новые факты.

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

Конкретные и обобщённые запросы к базам знаний на языке Пролог записываются с помощью языка предикатов, выражающих правила логического вывода и определения понятий над процедурами логического вывода, имеющихся в базе знаний, выражающих обобщённые и конкретные сведения и знания в выбранной предметной области деятельности и сфере знаний.

Обычно факты в базе знаний описывают те явления, которые являются постоянными для данной предметной области. Характеристики, значения которых зависят от условий конкретной задачи, ЭС получает от пользователя в процессе работы, и сохраняет их в рабочей памяти. Например, в медицинской ЭС факт «У здорового человека 2 ноги» хранится в базе знаний, а факт «У пациента одна нога» — в рабочей памяти.

База знаний ЭС создаётся при помощи трёх групп людей:

  1. эксперты той проблемной области, к которой относятся задачи, решаемые ЭС;
  2. инженеры по знаниям, являющиеся специалистами по разработке ИИС;
  3. программисты, осуществляющие реализацию ЭС.

Режимы функционирования

[править | править код]

ЭС может функционировать в 2-х режимах.

  1. Режим ввода знаний — в этом режиме эксперт с помощью инженера по знаниям посредством редактора базы знаний вводит известные ему сведения о предметной области в базу знаний ЭС.
  2. Режим консультации — пользователь ведёт диалог с ЭС, сообщая ей сведения о текущей задаче и получая рекомендации ЭС. Например, на основе сведений о физическом состоянии больного ЭС ставит диагноз в виде перечня заболеваний, наиболее вероятных при данных симптомах.

Классификация ЭС

[править | править код]

Классификация ЭС по решаемой задаче

[править | править код]

Классификация ЭС по связи с реальным временем

[править | править код]
  • Статические — решающие задачи в условиях не изменяющихся во времени исходных данных и знаний.
  • Квазидинамические  — интерпретируют ситуацию, которая меняется с некоторым фиксированным интервалом времени.
  • Динамические — решающие задачи в условиях изменяющихся во времени исходных данных и знаний.

Этапы разработки ЭС

[править | править код]
  • Этап идентификации проблем — определяются задачи, которые подлежат решению, выявляются цели разработки, определяются эксперты и типы пользователей.
  • Этап извлечения знаний — проводится содержательный анализ проблемной области, выявляются используемые понятия и их взаимосвязи, определяются методы решения задач.
  • Этап структурирования знаний — выбираются ИС и определяются способы представления всех видов знаний, формализуются основные понятия, определяются способы интерпретации знаний, моделируется работа системы, оценивается адекватность целям системы зафиксированных понятий, методов решений, средств представления и манипулирования знаниями.
  • Этап формализации — осуществляется наполнение экспертом базы знаний. В связи с тем, что основой ЭС являются знания, данный этап является наиболее важным и наиболее трудоёмким этапом разработки ЭС. Процесс приобретения знаний разделяют на извлечение знаний из эксперта, организацию знаний, обеспечивающую эффективную работу системы, и представление знаний в виде, понятном ЭС. Процесс приобретения знаний осуществляется инженером по знаниям на основе анализа деятельности эксперта по решению реальных задач.
  • Реализация ЭС — создаётся один или несколько прототипов ЭС, решающие требуемые задачи.
  • Этап тестирования — производится оценка выбранного способа представления знаний в ЭС в целом.

Наиболее известные ЭС

[править | править код]
  • CLIPS — весьма популярная оболочка для построения ЭС (public domain)
  • OpenCyc — мощная динамическая ЭС с глобальной онтологической моделью и поддержкой независимых контекстов
  • Wolfram|Alpha — база знаний и набор вычислительных алгоритмов, интеллектуальный «вычислительный движок знаний»
  • MYCIN — наиболее известная диагностическая система, которая предназначена для диагностики и наблюдения за состоянием больного при менингите и бактериальных инфекциях.
  • HASP/SIAP — интерпретирующая система, которая определяет местоположение и типы судов в Тихом океане по данным акустических систем слежения.
  • Акинатор — интернет-игра. Игрок должен загадать любого персонажа, а Акинатор должен его отгадать, задавая вопросы. База знаний автоматически пополняется, поэтому программа может отгадать практически любого известного персонажа.
  • IBM Watson — суперкомпьютер фирмы IBM, способный понимать вопросы, сформулированные на естественном языке, и находить на них ответы в базе данных.

Примечания

[править | править код]
  1. Изобретения С. Н. Корсакова. Дата обращения: 4 ноября 2013. Архивировано из оригинала 9 марта 2014 года.
  2. Гаврилова Т. А., Хорошевский В. Ф. Базы знаний интеллектуальных систем. Учебник. — СПб.: Питер, 2000.

Литература

[править | править код]
  • Джозеф Джарратано, Гари Райли Экспертные системы: принципы разработки и программирование. / Пер. с англ. — М. : Издательский дом «Вильямс», 2006. — 1152 с. с ил.
  • Питер Джексон. Введение в экспертные системы = Introduction to Expert Systems. — 3-е изд. — М.: Вильямс, 2001. — С. 624. — ISBN 0-201-87686-8.
  • Таунсенд К., Фохт Д. Проектирование и программная реализация экспертных систем на персональных ЭВМ / Пер. с англ. В. А. Кондратенко, С. В. Трубицына. — М.: Финансы и статистика, 1990. — 320 с.
  • Уотермен Д. Руководство по экспертным системам. / Пер. с англ. под ред. В. Л. Стефанюка. — М.: «Мир», 1989: — 388 стр. с ил.