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




Дата канвертавання26.04.2016
Памер191.21 Kb.
Экспертная система

«Рапана»



  • Введение.

  • Особенности и назначение ЭС «Рапана».

  • Индивидуальное использование.

  • «Думающий» сайт.

  • Корпоративное использование.

  • Создание Базы знаний в ЭС «Рапана».

  • Заключение





2008



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

Главным в экспертной системе является машина вывода (Inference Engine) – программный механизм, осуществляющий поиск в базе знаний по правилам рациональной логики для получения решений. Машина вывода приводится в действие при получении запроса пользователя и выполняет следующие задачи:



  • определяет и запрашивает информацию, необходимую для продолжения консультации;

  • определяет правила, которые могут выполниться;

  • оценивает относительную определённость фактов, основываясь на соответствующих коэффициентах доверия, связанными с каждым правилом.

Действия машины вывода аналогичны рассуждениям человека-эксперта, который оценивает проблему и предлагает гипотетическое решение. Машина вывода обращается к базе знаний до тех пор, пока не найдёт вероятный путь к получению приемлемого результата. Работа машины вывода с правилами вида «Если...То...» очень отличается от выполнения команд «If/Then» в компьютерных языках типа С++ или Pascal. Правила не эквивалентны строкам кода – они есть факты, которые комбинируются различными способами машиной вывода. Это делает ЭС существенно более мощными, эффективными и гибкими для поставки знаний, чем традиционные программные технологии.

Задача интерфейса пользователя состоит в организации обмена информации между пользователем и машиной вывода. Если в качестве пользователя ЭС выступает человек-оператор, то интерфейс с использованием естественного языка создает видимость произвольной беседы, применяя повседневные выражения в правильно построенных предложениях

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

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

Следует отметить следующие свойства Экспертных систем::


  • ЭС ведут поиск в заранее определенном пространстве решений;

  • ЭС должны рассуждать при сомнительных данных;

  • ЭС должна объяснить ход своих рассуждений;

  • ЭС имеет возможность постепенного наращивания БЗ по мере развития знаний о предметной области. 

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

  • задачи не могут быть заданы в числовой форме;

  • цели нельзя выразить в терминах точно определённой целевой функции;

  • не существует алгоритмического решения задачи;

  • если алгоритмическое решение есть, то его нельзя использовать из-за ограниченности ресурсов (время, память).

Существует достаточно много подходов к разработке экспертных систем - можно, например, использовать для этих целей специализированные языки типа PROLOG, LISP или CLIPS. Вообще говоря, экспертную систему можно создать с помощью любого современного языка высокого уровня. В этом случае разработка каждой экспертной системы, как правило, выливается в разработку новой программы.

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

Сейчас, когда персональные компьютеры стали общедоступными, когда повсеместно внедряется интернет и мобильная связь, у экспертных систем появляются новые, практически безграничные перспективы. Сдерживающими факторами массового внедрения экспертных  систем является то, что коммерческие средства создания экспертных систем, например Corvid или Guru,  достаточно дороги, а для того, чтобы создавать экспертные системы с помощью специализированных языков типа Clips требуется специальная подготовка.

Целью разработки настоящей разработки является создание недорогого, простого в освоении, но достаточно мощного и универсального средства для разработки ЭС. Строго говоря, «Рапана» является оболочкой для быстрой разработки экспертных систем, но далее, для краткости, будем называть её ЭС «Рапана».


Особенности и назначение ЭС «Рапана»
Родовой особенностью ЭС «Рапана» является то, что её База знаний (БЗ) основана на реляционной модели, а её реализация с помощью современных СУБД обеспечивает масштабируемость, возможность доступа к различным видам данным, в том числе мультимедийным, высокую скорость обработки информации. В одной БЗ может хранится практически неограниченное количество задач, объединенных по темам, а количество БЗ на одном компьютере ограничено только емкостью его жесткого диска. Базовая версия использует СУБД Paradox, которая может быть конвертирована в более производительные СУБД типа клиент-сервер.
Экспертная система «Рапана» может использоваться как на локальных компьютерах, так и решать проблемы в режиме он-лайн, например, для предприятий , филиалы которых расположены в разных странах. Развернутая в Сети ЭС эмулирует диалог с человеком-экспертом даже в тех областях, где есть сложная вероятностная логика со многими уровнями аргументации.
Машина вывода ЭС «Рапана» использует прямой метод вывода, то есть поиск идет не от цели, а от данных. Очередной вопрос, который ЭС задаст пользователю машина вывода выбирается из условий наибольшей информативности и наименьшей сложности. Информативность вопроса связывается с количеством правил, которые он определяет. Сложность каждого вопроса определяет автор БЗ. Например, при диагностике неисправностей какого-либо изделия, наиболее простой операцией является его внешний осмотр, более сложной – вскрытие и осмотр его изнутри и т.д. Ускорение получения заключения ЭС достигается разбиением общей задачи на подзадачи, которые определяются непересекающимися подмножествами правил всей задачи. Очередность выполнения подзадач задается при разработке БЗ, но может изменяться в процессе решения с помощью метаправил.
Для представления и обработки нечетких знаний в системе используется подход с использованием коэффициентов доверия (КД) Шортлиффа. Эта схема, реализованная в широко цитируемой ЭС MYCIN, представляет собой основанную на здравом смысле модификацию байесовского метода.

