КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Технология разработки экспертной системыРазработка (проектирование) ЭС существенно отличается от разработки обычного программного продукта. Опыт разработки первых ЭС показал, что использование при их разработке методологии, принятой в традиционном программировании, либо чрезмерно затягивает процесс создания ЭС, либо вообще приводит к отрицательному результату. Объясняется это как неформализованностью решаемых задач, так и отсутствием завершенной теории ЭС. Перед тем как приступить к разработке ЭС, инженер по знаниям должен рассмотреть вопрос: следует ли разрабатывать ЭС для данного приложения? В общем виде ответ может быть таким: использовать ЭС следует тогда, когда ее разработка возможно оправданна и методы инженерии знаний соответствуют решаемой задаче. Чтобы разработка ЭС была возможной (для данного приложения), необходимо одновременное выполнение, по крайней мере, следующих требований [5]: · существуют эксперты в данной области, которые решают задачу значительно лучше, чем начинающие специалисты; · эксперты должны сходиться в оценке предлагаемого решения, иначе нельзя будет оценить качество разработанной ЭС; · эксперты должны уметь выразить на естественном языке и объяснить используемые ими методы, в противном случае трудно рассчитывать на то, что их знания будут «извлечены» и вложены в ЭС; · задача, возложенная на ЭС, требует только рассуждений, а не действий (если требуются действия, то необходимо объединять ЭС с роботами); · задача не должна быть слишком трудной, ее решение должно занимать у эксперта несколько дней, а не месяцев; · задача хотя и не должна быть выражена в формальном виде, но все же должна относиться к достаточно «понятной» и структурированной области, т.е. должны быть выделены основные понятия, отношения и известные (хотя бы эксперту) способы получения решения задачи; · решение задачи не должно в значительной степени использовать «здравый смысл» (т.е. широкий спектр общих сведений о мире и о способе его функционирования, которые знает и умеет использовать любой нормальный человек), так как подобные знания пока не удается (в достаточном количестве) вложить в системы ИИ. Использование ЭС в данном приложении может быть возможно, но не оправданно. Применение ЭС может быть оправданно одним из следующих факторов: · решение задачи принесет значительный эффект, например, использование ЭС для поиска полезных ископаемых может принести доход в сотни миллионов рублей в случае успеха; · использование человека-эксперта невозможно либо из-за недостаточного количества экспертов, либо из-за необходимости выполнять экспертизу одновременно в различных местах; · при передаче информации к эксперту происходит недопустимая потеря времени или информации; · необходимостью решать задачу в окружении, враждебном для человека. Приложение соответствует методам ЭС, если поставленная задача обладает совокупностью следующих характеристик: · может быть естественным образом решена посредством манипуляции с символами (т.е. с помощью символьных рассуждений), а не с числами; · должна иметь эвристическую (не алгоритмическую) природу, т.е. ее решение должно сводиться к применению эвристических правил; · должна быть достаточно сложной, чтобы оправдать затраты на разработку ЭС, однако не должна быть чрезмерно сложной (решение занимает у эксперта дни, а не месяцы), чтобы ЭС могла ее решить; · должна быть достаточно узкой, чтобы решаться методами инженерии знаний, и практически значимой. При разработке ЭС используется концепция «быстрого прототипа». Суть ее состоит в том, что разработчики не пытаются сразу создать конечный продукт. На начальном этапе они создают прототип ЭС, который должен удовлетворять двум противоречивым требованиям. Прототип должен решать типичные задачи конкретного приложения, при этом время и трудоемкость его разработки должны быть весьма незначительными. Это необходимо для того, чтобы можно было параллельно осуществлять процесс накопления и отладки знаний (реализуемый экспертом) с процессом выбора (разработки) программных средств (реализуемым инженером по знаниям и программистом). Для удовлетворения указанных требований при создании прототипа, как правило, используются разнообразные инструментальные средства, ускоряющие процесс проектирования. Прототип должен продемонстрировать пригодность методов инженерии знаний для данного приложения. В случае успеха эксперт с помощью инженера по знаниям расширяет знания прототипа о проблемной области. При неудаче может потребоваться разработка нового прототипа, или разработчики могут прийти к выводу о непригодности методов инженерии знаний для данного приложения. По мере увеличения знаний прототип может достичь такого состояния, когда он решает все задачи данного приложения. Преобразование прототипа ЭС в конечный продукт обычно приводит к перепрограммированию ЭС на языках низкого уровня, обеспечивающих как повышение быстродействия ЭС, так и уменьшения требуемой памяти. В ходе работ по созданию ЭС сложилась определенная технология их разработки [5], включающая ряд этапов: идентификацию, получение знаний, концептуализацию, формализацию, выполнение, тестирование, опытную эксплуатацию (рис. 3.2). На этапе идентификации определяются задачи, которые подлежат решению, выявляются цели разработки, ресурсы, эксперты и категории пользователей. На этапе получения знаний выделяют три стратегии: приобретение знаний, извлечение знаний и обнаружение знаний. Под приобретением знаний понимается способ автоматизированного наполнения базы знаний посредством диалога эксперта и специальной программы. Извлечением знаний называют процедуру взаимодействия инженера по знаниям с источником знаний (экспертом, специальной литературой и т.д.) без использования вычислительной техники. Термин обнаружение знаний (knowledge discovery, data mining) связывают с созданием компьютерных систем, реализующих методы автоматического получения знаний. Сейчас это направление является наиболее перспективным. При этом предполагается, что система сама сможет раскрыть закономерности предметной области и сформулировать необходимые знания на основе имеющегося эмпирического материала [6]. На этапе концептуализации проводится анализ проблемной области, выявляются используемые понятия и их взаимосвязи, определяются методы решения задач. Этап формализации определяет способы представления всех видов знаний, формализует основные понятия, определяет способы интерпретации знаний, моделирует работу системы. На этом этапе оценивается адекватность целям системы зафиксированных понятий, методов решения, средств представления и манипулирования знаниями. Рис. 3.2. Этапы технологии создания ЭС На этапе выполнения осуществляется наполнение БЗ системы. На этапе тестирования эксперт (и инженер по знаниям) в интерактивном режиме, используя диалоговые и объяснительные средства, проверяет компетентность ЭС. Процесс тестирования продолжается до тех пор, пока эксперт не решит, что система достигла требуемого уровня компетентности. На этапе опытной эксплуатации проверяется пригодность ЭС для конечных пользователей. По результатам этого этапа, так же как и этапа тестирования, может потребоваться существенная модификация ЭС. Процесс создания ЭС не сводится к соблюдению строгой последовательности перечисленных выше этапов. В ходе разработки приходится неоднократно возвращаться на более ранние этапы и пересматривать принятые там решения [5].
|