Помощь в написании студенческих работ
Антистрессовый сервис

Представление знаний и выводы в экспертных системах

РефератПомощь в написанииУзнать стоимостьмоей работы

В экспертных системах не только не выбран определенный способ для представления знаний. Как будет показано далее, в них используются самые различные подходы и пока еще не получены оценки, какой из них предпочтительнее. Подобная ситуация сложилась потому, что опыт применения знаний как информации весьма поверхностен и недостаточно определено понятие о том, каким же условиям должно удовлетворять… Читать ещё >

Представление знаний и выводы в экспертных системах (реферат, курсовая, диплом, контрольная)

В экспертных системах не только не выбран определенный способ для представления знаний. Как будет показано далее, в них используются самые различные подходы и пока еще не получены оценки, какой из них предпочтительнее. Подобная ситуация сложилась потому, что опыт применения знаний как информации весьма поверхностен и недостаточно определено понятие о том, каким же условиям должно удовлетворять представление знаний. Этот вопрос будет рассмотрен далее, а сначала проанализируем принципы работы экспертной системы на примере продукционных правил — наиболее простого способа представления знаний. В такой экспертной системе все знания представлены описаниями в форме если — то. Часть правила если называется посылкой, а то — выводом или действием.

Рассмотрим правило:

Если (1) Y является отцом X,.

(2) Z является братомY,.

тo Z является дядей X.

Механизм вывода связывает знания воедино, а затем выводит из последовательности знаний заключение. Положим, например, что в базе знаний вместе с описанными выше знаниями содержатся и такие:

Если (1) Z является отцом X,.

  • (2) Z является отцом Y,
  • (3) X и Y не являются одним и тем же лицом,

то X и Y являются братьями.

Здесь X, Y, Z — переменные. Данная запись показывает, что при условии подстановки одинаковых значений в одинаковые переменные, входящие в одинаковые знания, последние будут обладать общностью.

Эта полностью формализованная процедура, использующая такие методы, как согласование образов (при котором устанавливается, совпадают ли между собой две формы представления, предусматривается также получение подстановки переменных, при которой совпадают формы), поиск в базе данных, возврат (возврат к исходному состоянию при неудачной попытке решения), представляет собой механизм выводов. В настоящее время механизмы выводов реализуются программными средствами, однако в ближайшем будущем станет возможным и их аппаратное воплощение.

Если подобным образом задать формализм представления знаний и построить на базе этого представления механизм выводов, аналогичный определенному выше, то на основе знаний в форме, допустимой в данном представлении, можно автоматически выводить заключения. Все это отличается от формализованных процедур (программ) и стандартных данных (баз данных) и позволяет реализовать в системе представление, которое можно использовать более гибко. Фактически, если добавлять новые знания, то, как правило (при условии, что в системе последовательно воплощены принципы обработки знаний), они будут использоваться точно так же, как и до их введения.

Таким образом, выводы (точнее — дедуктивные выводы) определены как способ применения базы знаний, однако все сказанное выше относится к выводам, базирующимся на продукционных правилах, и если представление знаний будет иметь другой вид, то будет другой и форма выводов. Исходя из этого обстоятельства ознакомимся с характерными способами представления знаний, используемыми в настоящее время, и с выводами, обусловленными этими способами.

Характерная особенность экспертных систем, отличающая их от традиционных систем обработки информации, — использование нового вида информации, называемого знаниями. Формализм описания такого рода знаний определяется как представление знаний. Компонент, который использует для решения проблем знания экспертов, описанные в заранее выбранной для них форме представления, является механизмом вывода. В системах с базами знаний, в том числе и экспертных системах, представление знаний выступает как фундаментальное понятие, а решение о выборе способа представления оказывает непосредственное влияние на любую их составную часть. Возможность применения знаний возникла вместе с появлением механизма выводов, а механизм выводов был определен, в свою очередь, из представления знаний. Поскольку представление знаний является средством описания знаний человека, то желательно, чтобы его описательные возможности были как можно выше; с другой стороны, если форма представления становится излишне сложной, то усложняется механизм выводов, при этом не только затрудняется проектирование экспертной системы, но и возникает опасность потери достоверности выполняемых ею действий. В конечном итоге проектирование представления знаний предусматривает выработку всех этих условий, а затем и выбор решения на основе некоторого компромисса между ними. Кратко ознакомимся с отдельными характерными представлениями знаний, используемыми в современных экспертных системах.

