Главная страница
Навигация по странице:

  • 4. ЭКСПЕРТНЫЕ СИСТЕМЫ "Узкий специалист – это человек, который не разбирается ни в чем, в чем разбираются другие". Шутка4.1. Структура экспертных систем

  • 4.3. Когда целесообразно использование экспертных систем

  • 4.4. Этапы создания экспертных систем

  • 4.5. Прототипы и жизненный цикл экспертной системы

  • 4.6. Характеристики экспертных систем

  • 4.7. Инструментальные средства для разработки экспертных систем

  • А. В. Гаврилов


    Скачать 0.52 Mb.
    НазваниеА. В. Гаврилов
    Дата21.03.2021
    Размер0.52 Mb.
    Формат файлаpdf
    Имя файлаAISystems.pdf
    ТипУчебное пособие
    #186935
    страница5 из 7
    1   2   3   4   5   6   7
    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) язык представления знаний, принятый в инструментарии, может не подходить для данного приложения.
    Значительная компенсация этих трудностей достигается применением проблемно/предметно-ориентированных средств (ИС пятого типа).
    1   2   3   4   5   6   7


    написать администратору сайта