- •Введение
- •1. Основные направления исследований в области искусственного интеллекта
- •Контрольные вопросы и задания
- •2. Классификация интеллектуальных информационных систем
- •2.1. Системы с интеллектуальным интерфейсом
- •2.2. Экспертные системы
- •2.3. Самообучающиеся системы
- •2.4. Адаптивные информационные системы
- •Контрольные вопросы
- •3. Представление данных и знаний
- •3.1. Данные
- •3.2. Знания
- •Контрольные вопросы
- •4. Классические способы представления знаний в интеллектуальных системах
- •4.1. Логическая модель представления знаний
- •4.2. Представление знаний правилами продукций
- •4.3. Объектно-ориентированное представление знаний фреймами
- •4.4. Семантические сети
- •Контрольные вопросы
- •5. Способы обработки знаний
- •5.1. Методы поиска решений на основе исчисления предикатов
- •5.2. Прямой и обратный вывод в экспертных системах продукционного типа
- •5.3. Обработка знаний в интеллектуальных системах с фреймовым представлением
- •Контрольные вопросы
- •6. Методы приобретения знаний
- •6.1. Проблемы структурирования знаний
- •Контрольные вопросы
- •7. Методы принятия решений на основе нечетких знаний
- •7. 1. Элементы теории нечетких множеств
- •7.2. Нечеткие операции, отношения и свойства отношений
- •7.3. Многокритериальный выбор альтернатив с использованием правила нечеткого вывода
- •7.4. Ранжирование альтернатив на множестве лингвистических векторных оценок
- •7.5. Метод нечеткого логического вывода в задаче выбора фирмой кандидата на замещение вакантной должности бухгалтера
- •Контрольные вопросы и задания
- •8. Технологии разработки экспертных систем
- •8.1. Технология проектирования и разработки экспертных систем
- •8.2. Этапы проектирования баз знаний
- •8.3. Методы проектирования баз знаний
- •8.4. Характеристика инструментальных средств
- •Контрольные вопросы и задания
- •9. Технологические процессы объектно-ориентированного программирования в проектировании интеллектуальной системы поддержки управления
- •Заключение
- •Библиографический список
- •Оглавление
8.3. Методы проектирования баз знаний
В настоящее время основным «узким местом» при проектировании баз знаний экспертных систем является приобретение необходимых знаний для экспертной системы. Знания о ПО можно взять из разных источников (научные отчеты, монографии, статьи, базы данных, опытные данные и т. п., а также личный опыт эксперта-профессионала). Работа по сбору и обработке знаний выполняется специалистом — инженером по знаниям. Обычно большую часть профессиональных знаний инженер по знаниям получает в результате взаимодействия с экспертом. К настоящему времени уже сформировался ряд методов проектирования баз знаний, ориентированных на получение информации от экспертов. Рассмотрим их.
Беседы с экспертом. В данной группе методов различают наблюдательный и интуитивный подходы.
При наблюдательном подходе следят за работой эксперта, стараясь не сделать ничего, что могло бы повлиять на работу эксперта при решении задачи. За наблюдением следует этап уточнения. На этапе уточнения инженер по знаниям совместно с экспертом анализируют запись сеанса работы эксперта, выполненную наблюдателем. Такой подход еще называют «анализом протоколов».
При интуитивном подходе эксперт выступает как разработчик модели своего поведения при решении задач. Второй вариант — инженер по знаниям изучает литературу и другие источники информации, разрабатывает представление знаний о ПО и затем проверяет их достоверность с экспертами.
Инженер по знаниям использует обычно оба эти подхода, сочетая их методом интервью — беседы с экспертами.
Обсуждение задач. Инженер по знаниям подготавливает некоторый набор задач и затем в свободной обстановке обсуждает их с экспертом, стараясь определить, как организованы знания эксперта об этих задачах, какими понятиями и гипотезами по ПО он руководствуется в своей работе, как работает с неполными, неточными либо противоречивыми данными по той или иной задаче.
Описание задачи. Эксперт подготавливает описание типичных задач по ПО. Это метод очень хорошо работает на задачах диагностического типа.
Анализ задач. Инженер по знаниям подготавливает несколько задач, близких к реальным, и просит эксперта решить их цель — выявить стратегию, которой пользуется эксперт при решении задачи. При этом используются рассуждения вслух, работающие стремятся выделить как можно больше промежуточных шагов решения, проанализировать их, преследуя основную цель.
Оценивание системы. Эксперт анализирует и критически оценивает правила, введенные в базу знаний экспертной системы. Анализирует стратегии выбора правил системой при решении задач, рассматривает обоснованность их применения, постоянно сравнивая их со своими методами решения задач.
Проверка системы. Инженер по знаниям представляет задачи и результаты их решения, выполненные как экспертом, так и прототипом создаваемой системы, другим экспертам. Цель - выявление элементов, вызывающих разногласия.
Кроме названных существует еще целый ряд практических методов, используемых при проектировании базы знаний на данном этапе.
Полученные от эксперта и из других источников знания необходимо зафиксировать в виде концептуальной базы знаний первого варианта системы. Для этого выполняется следующая спецификация выявленных знаний:
1. Цели и задачи разрабатываемой экспертной системы.
2. По каждой задаче специфицировать входные данные и что требуется получить в результате решения, стратегии решения, гипотезы, которые используются в процессе решения.
Специфицировать объекты (события) ПО, отношения и атрибуты.
Специфицировать причинно-следственные, родовидовые отношения, отношения типа «часть — целое».
По каждой задаче классифицировать знания на необходимые для получения решения и необходимые для обоснования полученного решения.
Отметим, что процесс концептуализации знаний — итерационный процесс.
Далее выполняется процесс формализации концептуальных знаний, в результате которого получают формальное описание базы знаний. С этой целью инженер по знаниям, консультируясь с экспертами, выбирает модель представления знаний, соответствующую рассматриваемой проблеме, и оболочку экспертной системы, поддерживающую эту модель. На входном языке системы выполняется описание концептуальных знаний.
Однако полученная на этом этапе база знаний не гарантирует работоспособность системы (первый вариант является макетом будущей системы), поскольку обязательно будут иметь место различные несоответствия: между какими-либо правилами и стратегией управления процессом получения решения, между структурами данных. Эти противоречия и несоответствия должны быть устранены.
На стадии отладки и тестирования полученного прототипа будущей системы выполняется проверка его работоспособности на разнородных примерах. Оценить работу экспертной системы трудно по той причине, что в подавляющем большинстве случаев не существует формального способа доказательства полученного системой решения. Кроме того, зачастую пользователю требуются не самые точные решения, а наиболее полезные с его точки зрения. Поэтому при проектировании системы необходимо учитывать интересы будущих пользователей и включать их как экспертов в процессе проектирования системы. Далее, с ростом объема базы знаний (когда число правил достигает нескольких сотен) добавление новых правил или исправление существующих зачастую приводит к появлению новых ошибок, количество которых сравнимо с устраняемыми ошибками. Отладка и тестирование выполняются с использованием контрольного набора задач, который желательно прогонять после каждого вносимого важного изменения в базе знаний ив стратегии управления процессом решения задач. Помимо отладки на контрольном наборе задач используется прием регистрации при функционировании системы тех правил, которые приводят к конкретным заключениям. Затем выполняется анализ результатов регистрации. Неиспользуемые правила указывают либо на неверные предпосылки в правилах, либо на ошибки в используемых стратегиях управления процессом решения задач.
В процессе проектирования и создания экспертной системы в нее постоянно вносятся различные изменения с целью ее отладки и усовершенствования. Это итерационный процесс, в результате которого и должна быть получена промышленная версия экспертной системы.
Если окажется, что многократные внесения изменений и усовершенствований не приводят к улучшению работы экспертной системы, то это служит сигналом о необходимости пересмотра структуры и состава знаний в базе, стратегий управления процессом решения задач.