Продукционные правила. Продукционные правила, как уже говорилось, описывают знания в форме если — то. Простота и наглядность этого способа обусловили его применение во многих системах. Системы обработки знаний, использующие представление знаний на основе продукционных правил, получили название продукционных систем. В состав продукционной системы входит база правил, глобальная база данных, интерпретатор правил. База правил — это область памяти, которая содержит базу знаний — совокупность знаний, представленных в форме правил вида если — то; глобальная база данных — это область памяти, содержащая фактические данные (факты), которые описывают вводимые данные и состояние системы. Базы.

данных у различных систем имеют различную форму, однако все они могут быть описаны как группа данных, содержащая имя данных, атрибуты и значения атрибутов. Интерпретатор представляет собой механизм вывода, и он является тем компонентом системы, который формирует заключения, используя базу правил и базу данных (рисунок 9).

Механизм, реализованный сегодня как средство выводов в продукционной системе, в принципе несложен. Он имеет функции поиска в базе знаний, последовательного выполнения операций над знаниями и получения заключений.

Продукционная система.

Рисунок 9. Продукционная система В языке экспертных систем термин «правило» имеет более узкое значение, чем при обычном словоупотреблении. Оно связано с наиболее популярным способом представления знаний, т. е. представлением, основанным на правилах. Правила обеспечивают формальный способ представления рекомендаций, указаний или стратегий, они часто подходят в тех случаях, когда предметные знания возникают из эмпирических ассоциаций, накопленных за годы работы по решению задач в данной области. Правила выражаются в виде утверждений если — то, как показано ниже:

  • (1) Если горючая жидкость была пролита, вызовите пожарных;
  • (2) Если pH жидкости меньше 6, разлившийся материал — кислота;
  • (3) Если разлившийся материал — кислота, и он пахнет уксусом, разлившийся материал — уксусная кислота.

Эти правила из экспертной системы по управлению кризисной ситуацией помогают определить, что разлитая жидкость — нефть или какое-то химическое вещество. Правила иногда записываются через стрелку (), чтобы указать, где часть если, а где часть то данного правила. Правило 2 в этих обозначениях будет выглядеть так:

Если pH жидкости меньше 6 разлившийся материал — кислота.

В экспертных системах, основанных на правилах, предметные знания представляются набором правил, которые проверяются по группе фактов или знаний о текущей ситуации. Когда часть правила если — то удовлетворяет правилам, то действие, указанное в части то, выполняется. Когда это происходит, то говорят, что правило выполнено. Интерпретатор правил сопоставляет части правил если с фактами и выполняет то правило, часть если которого согласуется с фактами, как показано на рисунке 10.

Работа интерпретатора правил в цикле .

Рисунок 10. Работа интерпретатора правил в цикле «сопоставить — выполнить» с формированием последовательности действий Факты.

Изменение факта в базе знаний вследствие выполнения правил.

Рисунок 11. Изменение факта в базе знаний вследствие выполнения правил Действия правила могут состоять в модификации набора фактов в базе знаний, например в добавлении нового факта, как это показано на рисунке 11.

Новые факты, добавленные к базе знаний, сами могут быть использованы для сопоставления с частями правил если, как показано на рисунке 12.

Факты.

Добавление нового факта к базе знаний.

Рисунок 12. Добавление нового факта к базе знаний Действие, предпринимаемое при выполнении правила, может непосредственно взаимодействовать с внешней средой, как показано на рисунке 13.