Если присвоить коэффициент доверия как посылке, так и импликации, то для получения коэффициента доверия в заключении Шортлифф предложил формулу:


 КД(посылки)*КД(импликации)=КД(заключения).
Посылкой в правиле считается все, что находится между Если и То. В ЭС «Рапана» посылки могут являться только конъюнкциями. Коэффициент доверия конъюнкции

посылок E1 и E2 оценивается по наименее надежному свидетельству: 
КД(Е1&Е2) = min {КД(Е1),КД(E2)}.
Если некоторое заключение поддерживают несколько правил, применена схема, подобная схеме вычисления суммарной вероятности нескольких независимых событий. 

Пусть имеются правила Е1→С и Е2→С, первое из которых обеспечивает поддержку заключения С с доверием КД1, а второе - с доверием КД2. Шортлифф в этом случае предложил формулу: 

КД = КД1 +КД2 - КД1*КД2 .

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


В ЭС «Рапана» допустима многозначность сущностей, т.е. в одно и тоже время одной сущности может быть присвоено несколько различных значений с соответствующими КД (сходно нечеткой логике). Когда коэффициенты доверия для всех возможных значений сущностей определены, может быть проведена нормализация коэффициентов доверия (возможность задается разработчиком БЗ).
В поставку ЭС «Рапана» входит программа для проведения консультаций конечным пользователем Эксперт-Win32. Очевидно, что интерфейс этой программы может не удовлетворить пользователя. В этом случае, по его заказу может быть быстро сделан индивидуальный интерфейс. Это обеспечивается тем, что машина вывода реализована в виде присоединяемой динамической библиотеке (DLL), которая может быть использована любыми приложениями Windows, в том числе для WWW и WAP.

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



Индивидуальное использование
В современном обществе человек для успешной жизни нуждается в большом объеме информации. Все знать и все помнить человек не может и нуждается в помощи.

ЭС «Рапана» дает возможность хранить приобретенные знания в наиболее удобном виде. Если при чтении текстовых или гипертекстовых документов пользователю нужно самому осмысливать логические связи описанных сущностей, то при работе с ЭС машина вывода, обращаясь к базе знаний, сама имитируют ход рассуждений и дает готовый результат. Поэтому, изучив на достаточном уровне некоторую проблему, исследователь может перенести свои знания в БЗ ЭС «Рапана» и, когда потребуется снова вернуться к этой проблеме, воспользоваться «разжеванной» информацией. Текст комментариев позволит легко восстановить утерянные знания, при этом ЭС будет давать объяснение, напоминая, почему были сделаны те или иные выводы.


Преимущество ЭС над человеком обеспечивается тем, что:

  • человек одновременно может осмысливать 3-5 элементарных логических понятия (чанка), а для машины таких ограничений нет;

  • человек имеет особенность забывать, через три-четыре месяца от хорошо изученного материала, если к нему повседневно не обращаться, в памяти остается не так много, а у ЭС таких проблем нет. Тем более у человека нет возможности удерживать в памяти сложные ветвящиеся алгоритмы диагностического поиска;

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

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


Во многих случаях эффективны универсальные ЭС, которые будут полезны другим пользователям. Например, Вы, единственный сисадмин в своей организации, идете в отпуск. Создайте с помощью ЭС «Рапана» базу знаний для решения наиболее частых проблем, возникающих у пользователей – на отдыхе будет спокойней.
ЭС «Рапана может, кроме прочих применений, использоваться для создания руководств, например, по инсталляции сложных программных продуктов. В этом случае ЭС будет выдавать пошаговые инструкции, при желании с мультимедийным сопровождением, и, одновременно, диагностировать готовность вашего компьютера к каждому шагу инсталляции и ошибки в Ваших действих.
Для индивидуального использования ЭС «Рапана» предназначены программа Когнитограф, о которой будет рассказано ниже, служащая для создания и отладки БЗ и программа Эксперт-Win32, обеспечивающая проведение консультаций. Ниже приведены некоторые экранные формы Эксперт-Win32.

