Понятие системы баз знаний

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

В англоязычной литературе кроме понятия Artificial Intellect используется также термин - Knowledge Based Systems (KBS) - системы, базирующиеся на знаниях (СБЗ).

Таким образом, СБЗ - система, дающая возможность использовать подходящим образом представленные знания с помощью компьютера.

Компоненты СБЗ:

Самая характерная черта СБЗ - использование базы знаний. Общепринятого определения базы знаний нет.

Структура и функции системы баз знаний

Знания в БЗ можно разделить на алгоритмические и неалгоритмические.

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

Прямое использование знаний из базы знаний для решения задач обеспечивается механизмом получения решений (inference engine - машина вывода) - процедурой поиска, планирования, решения. Механизм решения дает возможность извлекать из базы знаний ответы на вопросы, получать решения, формулируемые в терминах понятий, хранящихся в базе. Примеры запросов:

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

Для создания СБЗ могут использоваться:

  1. Традиционные языки программирования - C, Basic, Pascal, Lisp и др. Особо в этом ряду стоит выделит язык функционального программирования Lisp. Его основные свойства: данные представляются в виде списков, для получения решений используется рекурсия.
  2. Языки представления знаний (такие как Prolog) - имеют специфические средства описания знаний и встроенный механизм поиска вывода.
  3. Пустые оболочки экспертных систем - содержат реализации некоторого языка представления знаний и средства организации интерфейса пользователя. Позволяют практически полностью исключить обычное программирование при создании прикладной экспертной системы.

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

Характеристика

Птица

Самолет

RULES

Крылья

1

1

0

Хвост

1

1

0

Клюв

1

0

1

Двигатель

0

1

-1

Перья

1

0

1

Шасси

0

1

-1

Сформируем теперь правило вывода. Для этого тем характеристикам, которые присущи обоим объектам, присвоим нулевые весовые коэффициенты. Характеристикам присущим только "птице" поставим в соответствие весовой коэффициент 1, присущим только объекту "самолет" -1. Массив RULES, содержащий правило вывода представлен в крайнем правом столбце таблицы. Тогда механизм получения решений будет иметь вид:

Массив VALUES заполняется при опросе пользователя. Нетрудно убедиться, что при полном и правильном указании всех характеристик объектов механизм получения решений дает 2 для "птицы" и -2 для "самолета". При неполном указании характеристик объекта вывод о его принадлежности можно сделать на основании того, насколько близок полученный результат к одному из этих предельных значений.

Из этого примера видно, что необходимая таблица может храниться в реляционной или объектной БД и БЗ, представляют собой некий аналог обычных баз данных, но хотя и содержат информацию в виде таблиц, состоящих из записей с полями, но должны интерпретироваться СБЗ как утверждения о чем-либо, например "анальгин обладает болеутоляющим действием" или "зубная боль иногда сопровождается повышением температуры". Доступ к этой информации в СБЗ осуществляется не через команды поиска, а с помощью формулируемых на ограниченном естественном языке вопросов, например "может ли анальгин помочь при зубной боли?".

Таким образом, хотя СБЗ может быть создана на основе реляционной или объектной СУБД, более производительно создавать СБЗ с помощью специализированных средств, располагающих особым языком представления знаний (ЯПЗ). Чаще всего интеллектуальные системы (ИС) применяются для решения сложных задач, где основная сложность решения связана с использованием слабо-формализованных знаний специалистов-экспертов и где логическая (или смысловая) обработка информации превалирует над вычислительной. Например, понимание естественного языка, поддержка принятия решения в сложных ситуациях, постановка диагноза и рекомендации по методам лечения, анализ визуальной информации, управление диспетчерскими пультами и др.

Прикладные интеллектуальные системы используются в тысячах приложений. Годовой доход от продаж программных и аппаратных средств искусственного интеллекта еще в 1989 г. в США составлял 870 млн долларов, а в 1990 г. – 1,1 млрд долларов [Попов, 1996].

Однако главная проблема использования таких систем, на мой взгляд, лежит не столько в области их проектирования и разработки, а в области практического использования, т.к. за окончательное принятие решения, сгенерированного интеллектуальной системой, отвечает человек.


Источники и литература:

1-ая редакция - 26.05.99.

Последняя редакция - ноябрь 2003.

Hosted by uCoz