Процесс сопоставления с фактами частей если правил может порождать то, что называется цепочкой выводов. Цепочка выводов, полученная в результате последовательного выполнения правил 2 и 3, показана на рисунке 14. Эта цепочка выводов показывает, как система, используя правила, выводит заключение о пролившейся жидкости. Цепочки выводов экспертной системы могут быть предъявлены пользователю, что помогает понять, как система достигает своих заключений.

Влияние выполнения правил на реальный мир.

Рисунок 13. Влияние выполнения правил на реальный мир.

Цепочка рассуждений для вывода заключения о природе разлитого вещества.

Рисунок 14. Цепочка рассуждений для вывода заключения о природе разлитого вещества Существует два важных способа использования правил в системе, основанной на правилах: один называется прямой цепочкой рассуждения, а другой — обратной цепочкой рассуждения.

В приведенном выше примере о разлившейся жидкости использовалась прямая цепочка рассуждений. На рисунке 15 детально показано, как прямая цепочка рассуждений работает в случае простого набора правил.

Правила в этом примере используют буквенные символы F&BZ. Это значит:

Если существуют и ситуация F, и ситуация В,.

то существует также ситуация Z.

Набор известных фактов мы будем называть базой данных.

Пример прямой цепочки рассуждений.

Рисунок 15. Пример прямой цепочки рассуждений Давайте посмотрим, как эти правила работают. Мы допустим, что каждый раз, когда набор правил проверяется относительно базы данных, только первое (самое верхнее) правило, согласующееся с данными, выполняется. Поэтому на рисунок 15 правило А_D выполняется лишь один раз, хотя оно всегда согласуется с базой данных.

Первое правило, которое исполняется, — это A_D, поскольку, А уже находится в базе данных. Как следствие этого правила, выводится факт существования D, и D помещается в базу данных. Это приводит к выполнению второго правила F&E_Z, Z помещается в базу данных. Такой метод называется прямой цепочкой рассуждений, поскольку поиск новой информации происходит в направлении стрелок, разделяющих левые и правые части правил.

Система использует информацию из левых частей, чтобы вывести информацию, содержащуюся в правых частях. Цепочка выводов, полученная в примере, представленном на рисунке 15, изображена на рисунке 16.

Было выведено, что существует ситуация Z наряду с F и D.

Цепочка выводов, полученная на основе рассуждений (см. рисунок 15).

Рисунок 16. Цепочка выводов, полученная на основе рассуждений (см. рисунок 15).

Предположим теперь, что вы использовали эту систему, чтобы установить, существует ли ситуация Z. Вы можете думать, что она работает вполне хорошо, быстро устанавливая, что Z действительно существует. К сожалению, это лишь артэффект, связанный с данным примером. У реально существующих экспертных систем было бы не три правила, а сотни, даже тысячи. Поэтому, если ваша цель состоит в том, чтобы установить один частный факт, вроде Z, то прямая цепочка рассуждений может оказаться напрасной тратой времени и денег.

В таких ситуациях обратная цепочка, возможно, будет наиболее рентабельной. При этом методе вывода система начинает с доказательства, например, того, что ситуация Z существует и выполняет только те правила, которые относятся к установлению этого факта. На рисунке 17 показано, как обратная цепочка рассуждений должна работать, используя правила из прямой цепочки рассуждений. На шаге 1 системе дается команда установить (если она может), что ситуация Z существует. В поисках Z система сначала проверит базу данных и в случае неудачи будет искать среди правил то, которое приводит к установлению Z, т. е. правило, у которого Z стоит справа от стрелок. Она находит правило F&B_Z и решает, что должна установить факты F и B, чтобы выйти на Z. На шаге 2 система пытается установить факты F, проверяя базу данных, а затем находит правило, в правой части которого стоит F. Из правила C&D_F система решает, что должна установить существование фактов С и D для получения заключения о F. На шагах 3−5 система.

Пример обратной цепочки рассуждений.