Пользователю предоставляется возможность выбрать задачу из списка:






Выбор задачи из списка

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

В процессе диалога можно отказываться от уже сделанного ответа.



Диалог в Windows- приложении.
После получения результата, пользователь может запросить объяснения:





Объяснение результатов консультации.

Вы можете также делиться знаниями со своими коллегами или клиентами предоставляя им разработанную БЗ, с которой они могут работать через настольное Windows-приложение. Если же вы хотите сделать ваши знания доступными всем – надо поместить их в Глобальную сеть.

ЭС Рапана дает возможность реализовывать в одной базе знаний неограниченное число задач, что позволяет ставить цель создания доступной всем мегабазы знаний.


«Думающий» сайт
ЭС «Рапана» включает в себя компоненты, позволяющие проводить консультации в режиме Тонкий клиент – через обыкновенный WEB-броузер. В настоящий момент для организации этого режима требуется сервер под Windows, поддерживающий CGI и BDE, хотя нет принципиальных проблем для использования в ближайшем будущем других платформ.

Система обеспечивает высокую скорость реакции и мультимедийность. Простой вариант диалога через WEB приведен ниже.






Вариант интерфейса для диалога через WEB.
Если сервер с описанными требованиями поддерживает WAP, то нет препятствий для организации полноценных консультаций через обыкновенный мобильный телефон или родственные устройства.

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

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

Корпоративное использование
Одним из способов использования ЭС «Рапана» в бизнесе является создание корпоративного виртуального сетевого консультанта, который позволит распространять наиболее ценный актив - коллективное знание, даст помощь в принятии решений и может решить множество задач :


  • Сделать ваших служащими более способными и продуктивными;

  • Гарантировать согласованность в принятии решений;

  • Автоматизировать поддержку клиентов ответами на повторные вопросы в интерактивном режиме;

  • Индивидуализировать конфигурации продуктов по потребностям клиента;

  • Анализировать информационные потоки;

  • Сокращать издержки эксплуатации и технической поддержки

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

Создание Базы Знаний в ЭС «Рапана»
Для ускорения обучения пользователя работе с системой, способ представления знаний сделан достаточно простым, а входящая в систему программа Когнитограф, с помощью которой непосредственно создается База Знаний (БЗ), обеспечивает её визуальную отладку и тестирование. В процессе создания БЗ не требуется написание каких-либо кодов или скриптов, что делает работу с программой Когнитограф доступной для непрограммистов.

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



  • Задача, которую предполагается решить с помощью экспертной системы, должна быть вполне под силу эксперту-человеку.

  • Задача должна быть четко сформулирована.

  • Уже на первой стадии работы над задачей нужно подумать над тем, как она будет совершенствоваться.

Основные понятия, используемые в программе:

  • Сущность обозначает как физические объекты (например, "автомобиль" или "ветер"), так и общие представления (такие как "цена" или "потребление соли"). Обычно с сущностями связываются атрибуты, которые описывают их с некоторой точки зрения. В данной программе для простоты, понятие сущность объединено с понятием атрибут. При представлении факта используется пара сущность-значение.

  • Значение является числом или строковой величиной, например "северный" (ветер), "25-55" (возраст), "перегорел предохранитель" (неисправность прибора). Для каждой сущности, принимающей строковое значение, в программе определяется не пустое множество допустимых значений.

В базовой версии в процессе консультации значения либо выбираются из списка строковых значений, либо вводится численное значение.

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

Если ПРЕДПОСЫЛКА то ЗАКЛЮЧЕНИЕ

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



  • Метаправило, как и правило состоит из двух частей: предпосылки и заключения. Однако, если предпосылка, как и в правилах, выражается являются фактами, выражаемые парами сущность-значение, то заключение указывает на подзадачу, на которую следует перейти перейти. Метаправила в программе имеют формат:

Если ПРЕДПОСЫЛКА то ПЕРЕХОД НА ПОДЗАДАЧУ.

