Модели представления знаний в ЭС. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Модели представления знаний в ЭС.



    Выбор модели представления знания часто сводят к обсуждению баланса между декларативным (ДП) и процедурным представлением(ПП). Различие между ДП и ПП можно выразить различием между вопросами «знать, что?» и «знать, как?».     Процедурное представление основано на предпосылке, что интеллектуальная деятельность есть знание проблемной среды, вложенное в программы, то есть знание о том, как можно использовать те или иные сущности.

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

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

    Для ПП проблема модификации значительно сложнее, так как здесь необходимо учитывать, каким образом используется данное утверждение. Однако известно, что существует значительное количество сущностей, которые удобно представить в виде процедур и весьма трудно - в чисто декларативном представлении. Желание использовать достоинства ДП и ПП привело к разработке формализмов, использующих смешанное представление, то есть декларативное представление с присоединенными процедурами (например, фрейм-представление или сети с присоединенными процедурами) или процедурное представление в виде модулей с декларативными образцами. В наиболее совершенном виде эта проблема реализована в объектно-ориентированном подходе.

    Модели представления знаний обычно делят на логические(формальные) и эвристические (формализованные) модели.

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

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

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

    К типичным моделям представления знаний относятся:

Ø    продукционные модели;

Ø    семантические сети;

Ø    фреймы;

Ø    формальные логические модели (в курсе не рассматриваются).

    В свою очередь это множество классов можно разбить на две большие группы:

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

    Поверхностные знания - знания о видимых взаимосвязях между отдельными событиями и фактами в предметной области;

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

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

    Наиболее распространенным языком представления знаний (ЯПЗ) в ИИС являются продукционные модели. Продукционная модель часто применяется в экспертных системах благодаря своей наглядности, высокой модульности, легкостью внесения дополнений и изменений, простотой механизма логического вывода. Имеется большое число программных средств, реализующих продукционный подход, например язык высокого уровня CLIPS. 

    О продукционной модели

    Продукционная модель, основанная на правилах, позволяет представить знания в виде предложений типа «если (условие), то (действие)».

    Под «условием» (антецедентом) понимается некоторое предложение - образец, по которому осуществляется поиск в базе знаний. Под «действием» (консеквентом) понимаются действия, выполняемые при успешном исходе поиска.

    При этом действия могут быть двух типов:

û промежуточными, выступающими далее как условия, и

û целевыми, завершающими работу системы.

    Из антецедентов и консеквентов формируются пары [ атрибут – значение ], которые хранятся в рабочей памяти продукционной системы.

    Пример правила: если «двигатель не заводится» и «стартер двигателя не работает», то «неполадки в системе электропитания стартера».

     ??? В этом правиле пары [атрибут-значение], которые надо хранить в памяти, будут:

Двигатель – не заводится;

стартер двигателя – не работает.

    Этой паре  может быть присвоено значения ИСТИНА или значение ЛОЖЬ в зависимости от реальной конкретной ситуации. Истинность пары атрибут-значение устанавливается в процессе решения конкретной задачи к некоторому текущему моменту времени. В процессе решения задачи содержимое рабочей памяти изменяется. Это происходит по мере срабатывания правил.

    Правило срабатывает, если при сопоставлении фактов, содержащихся в рабочей памяти, с антецедентом анализируемого правила [1]!!! имеет место совпадение, при этом заключение сработанног о правила заносится в рабочую память. В процессе логического вывода объем фактов в рабочей памяти, как правило, увеличивается.

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

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

 Примеры триплетов:

собака - кличка - Граф;

собака - порода - ризеншнауцер;

собака - окрас - черный.

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

 

Два типа продукционных систем       

    Существуют два типа продукционных систем - с прямыми и обратными выводами.

    Прямые выводы реализуют стратегию «от фактов к заключениям».

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

    Основные достоинства продукционных систем связаны с простотой представления знаний и организации логического вывода. К недостаткам систем продукций можно отнести следующие:

è отличие от структур знаний, свойственных человеку;

è неясность взаимных отношений правил;

è сложность оценки целостного образа знаний;

è низкая эффективность обработки знаний.

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

 