Рисунок 17. Пример обратной цепочки рассуждений находит С в базе данных, но решает, что должна установить факт А, прежде чем она получит заключение о D. И затем она находит факт, А в базе данных.

На шагах 6−8 система выполняет третье правило, чтобы установить D, затем выполняет второе правило, чтобы установить F, и, наконец, выполняет первое правило, чтобы установить основной факт — факт существования Z.

Цепочка выводов, созданная здесь, идентична той, что была получена в результате прямой цепочки рассуждений. Отличие этих подходов заключается в способе поиска правил и данных.

Знаниями можно называть описание отношений между абстрагированными понятиями и сущностями, выступающими конкретными объектами реального мира. Понятия и отношения между ними можно описать сетью, состоящей из узлов и дуг. Узлы в такой сети выражают сущности и понятия, а дуги являются описаниями их отношений; все узлы снабжены метками, которые показывают, что именно они описывают. Подобного рода формализм представления знаний получил название семантической сети. На рисунке 18 приведен пример данного метода представления. Этот рисунок описывает ситуацию, когда под некоторый объект заказываются детали и стоимость этих деталей должна быть выплачена поставщику.

Пример семантической сети.

Рисунок 18. Пример семантической сети Термин «семантическая сеть» применяется для описания метода представления знаний, основанного на сетевой структуре. Семантические сети были первоначально разработаны для использования их в качестве психологических моделей человеческой памяти, но теперь это стандартный метод представления знаний в экспертный системах. Семантические сети состоят из точек, называемых узлами, и связывающих их дуг, описывающих отношения между узлами. Узлы в семантических сетях соответствует объектам, концепциям или событиям. Дуги могут быть определены разными методами, зависящими от вида представления знаний. Обычно дуги, используемые для представления иерархии, включают дуги типа «isa» («является») и «has-part» («имеет часть»). Семантические дуги, применяемые для описания естественных языков, состоят из дуг типа «агент», «объект», «реципиент». На рисунке 19 представлена структура семантической сети.

Структура семантической сети.

Рисунок 19. Структура семантической сети Название «семантическая сеть» не только отражает возможность получения определенного формализма, как это имеет место в продукционных системах, оно охватывает все то, что рассмотрено выше, составом отношений сущностей и понятий. Следовательно, методы реализации конкретной системы различаются в зависимости от того, каким образом используется в них представление знаний. Специфические свойства семантических сетей обусловили их широкую популярность среди исследователей как средство умозаключений, а среди структур данных, нашедших применение в компьютерах, используются структуры такого же вида, что и семантические сети. Сейчас трудно точно установить, кто первым воспользовался сетями, однако хорошо известно, что Куиллиман использовал семантику терминов для описания отношений концептов (понятий) на самых ранних этапах исследований по прикладному искусственному интеллекту, когда сети служили вполне определенной цели — представлению семантики и знаний [5].

Семантическая сеть Куиллимана.

Рисунок 20. Семантическая сеть Куиллимана: отн. — отношения, С — сущность, об. — объект, явл. — является Куиллиман, исходя из описания семантики одних терминов другими, представил в виде сети отношения концептов, присущих этим терминам. На рисунок 20 показана такая сеть. Он поставил перед собой задачу сетевого представления и снижения объема знаний при использовании сети с целью решения проблем. Исходя из того факта, что если в сети задан один концепт, то непосредственно получается и другой, находящийся с ним в тесной взаимосвязи, были проведены исследования (главным образом в области психологии) по применению семантических сетей как ассоциативных моделей.

В качестве простого примера рассмотрим предложения «» Красная заря" является фабрикой" и «Каждая фабрика является предприятием». Они могут быть представлены через семантическую сеть, как показано на рисунок 21. Этот пример использует важный тип дуг — является. Поскольку мы знаем свойства дуг, связывающих узлы, мы можем вывести из сети третье утверждение: «» Красная заря" является предприятием" .

