дб. Четвертое издание джозеф Джарратано Университет Хьюстон клиэрЛэйк Гари Райли People5oft, Издательский дом "Вильямс" Москва СанктПетербург Киев 2007 ббк 32. 973. 26 018 75 Д
Скачать 3.73 Mb.
|
Такая задача является не менее сложной по сравнению с поиском ответа на вопрос о том, во сколько может вам обойтись расторжение брака. Это — далеко не те заранее указанные расходы, которыми сразу же стремятся вас заинтересовать авторы поступающего по электронной почте спама, где речь идет о том, как добиться развода без помощи адвоката или сделать самому себе операцию без по- Прежде чем получить интервью у эксперта, также необходимо применить безотказный способ — подготовить письменный протокол собеседования. В дальнейшем, читая заполненный протокол, вы сможете уловить семантические связи между терминами. Ваша задача состоит именно в этом. Термины, представляющие знания, не существуют отдельно они образуют семантические кластеры, которые соединяются, образуя общую семантическую сеть знаний, представленную в уме эксперта. Удачным примером ассоциативной семиотической памяти является само мышление, поскольку в процессе мышления каждое отдельное слово, запах, прикосновение, зрительный или звуковой образ могут вызвать переход от одних воспоминаний к другим. Классические инструментальные средства извлечения знаний с помощью стандартных интервью и результаты важных исследований, проведенных в данной области, описаны в [76]. В действительности методы проведения собеседований обычно дополняются приемами вычерчивания схем, позволяющих уточнить рассматриваемые понятия и отношения. Графические схемы служат в качестве полезных визуальных метафор, поскольку и разработчики„и эксперты могут одновременно рассматривать представленные на них отношения и анализировать переданный тем самым смысл, достигая согласия в отношении того, что и как должно быть представлено на этих схемах. Кроме того, имеются такие программные инструментальные средства, которые позволяют представить сразу всю онтологию. Как было описано в главе 1, онтология это полное описание проблемной области, представленное с помощью формализованного способа. Одним из инструментальных средств, результаты применения которого оказались очень успешными, является Protege — (редактор онтологий и баз знаний. Это чрезвычайно сложное инструментальное средство предоставляется бесплатно Станфордским университетом. На узле указанного университета можно получить качественную поддержку этого инструментального средства там же имеются учебники, с помощью которых онтологию может создать даже начинающий, а также приведены многие другие материалы. Система Protege используется вместе с TixClips — интегрированной средой разработки для языка CLIPS. При создании очень крупных систем, состоящих из тысяч правил, практически невозможно обойтись без онтологий. 6.2. Выбор соответствующей задачи 513 мощи хирурга. Дело в том, что расходы связаны не только с созданием экспертной системы, но и с ее эксплуатацией. На этапе создания экспертной системы приходится нести издержки, зависящие оттого, сколько людей, ресурсов и времени фактически выделено на решение этой задачи. Кроме того, как и при эксплуатации любого другого программного или аппаратного компонента, необходимо учитывать стоимость сопровождения. Тем самым мы приходим к первому закону успеха если владелец автомобиля не хочет беспокоиться о том, во сколько ему обойдется бензин, то он должен приобрести собственную нефтяную скважину. С этим же связан нулевой закон успеха лучше всего иметь возможность пользоваться чужим автомобилем и бензином. Кроме того, если больше нет возможности прибегать к услугам того эксперта, с помощью которого создана экспертная система, значительно усложняется и сопровождение самой экспертной системы. Привлечение другого эксперта не окажет значительной помощи, поскольку эксперты весьма предвзято относятся к мнению друг друга. Поэтому гораздо проще создать такую систему, основанную на знаниях, в которой знания получены от многих людей, из документов, а также из других общедоступных источников. Такие системы были созданы во многих компаниях, поскольку практика показала, что подобные системы являются полезным инструментальным средством предварительного консультирования, которое позволяет избавиться от 90'Ъ проблем, найдя решение с помощью всего лишь нескольких вопросов. Гораздо проще предоставить клиентам возможность работать с подобной системой, чем содержат' целый телефонный центр предоставления консультаций. Безусловно, для эксплуатации инструментария экспертных систем требуются аппаратные и программные средства, но компаниям приходится также брать на себя существенные затраты, связанные с обучением. Если персонал компании имеет мало опыта работы с каким-то инструментальным средством или вообще не имеет такого опыта, то обучение может потребовать существенных расходов. Профессиональные курсы обучения, предназначенные для освоения любого программного обеспечения, часто проводятся с учетом затрат порядка долларов в неделю на одного человека. Но, разумеется, больше никто не рассматривает такую необходимость просто как обузу. Теперь компании могут зарабатывать намного больше денег, чем раньше, предоставляя возможность пройти обучение для работы сих программными продуктами с отрывом и без отрыва от производства сдать экзамены на получение документа об образовании пройти подготовку к экзаменам на получение документа об образовании стать инструктором для проведения экзаменов на получение документа об образовании а также издавая книги, проводя семинары и практикумы, наконец, предоставляя обслуживание на дому. В наши дни выпуск программного продукта, который является мощным, удобными не содержащим ошибок, — это путь к экономическому краху. Глава 6. Проектирование экспертных систем 514 6.3 Общее описание процесса разработки экспертной системы Руководство проектом Предполагается, что стандартные методы управления проектом и программные инструментальные средства должны обеспечивать решение перечисленных ниже задач. Управление текущей деятельностью ° Планирование ° определение состава действий ° назначение действиям приоритетов ° выявление требований к ресурсам ° выделение основных этапов определение значений продолжительности этапов распределение обязанностей. ° Составление графика работ определение значений времени начала и окончания работ разрешение конфликтов при включении в график задач с равным приоритетом. ° Текущий контроль ° контроль заходом выполнения проекта. На данном этапе необходимо найти ответ на вопрос о том, как должна разрабатываться экспертная система. Сам ход разработки экспертной системы в значительной степени зависит оттого, какие для этого предусмотрены ресурсы. Тем не менее, как и при реализации любого проекта, успех разработки зависит также от правильной организации и управления процессом. Полезным руководством материалы которого основаны на результатах разработки экспертной системы для Федеральной администрации скоростных дорог (Federal Highway Administration), в которой использовалось свыше 300 правил, является [93]. Если вы уже знакомы с каким-то стандартным инструментальным средством планирования проектов, допустим Microsoft Project, то вам не потребуется искать другое инструментальное средство. К тому же, если выбудете применять подобный планировщик, то вам будет проще объяснить руководству, как идут дела и почему проект немного отстает от графика (поскольку в вашем распоряжении в любой момент будут новейшие данные. Общее описание процесса разработки экспертной системы ° Анализ ° анализ планов, графиков и результатов осуществления проекта. Управление конфигурацией программного продукта ° Управление обновлением программного продукта ° организация выпуска различных версий программного продукта. ° Управление процессом внесения изменений ° контроль над предложениями о внесении изменений и учет возможных последствий реализации предлагаемых изменений ° назначение ответственных за проведение изменений ° инсталляция новых версий программного продукта. Управление ресурсами Прогнозирование потребности в ресурсах. ° Мобилизация ресурсов ° поиск наиболее подходящего эксперта или базы знаний ° корректировка графика с учетом пожеланий эксперта. Распределение обязанностей по оптимизации использования ресурсов. ° Предоставление ресурсов, необходимых для устранения узких мест. В частности, следует отметить, что в отношении приобретения ресурсов отмечена необходимость согласовывать свое расписание работы с расписанием эксперта, но не требовать этого от эксперта (если только эксперт не привлечен к работе на постоянной основе. У экспертов есть другие обязанности, и их время ценится очень высоко. На рис показано идеализированное и обобщенное представление перечня работ, требуемых для создания экспертной системы. Эти работы описаны в составе этапов, через которые должна пройти система в процессе своего развития. Согласно этому идеализированному представлению, конечный продукт не передается в распоряжение конечных пользователей до тех пор, пока не будут устранены все ошибки. Такое требование действительно оправдывает себя, поскольку, например, если экспертная система предназначена для использования в военном деле, то допущенные ею ошибки чаще всего невозможно исправить (скажем, вернуть в исходное положение ракету с ядерной боеголовкой после ее пуска). Правительственные контракты допускают возможность регулярной и гарантированной выплаты денег, а в мире частного предпринимательства в случае задержки при выполнении проекта смета может быть исчерпана. Поэтому коммерческие предприятия в настоящее время придерживаются такого подхода — в течение Глава 6. Проектирование экспертных систем Технико- экономическое обоснование Доклад или сравнительное исследование с обоснованием осуществимости проекта Быстро подготовленная экспертная система, позволяющая продемонстрировать идеи, пробудить энтузиазм и произвести впечатление на высшее руководство Первоначальный прототип Внутренняя верификация экспертной системы на реальных задачах с привлечением инженеров познаниями эксперта Усовершенствованная система(альфа-тестирование) Проверка системы с участием избранных пользователей (но без привлечения инженеров познаниям или эксперта) Система, готовая к испытаниям в реальных условиях(бета-тестирование) Аттестованная и проверенная система Пользовательская документация Обучение Оперативная поддержка пользователей, обращающихся за помощью по телефону и (или) по электронной почте Система коммерческого качества Исправление ошибок Расширение возможностей Сопровождение и развитие Рис. 6.2. Общие этапы разработки экспертной системы каждого квартала затрачивают определенные средства на рекламу будущего продукта, даже если окончательный выпуск этого продукта произойдет лишь через несколько лет. Такой подход позволяет достичь двух целей. Во-первых, частные компании, занимающиеся разработками, которые стремятся использовать будущий продукт в создаваемых ими продуктах, получают возможность приобретать предварительные версии даже при наличии в них известных ошибок. В результате этого появляется постоянный источник дохода от разрабатываемого продукта, поэтому компании не приходится самой нести все расходы на разработку в течение нескольких лет. Во-вторых, компания получает значительное преимущество, связанное стем, что необходимость внутрифирменного тестирования продукта намного уменьшается (или вообще отпадает. Общее описание процесса разработки экспертной системы Проблема доставки На этом этапе необходимо найти ответ на вопрос о том, как должна осуществляться доставка готовой системы пользователю. Если на основе разрабатываемого инструментального средства должно быть создано большое количество экспертных систем, то важным фактором разработки может стать проблема доставки разрабатываемых систем. Поэтому проблеме В этом случае компании, занимающиеся разработками, могут предусмотреть такую возможность, чтобы после каждого сбоя в работе создаваемого программного продукта поступал запрос к пользователю, желает ли он автоматически отправить отчет с описанием ошибки. Если пользователь щелкнет на кнопке ОК, будет автоматически передано сообщение с диагностической информацией, касающейся того, где возникло нарушение в работе. А автоматизированная программа электронной почты в компании- разработчике сохранит полученное сообщение об ошибке в базе данных. Затем можно применить стандартные инструментальные средства анализа скрытых закономерностей в данных для поиска необходимой информации и передачи извещений конкретной группе разработчиков, ответственной за определенный аспект функционирования продукта. Такой подход позволяет устанавливать различные уровни реагирования, для того чтобы извещения передавались в группы разработчиков только после регистрации количества ошибок, превышающего установленный уровень реагирования. Может оказаться так, что некоторым группам поручена более важная работа, чем другим, поэтому уровни реагирования необязательно должны быть одинаковыми. Таким образом, появляется возможность выделить требуемые ресурсы для исправления выявленных ошибок ко времени следующего ежеквартального выпуска, с учетом количества и серьезности ошибок. Для сопровождения предварительных версий должен быть предусмотрен специальный узел, на котором пользователь мог бы вносить плату за подписку для получения доступа к каждой новой ежеквартальной предварительной версии. При использовании рассматриваемого подхода необходимо учитывать еще одно, более важное требование, состоящее в том, что объявления о новом ежеквартальном выпуске должны быть согласованы повремени с ежеквартальными отчетами перед акционерами (владельцами привилегированных акций) согласно требованиям Комиссии по ценным бумагами биржам (Securities and Exchange Commission — SEC) к открытым акционерным обществам. Даже если компания разработчик все еще является закрытым акционерным обществом и не выпустила изначальное открытое предложение (Initial Public Offering — IPO) по приобретению акций, такой шаг позволит привлечь венчурный капитал в компанию, сопровождающую узел с анонсами продукта, и увеличить стоимость изначального открытого предложения Глава 6. Проектирование экспертных систем доставки необходимо уделять внимание даже на самых ранних этапах разработки. В ХХ столетии системы, применявшиеся для разработки, стоили значительно больше по сравнению с системами, на которых должен был установлен продукт, предоставляемый конечным пользователям. А в наши дни стоимость компьютерной техники значительно уменьшилась, поэтому данный аспект проблемы доставки разрешен. Тем не менее остается актуальной другая проблема — необходимость обеспечить эксплуатацию программного продукта с использованием весьма разнообразного перечня аппаратных средств. Один из подходов к решению этой проблемы воплотился в создании языка Java, который сразу же приобрел широкую известность благодаря реализованному в нем принципу "обеспечения эксплуатации единожды созданной программы в любой среде этот принцип гарантировал также возможность использования аплетов Java только в "песочнице" (т.е. в защищенной и ограниченной среде. Проблема развертывания программного обеспечения с применением аппаратных средств различных типов все еще остается актуальной, если не предусматривается возможность использования интерпретатора или установки виртуальной машины в каждой отдельной разновидности аппаратных средств. С того времени, как впервые были предложены интерпретаторы байт- кода для языка Pascal в х годах, позволяющие эксплуатировать программы Pascal на любом микрокомпьютере, этот подход постоянно себя оправдывал, поэтому был реализован ив языке Java. В языке CLIPS не предусмотрена выработка байт-кодов, но предоставляется возможность создания готовой версии экспертной системы на стандартном языке С. Готовая версия может быть откомпилирована с помощью стандартного компилятора С для конкретной аппаратной платформы, после чего полученный исполняемый файл развертывается для эксплуатации на данной конкретной платформе. Это означает, что какая-либо "виртуальная машина CLIPS" не требуется. Одной из первоначальных целей проекта создания языка CLIPS была реализация возможности использования этого языка для формирования экспертных систем, которые могут быть легко развернуты с применением любых новых аппаратных средств, которые когда-либо будут созданы. Как указано в предисловии, если основная версия CLIPS не позволяет справиться с этой задачей, то можно воспользоваться другими специально разработанными версиями, такими как Jess. Язык Jess написан на языке Java и обладает всеми преимуществами поскольку легко обеспечивает возможность развертывания с использованием различных аппаратных средств (хотя и не поддерживает множественное наследование. Во многих случаях возникает необходимость интегрировать экспертную систему с другими существующими программами. Это означает, что приходится учитывать необходимость обеспечения связи и координации входных и выходных потоков данных экспертной системы с указанными программами. Может также потребоваться, чтобы существовала возможность вызывать экспертную систе- 6.3. Общее описание процесса разработки экспертной системы Сопровождение и развитие На данном этапе необходимо найти ответ на вопрос о том, как должна сопровождаться и развиваться готовая система. Сопровождение и развитие любой экспертной системы — это задача, требующая еще более творческого подхода по сравнению с обычными программами. Дело в том, что функционирование экспертных систем не основано на использовании алгоритмов, поэтому производительность таких систем зависит от воплощенных в них обычных и экспертных знаний. В идеальном случае по мере приобретения новых знаний и модификации существующих знаний производительность экспертной системы должна оставаться постоянной. му как процедуру из программы на обычном языке программирования, поэтому система должна поддерживать подобную возможность. Язык CLIPS разработан таким образом, чтобы программы на этом языке можно было вызывать из программ на базовом языке, таком как СВ таком случае вызываемые программы должны выполнить свои функции, а затем возвратить управление в программу на базовом языке. Создание подобных гибридных систем является также одним из основных подходов к разработке систем на языке CLIPS, поскольку производительность экспертной системы в значительной степени зависит от количества правил, заданных в системе, и от объема работы по согласованию с шаблонами. Безусловно, алгоритм позволяет успешно решать многие задачи, но никакая интерактивная экспертная система не может сравниться по своему быстродействию с оттранслированной программой. Разумеется, с помощью программы на языке CLIPS можно промоделировать работу калькулятора, электронной таблицы или даже текстового процессора, но производительность такой программы всегда будет ниже по сравнению с программой, написанной на языке третьего поколения, таком как С, С+ или С. Например, может быть создано интеллектуальное инструментальное средство анализа скрытых закономерностей в данных, в котором программа на языке CLIPS вызывается из стандартной базы данных наподобие Oracle или MySQL, а эта программа выдает рекомендации пользователю базы данных. В СУБД Oracle для обеспечения возможности использования данных в других приложениях и последующего возврата управления в Oracle применяются курсоры. Программы на языке CLIPS допускают полноценную эксплуатацию в качестве вызывающих или вызываемых программных модулей на основе таких же принципов, как и любые другие программы. Еще один вариант состоит в том, что можно использовать или модифицировать исходный код на языке CLIPS и встроить этот код в свое приложение, а затем откомпилировать полученное программное обеспечение и подготовить для развертывания новое приложение Глава 6. Проектирование экспертных систем Безусловно, |