Метаправила управляют очерёдностью активизации правил и позволяют оптимизировать процесс поиска решения.



  • Коэффициент доверия (КД) выражает относительную уверенность в факте в пределах от 100 (абсолютный уровень уверенности) до 0 - самую низкую определённость. Способ оценки определённости варьируются от стандартной теории вероятности до совершенно субъективных оценок. Свойства КД не всегда подчиняются правилам теории вероятностей и, таким образом, с математической точки зрения вероятностями не являются. Но методы вычисления КД некоторой совокупности правил по КД, характеризующим отдельные компоненты в этой совокупности, в значительной степени напоминают методы вычисления вероятности сложных событий.


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

Порядок ввода данных в Программе Когнитограф следующий:



  • вводятся атрибуты темы, к которой относится данная задача, если нет нужной темы;

  • вводятся атрибуты задачи;

  • вводятся атрибуты сущностей, определяющие задачу;

  • вводятся перечни допустимых значений для каждой сущности;

  • вводятся правила;

  • вводятся метаправила.

Ниже, в качестве примера, показано редактирование перечня допустимых значений

Р
едактирование перечня допустимых значений

Ввод правил состоит из двух этапов. Сначала вводится утверждение.


В
вод утверждения.

Номер правила, соответствующего этому утверждению определится автоматически при записи в Базу данных, подзадача, к которому относится это правило, сущность и значение, которое должна принять сущность при срабатывании этого правила, выбираются из заранее определенных списков. Также требуется задать коэффициент доверия в диапазоне 0-100(в базовой версии) и, при желании, источник правила, который будет фигурировать в объяснении результата консультации


После этого вводятся поочередно условия для этого утверждения:
В
вод условия для правила.

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


В отношении формулировки правил можно посоветовать следующее:


  • Если правило выглядит большим, то так оно и есть.

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

  • Пожертвуйте производительностью, если это сделает БЗ более понятной.

Но как и при программировании задач общего назначения, следуйте золотому правилу «краткость – залог надежности». Наличие избыточности почти всегда является признаком того, что возможна какая-то упрощающая абстракция.


Редактирование БЗ можно производить не только через Главное меню, но и визуально.

Чтобы создать новую сущность необходимо нажать правую кнопку мыши на пустом месте поля сети вывода:





При нажатии на пункт всплывающего меню «Добавить сущность», вызовется панель для ввода новой сущности.

При нажатии правой кнопкой мыши на графический знак сущности, появится всплывающее меню:


позволяющее продолжить работу с сущностью и создавать определяющие её правила.


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


В режиме отладки, БЗ изображается в виде двудольного графа, делающего прозрачной работу машины вывода в процессе диалога:


Отображение текущего диалога.
На схеме прямоугольниками обозначены правила:

  • залитые красным – сработавшие;

  • залитые серым – запрещенные;

  • не залитые – непроверенные.

Кружками обозначены сущности:

  • зеленые – рецепторы, их значение из заданного списка определяет оператор;

  • синие – концепторы, их значение определяется через правила.

Если кружок залит – то сущность, по крайней мере частично, определена. Красные ребра соответствуют сработавшим правилам, серые – не сработавшим или непроверенным. Ребра пунктиром показывают условия, сплошные – заключения. Текущее значение каждой сущности и описание правил можно посмотреть, кликнув по соответствующей вершине.


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

Р
езультат прохождения теста непротиворечивости


Заключение
В этом кратком описании, конечно, не описаны все возможности ЭС «Рапана» и особенности процесса создания БЗ, для этого требуется более развернутая документация. Не были освещены возможности использования ЭС «Рапана» для обработки информационных массивов, создания на её основе компонентов, включаемых в другие приложения. Но следует остановиться на путях дальнейшего развития системы.
В настоящий момент результатом заполнении БЗ является задача. Результатом работы задачи является ответ на то, какие значения и с какой достоверностью принимает целевая сущность. Хотя нет никаких ограничений на количество сущностей и правил, определяющих задачу, пользователь, скорее всего придет к выводу, что работать с числом правил заметно большим ста не очень просто. Поэтому, для создания сложных ЭС предполагается ввести новое понятие – модуль, объединяющий несколько задач.
Сначала каждая задача автономно отлаживается, затем, с учетом эквивалентных сущностей, объединяется с другими задачами через определенную управляющую структуру.

Это позволит упростить создание больших баз знаний, а также решать задачи не только класса «Эвристическая классификация», но и класса «Конструирование».


Однако уже существующие возможности ЭС «Рапана» дают возможность рассматривать её по критерию функциональность/цена как альтернативу известных ЭС, например EXSYS Corvid.



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



Автор: Гужавин Сергей Анатольевич

esrapana.narod.ru esrapana@yandex.ru


База данных защищена авторским правом ©shkola.of.by 2016
звярнуцца да адміністрацыі

    Галоўная старонка