Отношение является и другие (типа имеет часть) устанавливают свойство иерархии наследования в сети — «является предприятием». Это означает, что элементы более низкого уровня в сети могут наследовать свойства элементов более высокого уровня. При этом экономится память, поскольку информацию о является сходных узлов не нужно повторять в каждом узле сети. Она может размещаться в одном центральном узле сети, как показано на рисунке 22.

Семантическая сеть для предложений .

Рисунок 21. Семантическая сеть для предложений «Каждая фабрика является предприятием» и «» Красная заря" является фабрикой" .

Например, в семантической сети, представляющей предприятие, такие его части, как управление, дирекция, включены один раз на уровне предприятия, вместо того чтобы повторять данные узлы на более низком уровне иерархии.

Это может сберечь огромные объемы памяти, даже если мы работаем с несколькими предприятиями и их частями.

Простая семантическая сеть для понятия .

Рисунок 22. Простая семантическая сеть для понятия «предприятие»: и. ч. — имеет часть, явл. — является По сети можно затем осуществить поиск, применяя знания о смысле отношений, обозначаемых дугами сети, чтобы устанавливать факты. Семантические сети также успешно используются в научных работах по естественному языку для представления сложных грамматических предложений (рисунок 23, 24).

Отметим, что дуги определяют отношения между сказуемым «давать» и понятиями (такими, как «Ольга» и «подарок»), связанными с этим сказуемым.

Представление через семантическую сеть обеспечивает стандартный метод анализа смысла предложения. Кроме того, оно указывает сходства в смысле предложений, тесно связанных, но обладающих разной структурой. Хотя рассмотренные предложения выглядят очень отличающимися друг от друга, но семантические сети, представляющие смысл этих предложений, похожи. В самом деле, семантическая сеть рисунка 23 целиком содержится в сети рисунка 24.

Представление семантической сетью предложения .

Рисунок 23. Представление семантической сетью предложения «Михаил дает Ольге подарок» .

Представление семантической сетью сложного предложения .

Рисунок 24. Представление семантической сетью сложного предложения «Михаил сказал Маше, что он дал Ольге подарок» .

Представление знаний с использованием фреймов. В области искусственного интеллекта термин «фрейм» относится к специальному методу представления общих концепций и ситуаций. Марвин Минский, первый, кто выдвинул идею фреймов, описывает данный термин следующим образом: «Фрейм — это структура данных, представляющих стереотипную ситуацию, вроде нахождения внутри некоторого рода жилой комнаты или сбора на вечеринку по поводу дня рождения ребенка. К каждому фрейму присоединяется несколько видов информации. Часть этой информации — о том, как использовать фрейм. Часть — о том, чего можно ожидать далее. Часть — о том, что следует сделать, если эти ожидания не подтвердились» (цит по: [9, с.124]).

Фрейм по своей организации во многом похож на семантическую сеть (фактически мы рассматриваем и семантические сети, и фреймы как системы, основанные на фреймах). Фрейм является сетью узлов и отношений, организованных иерархически, где верхние узлы представляют общие понятия, а нижние узлы — частные случаи этих понятий. В системе, основанной на фреймах, понятие о письменном отчете может быть организовано и так, как показано на рисунке 25.

Понятие письменного отчета.

Рисунок 25. Понятие письменного отчета Это представление выглядит точно так же, как семантическая сеть. Но в системе, основанной на фреймах, понятие в каждом узле определяется набором атрибутов (например, имя, цвет, размер) и значениями этих атрибутов, которые называются слотами. Каждый слот может быть связан с процедурами (произвольными машинными программами), которые выполняются, когда информация в слотах (значения атрибутов) меняется. Пример такого узла показан на рисунке 26.

С каждым слотом можно связывать любое число процедур. Три типа процедур, чаще всего соотносимых со слотами, перечислены ниже.

  • 1. Процедура «если — добавлено» выполняется, когда новая информация добавляется в слот.
  • 2. Процедура «если — удалено» выполняется, когда информация удаляется из слота.
  • 3. Процедура «если — нужно» выполняется, когда запрашивается информация из слота, а он пустой.
