Интеллектуальные технологии в информационных системах
Современным информационным системам приходится решать сложные задачи, которые часто не могут быть описаны строго формализованным языком. В этом случае на помощь приходят технологии, базирующиеся на искусственном интеллекте.
Одним из направлений искусственного интеллекта является работа систем, основанных на знаниях. Знания – это выявленные закономерности предметной области (в которой работает информационная система), позволяющие решать возникающие задачи.
Знания связаны с данными, основываются на них, но представляют результат мыслительной деятельности человека, обобщают его опыт, полученный в ходе выполнения какой-либо практической деятельности. Аналогично тому, что данные хранятся в базе данных, знания хранятся в базе знаний.
Главная особенность баз знаний и программ их обрабатывающих заключается в том, что они способны не только выдавать на запросы пользователей сообщения, хранящиеся в памяти ЭВМ, но и формировать ответы на основе логических выводов, не хранящиеся в ЭВМ в явном виде.
База знаний ЭИС содержит следующие элементы:
· сведения, которые отражают имеющиеся в мире закономерности и позволяют выводить новые факты (знания);
· сведения о структуре ЭИС и БД (метаинформация);
· сведения, обеспечивающие преобразование входных запросов во внутренний язык.
Знания могут быть квалифицированны по следующим категориям:
· поверхностные – это знания о видимых взаимосвязях между отдельными событиями и фактами в предметной области;
· глубинные – это абстракции, аналогии, схемы, отображающие структуру и процессы в предметной области.
Современные экспертные системы работают с поверхностными знаниями. С глубинными знаниями в настоящее время экспертные системы работать не могут, так как на данный момент не разработаны модели их описывающие.
Также знания можно разделить на процедурные и декларативные. Процедурные знания – это знания, основанные на алгоритмах, которые обрабатывают данные. Для изменения таких знаний необходимо изменять программы, которые работают по заданным алгоритмам.
Декларативные знания сосредоточены в структурах данных, таких как таблицы, списки, абстрактные типы данных. Декларативными знаниями считаются предложения, записанные на специальных языках представления знания, приближенных к естественному языку общения человека. Такие языки называют также моделями знаний.
Существуют следующие модели представления знания, которые используются в информационных системах:
· продукционные;
· семантические сети:
· фреймы.
Продукционная модель знаний состоит из трех основных компонентов:
· рабочая память, в которой хранятся исходные факты и результаты выводов, полученных из этих фактов;
· набор правил, представляющих собой базу знаний;
· механизм логического вывода, формулирующий новые факты.
Работа данной модели будет выглядеть следующим образом. Например, в рабочей памяти хранятся следующие исходные факты:
1. Доля выборка записей при запросах в работающей БД составляет 9%.
2. Используемая при работе ЭВМ – IMB PC AT.
Имеется следующий набор правил:
1. Если используется метод доступа индексный, то используемая СУБД – Access.
2. Если используется метод доступа последовательный, то используемая СУБД – FoxPro.
3. Если доля выборки записей при запросах составляет менее 10%, то метод доступа индексный.
Следует определить, какая СУБД используется, и какой метод доступа применяется. Ответ получается путем обработки правил и фактов механизмом вывода. Механизм вывода сопоставляет факты из условия каждого правила с фактами, хранящимися в рабочей памяти. В данном случае первым буде сопоставлено условие правила 3 с фактами из рабочей памяти. В результате будет сформулирован новый факт – «Используется индексный метод доступа».
Затем будет сопоставлено условие правила 1 с фактами из рабочей памяти. В результате будет сформулирован новый факт – «Используемая СУБД при работе – Access».
Условие правила 2 с фактами из рабочей памяти не сопоставляется. В результате мы получили два новых факта. Эти факты можно включить в рабочую память, в результате чего объем знаний у модели увеличится, и она сможет отвечать на новые вопросы и решать новые задачи.
В основе модели фреймов лежит фиксация знаний путем сопоставления новых фактов с рамками, определенными для каждого объекта в сознании человека. Структура в памяти ЭВМ, представляющая эти рамки, называется фреймом.
Фрейм представляет собой таблицу, структура и принципы организации которой являются аналогичными отношениям, которые используются в реляционных моделях данных. Различие заключается в следующем:
· имя атрибута может в ряде случаев занимать в фрейме позицию значения;
· значением атрибута может служить имя другого фрейма или имя программно реализованной процедуры.
Структура фрейма состоит из слотов. Слот фрейма – это элемент данных, предназначенный для фиксации знаний об объекте, которому отведен данный фрейм. Каждый слот имеет следующие параметры:
· уникальное имя слота;
· указатель наследования, который показывает какую информацию об атрибутах слотов во фрейме верхнего уровня наследуют слоты с теми же именами во фрейме нижнего уровня;
· указатель типа данных.
Фреймовые системы имеют следующие преимущества по сравнению с продукционной моделью представления знаний:
· знания основаны на базе объектов;
· допускается комбинация представления декларативных (как устроен объект) и процедурных (как взаимодействует объект) знаний;
· иерархия фреймов соответствует классификации понятий, которая привычна для восприятия человеком;
· система фреймов легко расширяется и модифицируется.
Модель семантических сетей для представления знаний представляет собой единую совокупность базы знаний и механизма вывода новых фактов. На основании вопроса к базе знаний строится семантическая сеть, отображающая структуру вопроса. Ответ получается в результате сопоставления общей сети для базы знаний в целом и сети для вопроса.
Например, дана семантическая сеть (точнее часть сети), отображающая деятельность коммерческой фирмы (рис. 19)
Рис. 19. Пример семантической сети
Для вопроса «Кто руководит человеком, который развозит товар в магазин «Вектор» и как его зовут?» будет построена следующая сеть, отображающая структуру вопроса:
Рис. 20. Пример сети для запроса
Данная сеть будет сопоставлена с общей сетью, и в ходе сопоставления будут даны ответы.
Модель семантических сетей логически понятна для проектировщика ЭИС. Однако ее главный недостаток заключается в том, что при увеличении размеров сети увеличивается время вывода новых фактов с помощью механизма сопоставления.
Экспертные системы
Современные экспертные системы (ЭС) широко используются для тиражирования опыта и знаний ведущих специалистов практически во всех сферах экономики. Это связано с тем, что экономика представляет собой сферу человеческой деятельности, в которой большая часть знаний является личным опытом специалистов (экспертов). А именно для таких областей и разрабатываются ЭС.
Экспертные системы (ЭС) — это класс интеллектуальных программных систем, способных решать задачи, для которых отсутствуют алгоритмы или же недоступна вся информация, необходимая, чтобы применить известные алгоритмы и методы решения.
Для работы экспертных систем необходим большой объем знаний. Совокупность знаний (надо чётко различать знаний и данные), обязательных и достаточных для работы ЭС при решении задач какого-либо класса, называется предметной областью. Знания одной предметной области связанные между собой; это могут быть описания различных объектов, процессов, явлений, а также отношений между ними.
Базы знаний отличаются от баз данных наличием встроенных механизмов логического вывода. Благодаря этому знания во время работы ЭС ведут себя активно: изменение тех или иных знаний может вызвать обращение к программам их обработки. Встроенные процедуры позволяют не только делать иными имеющиеся знания, но и получать из них новые. Таким образом, база знаний пополняется как знаниями, полученными от экспертов, так и знаниями, вырабатываемыми самой экспертной системой в процессе работы.
Очень важно, что в ЭС реализуются не одни механизмы логического вывода, опирающиеся на классическую логику (дедуктивные). В них используются и так называемые правдоподобные рассуждения(нечёткий вывод, основанный на нечёткой логике), и элементы рассуждений по аналогии и по ассоциации, которые человек обычно применяет при решении задач в условиях неопределённости.
В состав любой экспертной системы входят:
1) Инженер по знаниям – специалист по искусственному интеллекту, выступающий промежуточным звеном между экспертом и базой знаний.
2) База знаний – ядро ЭС, представляет собой совокупность знаний предметной области, записанная на машинный носитель.
3) Интерфейс ЭС – комплекс программных средств, реализующих диалог пользователя с ЭС.
4) Решатель – программа, моделирующая ход рассуждений эксперта на основании имеющихся знаний в БЗ.
5) Подсистема объяснений – программа, поясняющая полученный результат. Данная подсистема позволяет получать ответы на такие вопросы как: «Почему система приняло данное решение?», «Как было получено данное решение?».
6) Интеллектуальный редактор – программа, позволяющая инженеру по знаниям создавать и редактировать БЗ.
7) Пользователь, использующий ЭС в своей профессиональной деятельности.
Экспертные системы разделяются на следующие виды:
1. ЭС интерпретации данных, которые позволяют вникнуть и понять смысл имеющихся данных.
2. ЭС диагностики, которые позволяют обнаружить неисправности в некоторой системе.
3. ЭС мониторинга, задачей которых является непрерывная интерпретация данных в реальном масштабе времени и сигнализация об отклонение параметров за допустимые значения.
4. ЭС проектирования – позволяют создавать проекты объектов и моделей с заранее определенными свойствами.
5. ЭС прогнозирования, – позволяют составить прогноз возможных ситуаций с вероятностными оценками.
6. ЭС планирования – позволяют разработать план достижения требуемой цели.
7. ЭС обучения – позволяют настраивать на уровень любового обучающегося.
Для разработки ЭС используются следующие инструментальные средства, рассмотренные ниже.
Языки программирования. В эту группу инструментальных средств входят традиционные языки программирования (С, C++, Basic, Fortran и т.д.), ориентированные в основном на численные алгоритмы и слабо подходящие для работы с символьными и логическими данными. Поэтому создание систем искусственного интеллекта на основе этих языков требует большой работы программистов. Однако большим достоинством этих языков является высокая эффективность, связанная с их близостью к традиционной машинной архитектуре. Кроме того, использование традиционных языков программирования позволяет включать интеллектуальные подсистемы (например, интегрированные экспертные системы) в крупные программные комплексы общего назначения.
Языки искусственного интеллекта. Это прежде всего Лисп (LISP) и Пролог (Prolog) — наиболее распространенные языки, предназначенные для решения задач искусственного интеллекта. Универсальность этих языков меньшая, нежели традиционных языков, но ее потерю языки искусственного интеллекта компенсируют богатыми возможностями по работе с символьными и логическими данными.
Специальный программный инструментарий. В эту группу программных средств искусственного интеллекта входят специальные инструментарии общего назначения. Как правило, это библиотеки и надстройки над языком искусственного интеллекта Лисп: КЕЕ (Knowledge Engineering Environment), FRL (Frame Representation Language), KRL (Knowledge Representation Language), ARTS и др., позволяющие пользователям работать с заготовками экспертных систем на более высоком уровне, нежели это возможно в обычных языках искусственного интеллекта.
Оболочки. Под оболочками (shells) понимают "пустые" версии существующих экспертных систем, т.е. готовые экспертные системы без базы знаний. Достоинство оболочек в том, что они вообще не требуют работы программистов для создания готовой экспертной системы. Требуется только специалисты в предметной области для заполнения базы знаний.
Дата добавления: 2015-11-18; просмотров: 2278;