Фреймовая модель

    Фреймовая модель представления знаний основана на теории фреймов М. Минского, которая представляет собой систематизированную психологическую модель памяти человека и его сознания. Эта теория имеет весьма абстрактный характер, поэтому только на ее основе невозможно создание конкретных языков представления знаний. Фрейм имеет глубокое психологическое обоснование. Основным преимуществом фреймов как модели представления знаний является то, что она отражает концептуальную основу организации памяти человека, а также ее гибкость и наглядность. Под фреймом понимается абстрактный образ представления объекта или ситуации. Различают фреймы-образцы (прототипы), хранящиеся в базе знаний, и фреймы-экземпляры, которые создаются для отображения фактических ситуаций на основе поступающих данных. Структура фрейма может быть представлена как список свойств (табл. 3).

                                                                                                                     Таблица 3

Структура фрейма.

Имя фрейма

  Имя слота   Значение слота Способ получения значения Присоединенная процедура
       

 

    Приведенные в таблице слоты - это незаполненные значения некоторых атрибутов объекта или ситуации. Дополнительные столбцы «способ получения значения» и «присоединенная процедура» предназначены для описания слотом его значения, и возможного присоединения к тому или иному слоту специальных процедур.

    Фрейм имеет имя, служащее для идентификации описываемого им понятия, и содержит ряд описаний - слотов, спомощью которых определяются основные структурные элементы этого понятия. За слотами следуют шпации, в которые помещают данные, представляющие текущие значения слотов. Слот может содержать не только конкретное значение, но также имя процедуры, позволяющей вычислить это значение по заданному алгоритму. Например, слот с именем возрастможет содержать имя процедуры, которая вычисляет возраст человека по дате рождения, записанной в другом слоте, и текущей дате. Процедуры, располагающиеся в слотах, называются связанными или присоединенными процедурами. Вызов связанной процедуры осуществляется при обращении к слоту, в котором она помещена. Заполнителями слота могут быть также правила продукций, используемые для определения конкретного значения. В слоте может содержаться не одно, а несколько значений, то есть в качестве структурных составляющих фреймов могут использоваться данные сложных типов, а именно: массивы, списки, множества, фреймы и т. д. Например, в слоте с именем брат может содержаться список имен, если объект, описываемый данным фреймом, имеет нескольких братьев. Значение слота может представлять собой некоторый диапазон или перечень возможных значений, арифметическое выражение, фрагмент текста и т.д. Совокупность данных предметной области может быть представлена множеством взаимосвязанных фреймов, образующих единую фреймовую систему, в которой объединяются декларативные и процедурные знания. Такая система имеет, как правило, иерархическую структуру, в которой фреймы соединены друг с другом с помощью родовидовых связей. На верхнем уровне иерархии находится фрейм, содержащий наиболее общую информацию, истинную для всех остальных фреймов. Фреймы обладают способностью наследовать значения характеристик своих родителей. Например, фрейм африканский слоннаследует от фрейма слонзначение характеристики цвет «серый».Значение характеристики в дочернем фрейме может отличаться от родительского, например, значением данного слота для фрейма азиатский слонявляется цвет «коричневый». Над фреймами можно совершать некоторые теоретико-множественные операции, например объединение и пересечение. При объединении фреймов в результирующем фрейме будут присутствовать все слоты, которые встречались в исходных фреймах. В слотах, не являющихся общими, будут сохранены исходные значения. Если в объединяемых фреймах были одноименные слоты, в результирующем фрейме останется один слот с таким именем, значение его определится в результате объединения значений одноименных слотов. При пересечении фреймов в результирующем фрейме будут присутствовать только те слоты, которые имелись во всех исходных фреймах. Вычислить результирующие значения можно двумя способами. Первый способ состоит в том, что в результирующем фрейме присутствуют только те значения, которые совпадали в исходных фреймах. Во втором способе результирующие значения находят путем пересечения значений из исходных фреймов.

    Фреймовые системы подразделяются на статические и динамические, последние допускают изменение фреймов в процессе решения задачи.

 

 

Пример фрейма: руководитель

 

Имя слота Значение слота Тип значения слота
Имя Иванов И. И. Строка символов
Рожден 01.01.1965 Дата
Возраст age(dama, рожден) Процедура
Специальность юрист Строка символов
Отдел отдел кадров Строка символов
Зарплата 8000 Строка символов
Адрес дом_адрес Фрейм

 

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

è слот-указатель родителя данного фрейма (is-a);

è слот-указатель дочерних фреймов;

è слот для ввода имени пользователя;

è слот для ввода даты определения фрейма;

