Интеллектуальные технологии в информационных системах
Современным информационным системам приходится решать сложные задачи, которые часто не могут быть описаны строго формализованным языком. В этом случае на помощь приходят технологии, базирующиеся на искусственном интеллекте.
Одним из направлений искусственного интеллекта является работа систем, основанных на знаниях. Знания – это выявленные закономерности предметной области (в которой работает информационная система), позволяющие решать возникающие задачи.
Знания связаны с данными, основываются на них, но представляют результат мыслительной деятельности человека, обобщают его опыт, полученный в ходе выполнения какой-либо практической деятельности. Аналогично тому, что данные хранятся в базе данных, знания хранятся в базе знаний.
Главная особенность баз знаний и программ их обрабатывающих заключается в том, что они способны не только выдавать на запросы пользователей сообщения, хранящиеся в памяти ЭВМ, но и формировать ответы на основе логических выводов, не хранящиеся в ЭВМ в явном виде.
База знаний ЭИС содержит следующие элементы:
· сведения, которые отражают имеющиеся в мире закономерности и позволяют выводить новые факты (знания);
· сведения о структуре ЭИС и БД (метаинформация);
· сведения, обеспечивающие преобразование входных запросов во внутренний язык.
Знания могут быть квалифицированны по следующим категориям:
· поверхностные – это знания о видимых взаимосвязях между отдельными событиями и фактами в предметной области;
· глубинные – это абстракции, аналогии, схемы, отображающие структуру и процессы в предметной области.
Современные экспертные системы работают с поверхностными знаниями. С глубинными знаниями в настоящее время экспертные системы работать не могут, так как на данный момент не разработаны модели их описывающие.
Также знания можно разделить на процедурные и декларативные. Процедурные знания – это знания, основанные на алгоритмах, которые обрабатывают данные. Для изменения таких знаний необходимо изменять программы, которые работают по заданным алгоритмам.
Декларативные знания сосредоточены в структурах данных, таких как таблицы, списки, абстрактные типы данных. Декларативными знаниями считаются предложения, записанные на специальных языках представления знания, приближенных к естественному языку общения человека. Такие языки называют также моделями знаний.
Существуют следующие модели представления знания, которые используются в информационных системах:
· продукционные;
· семантические сети:
· фреймы.
Продукционная модель знаний состоит из трех основных компонентов:
· рабочая память, в которой хранятся исходные факты и результаты выводов, полученных из этих фактов;
· набор правил, представляющих собой базу знаний;
· механизм логического вывода, формулирующий новые факты.
Работа данной модели будет выглядеть следующим образом. Например, в рабочей памяти хранятся следующие исходные факты:
1. Доля выборка записей при запросах в работающей БД составляет 9%.
2. Используемая при работе ЭВМ – IMB PC AT.
Имеется следующий набор правил:
1. Если используется метод доступа индексный, то используемая СУБД – Access.
2. Если используется метод доступа последовательный, то используемая СУБД – FoxPro.
3. Если доля выборки записей при запросах составляет менее 10%, то метод доступа индексный.
Следует определить, какая СУБД используется, и какой метод доступа применяется. Ответ получается путем обработки правил и фактов механизмом вывода. Механизм вывода сопоставляет факты из условия каждого правила с фактами, хранящимися в рабочей памяти. В данном случае первым буде сопоставлено условие правила 3 с фактами из рабочей памяти. В результате будет сформулирован новый факт – «Используется индексный метод доступа».
Затем будет сопоставлено условие правила 1 с фактами из рабочей памяти. В результате будет сформулирован новый факт – «Используемая СУБД при работе – Access».
Условие правила 2 с фактами из рабочей памяти не сопоставляется. В результате мы получили два новых факта. Эти факты можно включить в рабочую память, в результате чего объем знаний у модели увеличится, и она сможет отвечать на новые вопросы и решать новые задачи.
В основе модели фреймов лежит фиксация знаний путем сопоставления новых фактов с рамками, определенными для каждого объекта в сознании человека. Структура в памяти ЭВМ, представляющая эти рамки, называется фреймом.
Фрейм представляет собой таблицу, структура и принципы организации которой являются аналогичными отношениям, которые используются в реляционных моделях данных. Различие заключается в следующем:
· имя атрибута может в ряде случаев занимать в фрейме позицию значения;
· значением атрибута может служить имя другого фрейма или имя программно реализованной процедуры.
Структура фрейма состоит из слотов. Слот фрейма – это элемент данных, предназначенный для фиксации знаний об объекте, которому отведен данный фрейм. Каждый слот имеет следующие параметры:
· уникальное имя слота;
· указатель наследования, который показывает какую информацию об атрибутах слотов во фрейме верхнего уровня наследуют слоты с теми же именами во фрейме нижнего уровня;
· указатель типа данных.
Фреймовые системы имеют следующие преимущества по сравнению с продукционной моделью представления знаний:
· знания основаны на базе объектов;
· допускается комбинация представления декларативных (как устроен объект) и процедурных (как взаимодействует объект) знаний;
· иерархия фреймов соответствует классификации понятий, которая привычна для восприятия человеком;
· система фреймов легко расширяется и модифицируется.
Модель семантических сетей для представления знаний представляет собой единую совокупность базы знаний и механизма вывода новых фактов. На основании вопроса к базе знаний строится семантическая сеть, отображающая структуру вопроса. Ответ получается в результате сопоставления общей сети для базы знаний в целом и сети для вопроса.
Например, дана семантическая сеть (точнее часть сети), отображающая деятельность коммерческой фирмы (рис. 19)
Рис. 19. Пример семантической сети
Для вопроса «Кто руководит человеком, который развозит товар в магазин «Вектор» и как его зовут?» будет построена следующая сеть, отображающая структуру вопроса:
Рис. 20. Пример сети для запроса
Данная сеть будет сопоставлена с общей сетью, и в ходе сопоставления будут даны ответы.
Модель семантических сетей логически понятна для проектировщика ЭИС. Однако ее главный недостаток заключается в том, что при увеличении размеров сети увеличивается время вывода новых фактов с помощью механизма сопоставления.