А. В. Гаврилов
Скачать 0.52 Mb.
|
3.3. Основные понятия о методах приобретения знаний "Многие вещи нам не понятны, не потому, что наши понятия слабы, но потому, что сии вещи не входят в круг наших понятий". Козьма Прутков "... человек (или животное) воспринимает окружающую среду в той мере, в какой он может взаимодействовать с этой средой". Я. Сентоготаи, М.Арбиб "Концептуальные модели нервной системы" Основной проблемой при разработке современных экспертных систем яв- ляется проблема приобретения знаний, т.е. преобразование разного вида ин- формации (данных) из внешнего представления в представление в виде знаний, пригодное для решения задач, для которых создается экспертная система. Эту проблему часто называют проблемой извлечения знаний из данных (в более общем виде, из внешнего мира), которая сводится к задаче обучения интеллек- туальной системы. Примерами задач извлечения знаний являются: 1) выявление причинно-следственных связей между атрибутами реляци- онной базы данных и формирование их в виде правил в продукционной экс- пертной системе; 2) формирование программы (или правил) решения задачи (например, планирования производственного процесса или поведение робота) на основе примеров удачного планирования, вводимых в компьютер; 3) выявление информативных признаков для классификации объектов, существенных с точки зрения решаемой задачи. Обучающиеся системы можно классифицировать по двум признакам: уро- вень, на котором происходит обучение и применяемый метод обучения. По первому признаку различают обучение на символьном уровне (SLL – symbol 45 level learning), при котором происходит улучшение представления знаний на основе опыта, полученного при решении задач, и обучение на уровне знаний (KLL – knowledge level learning), при котором происходит формирование но- вых знаний из существующих знаний и данных. На символьном уровне обучение сводится к манипулированию уже суще- ствующими структурами, представляющими знание, например, корректировка коэффициентов достоверности правил-продукций, изменение порядка распо- ложения (просмотра) правил-продукций в базе знаний вводимого пользовате- лем описания решения задачи на достаточно формализованном языке, не силь- но отличающимся от языка, на котором представляются знания в системе. На уровне знаний обучение сводится к выявлению и формализации новых знаний. Например, из фактов журавль умеет летать, воробей умеет летать, синица умеет летать, журавль есть птица, воробей есть птица, синица есть птица система может сформулировать правило-продукцию Если Х есть птица то Х умеет летать. По признаку применяемого метода обучения различают системы, в кото- рых используются аналитические или эмпирические методы обучения. Анали- тические, в свою очередь, делятся на использующие глубинные (knowledge- rich) или поверхностные (knowledge-drizen) знания. Эмпирические делятся на использующие знания (knowledge-learning) или данные (data-drizen). С другой стороны в инженерии знаний известны три основных подхода к приобретению знаний: индуктивный вывод, вывод по аналогии и обучение на примерах. В основе индуктивного вывода лежит процесс получения знаний из данных и/или других знаний (в продукционных системах – правил из фактов и/или других правил). Вывод по аналогии основан на задании и обнаружении аналогий между объектами (ситуациями, образами, постановками задачи, фрагментами знаний) и применением известных методов (процедур) к анало- гичным объектам. В основе обучения на примерах лежит демонстрация систе- ме и запоминание ей примеров решения задач. Резкой границы между этими методами не существует, т.к. все они базируются на обобщении, реализованной в той или иной форме, т.е. реализуют переход от более конкретного знания (фактов) к более абстрактному знанию. На рис. 11 показана классификация обучающихся систем и взаимосвязи между понятиями, связанными с приобретением знаний. 46 Рис. 11. Классификация обучающихся систем и взаимосвязи ее с используемой терминологией Обучающиеся системы Обучение на уровне знаний (KLL) Обучение на символьном уровне (SLL) Аналитиче- ские методы обучения Эмпирические методы обучения Глубинные Поверхностные Обучение на уровне недедуктивных знаний (NKLL) (индуктивный вывод) Обучение на множестве примеров Обучение на од- ном примере Концептуализация (кластеризация, классификация) Обучение по аналогии На основе знаний На основе данных Обучение на примерах Обучение на основе открытия 47 4. ЭКСПЕРТНЫЕ СИСТЕМЫ "Узкий специалист – это человек, который не разбирается ни в чем, в чем разбираются другие". Шутка 4.1. Структура экспертных систем На рис. 12 изображена обобщенная структура экспертной системы. Рис. 12. Структура экспертной системы База знаний предназначена для хранения экспертных знаний о предметной области, используемых при решении задач экспертной системой. База данных предназначена для временного хранения фактов или гипотез, являющихся промежуточными решениями или результатом общения системы с внешней средой, в качестве которой обычно выступает человек, ведущий диа- лог с экспертной системой. Машина логического вывода – механизм рассуждений, оперирующий зна- ниями и данными с целью получения новых данных из знаний и других дан- ных, имеющихся в рабочей памяти. Для этого обычно используется программ- но реализованный механизм дедуктивного логического вывода (какая-либо его База знаний Подсистема приобретения знаний Подсистема общения Машина логического вывода Подсистема объяснений База данных (рабочая память) Внешняя среда 48 разновидность) или механизм поиска решения в сети фреймов или семантиче- ской сети. Машина логического вывода может реализовывать рассуждения в виде: 1) дедуктивного вывода (прямого, обратного, смешанного); 2) нечеткого вывода; 3) вероятностного вывода; 4) унификации (подобно тому, как это реализовано в Прологе); 5) поиска решения с разбиением на последовательность подзадач; 6) поиска решения с использованием стратегии разбиения пространства поиска с учетом уровней абстрагирования решения или понятий, с ними свя- занных; 7) монотонного или немонотонного рассуждения; 8) рассуждений с использованием механизма аргументации; 9) ассоциативного поиска с использованием нейронных сетей; 10) вывода с использованием механизма лингвистической переменной. Подсистема общения служит для ведения диалога с пользователем, в ходе которого ЭС запрашивает у пользователя необходимые факты для процесса рассуждения, а также, дающая возможность пользователю в какой-то степени контролировать и корректировать ход рассуждений экспертной системы. Подсистема объяснений необходима для того, чтобы дать возможность пользователю контролировать ход рассуждений и, может быть, учиться у экс- пертной системы. Если нет этой подсистемы, экспертная система выглядит для пользователя как "вещь в себе", решениям которой можно либо верить, либо нет. Нормальный пользователь выбирает последнее, и такая ЭС не имеет пер- спектив для использования. Подсистема приобретения знаний служит для корректировки и пополне- ния базы знаний. В простейшем случае это – интеллектуальный редактор базы знаний, в более сложных экспертных системах – средства для извлечения зна- ний из баз данных, неструктурированного текста, графической информации и т.д. 4.3. Когда целесообразно использование экспертных систем Экспертные системы целесообразно использовать тогда, когда: 1) разра- ботка ЭС возможна; 2) оправдана; 3) методы инженерии знаний соответст- вуют решаемой задаче. Рассмотрим более подробно эти условия. Разработка ЭС возможна когда: − существуют эксперты в данной области; − эксперты должны сходиться в оценке предлагаемого решения; − эксперты должны уметь выразить на естественном языке и объяснить используемые методы; − задача требует только рассуждений, а не действий; 49 − задача не должна быть слишком трудной, ее решение должно занимать у эксперта до нескольких часов или дней, а не недель или месяцев; − задача должна относиться к достаточно структурированной области; − решение не должно использовать в значительной мере здравый смысл (т.е. широкий спектр общих сведений о мире и о способе его функционирования). Разработка ЭС оправдана, если: − решение задачи принесет значительный эффект; − использовать человека-эксперта невозможно из-за ограниченного ко- личества экспертов или из-за необходимости выполнения экспертизы одновре- менно во многих местах; − при передаче информации эксперту происходит значительная потеря времени или информации; − необходимо решать задачу в окружении, враждебном человеку. Методы инженерии знаний соответствуют задаче, если задача обладает следующими характеристиками: − может быть естественным образом решена посредством манипуляции с символами, а не с числами; − имеет эвристическую природу, т.е. не годится задача, которая может быть решена гарантированно с помощью некоторых формальных процедур; − должна быть достаточно сложной, чтобы оправдать затраты, но не чрезмерно сложной; − должна быть достаточно узкой, но практически значимой. 4.4. Этапы создания экспертных систем В проектировании экспертных систем можно выделить следующие этапы. 1. Идентификация. 1.1. Определение участников и их ролей в процессе создания и эксплуа- тации экспертной системы. В процессе создания экспертной системы могут участвовать следующие специалисты: инженеры по знаниям, эксперты, программисты, руководитель проекта, заказчики (конечные пользователи). При реализации сравнительно простых экспертных систем программистов может не быть. Роль инженера по знаниям – выуживание профессиональных знаний из экспертов и проектирова- ние базы знаний экспертной системы и ее архитектуры. Программист необхо- дим при разработке специализированного для данной экспертной системы про- граммного обеспечения, когда подходящего стандартного (например, оболочки для создания экспертных систем) не существует или его возможностей не дос- таточно и требуются дополнительные модули. В процессе эксплуатации могут принимать участие конечные пользовате- ли, эксперты, администратор. 50 1.2. Идентификация проблемы. На этом этапе разработчики должны ответить на ряд вопросов, опреде- ляющих особенности решаемых экспертами, а, следовательно, будущей экс- пертной системой, задач. Эти особенности определят и особенности архитек- туры экспертной системы, формируемой на последующих этапах. К этим во- просам относятся следующие: − какой класс задач должна решать ЭС; − как эти задачи могут быть охарактеризованы или определены; − какие можно выделить подзадачи; − какие исходные данные должны использоваться для решения; − какие понятия и взаимосвязи между ними используются при ре- шении задачи экспертами; − какой вид имеет решение и какие концепции используются в нем; − какие аспекты опыта эксперта существенны для решения задачи; − какова природа и объем знаний, необходимых для решения зада- чи; − какие препятствия встречаются при решении задач; − как эти помехи могут влиять на решение задачи. 1.3. Определение необходимых ресурсов – временных, людских, мате- риальных. 1.4. Определение целей. В качестве целей, преследуемых при создании экспертных систем, мо- гут быть: повышение скорости принятия решения, повышение качества реше- ний, тиражирование опыта экспертов и т.п. 2. Концептуализация. На этом этапе разработчики должны ответить на следующие вопросы: − какие типы данных нужно использовать; − что из данных задано, а что должно быть выведено; − имеют ли подзадачи наименования; − имеют ли стратегии наименования; − имеются ли ясные частичные гипотезы, которые широко исполь- зуются. 3. Формализация. 4. Реализация прототипной версии. 5. Тестирование. 6. Перепроектирование прототипной версии. 4.5. Прототипы и жизненный цикл экспертной системы По степени готовности к использованию и распространению различают четыре прототипа экспертных систем: 51 1) демонстрационный; предназначен для демонстрации возможностей будущей экспертной системы, основных архитектурных решений, пользова- тельского интерфейса, для уточнения требований к пользовательскому интер- фейсу и функциям, выполняемым экспертной системой, содержит демонстра- ционную далеко неполную базу знаний; 2) исследовательский; предназначен для исследования направлений даль- нейшего совершенствования экспертной системы и для пополнения базы зна- ний, может использоваться для решения реальных задач в ограниченных преде- лах; 3) промышленный; предназначен для использования, как правило, в ор- ганизации, где был разработан, в нем возможны ограничения, условности, спе- циализация, свойственные для данной организации; 4) коммерческий; предназначен для широкого распространения, обладает гибкостью, удобством в эксплуатации, адаптируемостью к конкретным задачам и требованиям пользователя. Жизненный цикл экспертной системы состоит из этапов разработки и со- провождения. На этапе разработки создается программное обеспечение и база знаний экспертной системы, на этапе сопровождения происходит исправление выявленных ошибок и пополнение базы знаний без участия разработчиков (ес- ли последнее допускается архитектурой экспертной системы). Применение экспертной системы с базой знаний, неизменяемой в процес- се эксплуатации, возможно при достаточно стабильной в течение длительного времени предметной области, в которой решаются задачи. Примерами таких предметных областей являются разделы математического анализа, описание правил диагностики различных заболеваний. Примерами областей применения, требующих гибкости со стороны созда- ния и пополнения базы знаний, являются: планирование производства, проек- тирование и диагностика в области электроники, вычислительной техники и машиностроения. 4.6. Характеристики экспертных систем Экспертные системы можно характеризовать следующими особенностями: • область применения, • класс решаемых задач, • метод (методы) представления знаний, • метод (методы) решения задач (поиска решений), • структуризация данных (фактов) предметной области, • структуризация/неструктуризация знаний о решении задач, • четкость/нечеткость данных, • четкость/нечеткость знаний, • монотонность/немонотонность процесса решения задач, • метод (методы) приобретения (пополнения) знаний, 52 • вид пользовательского интерфейса, • динамическая или статическая предметная область, • интеграция с другими программными системами (СУБД, системами мо- делирования, графическими пакетами и т.д.). 4.7. Инструментальные средства для разработки экспертных систем Трудозатраты на разработку ЭС в значительной степени зависят от ис- пользуемых инструментальных средств (ИС). Ниже приведены типы современ- ных ИС, упорядоченные в соответствии с убыванием трудозатрат при создании экспертных систем. 1. Традиционные (в том числе объектно-ориентированные) языки про- граммирования типа С, С++ (как правило, эти ИС используются не для созда- ния ЭС, а для создания ИС). 2. Символьные языки программирования (например, Lisp, Prolog и их раз- новидности). Эти ИС в последнее время, как правило, не используются в ре- альных приложениях в связи с тем, что они плохо приспособлены к объедине- нию с программами, написанными на языках традиционного программирова- ния. 3. Инструментарий, содержащий многие, но не все компоненты ЭС. Эти средства предназначены для разработчика, от которого требуются знание про- граммирования и умение интегрировать компоненты в программный комплекс. Примерами являются такие средства, как OPS 5, ИЛИС и др. 4. Оболочки ЭС общего назначения, содержащие все программные компо- ненты, но не имеющие знаний о конкретных предметных средах. Средства это- го и последующего типов не требуют от разработчика приложения знания про- граммирования. Примерами являются ЭКО, Leonardo, Nexpert Object, Kappa и др. Подчеркнем, что в последнее время термин "оболочка" (shell) использует- ся реже, его заменяют на более широкий термин "среда разработки" (develop- ment environment). Если хотят подчеркнуть, что средство используется не толь- ко на стадии разработки приложения, но и на стадиях использования и сопро- вождения, то употребляют термин "полная среда" (complete environment). При- мерами таких средств для создания статических ЭС являются: Nexpert Object , ProKappa, ART*Enterprise, Level 5 Object и др. 5. Проблемно/предметно-ориентированные оболочки (среды): • проблемно-ориентированные средства (problem-specific), ориентирован- ные на некоторый класс решаемых задач и имеющие в своем составе соответ- ствующие этому классу альтернативные функциональные модули (примерами таких классов задач являются задачи поиска, управления, планирования, про- гнозирования и т.п.); 53 • предметно-ориентированные средства (domain-specific), включающие знания о некоторых типах предметных областей, что сокращает время разра- ботки БЗ. При использовании инструментария первого, второго и третьего типов в задачу разработчика входит программирование всех или части компонентов ЭС на языке довольно низкого уровня. При применении четвертого и пятого типов ИС разработчик приложения полностью освобождается от работ по соз- данию программ, его основные трудозатраты связаны с наполнением базы зна- ний общими и (или) специфическими знаниями. При использовании инстру- ментария четвертого типа могут возникнуть следующие трудности: 1) управляющие стратегии, вложенные в механизм вывода инструмента- рия, могут не соответствовать методам решения, которые использует эксперт, взаимодействующий с данной системой, что может привести к неэффектив- ным, а возможно, и неправильным решениям; 2) язык представления знаний, принятый в инструментарии, может не подходить для данного приложения. Значительная компенсация этих трудностей достигается применением проблемно/предметно-ориентированных средств (ИС пятого типа). |