Узел во фреймовых системах.

Рисунок 26. Узел во фреймовых системах Эти процедуры могут следить за добавлением информации к данному узлу и проверять, производятся ли соответствующие действия при изменении значения. Как ясно из их структуры, системы, основанные на фреймах, хороши в тех предметных областях, где ожидания относительно формы и содержания данных играют важную роль, например при интерпретации визуальной информации или понимании речи.

Чтобы понять как работает система, основанная на фреймах, рассмотрим рисунок 27, где фреймы представлены на этот раз со всеми слотами, их значениями и процедурами. Для упрощения допустим, что некоторые слоты имеют значения по умолчанию; например, пока нет информации об обратном, автор отчета о продвижении разработки считается руководителем проекта.

  • 1. Уведомить лицо из слота «автор», что отчет по теме из слота «тема» объемом число страниц из слота «объем» должен быть представлен к дате из слота «дата представления» .
  • 2. Уведомить лицо из слота «автор», что отчет по теме из слота «тема» отменяется.
  • 3. Поместить в слот «автор» имя руководителя проекта для «IP телефония» из слота «тема» .
  • 4. Поместить в слот «дата представления» либо «31 марта», либо «31 июня», либо «30 сентября», либо «31 декабря» в зависимости от того, какая дата ближе, но не более раннюю, чем текущая дата.
Система, основанная на фреймах.

Рисунок 27. Система, основанная на фреймах Как подобным образом можно использовать организованные знания? Предположим, ведущий специалист по программному обеспечению в некой корпорации имеет доступ через настольный терминал к системе, основанной на фреймах, допустим, данный специалист связывается с системой через программный интерфейс, который позволяет общаться с ней на языке, весьма близком к естественному. Специалист запрашивает: «Мне нужен отчет о продвижении проекта IP телефонии». Интерфейсная программа анализирует это предложение и вносит «проект IP телефонии», «тема» в следующий пустой узел «отчет о продвижении» .

Далее все происходит автоматически.

  • 1. Процедура «если — добавлено», связанная со слотом «тема», выполняется, поскольку в слот было введено некое значение. Эта процедура осуществляет поиск (в базе данных системы) руководителя проекта IP телефонии. Допустим, что имя руководителя проекта Иван Иванов. Процедура вписывает это имя в слот «автор» отчета о продвижении работ.
  • 2. Процедура «если — добавлено», связанная со слотом «автор», выполняется, т.к. в слот было только что вписано значение. Эта процедура начинает составлять сообщение, чтобы отправить его в слот «Иван Иванов», но обнаруживает, что у нее нет нужного значения «дата исполнения» .
  • 3. Процедура «если — добавлено» просматривает слот «дата исполнения» и, найдя его пустым, активизирует процедуру «если — нужно», связанную с этим слотом. Процедура «если — нужно» найдет текущую дату, используя календарь в базе данных, и решит, что дата «30 сентября» — ближайшая к ней. Процедура затем впишет «30 сентября» в слот с датой исполнения.
  • 4. Теперь процедура «если — добавлено», связанная со слотом «автор», установит, что еще одно значение, которое нужно включить в сообщение, т. е. объем отчета, отсутствует. Слот «объем» не связан с процедурами, он ничем не может помочь. Однако выше существует узел общей концепции отчета о продвижении работ, содержащий значение объема. Процедура использует его значение и составляет следующее сообщение: «Иван Иванов, пожалуйста, окончите отчет о продвижении по проекту IP телефонии к 30 сентября. Предполагаемый объем отчета равен двум страницам» .

Если в какой-то момент имя Иван Иванов удаляется из слота «автор», то система автоматически отправит сообщение, что отчет не требуется (поскольку сработает процедура «если — удалено» .

Показать весь текст
Заполнить форму текущей работой