è слот для ввода даты изменения фрейма и т.д.

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

    Например, <Имя слота> = Главный герой романа Ф. М. Достоевского «Идиот», <Значение слота> = Князь Мышкин. Имена системных слотов обычно зарезерви-рованы, в различных системах они могут иметь различные значения. Примеры имен системных слотов: is-a, haspart, relationsи т. д. Системные слоты служат для редактирования базы знаний и управления выводом во фреймовой системе.

Указатели наследования показывают, какую информацию об атрибутах слотов из фрейма верхнего уровня наследуют слоты с аналогичными именами в данном фрейме. Указатели наследования характерны для фреймовых систем иерархи-ческого типа, основанных на отношениях типа «абстрактное - конкретное».         В конкретных системах указатели наследования могут быть организованы различными способами, иметь разные обозначения:

è U (Unique) - значение слота не наследуется;

è S (Same) - значение слота наследуется;

è R (Range ) - значения слота должны находиться в пределах интервала значений, указанных в одноименном слоте родительского фрейма;

è О (Override) - при отсутствии значения в текущем слоте оно наследуется из фрейма верхнего уровня, однако в случае определения значения текущего слота оно может быть уникальным. Этот тип указателя выполняет одновременно функции указателей U и S.

    Указатель типа данных показывает тип значения слота. Наиболее употребляемые типы: frame - указатель на фрейм; real - вещественное число; integer - целое число; boolean - логический тип; text - фрагмент текста; list - список; table - таблица; expression выражение; lisp - связанная процедура.

    Значение слота должно соответствовать указанному типу данных и условию наследования.

    Демоном называется процедура, автоматически запускаемая при выполнении некоторого условия. Демоны автоматически запускаются при обращении к соответствующему слоту. Типы демонов связаны с условием запуска процедуры. Демон с условием if-neededзапускается, если в момент обращения к слоту его значение не было установлено. Демон типа if-addedзапускается при попытке изменения значения слота. Демон if-removedзапускается при попытке удаления значения слота. Возможны также другие типы демонов. Демон является разновидностью связанной процедуры.

    Вкачестве значения слота может пользоваться процедура, называемая служебной в языке Лисп или методом в языках объектно-ориентированного программирования. Присоединенная процедура запускается по сообщению, преданному из другого фрейма. Демоны и присоединенные процедуры являются процедурными знаниями, объединенными вместе с декларативными знаниями в единую систему. Эти процедурные знания являются средствами управления выводом во фрейме системах, причем с их помощью можно реализовать любой механизм вывода. Представление таких знаний и заполнение ими интеллектуальных систем - весьма нелегкое дело, которое требует дополнительных затрат труда и времени разработчиков ИИС. Поэтому проектирование фреймовых систем выполняется обычно специалистами, имеющими высокий уровень квалификации в области искусственного интеллекта.

    Пример сети фреймов приведен на рис. 7. На нём понятие ученик наследует свойства фреймов ребенокичеловек,которые находятся на более высоких уровнях иерархии. Если будет задан вопрос «Любят ли ученики сладкое?», то следует ответ «да», так как этим свойством обладают все дети, что указано во фрейме ребенок. Наследование свойств может быть частичным, например «возраст» для учеников не наследуется из фрейма «ребенок», так как явно указан в собственном фрейме.

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

 

Рис. 7. Пример иерархии фреймов.

 

Модель семантические сети.

    Термин семантическая означает смысловая, а семантика - это наука, устанавливающая отношения между символами и объектами, которые они обозначают, то есть наука, определяющая смысл знаков. Семантическая сеть - это ориентированный граф, вершины которого это понятия, а дуги - отношения между ними.

    В семантических сетях используются следующие отношения:

è элемент класса;

è атрибутные связи;

è значение свойства;

è пример элемента класса;

è связи типа «часть-целое»;

è функциональные связи, определяемые глаголами «производит», «влияет»;

è количественные (больше, меньше, равно …);

è пространственные (далеко от, близко от, за, под, над …);

è временные (раньше, позже, в течение…);

è логические связи (и, или, не) и др.

    Минимальный состав отношений в семантической сети - это элемент класса, атрибутные связи и значение свойства.

    Проблема поиска решения в базе знаний типа семантической сети сводится к задаче поиска фрагмента сети или подсети, соответствующей поставленному вопросу. На рис. 8 изображен пример семантической сети.

 

 

Рис. 8 Семантическая сеть, показывающая взаимоотношения птицы и самолета.

 

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

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

 



Поделиться:


Последнее изменение этой страницы: 2020-12-17; просмотров: 670; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.219.22.169 (0.058 с.)