![]()
Главная Обратная связь Дисциплины:
Архитектура (936) ![]()
|
Объектно-ориентированное представление знаний фреймами
Фреймовая модель представления знаний основана на теории фреймов М. Минского, которая представляет собой систематизированную психологическую модель памяти человека и его сознания. Эта теория имеет весьма абстрактный характер, поэтому только на ее основе невозможно создание конкретных языков представления знаний. Фреймом называется структура данных для представления некоторого концептуального объекта. Фрейм имеет имя, служащее для идентификации описываемого им понятия, и содержит ряд описаний - слотов, с помощью которых определяются основные структурные элементы этого понятия. За слотами следуют шпации, в которые помещают данные, представляющие текущие значения слотов. Слот может содержать не только конкретное значение, но также имя процедуры, позволяющей вычислить это значение по заданному алгоритму. Процедуры, располагающиеся в слотах, называются связанными или присоединенными процедурами. Вызов связанной процедуры осуществляется при обращении к слоту, в котором она помещена. Заполнителями слота могут быть также правила продукций, используемые для определения конкретного значения. В слоте может содержаться не одно, а несколько значений, т. е. в качестве структурных составляющих фреймов могут использоваться данные сложных типов, а именно: массивы, списки, множества, фреймы и т. д. Значение слота может представлять собой некоторый диапазон или перечень возможных значений, арифметическое выражение, фрагмент текста и т.д. При пересечении фреймов в результирующем фрейме будут присутствовать только те слоты, которые имелись во всех исходных фреймах. Вычислить результирующие значения можно двумя способами. Первый способ состоит в том, что в результирующем фрейме присутствуют только те значения, которые совпадали в исходных фреймах. Во втором способе результирующие значения находят путем пересечения значений из исходных фреймов. Фреймовые системы подразделяются на статические и динамические, последние допускают изменение фреймов в процессе решения задачи. В общем случае структура данных фрейма может содержать более широкий набор информации, в который входят следующие атрибуты. Имя фрейма.Оно служит для идентификации фрейма в системе и должно быть уникальным. Фрейм представляет собой совокупность слотов, число которых может быть произвольным. Имя слота.Оно должно быть уникальным в пределах фрейма. Обычно имя слота представляет собой идентификатор, который наделен определенной семантикой. В качестве имени слота может выступать произвольный текст. Примеры имен системных слотов: 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 запускается при попытке удаления значения слота. Возможны также другие типы демонов. Демон является разновидностью связанной процедуры.
Рис.1. Пример иерархии фреймов Присоединенная процедура. Вкачестве значения слота может использоваться процедура, называемая служебной в языке Лисп или методом в языках объектно-ориентированного программирования. Присоединенная процедура запускается по сообщению переданному из другого фрейма. Демоны и присоединенные процедуры являются процедурными знаниями, объединенными вместе с декларативными в единую систему. Эти процедурные знания являются средствами управления выводом во фреймовых системах, причем с их помощью можно реализовать любой механизм вывода. Представление таких знаний и заполнение ими интеллектуальных систем - весьма нелегкое дело, которое требует дополнительных затрат труда и времени разработчиков ИИС. Поэтому проектирование фреймовых систем выполняется, как правило, специалистами, имеющими высокий уровень квалификации в области искусственного интеллекта. Пример сети фреймов приведен на рис. 1. В последние годы термин «фреймовый» часто заменяют термином «объектно-ориентированный». Шаблон фрейма можно рассматривать как класс, экземпляр фрейма - как объект. Языки объектно-ориентированного программирования (ООП) предоставляют средства создания классов и объектов, а также средства для описания процедур обработки объектов (методы). Языки ООП, не содержащие средств реализации присоединенных процедур, не позволяют организовать гибкий механизм логического вывода, поэтому разработанные на них программы либо представляют собой объектно-ориентированные базы данных, либо требуют интеграции с другими средствами обработки знаний (например, с языком PROLOG). Существуют также специализированные языки представления знаний на основе фреймовой модели, примерами которых являются: FRL (Frame Representation Language), KRL (Knowledge Representation Language), фреймовая «оболочка» Kappa и др. Известны также экспертные системы фреймового типа- ANALYST TRISTAN, ALTERID, МОДИС. Модель семантической сети Общепринятого определения семантической сети не существует. Обычно под ней подразумевают систему знаний некоторой предметной области, имеющую определенный смысл в виде целостного образа сети, узлы которой соответствуют понятиям и объектам, а дуги — отношениям между объектами. При построении семантической сети отсутствуют ограничения на число связей и на сложность сети. Для того чтобы формализация оказалась возможной, семантическую сеть необходимо систематизировать. Семантические сети Куиллиана систематизируют функции отношений между понятиями с помощью следующих признаков: • множество - подмножество (типы отношений «абстрактное • индексы (свойства, имена прилагательные в языке и т.п.); • конъюнктивные связи (логическое И);
• дизъюнктивные связи (логическое ИЛИ); • отношения «близости»; • отношения «сходства — различия»; • отношения «причина — следствие» и др. При построении семантической сети отсутствуют ограничения на число элементов и связей. Поэтому систематизация отношений между объектами в сети необходима для дальнейшей формализации. Пример семантической сети представлен на рис. 2.
Рис.2. Пример семантической сети, показывающей взаимоотношения птицы и самолета
Для реализации семантических сетей существуют специальные сетевые языки: NET, язык реализации систем SIMER+MIR и др. Широко известны экспертные системы, использующие семантические сети в качестве языка представления знаний: PROSPECTOR, CASNET, TORUS. Систематизация отношений конкретной семантической сети зависит от специфики знаний предметной области и является сложной задачей. Особого внимания заслуживают общезначимые отношения, присутствующие во многих предметных областях. Именно на таких отношениях основана концепция семантической сети. В семантических сетях, так же как при фреймовом представлении знаний, декларативные и процедурные знания не разделены, следовательно, база знаний не отделена от механизма вывода. Процедура логического вывода обычно представляет совокупность процедур обработки сети. Семантические сети получили широкое применение в системах распознавания речи и экспертных системах.
![]() |