· "Управление инвестициями для Mellon Bank" (фирма NeuralWare) и др.
В качестве инструментальных средств разработки нейронных сетей следует выделить инструментальные средства NeurOn-line (фирма GENSYM), NeuralWorks Professional II/Plus (фирма NeuralWare), отечественную разработку FOREX-94 (Уралвнешторгбанк) и др.
Системы, основанные на прецедентах (Case-based reasoning). В этих системах база знаний содержит описания не обобщенных ситуаций, а собственно сами ситуации или прецеденты. Тогда поиск решения проблемы сводится к поиску по аналогии (абдуктивному выводу от частного к частному):
1. Получение подробной информации о текущей проблеме;
2. Сопоставление полученной информации со значениями признаков прецедентов из базы знаний;
3. Выбор прецедента из базы знаний, наиболее близкого к рассматриваемой проблеме;
4. В случае необходимости выполняется адаптация выбранного прецедента к текущей проблеме;
5. Проверка корректности каждого полученного решения;
6. Занесение детальной информации о полученном решении в базу знаний.
Так же как и для индуктивных систем прецеденты описываются множеством признаков, по которым строятся индексы быстрого поиска. Но в отличие от индуктивных систем допускается нечеткий поиск с получением множества допустимых альтернатив, каждая из которых оценивается некоторым коэффициентом уверенности. Далее наиболее подходящие решения адаптируются по специальным алгоритмам к реальным ситуациям. Обучение системы сводится к запоминанию каждой новой обработанной ситуации с принятыми решениями в базе прецедентов.
Системы, основанные на прецедентах, применяются как системы распространения знаний с расширенными возможностями или как в системах контекстной помощи (рис. 1.14.).
Описание ситуации (проблемы)
Не печатает принтер
Вопросы
Включено ли питание? да
Прошло ли тестирование? да
Замята ли бумага? да
Подключен ли драйвер? не знаю
Действия
Освободите бумагу уверенность 80
Загрузите драйвер уверенность 50
Вызовите тех. персонал уверенность 10
Рис. 1.14. Пример диалога с CBR-системой
В качестве примера инструментального средства поддержки баз знаний прецедентов, распространяемого в России, можно назвать систему CBR-Express (Inference, дистрибьютор фирма Метатехнология).
Информационные хранилища (Data Warehouse). В отличие от интеллектуальной базы данных информационное хранилище представляет собой хранилище извлеченной значимой информации из оперативной базы данных, которое предназначено для оперативного анализа данных (реализации OLAP - технологии). Извлечение знаний из баз данных осуществляется регулярно, например, ежедневно.
Типичными задачами оперативного ситуационного анализа являются:
· Определение профиля потребителей конкретного товара;
· Предсказание изменений ситуации на рынке;
· Анализ зависимостей признаков ситуаций (корреляционный анализ) и др.
Для извлечения значимой информации из баз данных используются специальные
методы (Data Mining или Knowledge Discovery), основанные или на применении многомерных статистических таблиц, или индуктивных методов построения деревьев решений, или нейронных сетей. Формулирование запроса осуществляется в результате применения интеллектуального интерфейса, позволяющего в диалоге гибко определять значимые признаки анализа.
Применение информационных хранилищ на практике все в большей степени демонстрирует необходимость интеграции интеллектуальных и традиционных информационных технологий, комбинированное использование различных методов представления и вывода знаний, усложнение архитектуры информационных систем.
Разработкой и распространением информационных хранилищ в настоящее время занимаются такие компьютерные фирмы, как IBM (Intelligent Miner), Silicon Graphics (MineSet), Intersolv (DataDirect, SmartData), Oracle (Express), SAS Institute (SAS/Assist) и др.
Глава 2. Технология создания экспертных систем
2.1. Этапы создания экспертной системы
Слабая формализуемость процесса принятия решений, его альтернативность и нечеткость, качественная и символьная природа используемых знаний, динамичность изменения проблемной области - все эти характерные особенности применения экспертных систем обусловливают сложность и большую трудоемкость их разработки по сравнению с другими подклассами ИИС. Поэтому в дальнейшем вопросы проектирования и реализации интеллектуальных информационных систем будут рассматриваться для класса экспертных систем.
Извлечение знаний при создании экспертной системы предполагает изучение множества источников знаний, к которым относятся специальная литература, базы фактуальных знаний, отчеты о решении аналогичных проблем, а самое главное, опыт работы специалистов в исследуемой проблемной области - экспертов. Успех проектирования экспертной системы во многом определяется тем, насколько компетентны привлекаемые к разработке эксперты и насколько они способны передать свой опыт инженерам по знаниям. Вместе с тем, эксперты не имеют представления о возможностях и ограничениях ЭС. Следовательно процесс разработки ЭС должен быть организован инженерами по знаниям таким образом, чтобы в процессе их итеративного взаимодействия с экспертами они получили весь необходимый объем знаний для решения четко очерченных проблем. Этапы проектирования экспертной системы представлены на рис. 2.1.
На начальных этапах идентификации и концептуализации, связанных с определением контуров будущей системы, инженер по знаниям выступает в роли ученика, а эксперт - в роли учителя, мастера. На заключительных этапах реализации и тестирования инженер по знаниям демонстрирует результаты разработки, адекватность которых проблемной области оценивает эксперт. На этапе тестирования это могут быть совершенно другие эксперты.
На этапе тестирования созданные экспертные системы оцениваются с позиции двух основных групп критериев: точности и полезности.
С точностью работы связаны такие характеристики, как правильность делаемых заключений, адекватность базы знаний проблемной области, соответствие применяемых методов решения проблемы экспертным. Поэтому конечные оценки системе ставят специалисты в проблемной области - эксперты. Полезность же экспертной системы характеризуется степенью удовлетворения требований пользователя в части получения необходимых рекомендаций, легкости и естественности взаимодействия с системой, надежности, производительности и стоимости эксплуатации, способности обоснования решений и обучения, настройки на изменение потребностей. Оценивание экспертной системы осуществляется по набору тестовых примеров как из предшествующей практики экспертов, так и специально подобранных ситуаций. Результаты тестирования подлежат статистической обработке, после чего делаются выводы о степени точности работы экспертной системы.
Рис.2.1. Этапы создания экспертной системы
Следующий этап жизненного цикла экспертной системы - внедрение и опытная эксплуатация в массовом порядке без непосредственного контроля со стороны разработчиков и переход от тестовых примеров к решению реальных задач. Важнейшим критерием оценки становятся соотношение стоимости системы и ее эффективности. На этом этапе осуществляется сбор критических замечаний и внесение необходимых изменений. В результате опытной эксплуатации может потребоваться разработка новых специализированных версий, учитывающих особенности проблемных областей.
На всех этапах разработки инженер по знаниям играет активную роль, а эксперт - пассивную. По мере развития самообучающихся свойств экспертных систем роль инженера по знаниям уменьшается, а активное поведение заинтересованного в эффективной работе экспертной системы пользователя-эксперта возрастает. Описание приемов извлечения знаний инженерами знаний представлено в таблице 2.1.
Таблица 2.1
Приемы | Описание |
1. Наблюдение | Инженер наблюдает, не вмешиваясь, за тем, как эксперт решает реальную задачу |
2. Обсуждение задачи | Инженер на представительном множестве задач неформально обсуждает с экспертом данные, знания и процедуры решения |
3. Описание задачи | Эксперт описывает решение задач для типичных запросов |
4. Анализ решения | Эксперт комментирует получаемые результаты решения задачи, детализируя ход рассуждений |
5. Проверка системы | Эксперт предлагает инженеру перечень задач для решения (от простых до сложных),которые решаются разработанной системой |
6. Исследование системы | Эксперт исследует и критикует структуру базы знаний и работу механизма вывода |
7. Оценка системы | Инженер предлагает новым экспертам оценить решения разработанной системы |
Первые два этапа разработки экспертной системы составляют логическую стадию, не связанную с применением четко определенного инструментального средства. Последующие этапы реализуются в рамках физического создания проекта на базе выбранного инструментального средства. Вместе с тем, процесс создания экспертной системы, как сложного программного продукта, имеет смысл выполнять методом прототипного проектирования, сущность которого сводится к постоянному наращиванию базы знаний, начиная с логической стадии. Технология разработки прототипов представлена в таблице 2.2.
Таблица 2.2.
Этап разработки | Характер прототипа | Количество правил | Срок разработки | Стоимость |
Идентификация | Демонстрацион-ный | 50 - 100 | 1 - 2 мес. | |
Концептуализация | Исследователь- | |||
Формализация | ский | 200 - 500 | 3 - 6 мес. | 25 - 50т.$ |
Реализация | Действующий | 500 - 1000 | 6 - 12 мес. | |
Тестирование | Промышленный | 1000 - 1500 | 1 - 1,5 года | 300т.$ |
Опытная эксплуатация | Коммерческий | 1500 - 3000 | 1,5 - 3 года | 2 - 5 млн.$ |
Прототипная технология создания экспертной системы означает, что простейший прототип будущей системы реализуется с помощью любого подручного инструментального средства еще на этапах идентификации и концептуализации, в дальнейшем этот прототип детализируется, концептуальная модель уточняется, реализация выполняется в среде окончательно выбранного инструментального средства. После каждого этапа возможны итеративные возвраты на уже выполненные этапы проектирования, что способствует постепенному проникновению инженера по знаниям в глубину решаемых проблем, эффективности использования выделенных ресурсов, сокращению времени разработки, постоянному улучшению компетентности и производительности системы.