И.Г. Сидоркина Системы инженерии знаний Разрабатываемое информационное приложение соответствует технологии инженерии знаний, если решаемая с его помощью задача имеет следующие характеристики: 1) Задача должна решаться посредством манипуляции символами (т.е. с помощью символических рассуждений). 2) Задача должна иметь не алгоритмическую, а эвристическую природу, т.е. с помощью эвристик. Задачи, которые могут быть гарантировано, решены с помощью набора формальных процедур, не подходят для применения ЭС. 3) Задача должна быть достаточно сложной, чтобы ЭС могла ее решить (решение эксперта занимает часы, а не недели). 4) Задача должна быть достаточно узкой и практически значимой для решения ее по технологии инженерии знаний. Экспертная система (ЭС) - система, предназначенная для решения плохо формализуемых задач, для задач, у которых отсутствует алгоритм решения, для задач, алгоритм решения которых не известен; или обладает достаточно большой размерностью и используемых для работы в агрессивных средах. Система, в которой заложен опыт специалистов в заданной предметной области, представленный знаниями, которые сформулированы на естественном языке или легко взаимодействуют с естественным языком и реализованы с помощью правил. Экспертная система разрабатывается в том случае, если ее разработка, во-первых, необходима, во-вторых, оправдана и неоценима. Экспертные системы решают задачи из области NP. Основные назначения экспертных систем 1) Интерпретация – процесс определения смысла данных, результаты которого должны быть согласованными и корректными. 2) Планирование – заранее намеченный порядок, последовательность осуществления какойлибо программы, работы, проведения мероприятий. 3) Прогнозирование – обоснованное описание последовательности событий, с возможностью обнаружения новых факторов. 4) Мониторинг - непрерывное оповещение о состоянии системы, приложения или процесса. 5) Проектирование – процесс создания новой информации об объекте, системе (имеется возможность исключения профессионала из процесса проектирования). 6) Диагностика – процесс распознавания состояния на основе имеющихся факторов 7) Обучение - обучение пользователя, а так же самообучение системы, как на этапе приобретения знаний, так и в процессе работы ЭС (пополнение базы знаний (БЗ) ЭС новыми цепочками вывода). Этапы разработки ЭС 1. Приобретение знаний. Приобретение знаний для системы представления знаний осуществляется от эксперта в заданной прикладной области, когнитологом (когнитолог - инженер по знаниям). Существует следующие способы приобретения знаний: Интернет-лекция в рамках научной школы Третьей конференции молодых ученых. Скачано с http://faculty.ifmo.ru/csd 1 Коммуникативные пассивные: наблюдение за работой эксперта; "мысли вслух", лекции. Коммуникативные активные: "Мозговой штурм", круглый стол, ролевые игры, опрос эксперта, интервьюирование, диалог. Текстологические: анализ учебников, литературы, документов. 2. Представление знаний. Формализация знаний о проблемной области 1) Описание проблемной информации. 2) Выделение фактов, правил, отношений для заданной проблемной области; 3) Идентификация знаний; 4) Разработка моделей представления знаний. 5)Определение неопределенности: вычисление коэффициентов неопределенности; использование вероятностных характеристик событий; учет логической необходимости и логической достаточности события и использование формулы Байеса; применение лингвистической переменной и переменной неопределенности; и др. 6) Разработка управляющей структуры ЭС Построение цепочки логических рассуждений, интерпретация фактов предметной области; определение стратегии поиска решений. 3. Реализация Практическая разработка ЭС с использованием выбранных инструментальных средств: традиционных языков программирования, языков обработки списков и процедурных языков, языка логического программирования, с использованием пустых оболочек и сред. Объединение технологии ЭС с технологией традиционного программирования добавляет новые качества к программным продуктам за счет: обеспечения динамичной модификации приложений пользователем, а не программистом, лучшей графики, интерфейса и организации взаимодействия. Различают два вида экспертных систем: 1) статические; Оценивается информация на основе постоянных и неизменных данных в базе данных и правил в базе знаний (знания могут добавляться, но не в процессе функционирования ЭС). 2) динамические; Ориентированы на работу с постоянно меняющейся информацией в информационной базе и в базе знаний системы (компонентом базы знаний является база данных). Архитектура экспертных систем 1. Статистическая эксплуатация системы (см. Рис. 1) 1- рабочая область памяти – виртуальный блок 2- блок логического вывода - осуществляется сопоставление данных и знаний, но только тех, которые требуются в заданном промежутке времени; Интернет-лекция в рамках научной школы Третьей конференции молодых ученых. Скачано с http://faculty.ifmo.ru/csd 2 3- база знаний - правила логического вывода, не меняющиеся в заданном промежутке времени (для статических систем), представлены в установленных для системы формализмах (фреймах, семантических сетях, предикатах первого порядка). БЕЗ ДАННЫХ ЗНАНИЙ НЕ БЫВАЕТ! 4- база данных - содержит постоянные, не меняющиеся в заданном промежутке времени данные системы для активизации знаний из базы знаний; 5- блок приобретения знаний - предназначен для работы с экспертом и когнитологом при пополнении и приобретении знаний; 6- блок рекомендаций и комментариев; 7- интерфейс пользователя - для взаимодействия с пользователем, отображает состояние рабочей памяти; 8- блок проверки знаний на корректность и противоречивость. Рис. 1. Архитектура ЭС 9- автоматизированный режим работы информационного приложения; 10- интерактивный режим работы информационного приложения; 11- прикладное информационное приложение система; 2. Для динамической ЭС 12- система датчиков взаимодействия с естественной средой; 13- информационная база; Интернет-лекция в рамках научной школы Третьей конференции молодых ученых. Скачано с http://faculty.ifmo.ru/csd 3 Формализация знаний о проблемной области Описание проблемной информации начинается с представления всех объектов, классов, объединенных объектов и понятий, их определяющих. Для представления всей этой информации используется таксономия - таксономическая классификационная схема (Рис.2) . В корне таксономической схемы лежит основное понятие, описывающее проблемную область. Основное понятие таксономической схемы не должно иметь предшествующих понятий. Моделирование узла S обозначение dS dS Определение E И dE E Место работы S S процессы dS dS отношения dS dS dS dS должность E Ф О dE Рис. 2. Таксономия Таксономическая схема (таксономия) определяет совокупность узлов подсетей и элементов. Дуги таксономической схемы имеют заданные значения S/E - определяют назначение текущего узла, как «является множеством»/«состоит из элементов». dS/dE определяют назначение узла «является подмножеством»/ «является элементом». Направление стрелок к корню. Каждая ветвь таксономической схемы может представлять собой самостоятельную таксономию в зависимости от детализации области представления информации. При этом в корень нового образующего дерева выбираются участвующие в экспертизе понятия. Интернет-лекция в рамках научной школы Третьей конференции молодых ученых. Скачано с http://faculty.ifmo.ru/csd 4 Модели представления знаний Основные модели: Фреймы; семантические сети, логические модели Основные виды отношений, используемых в моделях представления знаний: 1) каузальные: а) причина и следствие (в прямой цепочке логических рассуждений); б) следствие и причина (в обратной цепочке логических рассуждений); 2) логико-арифметические: а) арифметические; б) логические; 3) теоретико-множественные: а) отношение принадлежности - это часть целого или целое части; б) классификационные вид род быть подмножеством род вид супермножество 4) характеристические (присущие всем БД): а) атрибутивные иметь свойство быть свойством б) идентифицирующие быть именем иметь имя 5) квантифицирующие: а) иметь количественное значение; б) иметь лингвистическое значение; 6) динамические: а) изменить положение; б) изменить ориентацию (на 900); 7) временные: Фреймы Фрейм - структура данных для представления стереотипной ситуации. Фрейм определяется имением и совокупностью слотов. Слоты могут иметь различные значения и могут оставаться незаполненными для конкретной ситуации. Слоты определяют объекты, классы и утверждения. Значением слота может быть имя другого фрейма. Таким образом, фрейм может определять исходные состояния, например, состояние А и переход в новое состояние В на основе исходного описания с помощью фрейма А’ в новое состояние, описываемое фреймом В’. Слоты фрейма, кроме декларативного и процедурного назначения, могут определяться принудительно следующим образом: слоты, которые приводят к выполнению действий в зависимости от полученных фреймом значений при сопоставлении, называются слотами -слугами; слоты, которые активизируются вне зависимости от значений других слотов, называются слотами-дьяволами. При использовании фреймового представления предполагается, что значения некоторых слотов фрейма заданы, а значения других слотов фрейма заполняются в соответствии с ситуацией. Использование фреймов можно сравнить с использованием процедур в традиционных языках программирования. Описание процедуры в программе представляет Интернет-лекция в рамках научной школы Третьей конференции молодых ученых. Скачано с http://faculty.ifmo.ru/csd 5 собой (соответствует) фрейм-прототип. Действие, выполняемое процедурой, соответствует понятию фрейма-реализация. Использование фреймов предполагает реализацию в информационной системе на основе объектно-ориентированного подхода, где классы объединяют в совокупности однотипных объектов. Объекты имеют свойства, характерные для данного класса. При построении иерархии классов устанавливается соответствие между классами и фреймами и характеристиками объектов со слотами. Родственные свойства объектов наследуются, то есть объект, находящийся на нижнем уровне классификации, имеет все свойства, присущие данному классу объектов. Свойства объектно-ориентированной технологии: 1) инкапсуляция - скрытие информации, то есть доступ к определенным значениям слотов осуществляется при появлении или отсутствии значений данных в слотахслугах и слотах-дьяволах; 2) полиморфизм - использование объектно-ориентированной технологии с определенно заданными методами, то есть методы доступа к информации определяются дополнительно; 3) наследование. В отличие от описания процедур в традиционных языках программирования использование фреймов осуществляется не только по имени, но и по состоянию фрейма, описывающему ситуацию. Что это дает? Мы можем получить модель состояния В’, имея только часть информации о состоянии А’. Все модели представления данных предназначены для воплощения в правилах логического вывода. Этот основное назначение модели. Модели в правилах реализуются утверждениями. Пример: Допустим, имеется фрейм А’. ОПИСАНИЕ Нахождение в токсичной зоне. Описание для жизни. ЕСЛИ<потенц-я релев-ть> Запах ядовитого вещества. ЕСЛИ<истинная релев-ть> Нахождение в зоне источника токсичности. ТО<сообщение пользов-лю> <Не дышать>/<покинуть зону>. ТО включить в агенду <действия, указанные в экспертной системе>. Частота использования фрейма В’: включение в агенту 945 использование при выводе 4 Фрейм-прототип при реализации утверждения включает понятие пространства утверждения. фрейм-реализация - это внешние ссылки пространства и настройка на конкретную ситуацию. Семантическая сеть 1. В традиционном понимании семантическая сеть - это конструкция двух основных компонентов- узлов и дуг. Интернет-лекция в рамках научной школы Третьей конференции молодых ученых. Скачано с http://faculty.ifmo.ru/csd 6 Узлы моделируют понятия предметной области, дуги - отношения между парой понятий. Пример: Петр работает (узел) Отдел (дуга) (узел) С помощью семантической сети можно промоделировать достаточно сложные отношения между различного рода понятиями, описывающими достаточно много состояний проблемной области. Пример семантической сети : является гараж имеет руководи Петр 1 т работае т Петр 2 является имеет администрация служащие имеет Таб. № не имеет возраст стоянка для машины находится адрес имеет «Петрова 5» Рис. 3. Фрагмент семантической сети Отношения между объектами в семантической сети можно установить как «все со всеми», то есть каждый узел семантической сети может иметь отношение с каждым ее узлом. 2. Семантическую сеть можно представить в виде бинарного предиката, или в виде отношения с двумя аргументами ( работает(Петр, отдел), в общем виде работает(Х,Т)). Представить эту информацию можно в списковой структуре. 3. Кроме того, описание семантической сети можно представить в виде n - аргументного отношения между понятиями. При условии, что имя отношения будет иметь одно и то же значение. При реализации семантической сети в базе данных (БД) информация описывается в виде троек: объект, атрибут, значение (то, что присуще БД). Недостатки использования семантической сети: трудно реализуется свойство наследования между понятиями; сложность в реализации временных отношений между понятиями. Семантические сети используются в основном для представления декларативной информации. Логические модели Основные компоненты данной модели 1. Обработка фактов. Факт является основной единицей модели представления знаний. Интернет-лекция в рамках научной школы Третьей конференции молодых ученых. Скачано с http://faculty.ifmo.ru/csd 7 Факт - это отношение, которое представляет объект и совокупность свойств объекта или процедур, которые определяются аргументами. Отношение - это предикат. Аргументы в предикатах задаются константами или переменными. Пример: является (Петр, Х) живет (У, Новгород, Т) где Х, У, Т - переменные, которые определяют интерпретацию факта в утверждении. Аналогом утверждения в исчислении предикатов является понятие «высказывание». Высказывание - это элементарное утверждение для использования в сложном предложении. Правила формирования предикатов: каждый предикат имеет имя; каждый предикат обязательно имеет аргументы; количество аргументов предиката не ограниченно; последовательность аргументов в задании предиката определяется последовательностью их интерпретаций в заданной проблемной области, и последовательность заранее известна программисту и не меняется на протяжении всей программы. 2. Правила Простейшим видом утверждений в модели представления знаний являются правила. В общем смысле, правила - это сложные умозаключения или высказывания, которые формируются из простых с помощью соответствующих связок &(and), Ú (or), ~(not), (импликация). Связка импликация ( ) предназначена для формирования каузального отношения. Пример: 1) работает (Петр, IBM) оператор (Петр); 2) разработал (Петр. программа) ~ работает (программист) исправить (Петр, программа, вечером) Ú передать (программа, У). 3. Сложные правила Используют для утверждения истинности на основе фактов, заданных в исходных данных или на основе интерпретации значений переменных при доказательстве. Мерой истинности переменных, используемых при доказательстве правила или сложного высказывания являются кванторы. Замечание: между кванторами не допустимо использование связок. Связки используются только между высказываниями. 4.Утверждения На языке логики предикатов утверждения могут быть представлены: 1)правилами, используемыми для доказательства; 2)правилами вывода. Интернет-лекция в рамках научной школы Третьей конференции молодых ученых. Скачано с http://faculty.ifmo.ru/csd 8 Правила вывода - это сложные предложения, которые определяют новые правила и факты. Правила вывода предназначены для задания новых стратегий с использованием новых фактов. Различия между просто правилами и правилами вывода: Основные недостатки модели исчисления предикатов. Доказательство на языке логики предикатов происходит монотонно и аддитивно, то есть рассуждения с помощью описания их предикатами не соответствует мыслительной деятельности эксперта, например, аддитивность заключается в следующем, что добавление новых фактов, предназначенных для получения новых целей или вывода С не меняется (А С А,В С ) В языке логики предикатов монотонность определяет последовательное применение всех правил. В результате чего, какое-то из правил приведет к результату. Недостатки: Имеется возможность комбинаторного взрыва; отсутствует операционное варьирование правилами, то есть, какое правило должно использоваться в данный момент не зафиксировано. Организация логического вывода в экспертных системах Блок логического вывода в архитектуре экспертной системы предполагает наличие механизма использования правил для получения решений. Механизм применения правил - это управляющая структура. Процесс интерпретации фактов из рабочей области в правилах определяет логический вывод. На практике используются две цепочки логических рассуждений или их комбинация: 1) прямое доказательство или прямая цепочка логического вывода; Пример: Если $ (А), то $ (В); Если $ (В), то $ (С);... и так далее до получения К, где К – цель (решение). 2) обратная цепочка логического рассуждения ; Пример: Требуется подтвердить факт D. $ (D), если $ (С) $ (С), если $ (В) $ (В), если $ (А) Интернет-лекция в рамках научной школы Третьей конференции молодых ученых. Скачано с http://faculty.ifmo.ru/csd 9 Стратегии поиска решений Стратегия поиска решений задается цепочкой логического вывода и управляющей структурой. Организация логического вывода в экспертной системе, опираясь на управляющую структуру, используют соответствующий механизм вывода. Механизм вывода в экспертной системе называют интерпретатором. Работа интерпретатора осуществляется на основе данных, описывающих ситуацию, и знаний в виде правил, которые предполагают при объединении получение решения. Используются правила для систем, основанных на правилах, модули для систем, основанных на сопоставлении с образцом. Этап выполнения интерпретации заключается в выполнении следующих действий: выборка, сопоставление, разрешение конфликтов, выполнение. Выборка осуществляется двумя фазами: 1) синтаксическая фаза выборки; 2) семантическая фаза выборки. Результат выборки - совокупность активных правил из базы знаний. Синтаксическая выборка - это грубое определение правила по состоянию рабочей области памяти и переход к семантической выборке, то есть к конкретизации правил. Семантическая выборка определяет соответствие выбранных правил, текущей цели или подцели для заданной предметной области. Отобранные правила переходят на стадию сопоставления, результатом которой является конфликтная совокупность правил. На этапе сопоставления выполняется означивание выбранных правил текущими данными. Получили совокупность конфликтных данных, которые означены данными и готовы к выполнению. Разрешение конфликтов - это этап интерпретации, которые в зависимости от принятой стратегии используемого метода или цепочки логического вывода(прямой/обратной) формирует агенду - список активных правил. После выбора агенды начинаем ее выполнять. Выполнение предполагает реализацию правил из последовательности правил или модуля при сопоставлении с образцом. Результатом выполнения является изменение состояния рабочей области, выполнения операций ввода/вывода, изменение состояния рабочей области памяти системы (рис.4). Рабочая область выборка 1.синтатич. 2.семантич => совокупность правил из Б.З. сопоставление Конфликтная совокупность правил Разрешение конфликтов агенда Выполнение Правила (последовательности правил) модули Рис.4 Интернет-лекция в рамках научной школы Третьей конференции молодых ученых. Скачано с http://faculty.ifmo.ru/csd 10 Память системы содержит сведения о всех сеансах интерпретации при поиске решения. Данная последовательность шагов (рис.4) может быть реализована в экспертных системах, реализованных в двух архитектурах: первая архитектура основана на управлении правилами; в ней рабочая область - это рабочая область(текущее состояние памяти), источник знаний - данные, агенда совокупность конфликтующих в текущей ситуации правил, правила- все активные правила; вторая архитектура: правила- модули, источник знаний - классная доска, агенда список конфликтующих правил, политические правила- правила для выполнения. В системах с архитектурой второго состояния рабочей области памяти сравнивается: 1) с данными, представленными на классной доске( в базе данных или информационной базе); 2) с сопоставленными образцами, представленными также в базе данных. В архитектуре второго состояния кроме правил, которые определяют принятие решений, используются общие правила (метаправила), которые позволяют увеличить эффективность функционирования системы в десятки раз. Если в первой архитектуре сформулированные правила могут быть прочитаны экспертом, даже не являющимся программистом, то во второй архитектуре метаправила могут быть прочитаны и использованы только программистом. Метаправила - это правила работы с правилами. Выбранный механизм обработки и структура метаправил являются наиболее общими и позволяют охватить при обработке больший объем данных, а последовательное применение частных правил в первой архитектуре может привести к росту базы знаний и из-за путаницы в частных правилах увеличивается база знаний, что приведет к неадекватным решениям. В традиционных языках программирования при вызове модуля или процедуры используется имя процедуры. При разработке экспертных систем выбор модуля (образца или правила) осуществляется на основе текущих правил. Классификация стратегий принятия решений при поиске в экспертной системе. 1. Локальная и глобальная классификации; локальная стратегия используется для частных правил, глобальная стратегия - для общих правил; 2. Скрытая и открытая; открытая стратегия позволяет вмешиваться в процесс поиска принятия решения, стратегия закрытая является жестко заданной для предметной области; 3. По форме принятия решения(рис.5): стратегия поиска принятия решения вглубь и поиска принятия решения вширь: Интернет-лекция в рамках научной школы Третьей конференции молодых ученых. Скачано с http://faculty.ifmo.ru/csd 11 Вглубь Вширь - факт Рис. 5 Классические стратегии Инструментальные средства разработки ЭС Классификация оболочек разработки ЭС [Э.В. Попов]. Тип 1. Статическая оболочка, то есть, предназначена для решения статических задач. Используемая технология - поверхностная; типы использования правил - только общие; поиск решения от цели к данным; для принятия решений используется индуктивный подход на основе текущих данных; решаемые задачи - только задачи анализа. Пример: 1-st Clas Элис Решения получаются на основе правил, заданных по имеющемся в системе шаблону. Тип 2. Статические оболочки, предназначенные для решения задач анализа и синтеза с разделением времени. Используемые технологии - поверхностная, глубинная, структурный подход; поиск решений - на основе правил, представленных в среде оболочки. Для работы с правилами используются функции; поиск решений - от цели к данным, а так же от данных к цели; поиск решений вглубь и вширь, выборочная, оценка лучших решений и др. Пример: KAPPA; Clips Nexpert; ADC; Тип 3. Оболочки для проектирования динамических систем. Используемая технология - поверхностный подход. Отсутствие системы моделирования; принятие решения - на основе правил общего вида. Возможность использования для статических задач. Интернет-лекция в рамках научной школы Третьей конференции молодых ученых. Скачано с http://faculty.ifmo.ru/csd 12 Пример: Frame work, NExpert. Тип 4. Оболочки для разработки динамических систем. Решение задач анализа и синтеза в реальном времени; тип технологии - смешанный; используемые правила общего и частного вида; наличие системы моделирования, приближенной к имитационному моделированию. Наличие планировщика решений, который повышает эффективность работы системы за счет совокупности имеющихся на текущий момент известных решений. Много включающих инструментальных средств. Пример: G2; Rethink (на основе G2); RkWorks; Традиционные языки программирования высокого уровня Язык обработки списков LISP. Работа формализма ориентирована на обработку функций. Управляющая структура языка LISP находит среди аргументов списка описание состояния объекта или ситуации и выполняет процедуру, включенную в этот список. Если процедура содержит список, то он сопоставляется с текущей ситуацией. Управляющая структура языка LISP ориентирована на сопоставление с образцом, а модель на исчисление предикатов. Управляющая структура - это механизм приложения правил в заданной модели с целью получения решений. Язык логического программирования PROLOG. Prolog реализует управляющую структуру в виде обратной цепочки логического вывода, то есть доказательство от противного. Этим частично исключается монотонность. Язык FORLOG. Глоссарий ЭС – класс информационных систем, ориентированный на тиражирование опыта высококвалифицированных специалистов [Т.А. Гаврилова] БЗ – совокупность структур данных (объекты, их классы, отношения, параметры, списки, массивы, рабочие пространства) и исполняемых утверждений (правила, процедуры, функции). Эвристика – неформализованная процедура, сокращающая количество шагов поиска решений Когнитолог- инженер по знаниям Неопределенность –информационная энтропия (физическая неопределенность, лингвистическая неопределенность, семантическая, синтаксическая, смысл слов, фраз и т.д) Таксономия- структура взаимосвязанных понятий проблемной области. Факт – это отношение, которое представляет объект и совокупность свойств объекта или процедур, которые определяются аргументами Правила вывода – это сложные предложения, которые определяют новые правила и факты. Правила вывода предназначены для задания новых стратегий с использованием новых фактов Интернет-лекция в рамках научной школы Третьей конференции молодых ученых. Скачано с http://faculty.ifmo.ru/csd 13 Агенда – упорядоченный список правил, готовый к выполнению Управляющая структура механизм приложения правил Метаправила – правила работы с правилами, используются для обнаружения ошибок в предметных правилах, настраивают предметных правил и функций Структурный подход – часть задачи решается с помощью поиска. Целесообразно сочетать с поверхностной и (или) глубинной технологиями. Поверхностная технология – заключается в приобретении от эксперта фрагментов знаний в виде эвристик. При этом не предполагается глубинного изучения проблемной области. Глубинная технология –технология, позволяющая реализовать моделирующие возможности. Утверждения – знания, задающие процедуры обработки Библиографический список Т.А. Гаврилова, В.Ф. Хорошевский Базы знаний интеллектуальных систем. Санкт-Петербург,-Питер.- 2001 г. Э.В. Попов, И.Б. Фоминых, Е.Б. Кисель, М.Д. Шапот Статические и динамические экспертные системы.- Москва, Финансы и статистика.- 1996 г. А.И. Башмаков, И.А.Башмаков Интеллектуальные информационные технологии. – М.:МГТУ им. Н.Э. Баумана.2005 г. Интернет-лекция в рамках научной школы Третьей конференции молодых ученых. Скачано с http://faculty.ifmo.ru/csd 14