Экспертные системы (представление знаний)
Представление знаний в экспертной системе о проблемной среде необходимо реализовывать таким образом, чтобы экспертная система могла управлять процессом поиска решения, была способна приобретать новые знания и объяснять свои действия. Она должна уметь работать не только со знаниями, но и над знаниями т.е. обладать способностью понимать и исследовать их. Таким образом, экспертная система должна иметь знания о том, как представлены ее знания о проблемной сфере.
Уровни представления
Если знания о проблемной среде назвать знаниями нулевого уровня представления, то первый уровень представления содержит метазнания, т.е. знания о том, как представлены во внутреннем мире системы знания нулевого уровня. Первый уровень содержит знания о тех средствах, которые используются для представления знаний на нулевом уровне. Знания первого уровня имеют важное назначение в управлении процессом решения, в приобретении новых знаний и объяснении действий системы. Знания первого уровня не зависят от проблемной среды по той причине, что они не содержат ссылок на знания нулевого уровня. Число уровней представления может быть и больше двух. Второй уровень представления в этом случае будет содержать сведения о знаниях первого уровня, т.е. знания о представлении базовых понятий первого уровня. Разделение знаний по уровням представления обеспечивает расширение области применимости системы.
Уровни детальности
Введение уровней детальности позволяет рассматривать знания с различной степенью подробности. Количество уровней детальности во многом зависит от специфики решаемых задач, объема знаний и способа их представления. Обычно, создают не менее трех уровней детальности, которыми определяются соответственно общая, логическая и физическая организации знаний. Выделение нескольких уровней детальности придает дополнительную степень гибкости системы, так как позволяет производить изменения на одном уровне, не затрагивая другие. Изменения на одном уровне детальности могут приводить к дополнительным изменениям на этом же уровне, что порой необходимо для обеспечения согласованности структур данных и программ. Однако наличие различных уровней препятствует распространению изменений с одного уровня на другие.
Организация знаний в рабочей системе
Рабочая память экспертных систем представляет из себя базу данных (см. Экспертные системы (архитектура)). Данные в рабочей памяти могут представляться однородными или разделяться на уровни по своим типам. Во втором случае на каждом уровне рабочей памяти хранятся данные соответствующего типа. Разделение на уровни усложняет структуру экспертной системы, но сообщает ей большую эффективность. Например, можно выделить уровень планов, уровень упорядоченного списка правил, готовых к выполнению и уровень решений. В современных экспертных системах данные в рабочей памяти (РП) могут быть изолированными или связанными. В первом случае рабочая память состоит из множества простых элементов, во втором — из одного или нескольких сложных элементов. При этом сложный элемент соответствует множеству объединенных простых. Теоретически оба подхода обеспечивают полноту, но использование изолированных элементов в сложных предметных областях приводит к потере эффективности. Российский рынок мобильных приложений для бизнеса и госсектора: крупнейшие игроки, тенденции и перспективы. Обзор TAdviser Данные в РП в простейшем могут быть константными, переменными или смешанными. При этом переменные могут рассматриваться как характеристики некоего объекта, а константы – как значения соответствующих характеристик. Если в РП требуется анализировать одновременно несколько различных объектов, описывающих сложившуюся проблемную ситуацию, то необходимо указывать, к каким объектам относятся рассматриваемые характеристики. Одним из способов решения этой задачи является явное указание того, к какому объекту относится характеристика.
Если рабочая память состоит из сложных элементов, то связь между отдельными объектами указывается явно, например заданием семантических отношений. При этом каждый объект может иметь свою внутреннюю структуру. Для ускорения поиска и сопоставления данные в РП могут быть связаны не только логически, но и ассоциативно.
Организация знаний в базе данных
Критерием интеллектуальности системы с точки зрения представления знаний считается умение системы использовать в нужный момент необходимые (релевантные) знания. Системы, не имеющие средств анализа релевантных знаний, неизбежно сталкиваются с проблемой, называемой «комбинаторным взрывом». Эта проблема является одной из основных причин, ограничивающих сферу применения экспертных систем. В проблеме доступа к знаниям можно выделить три аспекта: связность (или агрегация) знаний и данных, механизм доступа к знаниям и способ сопоставления.
Связность знаний
Связанность знаний является основным способом, обеспечивающим повышение скорости поиска релевантных данных. Распространено мнение, что знания следует организовывать вокруг наиболее важных объектов предметной области. Все знания, характеризующие некоторую сущность, связываются и представляются в виде отдельного объекта. При подобной организации знаний, если системе необходима информация о некоторой сущности, то она ищет объект, описывающий эту сущность, а затем уже внутри объекта находит информацию о данной сущности. В объектах выделяют два типа связок между элементами: внешние и внутренние. Внутренние связки организуют элементы в единый объект и выражают структуру объекта. Внешние связки указывают на взаимосвязи, между объектами в области экспертизы. Существует деление внешних связок на логические и ассоциативные. Логические отражают семантические отношения между элементами знаний. Ассоциативные связки обеспечивают взаимосвязи, способствующие повышению скорости процесса поиска релевантных знаний.
Проблема поиска знаний
Основной проблемой при работе с большой базой знаний является проблема поиска знаний, относящихся к решаемой задаче. В связи с тем, что в обрабатываемых данных может не содержаться явных ссылок на значения, требуемые для их обработки, необходим некий более общий механизм поиска, чем метод прямого доступа (метод явных ссылок). Этот способ предназначен для того, чтобы по некоторому описанию показателя, имеющемуся в рабочей памяти, найти уже в базе знаний объекты, удовлетворяющие этому описанию. Таким образом, упорядочение и структурирование знаний могут значительно ускорить процесс поиска. Поиск данных можно рассмотреть как процесс, состоящий из двух этапов. Первый этап соответствует процессу выбора по ассоциативным связкам. Здесь происходит предварительный выбор потенциальных кандидатов на роль желаемых объектов в базе знаний. На втором этапе путем выполнения операции сопоставления потенциальных кандидатов с описаниями кандидатов осуществляется окончательный выбор искомых объектов Операция сопоставления также может быть использована для классификации, подтверждения, декомпозиции и коррекции. Для идентификации неизвестного объекта его можно сопоставить с некоторыми известными образцами. Это позволит классифицировать неизвестный объект как такой известный образец, при сопоставлении с которым были получены лучшие результаты. Сопоставление используется для подтверждения некоторых кандидатов из множества возможных. Если сопоставить некоторый известный объект с неизвестным описанием, то в случае успешного сопоставления будет произведена частичная декомпозиция описания.
Методы поиска решений
Методы решения задач, основанные на сведении этих задач к поиску, зависят от особенностей предметной области, в которой решается задача и от требований, предъявляемых к решению. Особенности проблемной области определяются следующими параметрами:
- объем пространства поиска решения
- изменяемость области во времени и пространстве
- полнота модели, описывающей область. Если модель не полна, то для описания области используются несколько моделей, дополняющих друг друга.
- определенность данных о решаемой задаче
Требования пользователя к результату задачи, решаемой с помощью поиска, можно определить количеством решений и свойствами результата и (или) способом его получения. Так, задача может иметь одно решение, несколько решений, все решения. Свойствами решения задают ограничения, которым должен удовлетворять полученный результат или способ его получения. Например, для системы, выдающей рекомендации ремонту машин, пользователь может указать требование не использовать детали некоторых производителей ценовой категории или свойств металлов. Параметр «свойства» может определять и такие особенности, как время, отведенное для решения, объем памяти, занимаемой для получения результата, указание об обязательности использования каких-либо знаний и т.п.
Сложность задачи, определяемой такими параметрами, варьируется от простых задач малой размерности с неизменяемыми определенными данными и отсутствием ограничений на результат со способом его получения до сложных задач большой размерности с изменяемыми, ошибочными и неполными данными и произвольными ограничениями на результат и способ его получения. Каким-либо одним методом нельзя решить все задачи. Обычно одни методы превосходят другие только по некоторым из перечисленных параметров.
Существующие методы решения задач, используемые в экспертных системах, можно классифицировать следующим образом:
- методы поиска в одном пространстве (область небольшой размерности, полнота модели, точные и полные данные)
- методы поиска в иерархических пространствах (областях большой размерности)
- методы поиска при неточных и неполных данных
- методы поиска, использующие несколько моделей
Эти методы при необходимости должны объединяться для того, чтобы позволить решать задачи, сложность которых возрастает одновременно по нескольким параметрам.
Связанные темы
- Экспертные системы (Архитектура)
- Экспертные системы
- Разработка экспертных систем
Ссылки
- Консалтинг и тренинги Москвы
- Он-лайн Журнал
Разработка ЭС по обучению персонала электробезопасности / 1 КЛАССИФИКАЦИЯ И ОБЗОР ЭКСПЕРТНЫХ СИСТЕМ
Только сегодня: скидка до 20% в подарок на первый заказ.
Какую работу нужно написать?
Другую работу
Помощник Анна
- КЛАССИФИКАЦИЯ И ОБЗОР ЭКСПЕРТНЫХ СИСТЕМ. ПОСТАНОВКА ЗАДАЧИ
1.1 Основные понятия экспертных систем Экспертные системы (ЭС) — особые компьютерные программы, моделирующие действия эксперта-человека при решении задач в какой-либо предметной области на основе накопленных знаний, составляющих базу знаний (БЗ). В основе функционирования ЭС лежит использование знаний, а манипулирование ими осуществляется на базе эвристических правил, сформулированных экспертами. ЭС выдают советы, проводят анализ, выполняют классификацию, дают консультации и ставят диагноз. Они ориентированы на решение задач, обычно требующих проведения экспертизы человеком-специалистом. В отличие от машинных программ, использующий процедурный анализ, ЭС решают задачи в узкой предметной области (конкретной области экспертизы) на основе дедуктивных рассуждений. Главное достоинство экспертных систем — возможность накапливать знания, сохранять их длительное время, обновлять и тем самым обеспечивать относительную независимость конкретной организации от наличия в ней квалифицированных специалистов./1/ Экспертная система отличается от прочих прикладных программ наличием следующих признаков. 1) Моделирует не столько физическую (или иную) природу определенной проблемной области, сколько механизм мышления человека применительно к решению задач в этой проблемной области. Это существенно отличает экспертные системы от систем математического моделирования или компьютерной анимации. Нельзя, конечно, сказать, что программа полностью воспроизводит психологическую модель специалиста в этой предметной области (эксперта), но важно, что основное внимание все-таки уделяется воспроизведению компьютерными средствами методики решения проблем, которая применяется экспертом, то есть выполнению некоторой части задач так же (или даже лучше), как это делает эксперт. 2) Система, помимо выполнения вычислительных операций, формирует определенные соображения и выводы, основываясь на тех знаниях, которыми она располагает. Знания в системе представлены, как правило, на некотором специальном языке и хранятся отдельно от собственно программного кода, который и формирует выводы и соображения. Этот компонент программы принято называть базой знаний. 3) При решении задач основными являются эвристические и приближенные методы, которые, в отличие от алгоритмических, не всегда гарантируют успех. Эвристика, по существу, является правилом влияния, которое в машинном виде представляет некоторое знание, приобретенное человеком по мере накопления практического опыта решения аналогичных проблем. Такие методы являются приблизительными в том смысле, что, во-первых, они не требуют исчерпывающей исходной информации, и, во-вторых, существует определенная степень уверенности (или неуверенности) в том, что предлагаемое решение является верным. Экспертные системы имеют дело с предметами реального мира, операции с которыми обычно требуют наличия значительного опыта, накопленного человеком. Множество программ из области искусственного интеллекта являются сугубо исследовательскими, и основное внимание в них уделяется абстрактным математическим проблемам или упрощенным вариантам реальных проблем (иногда их называют «игрушечными» проблемами), а целью выполнения такой программы является «повышение уровня интуиции» или отработка методики. Экспертные системы имеют ярко выраженную практическую направленность в научной или коммерческой области. Одной из основных характеристик экспертной системы является ее производительность, то есть скорость получения результата и его достоверность (надежность). Исследовательские программы искусственного интеллекта могут и не быть очень быстрыми, можно примириться и с существованием в них отказов в отдельных ситуациях, поскольку, в конце концов, — это инструмент исследования, а не программный продукт. А вот экспертная система должна за приемлемое время найти решение, которое было бы не хуже, чем то, которое может предложить специалист в этой предметной области. Экспертная система должна обладать способностью объяснить, почему предложено именно такое решение, и доказать его обоснованность./10/ 1.2 Классификация и структура экспертных систем По функциональному назначению экспертные системы можно разделить на следующие типы.
- Мощные экспертные системы, рассчитанные на узкий круг пользователей (системы управления сложным технологическим оборудованием, экспертные системы ПВО). Такие системы обычно работают в реальном масштабе времени и являются очень дорогими.
- Экспертные системы, рассчитанные на широкий круг пользователей. К ним можно отнести системы медицинской диагностики, сложные обучающие системы. База знаний этих систем стоит недешево, так как содержит уникальные знания, полученные от специалистов экспертов.
- Экспертные системы с небольшим числом правил и сравнительно недорогие. Эти системы рассчитаны на массового потребителя (системы, облегчающие поиск неисправностей в аппаратуре). Применение таких систем позволяет обойтись без высококвалифицированного персонала, уменьшить время поиска и устранения неисправностей. Базу знаний такой системы можно дополнять и изменять, не прибегая к помощи разработчиков системы. В них обычно используются знания из различных справочных пособий и технической документации.
- Простые экспертные системы индивидуального использования. Часто изготавливаются самостоятельно. Применяются в ситуациях, чтобы облегчить повседневную работу. Пользователь, организовав правила в некоторую базу знаний, создает на ее основе свою экспертную систему. Такие системы находят применение в юриспруденции, коммерческой деятельности, ремонте несложной аппаратуре.
Общепринятая классификация экспертных систем отсутствует, однако наиболее часто экспертные системы различают по назначению, предметной области, методам представления знаний, динамичности и сложности. На рисунке 1 приведена более подробная и наглядная схема./31/ Рисунок 1- Классификация экспертных систем По назначению классификацию экспертных систем можно провести следующим образом: — диагностика состояния систем, в том числе мониторинг (непрерывное отслеживание текущего состояния); — прогнозирование развития систем на основе моделирования прошлого и настоящего; — планирование и разработка мероприятий в организационном и технологическом управлении; — проектирование или выработка четких предписаний по построению объектов, удовлетворяющих поставленным требованиям; — автоматическое управление (регулирование); — обучение пользователей. По предметной области наибольшее количество экспертных систем используется в военном деле, геологии, инженерном деле, информатике, космической технике, математике, медицине, метеорологии, промышленности, сельском хозяйстве, управлении процессами, физике, филологии, химии, электронике, юриспруденции. Классификация экспертных систем по методам представления знаний делит их на традиционные и гибридные. Традиционные экспертные системы используют, в основном, эмпирические модели представления знаний и исчисление предикатов первого порядка. Гибридные экспертные системы используют все доступные методы, в том числе оптимизационные алгоритмы и концепции баз данных. Простые ЭС — могут быть охарактеризованы следующим набором основных параметров: поверхностная ЭС, автономная ЭС (реже гибридная); выполненная па ПЭВМ; от 200 до 1000 правил. Сложные ЭС — характеризуется таким набором параметров: глубинная ЭС, гибридная ЭС, выполненная либо на символьной ЭВМ, либо на мощной универсальной ЭВМ, либо на интеллектуальной рабочей станции; от 1500 до 10000 правил. Автономные ЭС — поддерживают только режим консультации по поводу каких-либо ситуаций на основе имеющихся знаний в данной ПО. Интегрированные (или гибридные) ЭС — содержат в себе прикладные подсистемы целевого назначения (обработки прикладной информации) или являются частью больших интегрированных многофункциональных пакетов, выполняя экспертизу ситуации, данные о которой могут быть получены, обработаны и использованы другими подсистемами. Следует отметить, что процесс проектирования интегрированных ЭС на порядок превышает по сложности процесс проектирования автономных ЭС, поскольку в этом случае встает вопрос о концептуальной совместимости технологий обработки информации в рамках каждой из подсистем и разработки принципов и методов их взаимодействия. Поверхностные экспертные системы представляют знания в виде правил «если -то». Условием выводимости решения является безобрывность цепочки правил. Глубинные экспертные системы обладают способностью при обрыве цепочки правил определять (на основе метазнаний) какие действия следует предпринять для продолжения решения задачи. Кроме того, к сложным относятся предметные области, в которых текст записи одного правила на естественном языке занимает более 1/3 страницы./47/ Классификация экспертных систем по динамичности делит экспертные системы на статические, динамические и квазидинамически. Квазидинамические — интерпретируют ситуацию по совокупности отсчетов (измерений), поступающих дискретно, через заданные отсчеты времени, и анализируют динамику изменения показателей исследуемого процесса. Это системы управления и оценки состояния химических и биологических производств. Предметная область называется статической, если описывающие ее исходные данные не изменяются во времени. Статичность области означает неизменность описывающих ее исходных данных. При этом производные данные (выводимые из исходных) могут и появляться заново, и изменяться (не изменяя, исходных данных). Если исходные данные, описывающие предметную область, изменяются за время решения задачи, то предметную область называют динамической. На рисунке 2 представлена структура экспертной системы динамического типа. Механизм логического вывода (МЛВ) предназначен для получения новых фактов на основе сопоставления исходных данных из рабочей памяти и знаний из базы знаний. Механизм логического вывода во всей структуре экспертной системы занимает наиболее важное место. Рабочая память предназначена для хранения исходных и промежуточных фактов решаемой в текущий момент задачи. Как правило, размещается в оперативной памяти ЭВМ и отражает текущее состояние предметной области в виде фактов с коэффициентами уверенности (КУ) в истинности этих фактов. База знаний предназначена для хранения долгосрочных фактов, описывающих рассматриваемую область, правил, описывающих отношения между этими фактами и других типов декларативных знаний о предметной области. Кроме правил и фактов, образующих декларативную часть базы знаний, в нее может входить процедурная часть – множество функций и процедур, реализующих оптимизационные, расчетные и другие требуемые алгоритмы. Подсистема приобретения и пополнения знаний автоматизирует процесс наполнения экспертной системы знаниями, осуществляемый пользователем-экспертом, и адаптации базы знаний системы к условиям ее функционирования. Адаптация экспертной системы к изменениям в предметной области реализуется путем замены правил или фактов в базе знаний. Подсистема объяснения объясняет, как система получила решение задачи (или почему она не получила решения) и какие знания она при этом использовала, что облегчает эксперту тестирование системы и повышает доверие пользователя к полученному результату. Структура экспертной системы была бы неполной без подсистемы диалога. Подсистема диалога ориентирована на организацию дружественного интерфейса со всеми категориями пользователей как в ходе решения задач, так и в ходе приобретения знаний и объяснения результатов работы. Рисунок 2 — Структура экспертной системы динамического типа Стандартная статическая экспертная система состоит из следующих основных компонентов: — рабочей памяти, называемой также базой данных; — базы знаний; — решателя, называемого также интерпретатором; — компонентов приобретения знаний; — объяснительного компонента; — диалогового компонента. Решатель, называемый также интерпретатором, функционирует следующим образом: используя исходные данные из рабочей памяти и долгосрочные данные из базы знаний, он формирует правила, применение которых к исходным данным приводит к решению задачи. Одним словом, он действительно «решает» поставленную перед ним задачу./51/ Рисунок 3 — Статическая экспертная система 1.3 Постановка задачи В различных организациях сотрудники, в соответствии с законодательством, должны проходить обучение по электробезопасности с целью повышения квалификации персонала. Это актуально для специалистов в различной сфере занятости, начиная от руководителей и заканчивая рядовыми сотрудниками. Необходимыми знаниями, как теоретическими, так и практическими должны обладать сотрудники не только профильных организаций, но и тех предприятий, где электротехническое оборудование задействовано минимально. В действующих нормах и правилах работы электроустановок установлена пятибалльная система проверки знаний сотрудников предприятий. По учебным программам и аттестационным тестам, дающим допуск по электробезопасности, обучение предусмотрено для всех групп, от низшей первой до высшей пятой. В зависимости от того, какие задачи выполняет организация, персоналу присваиваются соответствующие группы допуска. Положения о порядке присвоения таких групп разработаны и прописаны в Правилах эксплуатации электрооборудования, в Межотраслевых правилах охраны труда и безопасности на производстве и в других нормативных актах и документах, регламентирующих работу персонала с техническими и технологическими электроприборами. Данная разрабатываемая экспертная система ориентирована на обучение персонала по электробезопасности при эксплуатации оборудования. Использование ЭС позволяет получить ряд существенных преимуществ. Прежде всего — это индивидуальный процесс обучения, при котором человек сам задает темп своего обучения. При этом ЭС требует ответа в активной форме и незамедлительно дает подтверждение его правильности, а если ответ неправильный — объясняет ошибку. Ее постоянство – человеческая компетенция со временем может ослабевать, это может быть связано с перерывом в деятельности человека, что серьезно отражается на его профессиональных качествах. Устойчивость или воспроизведение результатов – результаты ЭС стабильны, в отличии от результатов человека-эксперта. Стоимость – ЭС обходится намного дешевле, чем привлечение человека-эксперта. УИТС.161ХХХ.175 ПЗ ЛистИзм.Лист № документаПодписьДата 22
Искусственный интеллект на практике: создаём экспертную систему для приготовления шашлыка
В статье на примере советов по приготовлению шашлыка описаны основные принципы работы экспертных систем: от создания базы знаний и до релиза.
Рассказывает Юрий Дубровских
Экспертные системы — это вычислительные системы, способные в определённой предметной области принимать решения, схожие с решениями экспертов-людей.
Выглядит это примерно так: система задаёт ряд вопросов, причём последующие вопросы зависят от полученных ответов. Затем система делает вывод и показывает всю цепочку рассуждений, которая к нему привела. То есть знания и опыт эксперта тиражируются, а что не менее важно — тиражируется сам ход его рассуждений.
Кроме того, можно применить несколько интересных особенностей. Например, система может сделать не один вывод, а перечислить варианты с разной степенью вероятности. Можно учитывать различные виды нечётких данных — если пользователь не знает ответы на некоторые вопросы или что-то предполагает. Вместо пользователя система может опрашивать датчики или брать информацию из разных источников. Продвинутые системы могут самообучаться, то есть выявлять закономерности во время сеансов работы и генерировать новые знания.
Таким образом, экспертные системы могут применяться для довольно широкого круга задач:
- интерпретация, т. е. описание ситуации по наблюдаемым данным, определение смысла данных;
- диагностика — заключение о нарушениях в системе, составленное на основе наблюдений;
- отладка, исправление неисправностей — составление рекомендаций и выполнение последовательности действий по устранению неисправностей в системе;
- мониторинг — непрерывное сравнение результатов наблюдений с критическими точками плана;
- прогноз — предсказание будущих событий на основе анализа имеющихся данных о прошлом и настоящем;
- проектирование, конструирование — подготовка спецификаций для создания объектов с заранее определёнными свойствами;
- планирование — нахождение плана действий для достижения заранее поставленной цели;
- обучение какой-либо дисциплине или приёмам использования чего-либо;
- управление — решение задач проектирования и планирования, а также интерпретации и диагностики с корректировкой имеющихся планов;
- поддержка принятия решений — помощь в формировании или выборе варианта действий среди множества альтернатив.
Конечно, есть и ограничения. Во-первых, использовать экспертные системы есть смысл только в довольно узких предметных областях, где трудно найти экспертов и легче использовать компьютерную систему. Во-вторых, они не подходят для тех областей, в которых эксперты руководствуются не столько своими знаниями, сколько здравым смыслом, то есть сведениями из общей области знаний, не связанной с конкретным предметом. Также к недостаткам экспертных систем можно отнести то, что они плохо соотносятся с реляционными базами данных, к которым мы все так привыкли.
Тем не менее, в настоящее время существует и используется довольно много экспертных систем в сфере медицины, химии и военного дела. Вот некоторые примеры:
- Система по глобальной онтологии;
- Акинатор — система, которая отгадывает загаданного вами персонажа;
- MYCIN — выбор антимикробной терапии в условиях стационара;
- DENDRAL — химический анализ сложных молекул;
- поговаривают также, что отечественная система «Периметр», предназначенная для ответного удара в случае уничтожения командных пунктов, оснащена экспертной системой (которая и принимает решение о нанесении удара).
Попробуем создать небольшую экспертную систему. Для первого раза возьмём тренировочную предметную область. Хороший способ убедиться, что искусственный интеллект своими руками — это просто.
Не секрет, что в летний сезон в России ожидается резкий рост количества экспертов по приготовлению шашлыка. Думаю, многим знакома ситуация, когда кто-то один готовит шашлык а несколько людей стоят вокруг и дают советы и вообще высказывают своё экспертное мнение. Поведение таких шашлычных экспертов мы и попытаемся сымитировать.
Немного теории
Для начала разберёмся, что нам предстоит сделать.
Итак, экспертная система состоит из нескольких основных компонентов:
- база знаний;
- механизм логического вывода (МЛВ);
- компонента объяснения.
База знаний
База знаний — это, можно сказать, сердце экспертной системы. Знание — это информация вместе со способом её интерпретации, то есть это более высокий уровень информации. Система, обладающая знаниями, может не только выдавать информацию, но и объяснять её смысл и происхождение. Описание способа интерпретации называется метаданными.
Зачастую вся сложность создания экспертной системы заключается в формировании базы знаний. Этим занимаются специально обученные люди — инженеры по знаниям. Совместно с одним или несколькими экспертами они формулируют правила, имеющиеся в предметной области, и заносят их в определённом виде в базу знаний. В промышленных системах количество правил может исчисляться тысячами. При этом связи в предметной области могут быть такими запутанными и даже противоречивыми, что незначительная модификация базы знаний, например изменение порядка следования двух правил, может вызвать кардинальные изменения в работе всей системы.
Отдельная трудность заключается в самом общении с экспертами. Эксперты могут расходиться во мнениях и устраивать принципиальные споры. Кстати, поэтому предпочтительно использовать экспертные системы для тех областей знаний, которые уже устоялись. Кроме того, эксперты могут применять какие-то правила неосознанно или даже намеренно что-то скрывать. Остаётся только пожелать инженерам по знаниям, чтобы они держались.
Получаемая при этом база знаний может быть представлена в различных видах. Это может быть, к примеру, семантическая сеть. Но более классический вариант — набор продукционных правил (продукций). Продукционное правило — это правило вида ЕСЛИ ТО . Формулируя на естественном языке: если мясо жарится долго, оно приготовилось. Где же тут действие, спросите вы. Обо всём по порядку. Посмотрим на структуру правила более пристально.
И условие, и действие содержат в себе некие факты. Факт сам по себе может быть истинным или ложным, а также мы можем не иметь данных о его истинности. Факт может иметь определённую степень уверенности, например мы не знаем, что значит «долго» в контексте приготовления шашлыка, но кажется, что жарится уже довольно давно. Состоит факт из переменной и значения. Значение берётся из множества возможных значений — домена переменной. То есть наше условие «мясо жарится долго» можно переписать в виде: Время жарки = долго, где «время жарки» — переменная, а «долго» — значение. Если все возможные вопросы относительно времени жарки будут иметь ответ только «долго» и «недолго» — это и будет домен этой переменной.
Действие представляет собой присвоение истинности некоторому факту. То есть вместо человеческого «оно приготовилось», в ходе работы правила факт Мясо готово = да помечается как истинный.
Ещё раз посмотрим на то, что получилось из простого предложения эксперта. Из начального Если мясо жарится долго, оно приготовилось получается:
Переменные:
- Время жарки (домен: долго, недолго).
- Мясо готово (домен: да, нет).
Правило:
Если факт «время жарки = долго» — истинный, то факт «мясо готово = да» пометить как истинный.
Конечно, если мясо долго жарится, ещё нельзя уверенно утверждать, что оно готово, может быть, угли холодные. Но в нашем примере мы закроем на это глаза и не будем использовать степень уверенности в фактах.
Так, изучая высказывания экспертов, инженеры по знаниям выделяют имеющиеся в предметной области сущности и формируют правила. Что же с этими правилами происходит дальше?
Механизм логического вывода
После того как база знаний сформирована, можно задавать вопросы системе. Механизм логического вывода обеспечивает поиск ответов на эти вопросы. Вопрос задаёт цель консультации, в общем случае это определение значения какой-либо переменной. В нашем примере мы хотим понять, что же делать с шашлыком, то есть целью консультации будет значение переменной Действие с шашлыком. Возможными вариантами будут ждать, перевернуть или снимать.
На первом шаге механизм находит в базе знаний все правила, в которых переменная-цель присутствует в качестве вывода, не важно, с каким значением. Теперь каждое правило, если они нашлись, по очереди (именно поэтому важен порядок следования правил) проверяются до первого сработавшего. То есть до того, все условия которого окажутся истинными. Для проверки правила берутся все его условия и, опять же, по очереди проверяются — объявляются целью консультации, и алгоритм запускается для них с первого шага.
Не для всех переменных существуют правила, которые их определяют. Некоторые запрашиваются из внешних источников, в простейшем случае — у пользователя. Переменные, которые определяются правилами, называются выводимыми, а определяемые пользователем во время консультации — запрашиваемыми. Тип переменной определяется ещё на этапе формирования базы знаний, и для запрашиваемых должны быть заданы способы определения, например сформулирован вопрос для пользователя. Если пользователь не может ответить или для выводимой переменной не нашлось правил, или ни одно из правил не сработало — переменная остаётся без значения, а пользователь — без установленной истины.
Существуют ещё выводимо-запрашиваемые переменные. Для них существуют и правила вывода, и вопрос пользователю. Сначала механизм логического вывода пытается определить такие переменные с помощью правил, а если не получается — задаёт вопрос.
Компонента объяснения
Ещё одна немаловажная часть экспертной системы. Именно объяснение хода рассуждений и обоснование выводов выгодно отличают экспертную систему от других отраслей искусственного интеллекта.
На этапе формирования базы знаний в качестве метаданных к правилам прилагаются их объяснения на естественном языке. После консультации система может показать все сработавшие правила вместе с этими пояснениями. Комментарии можно также добавлять к отдельным фактам или переменным.
В итоге мы узнаём не только что надо перевернуть шашлык, но и почему нужно это сделать.
Это очень серьёзное преимущество для систем поддержки принятия решений и для других применений экспертных систем. Некоторые промышленные системы в качестве результата дают несколько ответов с пояснениями и степенями вероятности.
Переход к практике
Механизм логического вывода и компонента объяснения не относятся к конкретной экспертной системе. Они используют правила и метаданные базы знаний, но представляют собой скорее оболочку для экспертных систем. Имея такую оболочку, можно конструировать различные системы, создавая только базы знаний. Возможно, потребуются какие-то настройки в механизме логического вывода, но в целом оболочка может использоваться в любой предметной области.
Оболочка экспертной системы
Конечно, существует множество готовых оболочек. Они предоставляют различные возможности и различные способы формирования базы знаний. Однако, я достаточно жаден, чтобы не использовать платные решения и достаточно высокомерен, чтобы из бесплатных ни одно меня не устроило.
Ещё в студенческие годы мне довелось написать оболочку для экспертной системы. Конечно, она далеко не идеальна, ни с точки зрения кода, ни с точки зрения пользовательского интерфейса. Но во-первых, она работает. По крайней мере для небольших задач, как наша, она вполне годится для примера. Во-вторых, как ни странно, та же Википедия называет одним из основных недостатков экспертных систем отсутствие графического пользовательского интерфейса (взаимодействие обычно идёт через терминал). Так что наличие какого бы то ни было интерфейса (который у меня есть) — уже достаточный вклад в отрасль.
Далее я опишу схему данных и основной алгоритм работы механизма логического вывода в собственной оболочке, и дальнейшее создание экспертной системы буду показывать именно в ней. Вам же предлагаю на выбор — поискать оболочки в интернете (например можно взять эту в Википедии, а вот и ссылка на сам проект), воспользоваться моей.
Модель данных можно использовать самую простую, как в теории:
- Domain (Домен):Имя.Список значений.
- Variable:Имя.Домен.Тип (выводимая, запрашиваемая, выводимо-запрашиваемая).Вопрос для пользователя.Объяснение.
- Fact:Переменная.Значение.Истинность (неизвестно, истинный, ложный).
- Rule:Список фактов-условий.Факт-вывод.Результат (не сработало, сработало и вывод признан истинным, сработало и не привело к получению значения переменной).
В режиме проектирования базы знаний пользователь может завести все эти данные. Затем он переходит в режим консультации. Выбирается цель консультации, и запускается процедура GoConsult . Вот схема её работы:
Как видно, эта процедура вызывает проверку правил DoRule , её тоже рассмотрим подробно:
DoRule в свою очередь вызывает GoConsult , то есть алгоритм получается косвенно-рекурсивным. А в результате мы получаем факт — значение искомой переменной, которое введено пользователем или получено из базы знаний, или отсутствие значения, если истину определить не удалось.
Теперь, когда у нас есть модель данных и алгоритм, можем переходить к самому интересному — проектированию базы знаний.
База знаний
Что ж, начнём записывать в систему свои знания о шашлыке. При этом нужно помнить несколько вещей:
- Согласно алгоритму логического вывода, все условия в правиле объединены через И. Чтобы использовать ИЛИ, нужно создать несколько правил.
- Создать нужно не только подтверждающие что-то правила, но и противоположные. Например, если мы создаём правило ЕСЛИ Время жарки = Долго И Степень поджарки = Поджаристое, ТО Готово = Да, мы должны создать ещё такие правила: ЕСЛИ Время жарки = Только положили ТО Готово = Нет и ЕСЛИ Степень поджарки = Ещё сырое, ТО Готово = Нет.
- Важен порядок правил в базе знаний.
Нужно формализовать свои знания о шашлыке и представить в виде модели базы знаний, то есть выделить домены, переменные и правила. Чтобы было легче сформировать набор правил, да ещё и в нужном порядке, можно составить их графическое представление. У меня получилась довольно дикая, боюсь, понятная только мне схема:
Вершины определяют список переменных и возможных значений, а также какие переменные будут запрашиваемыми, а какие выводимыми. Дуги указывают на некоторые связи, из которых впоследствии получаются правила. Здесь я предположил, что мы будем жарить курицу или свинину, а система может подсказать три действия — ждать, перевернуть, снимать. Исходя из вашего опыта, вы можете сделать другие правила, расширить или переделать эту базу знаний. Вообще говоря, этим база знаний и хороша, что её ещё долго можно расширять, включая новые виды мяса, предполагаемые действия, обстоятельства и так далее. Пока же у меня получилось 27 правил:
В промышленных системах количество правил может исчисляться тысячами. Для нашей тренировочной области пока попробуем чуть меньше. Итак, запустим консультацию и посмотрим, что нам посоветует система.
Я сказал, что жарю свинину минут 10, и система посоветовала подождать ещё, и вот почему:
Когда смотришь на объяснение, как-то даже легче смириться с тем, что надо ещё ждать. Можно поэкспериментировать, запуская консультацию и по-разному отвечая на вопросы. Возможно, в каких-то случаях истина установлена не будет — значит, надо дополнить базу знаний новыми правилами.
Вот и всё, искусственный интеллект — система поддержки принятия решений в узкой предметной области — создан. Конечно, он не учитывает многие факторы, нечёткости и так далее. В базе знаний нет сведений о том, как захватить мир, и в отличие от некоторых промышленных систем, наша не способна анализировать консультации и сама генерировать новые правила. Но с шашлычными экспертами, которые будут кучковаться летом вокруг мангала, она уже вполне может поспорить.
Основу любой интеллектуальной экспертной системы. Классы экспертных систем
Экспертные системы — это сложные программные комплексы, аккумулирующие знания специалистов в конкретных предметных областях и тиражирующие этот эмпирический опыт для консультаций менее квалифицированных пользователей.
Области применения систем, основанных на знаниях, весьма разнообразны: бизнес, производство, военные приложения, медицина, социология, геология, космос, сельское хозяйство, управление, юриспруденция и др.
Системы, основанные на знаниях (СОЗ) — это системы программного обеспечения, основными структурными элементами которых являются база знаний и механизм логических выводов . Среди СОЗ можно выделить:
- интеллектуальные информационно-поисковые системы;
- экспертные системы (ЭС).
Интеллектуальные информационно-поисковые системы отличаются от предыдущего поколения информационно-поисковых систем не только гораздо более обширным справочно-информационным фондом, но и важнейшей способностью формировать адекватные ответы на запросы пользователя даже тогда, когда запросы не носят прямого характера.
Наиболее известным практическим примером СОЗ могут служить экспертные системы, способные диагностировать заболевания, оценивать потенциальные месторождения полезных ископаемых, осуществлять обработку естественного языка, распознавание речи и изображений и т.д. Экспертные системы являются первым шагом в практической реализации исследований в области искусственного интеллекта
Базовая структура экспертной системы приведена на рисунке ниже.
Структурные элементы, составляющие экспертную систему, выполняют следующие функции.
База знаний реализует функции представления знаний в конкретной предметной области и управление ими.
Механизм логических выводов выполняет логические выводы на основании знаний, имеющихся в базе знаний.
Пользовательский интерфейс необходим для правильной передачи ответов пользователю, иначе пользоваться системой крайне неудобно.
Модуль приобретения знаний необходим для получения знаний от эксперта, поддержки базы знаний и дополнения ее при необходимости.
Модуль ответов и объяснений формирует заключение экспертной системы и представляет различные комментарии, прилагаемые к заключению, а также объясняет мотивы заключения.
Структура экспертной системы.
Перечисленные структурные элементы являются наиболее характерными, хотя в реальных экспертных системах их функции могут быть соответствующим образом усилены или расширены.
Знания в базе знаний представлены в конкретной форме и организация базы знаний позволяет их легко определять, модифицировать и пополнять. Решение задач с помощью логического вывода на основе знаний хранящихся в базе знаний, реализуется автономным механизмом логического вывода. Хотя оба эти компонента системы с точки зрения ее структуры являются независимыми, они находятся в тесной связи между собой и определение модели представления знаний накладывает ограничения на выбор соответствующего механизма логических выводов.
Преимущества экспертных систем :
- Постоянство . Экспертные системы ничего не забывают в отличие от человека-эксперта.
- Воспроизводимость . Можно сделать любое количество копий экспертной системы, а обучение новых экспертов отнимает много времени и средств.
- Эффективность. Может увеличить производительность и уменьшать затраты персонала.
- Постоянство . С использованием экспертных системам подобные транзакции обрабатываются одним и тем же способом. Система будет делать сопоставимые рекомендации для похожих ситуаций.
- Влияние на людей . Новый эффект (самая современная информация, имеющая влияние на здравый смысл). Главный эффект (ранняя информация доминирует над здравым смыслом).
- Документация. Экспертная система может документировать процесс решения.
- Законченность . Экспертная система может выполнять обзор всех транзакций, a человек-эксперт сможет сделать обзор только отдельной выборки.
- Своевременность . Погрешности в конструкциях и-или могут быть своевременно найдены.
- Широта . Могут быть объединены знания многих экспертов, что дает системе больше широты, чем с вероятно может достичь один человек.
- Снижение риска ведения дела благодаря последовательности принятия решения документированности и компетентности.
Недостатки экспертных систем:
- Здравый смысл . В дополнение к широкому техническому знанию, человек-эксперт имеет здравый смысл. Еще не известно, как заложить здравый смысл в экспертные системы.
- Творческий потенциал . Человек-эксперт может реагировать творчески на необычные ситуации, экспертные системы не могут.
- Обучение . Человек-эксперт автоматически адаптируются к изменению среды; экспертные системы нужно явно модифицировать.
- Сенсорный опыт . Человек-эксперт располагает широким диапазоном сенсорного опыта; экспертные системы в настоящее время основаны на вводе символов.
Экспертные системы не хороши, если решения не существует или когда проблема лежит вне области их компетенции.
Класс экспертных систем сегодня объединяет несколько тысяч различных программных комплексов, которые можно классифицировать по различным критериям: решаемая задача, связь с реальным временем, тип ЭВМ, степень интеграции.
Методология разработки экспертных систем
Разработка интеллектуальных информационных систем отличается от создания обычного программного продукта. Опыт разработки ранних экспертных систем показал, что использование традиционной технологии программирования либо чрезмерно затягивает процесс разработки, либо вообще приводит к отрицательному результату. Это связано главным образом с необходимостью модифицировать принципы и способы построения по мере того, как увеличивается знание разработчиков о проблемной области.
Известно, что большая часть знаний в конкретной предметной области остается личной собственностью эксперта. Наибольшую проблему при разработке экспертной системы представляет процедура получения знаний у эксперта и занесения их в базу знаний, называемая извлечением знаний. Это происходит не потому, что он не хочет разглашать своих секретов, а потому, что не в состоянии сделать это — ведь эксперт знает гораздо больше, чем сам осознает. Для выявления знаний эксперта и их формализации на протяжении всего периода разработки с ним взаимодействует инженер по знаниям.
Чтобы избежать дорогостоящих и безуспешных попыток, был разработан набор рекомендаций для того, чтобы определить, является ли проблема подходящей для решения с помощью экспертной системы:
- Потребность в решении должна соответствовать затратам на ее разработку. Суммы затрат и полученная выгода должны быть реалистическими.
- Невозможно использовать знания человека-эксперта там, где это необходимо. Если «экспертные» знания широко распространены, то маловероятно, что стоит разрабатывать экспертную систему. Однако в таких областях как разведка нефти и медицина могут быть редкие специализированные знания, которыми можно недорого снабдить экспертную систему, и не использовать очень высоко оплачиваемого эксперта.
- Проблема может быть решена с использованием символических методов рассуждения.
- Проблема хорошо структурирована и не требует применения знаний, основанных на здравом смысле. Знания, основанные на здравом смысле, хорошо известны, поэтому их незачем фиксировать и представлять.
- Проблема не может быть легко решена с использованием более традиционных вычислительных методов. Если имеется хорошее алгоритмическое решение проблемы, не следует использовать экспертную систему.
- Существуют эксперты в данной проблемной области. Поскольку экспертная система проектируется для успешной работы, весьма существенно, чтобы эксперты желали помогать при ее проектировании, а не считали, что их работе угрожают. Кроме того необходима поддержка администрации и потенциальных пользователей.
- Проблема имеет подходящий размер и область применения. Как правило, проблема требует применения знаний высоко специализированных экспертов, но человек-эксперт должен тратить на ее решение короткое время, максимум час.
В настоящее время сложилась последовательность действий при разработке экспертных систем. Она включает следующие этапы: идентификация, получение знаний, концептуализация, формализация, выполнение, тестирование и опытная эксплуатация.
Рис. 10.2. Технология разработки экспертных систем
Идентификация
Этап идентификации связан, прежде всего, с осмыслением тех задач, которые предстоит решать будущей экспертной системе, и формированием требований к ней. На этом этапе планируется ход разработки прототипа системы, определяются источники знаний (книги, эксперты, методики), цели (распространение опыта, автоматизация рутинных операций), классы решаемых задач и т.д. Результатом идентификации является ответ на вопрос, что надо сделать и какие ресурсы необходимо задействовать.
Получение знаний
При решении проблемы получения знаний выделяют три стратегии: приобретение знаний, извлечение знаний и обнаружение знаний.
Под приобретением (acquisition) знаний понимается способ автоматизированного наполнения базы знаний посредством диалога эксперта и специальной программы.
Извлечением (elicitation) знаний называют процедуру взаимодействия инженера по знаниям с источником знаний (экспертом, специальной литературой и др.) без использования вычислительной техники.
Термины «обнаружение знаний» (knowledge discovery), а также Data Mining связывают с созданием компьютерных систем, реализующие методы автоматического получения знаний.
Концептуализация
На этапе концептуализации проводится содержательный анализ проблемной области, выявляются используемые понятия и их взаимосвязи, определяются методы решения задач. Этот этап завершается созданием модели предметной области, включающей основные концепты и отношения. Модель представляется в виде графа, таблицы, диаграммы или текста.
Формализация
На этапе формализации все ключевые понятия и отношения выражаются на некотором формальном языке, который выбирается из числа уже существующих, либо создается заново. Другими словами, на данном этапе определяется состав средств и способы представления декларативных и процедурных знаний, осуществляется это представление и в итоге создается описание решения задачи экспертной системы на выбранном формальном языке.
Выполнение (реализация)
На этапе выполнения создается один или несколько реально работающих прототипов экспертной системы. Для ускорения этого процесса в настоящее время широко применяются различные инструментальные средства.
Тестирование
На данном этапе оценивается и проверяется работа программы прототипа с целью приведения ее в соответствие с реальными запросами пользователей. Прототип проверяется по следующих основным позициям:
- удобство и адекватность интерфейсов ввода-вывода (характер вопросов в диалоге, связность выводимого текста результата и др.);
- эффективность стратегии управления (порядок перебора, использование нечеткого вывода и т.д.);
- корректность базы знаний (полнота и непротиворечивость правил).
Задача стадии тестирования — выявление ошибок и выработка рекомендаций по доводке прототипа экспертной системы до промышленного образца.
Опытная эксплуатация
На этапе опытной эксплуатации проверяется пригодность экспертной системы для конечного пользователя. Пригодность определяется в основном удобством и полезностью разработки. Под полезностью понимается способность экспертной системы определять в ходе диалога потребности пользователя, выявлять и устранять причины неудач в работе, а также удовлетворять указанные потребности пользователя (решать поставленные задачи). Удобство работы подразумевает естественность взаимодействия с экспертной системой, гибкость (способность системы настраиваться на различных пользователей, а также учитывать изменения в квалификации одного и того же пользователя) и устойчивость системы к ошибкам (способность не выходить из строя при ошибочных действиях пользователя).
После успешного завершения этапа опытной эксплуатации экспертная система классифицируется как коммерческая система, пригодная не только для собственного использования, но и для продажи различным потребителям.
Инструментальные средства построения экспертных систем
В настоящее время имеются средства, ускоряющие проектирование и разработку ЭС. Их называют инструментальными средствами , или просто инструментарием. Иными словами, под инструментальными средствами понимают совокупность аппаратного и программного обеспечения, позволяющего создавать прикладные системы, основанные на знаниях.
Среди программных инструментальных средств выделяют следующие большие группы:
- символьные языки программирования (LISP, INTERLISP, SMALLTALK);
- языки инженерии знаний, то есть языки программирования, позволяющие реализовать один из способов представления знаний (OPS5, LOOPS, KES, Prolog);
- оболочки экспертных систем (или пустые экспертные системы), то есть системы, не содержащие знаний ни о какой предметной области (EMYCIN, ЭКО, ЭКСПЕРТ, EXSYS RuleBook, Expert System Creator и др.)
Экспертная система — это система искусственного интеллекта, построенная на основе глубоких специальных знаний о некоторой предметной области (полученных от экспертов-специалистов этой области). Экспертные системы – один из немногих видов систем искусственного интеллекта, которые получили широкое распространение и нашли практическое применение. Существуют экспертные системы по военному делу, геологии, инженерному делу, информатике, космической технике, математике, медицине, метеорологии, промышленности, сельскому хозяйству, управлению, физике, химии, электронике, юриспруденции и т.д. И только то, что экспертные системы остаются весьма сложными, дорогими, а главное, узкоспециализированными программами, сдерживает их еще более широкое распространение.
Технология экспертных систем является одним из направлений новой области исследования, которая получила наименование искусственного интеллекта (Artificial Intelligence — AI). Исследования в этой области сконцентрированы на разработке и внедрении компьютерных программ, способных эмулировать (имитировать, воспроизводить) те области деятельности человека, которые требуют мышления, определенного мастерства и накопленного опыта. К ним относятся задачи принятия решений, распознавания образов и понимания человеческого языка. Эта технология уже успешно применяется в некоторых областях техники и жизни общества — органической химии, поиске полезных ископаемых, медицинской диагностике. Перечень типовых задач, решаемых экспертными системами, включает:
- извлечение информации из первичных данных (таких как сигналы, поступающие от гидролокатора);
- диагностика неисправностей (как в технических системах, так и в человеческом организме);
- структурный анализ сложных объектов (например, химических соединений);
- выбор конфигурации сложных многокомпонентных систем (например, распределенных компьютерных систем);
- планирование последовательности выполнения операций, приводящих к заданной цели (например, выполняемых промышленными роботами).
Особенности экспертных систем
- компетентность – в конкретной предметной области экспертная система должна достигать того же уровня, что и специалисты-люди; при этом она должна пользоваться теми же эвристическими приемами, также глубоко и широко отражать предметную область;
- символьные рассуждения – знания, на которых основана экспертная система, представляют в символьном виде понятия реального мира, рассуждения также происходят в виде преобразовании символьных наборов;
- глубина – экспертиза должна решать серьезные, нетривиальные задачи, отличающиеся сложностью знаний, которые экспертная система использует, или обилием информации; это не позволяет использовать полный перебор вариантов как метод решения задачи и заставляет прибегать к эвристическим, творческим, неформальным методам;
- самосознание – экспертная система должна включать в себя механизм объяснения того, каким образом она приходит к решению задачи.
Экспертные системы создаются для решения разного рода проблем, но они имеют схожую структуру (рис. 8); основные типы их деятельности можно сгруппировать в категории, приведенные в табл. 2.
Рис. 1. Схема обобщенной экспертной системы
Таблица 1. Типичные категории способов применения экспертных систем
Категория | Решаемая проблема |
---|---|
Интерпретация | Описание ситуации по информации, поступающей от датчиков |
Прогноз | Определение вероятных последствий заданных ситуаций |
Диагностика | Выявление причин неправильного функционирования системы по наблюдениям |
Проектирование | Построение конфигурации объектов при заданных ограничениях |
Планирование | Определение последовательности действий |
Наблюдение | Сравнение результатов наблюдений с ожидаемыми результатами |
Отладка | Составление рецептов исправления неправильного функционирования системы |
Ремонт | Выполнение последовательности предписанных исправлений |
Обучение | Диагностика и исправление поведения обучаемого |
Управление | Управление поведением системы как целого |
Функции, выполняемые экспертной системой
Не всякую систему, основанную на знаниях, можно рассматривать как экспертную. Экспертная система должна также уметь каким-то образом объяснять свое поведение и свои решения пользователю, так же, как это делает эксперт-человек. Это особенно необходимо в областях, для которых характерна неопределенность, неточность информации (например, в медицинской диагностике). В этих случаях способность к объяснению нужна для того, чтобы повысить степень доверия пользователя к советам системы, а также для того, чтобы дать возможность пользователю обнаружить возможный дефект в рассуждениях системы. В связи с этим в экспертных системах следует предусматривать дружественное взаимодействие с пользователем, которое делает для пользователя процесс рассуждения системы «прозрачным».
Часто к экспертным системам предъявляют дополнительное требование — способность иметь дело с неопределенностью и неполнотой. Информация о поставленной задаче может быть неполной или ненадежной; отношения между объектами предметной области могут быть приближенными. Например, может не быть полной уверенности в наличии у пациента некоторого симптома или в том, что данные, полученные при измерении, верны; лекарство может стать причиной осложнения, хотя обычно этого не происходит. Во всех этих случаях необходимы рассуждения с использованием вероятностного подхода.
В самом общем случае для того, чтобы построить экспертную систему, мы должны разработать механизмы выполнения следующих функций системы:
- решение задач с использованием знаний о конкретной предметной области — возможно, при этом возникнет необходимость иметь дело с неопределенностью;
- взаимодействие с пользователем, включая объяснение намерений и решений системы во время и после окончания процесса решения задачи.
Каждая из этих функций может оказаться очень сложной и зависит от прикладной области, а также от различных практических требований. В процессе разработки и реализации могут возникать разнообразные трудные проблемы. Здесь мы ограничился наметками основных идей, подлежащих в дальнейшем детализации и усовершенствованию.
Структура экспертных систем
Рис.2. Архитектура экспертной системы
Классы экспертных систем
По степени сложности решаемых задач экспертные системы можно классифицировать следующим образом:
По способу формирования решения экспертные системы разделяются на два класса: аналитические и синтетические . Аналитические системы предполагают выбор решений из множества известных альтернатив (определение характеристик объектов), а синтетические системы — генерацию неизвестных решений (формирование объектов).
По способу учета временного признака экспертные системы могут быть статическими или динамическими . Статические системы решают задачи при неизменяемых в процессе решения данных и знаниях, динамические системы допускают такие изменения. Статические системы осуществляют монотонное непрерываемое решение задачи от ввода исходных данных до конечного результата, динамические системы предусматривают возможность пересмотра в процессе решения полученных ранее результатов и данных.
По видам используемых данных и знаний экспертные системы классифицируются на системы с детерминированными (четко определенными) знаниями и неопределенными знаниями . Под неопределенностью знаний (данных) понимается их неполнота (отсутствие), недостоверность (неточность измерения), двусмысленность (многозначность понятий), нечеткость (качественная оценка вместо количественной).
По числу используемых источников знаний экспертные системы могут быть построены с использованием одного или множества источников знаний . Источники знаний могут быть альтернативными (множество миров) или дополняющими друг друга (кооперирующими).
Наиболее известные/распространённые ЭС
- CLIPS — весьма популярная ЭС (public domain)
- OpenCyc — мощная динамическая ЭС с глобальной онтологической моделью и поддержкой независимых контекстов
- WolframAlpha — поисковая система, интеллектуальный «вычислительный движок знаний»
- MYCIN — наиболее известна диагностическая система, которая предназначена для диагностики и наблюдения за состоянием больного при менингите и бактериальных инфекциях.
- HASP/SIAP — интерпретирующая система, которая определяет местоположение и типы судов в тихом океане по данным
акустических систем слежения.
Этапы проектирования экспертной системы
В настоящее время сложилась определенная технология разработки ЭС, которая включает следующие шесть этапов:
-
Приемы Описание 1. Наблюдение Инженер наблюдает, не вмешиваясь, за тем, как эксперт решает реальную задачу 2. Обсуждение задачи Инженер на представительном множестве задач неформально обсуждает с экспертом данные, знания и процедуры решения 3. Описание задачи Эксперт описывает решение задач для типичных запросов 4. Анализ решения Эксперт комментирует получаемые результаты решения задачи, детализируя ход рассуждений 5. Проверка системы Эксперт предлагает инженеру перечень задач для решения (от простых до сложных),которые решаются разработанной системой 6. Исследование системы Эксперт исследует и критикует структуру базы знаний и работу механизма вывода 7. Оценка системы Инженер предлагает новым экспертам оценить решения разработанной системы Таблица 2 Первые два этапа разработки экспертной системы составляют логическую стадию, не связанную с применением четко определенного инструментального средства. Последующие этапы реализуются в рамках физического создания проекта на базе выбранного инструментального средства. Вместе с тем, процесс создания экспертной системы, как сложного программного продукта, имеет смысл выполнять методом прототипного проектирования, сущность которого сводится к постоянному наращиванию базы знаний, начиная с логической стадии.
Третий этап. Загрузка завершена. Как видно на рис.12.6 , в меню инструментов добавилась новая вкладка с названием «Advanced Process «.
Это напоминает загрузку тематических панелей в Visio . Однако ARENA — не «рисовалка», а мощное средство имитационного моделирования .
Программа ARENA позволяет создавать диаграммы, отражающие функционирование того или иного процесса. Процесс создания диаграмм во многом схож с таковым в MS Visio . Здесь также используется технология Drag and Drop , однако для некоторых процесс «рисования» в MS Visio будет более удобным и предпочтительным.
Центральным компонентом экспертной системы является база знаний, которая выступает по отношению к другим компонентам как содержательная подсистема, составляющая основную ценность.
База знаний — это совокупность единиц знаний, которые представляют собой формализованное с помощью некоторого метода представления знаний отражение объектов проблемной области и их взаимосвязей, действий над объектами и, возможно, неопределенностей, с которыми эти действия осуществляются .
В качестве методов представления знаний чаще всего используются либо правила, либо объекты (фреймы), либо их комбинация. Так, правила представляют собой конструкции:
Если То CF (фактор определенности)
В качестве факторов определенности (CF ), как правило, выступают либо условные вероятности байесовского подхода (от 0 до 1), либо коэффициенты уверенности нечеткой логики (от 0 до 100).
Примеры правил имеют следующий вид.
Правило 1: если Коэффициент рентабельности > 0.2, то Рентабельность = «удовлетворительна» CF 100.
Правило 2: если Задолженность = «нет» и Рентабельность = «удовлетворительна», то Финансовое состояние = «удовлетворительно» CF 80.
Правило 3: если Финансовое состояние = «удовлетворительно» и Репутация = «удовлетворительна», то Надежность предприятия = «удовлетворительна» CF 90.
Объекты представляют собой совокупность атрибутов, описывающих свойства и отношения с другими объектами. В отличие от записей баз данных, каждый объект имеет уникальное имя. Часть атрибутов отражают типизированные отношения, такие как «род — вид» (super-class — sub-class ), «целое — часть» и др. Вместо конкретных значений атрибутов объектов могут задаваться значения по умолчанию, присущие целым классам объектов, или присоединенные процедуры (process ).
Интеллектуальный интерфейс . Обмен данными между конечным пользователем и ЭС выполняет программа интеллектуального интерфейса, которая воспринимает сообщения пользователя и преобразует их в форму представления базы знаний и, наоборот, переводит внутреннее представление результата обработки в формат пользователя и выдает сообщение на требуемый носитель.
Важнейшим требованием к организации диалога пользователя с ЭС является естественность, которая не означает буквально формулирование потребностей пользователя предложениями естественного языка, хотя это и не исключается в ряде случаев .
Важно, чтобы последовательность решения задачи была гибкой, соответствовала представлениям пользователя и велась в профессиональных терминах.
Механизм вывода. Этот программный инструментарий получает от интеллектуального интерфейса преобразованный во внутреннее представление запрос, формирует из базы знаний конкретный алгоритм решения задачи, выполняет алгоритм, а полученный результат предоставляется интеллектуальному интерфейсу для выдачи ответа на запрос пользователя. В основе применения любого механизма вывода лежит процесс нахождения в соответствии с поставленной целью и описанием конкретной ситуации (исходных данных), относящихся к решению единиц знаний (правил, объектов, прецедентов и т.д.) и связыванию их при необходимости в цепочку рассуждений, приводящую к определенному результату. Для представления знаний в форме правил это может быть прямая или обратная цепочка рассуждений (рис.12.10 и рис.12.11).
Для объектно-ориентированного представления знаний характерно применение механизма наследования атрибутов, когда значения атрибутов передаются по иерархии от вышестоящих классов к нижестоящим. Также при заполнении атрибутов фрейма необходимыми данными запускаются на выполнение присоединенные процедуры.
Механизм объяснения. В процессе или по результатам решения задачи пользователь может запросить объяснение или обоснование хода решения. С этой целью ЭС должна предоставить соответствующий механизм объяснения.
Объяснительные способности ЭС определяются возможностью механизма вывода запоминать путь решения задачи. Тогда на вопросы пользователя «Как?» и «Почему?» получено решение или запрошены те или иные данные, и система всегда может выдать цепочку рассуждений до требуемой контрольной точки, сопровождая выдачу объяснения заранее подготовленными комментариями. В случае отсутствия решения задач объяснение должно выдаваться пользователю автоматически.
Полезно иметь возможность и гипотетического объяснения решения задачи, когда система отвечает на вопросы, что будет в том или ином случае. Однако не всегда пользователя интересует полный вывод решения, содержащий множество ненужных деталей. В этом случае система должна уметь выбирать из цепочки только ключевые моменты с учетом их важности и уровня знаний пользователя. Для этого в базе знаний необходимо поддерживать модель знаний и намерений пользователя.
Если же пользователю все еще не понятен полученный ответ, то система должна быть способна в диалоге на основе поддерживаемой модели проблемных знаний обучать пользователя тем или иным фрагментам знаний, т.е. раскрывать более подробно отдельные понятия и зависимости, если даже эти детали непосредственно в выводе не использовались.
Механизм приобретения знаний. База знаний отражает знания экспертов (специалистов) в данной проблемной области о действиях в различных ситуациях или процессах решения характерных задач. Выявлением подобных знаний и последующим их представлением в базе знаний занимаются специалисты, называемые инженерами знаний . Для ввода знаний в базу и их последующего обновления ЭС должна обладать механизмом приобретения знаний. В простейшем случае используется интеллектуальный редактор, который позволяет вводить единицы знаний в базу и проводить их синтаксический и семантический контроль, например, на непротиворечивость. В более сложных случаях инженер знаний должен из-влекать знания путем специальных сценариев интервьюирования экспертов, или из вводимых примеров реальных ситуаций, как в случае индуктивного вывода, или из текстов, или из опыта работы самой интеллектуальной системы .
Классы экспертных систем
По степени сложности решаемых задач экспертные системы можно классифицировать следующим образом .
По способу формирования решения экспертные системы разделяются на два класса: аналитические и синтетические . Аналитические системы предполагают выбор решений из множества известных альтернатив (оп-ределение характеристик объектов), а синтетические системы — генерацию неизвестных решений (формирование объектов).
По способу учета временного признака экспертные системы могут быть статическими или динамическими . Статические системы решают задачи при не изменяемых в процессе решения данных и знаниях, динамические системы допускают такие изменения. Статические системы осуществляют монотонное непрерываемое решение задачи от ввода исходных данных до конечного результата, динамические системы предусматривают возможность пересмотра в процессе решения полученных ранее результатов и данных.
По видам используемых данных и знаний экспертные системы классифицируются на системы с детерминированными (четко определенными) знаниями и неопределенными знаниями. Под неопределенностью знаний понимается их неполнота, недостоверность, двусмысленность, нечеткость.
По числу используемых источников знаний экспертные системы могут быть построены с использованием одного или множества источников знаний. Источники знаний могут быть альтернативными или дополняющими друг друга
В соответствии с перечисленными признаками классификации выделяются следующие основные классы экспертных систем (табл. 12.1 .).
Классифицирующие экспертные системы. Экспертные системы , решающие задачи распознавания ситуаций, называются классифицирующими, поскольку определяют принадлежность анализируемой ситуации к некоторому классу.
В качестве основного метода формирования решений используется метод логического дедуктивного вывода от общего к частному, когда путем подстановки исходных данных в некоторую совокупность взаимосвязанных общих утверждений получается частное заключение.
Доопределяющие экспертные системы . Более сложный тип аналитических задач представляют задачи, которые решаются на основе неопределенных исходных данных и применяемых знаний. В этом случае экспертная система должна как бы доопределять недостающие знания, а в пространстве решений может получаться несколько возможных решений с различной вероятностью или уверенностью в необходимости их выполнения.
В качестве методов работы с неопределенностями могут применяться байесовский вероятностный подход и нечеткая логика .
Доопределяющие экспертные системы могут использовать для формирования решения несколько источников знаний. В этом случае могут применяться эвристические приемы выбора единиц знаний из их конфликтного набора, например, на основе использования приоритетов важности, или получаемой степени определенности результата, или значений функций предпочтений и т.д.
Для аналитических задач классифицирующего и доопределяющего типов характерны следующие проблемные области .
- Интерпретация данных — выбор решения из фиксированного множества альтернатив на базе введенной информации о текущей ситуации. Основное назначение — определение сущности рассматриваемой ситуации, выбор гипотез, исходя их фактов. Типичным примером является экспертная система анализа финансового состояния предприятия.
- Диагностика — выявление причин, приведших к возникновению ситуации. Требуется предварительная интерпретация ситуации с последующей проверкой дополнительных фактов, например, выявление факторов снижения эффективности производства.
- Коррекция — диагностика, дополненная возможностью оценки и рекомендации действий по исправлению отклонений от нормального состояния рассматриваемых ситуаций.
Трансформирующие экспертные системы . В отличие от аналитических статических экспертных систем синтезирующие динамические экспертные системы предполагают повторяющееся преобразование знаний в процессе решения задач, что связано с характером результата, который нельзя заранее предопределить, а также с динамичностью самой проблемной области.
Для синтезирующих динамических экспертных систем наиболее применимы следующие проблемные области .
- Проектирование — определение конфигурации объектов с точки зрения достижения заданных критериев эффективности и ограничений, например, проектирование бюджета предприятия или портфеля инвестиций .
- Прогнозирование — предсказание последствий развития текущих ситуаций на основе математического и эвристического моделирования, например, прогнозирование трендов на биржевых торгах.
- Диспетчеризация — распределение работ во времени, составление расписаний, например, планирование графика освоения капиталовложений.
- Планирование — выбор последовательности действий пользователей по достижению поставленной цели, например, планирование процессов поставки продукции.
- Мониторинг — слежение за текущей ситуацией с возможной последующей коррекцией. Для этого выполняется диагностика, прогнозирование, а в случае необходимости — планирование и коррекция действий пользователей, например, мониторинг сбыта готовой продукции.
- Управление — мониторинг, дополненный реализацией действий в автоматических системах, например, принятие решений на биржевых торгах.
Многоагентные экспертные системы. Для таких динамических систем характерна интеграция в базе знаний нескольких разнородных источников знаний, обменивающихся между собой получаемыми результатами на динамической основе, например, через «доску объявлений».
Для многоагентных систем характерны следующие особенности:
- проведение альтернативных рассуждений на основе использования различных источников знаний с механизмом устранения про-тиворечий;
- распределенное решение проблем, которые разбиваются на параллельно решаемые подпроблемы, соответствующие самостоя-тельным источникам знаний;
- применение множества стратегий работы механизма вывода заключений в зависимости от типа решаемой проблемы;
- обработка больших массивов данных, содержащихся в базе данных;
- способность прерывания решения задач в связи с необходимостью получения дополнительных данных и знаний от пользователей, моделей, параллельно решаемых подпроблем.
По степени сложности решаемых задач экспертные системы можно классифицировать следующим образом:
- По способу формирования решения экспертные системы разделяются на два класса: аналитические и синтетические. Аналитические системы предполагают выбор решений из множества известных альтернатив (определение характеристик объектов), а синтетические системы — генерацию неизвестных решений (формирование объектов).
- По способу учета временного признака экспертные системы могут быть статическими или динамическими. Статические системы решают задачи при неизменяемых в процессе решения данных и знаниях, динамические системы допускают такие изменения. Статические системы осуществляют монотонное непрерываемое решение задачи от ввода исходных данных до конечного результата, динамические системы предусматривают возможность пересмотра в процессе решения полученных ранее результатов и данных.
- По видам используемых данных и знаний экспертные системы классифицируются на системы с детерминированными (четко определенными) знаниями и неопределенными знаниями. Под неопределенностью знаний (данных) понимается их неполнота (отсутствие), недостоверность (неточность измерения), двусмысленность (многозначность понятий), нечеткость (качественная оценка вместо количественной).
- По числу используемых источников знаний экспертные системы могут быть построены с использованием одного или множества источников знаний. Источники знаний могут быть альтернативными (множество миров) или дополняющими друг друга (кооперирующими).
В соответствии с перечисленными признаками классификации, как правило, выделяются следующие четыре основные класса экспертных систем
Классифицирующие экспертные системы. К аналитическим задачам прежде всего относятся задачи распознавания различных ситуаций, когда по набору заданных признаков (факторов) выявляется сущность некоторой ситуации, в зависимости от которой выбирается определенная последовательность действий. Таким образом, в соответствии с исходными условиями среди альтернативных решений находится одно, наилучшим образом удовлетворяющее поставленной цели и ограничениям.
Экспертные системы, решающие задачи распознавания ситуаций, называются классифицирующими, поскольку определяют принадлежность анализируемой ситуации к некоторому классу. В качестве основного метода формирования решений используется метод логического дедуктивного вывода от общего к частному, когда путем подстановки исходных данных в некоторую совокупность взаимосвязанных общих утверждений получается частное заключение.
Доопределяющие экспертные системы. Более сложный тип аналитических задач представляют задачи, которые решаются на основе неопределенных исходных данных и применяемых знаний. В этом случае экспертная система должна как бы доопределять недостающие знания, а в пространстве решений может получаться несколько возможных решений с различной вероятностью или уверенностью в необходимости их выполнения. В качестве методов работы с неопределенностями могут использоваться байесовский вероятностный подход, коэффициенты уверенности, нечеткая логика. Доопределяющие экспертные системы могут использовать для формирования решения несколько источников знаний. В этом случае могут использоваться эвристические приемы выбора единиц знаний из их конфликтного набора, например, на основе использования приоритетов важности, или получаемой степени определенности результата, или значений функций предпочтений и т.д.
Для аналитических задач классифицирующего и доопределяющего типов характерны следующие проблемные области:
- Интерпретация данных — выбор решения из фиксированного множества альтернатив на базе введенной информации о текущей ситуации. Основное назначение — определение сущности рассматриваемой ситуации, выбор гипотез, исходя их фактов. Типичным примером является экспертная система анализа финансового состояния предприятия.
- Диагностика — выявление причин, приведших к возникновению ситуации. Требуется предварительная интерпретация ситуации с последующей проверкой дополнительных фактов, например, выявление факторов снижения эффективности производства.
- Коррекция — диагностика, дополненная возможностью оценки и рекомендации действий по исправлению отклонений от нормального состояния рассматриваемых ситуаций.
Трансформирующие экспертные системы . В отличие от аналитических статических экспертных систем синтезирующие динамические экспертные системы предполагают повторяющееся преобразование знаний в процессе решения задач, что связано с характером результата, который нельзя заранее предопределить, а также с динамичностью самой проблемной области.
В качестве методов решения задач в трансформирующих экспертных системах используются разновидности гипотетического вывода:
- генерации и тестирования, когда по исходным данным осуществляется генерация гипотез, а затем проверка сформулированных гипотез на подтверждение поступающими фактами;
- предположений и умолчаний, когда по неполным данным подбираются знания об аналогичных классах объектов, которые в дальнейшем динамически адаптируются к конкретной ситуации в зависимости от ее развития;
- использование общих закономерностей (метауправления) в случае неизвестных ситуаций, позволяющих генерировать недостающее знание.
Многоагентные системы . Для таких динамических систем характерна интеграция в базе знаний нескольких разнородных источников знаний, обменивающихся между собой получаемыми результатами на динамической основе, например, через «доску объявлений»
Для многоагентных систем характерны следующие особенности:
- Проведение альтернативных рассуждений на основе использования различных источников знаний с механизмом устранения противоречий;
- Распределенное решение проблем, которые разбиваются на параллельно решаемые подпроблемы, соответствующие самостоятельным источникам знаний;
- Применение множества стратегий работы механизма вывода заключений в зависимости от типа решаемой проблемы;
- Обработка больших массивов данных, содержащихся в базе данных;
- Использование различных математических моделей и внешних процедур, хранимых в базе моделей;
- Способность прерывания решения задач в связи с необходимостью получения дополнительных данных и знаний от пользователей, моделей, параллельно решаемых подпроблем.
Для синтезирующих динамических экспертных систем наиболее применимы следующие проблемные области:
- Проектирование — определение конфигурации объектов с точки зрения достижения заданных критериев эффективности и ограничений, например, проектирование бюджета предприятия или портфеля инвестиций.
- Прогнозирование — предсказание последствий развития текущих ситуаций на основе математического и эвристического моделирования, например, прогнозирование трендов на биржевых торгах.
- Диспетчирование — распределение работ во времени, составление расписаний, например, планирование графика освоения капиталовложений.
- Планирование — выбор последовательности действий пользователей по достижению поставленной цели, например, планирование процессов поставки продукции.
- Мониторинг — слежение за текущей ситуацией с возможной последующей коррекцией. Для этого выполняется диагностика, прогнозирование, а в случае необходимости планирование и коррекция действий пользователей, например, мониторинг сбыта готовой продукции.
- Управление — мониторинг, дополненный реализацией действий в автоматических системах, например, принятие решений на биржевых торгах.
По данным публикации, в которой проводится анализ 12500 действующих экспертных систем, распределение экспертных систем по проблемным областям имеет следующий вид:
В основе самообучающихся систем лежат методы автоматической классификации примеров ситуаций реальной практики (обучения на примерах). Примеры реальных ситуаций накапливаются за некоторый исторический период и составляют обучающую выборку. Эти примеры описываются множеством признаков классификации. Причем обучающая выборка может быть:
- «с учителем», когда для каждого примера задается в явном виде значение признака его принадлежности некоторому классу ситуаций (классообразующего признака);
- «без учителя», когда по степени близости значений признаков классификации система сама выделяет классы ситуаций.
1. Основу любой интеллектуальной экспертной системы составляет. база знанийматематическая модельсистема правил решения поставленной задачиуправляющая система2. В экспертных системах нуждаются предметные области: медицина, фармакология, химия, геология, экономика, юриспруденция и др., в которых большая часть знания. является личным опытом специалистов высокого уровняможет быть сведена к системе машинных команд и реализована на компьютереуже получена и можно отказаться от непосредственного участия человека и передать возможность принятия решений компьютерутребует нахождения оптимальных показателей для конкретной задачи данной отрасли3. Конечной стадией существования экспертной системы является. коммерческая системаисследовательский прототипдействующий прототиппромышленная система4. Экспертные системы используются тогда, когда. исходные данные хорошо формализуются, но для принятия решения требуются специальные обширные знанияисходные данные компактны и удобны для реализации на компьютеретребуется нахождение оптимальных показателей (например, нахождение минимальных затрат или определение максимальной прибыли)исследуются объекты, процессы или явления путем построения и изучения моделей для определения или уточнения характеристик оригинала5. Сходство экспертных систем с прочими прикладными программами заключается в том, что они. предназначены для решения определенного круга задачиспользуют в качестве основных методов решения задачи эвристические методына этапе решения задачи формируют определенные факты и выводымоделируют мышление человека, а не конкретную природу предметной области6. Применение экспертной системы целесообразно, если. необходимо решать задачу в окружении, враждебном для человеказадачу требуется решать ограниченное количество разсуществует достаточное количество экспертов для решения данного круга задачрешение задачи с помощью эксперта-человека менее затратно по времени и более полно по охвату7. Ядро экспертной системы не реализуется на. языках разметки гипертекстадекларативных языках программированияимперативных языках программированияязыках представления онтологий8. Характерной особенностью любой экспертной системы, отличающей ее от других компьютерных информационных систем, является. способность к саморазвитиюсортировка, выборка данных по запросам пользователейиспользование таких методов, которые позволяют свести решение любой задачи к конкретному набору машинных командобеспечение множественного доступа к информации9. Основными классами экспертных систем являются. системы диагностики неисправностейметеорологические системысистемы управления базами данныхсистемы геолокации